public static NumberValue ConvertLogicalValueToNumberValue(LogicalValue source, IMainStorageContext mainStorageContext) { var result = new NumberValue(source.AsLogicalValue.SystemValue); FillAnnotationsModalitiesAndSections(source, result, mainStorageContext); return(result); }
public static LogicalValue ConvertNullValueToLogicalValue(NullValue source, IMainStorageContext mainStorageContext) { var result = new LogicalValue(null); FillAnnotationsModalitiesAndSections(source, result, mainStorageContext); return(result); }
private static string LogicalValueToString(LogicalValue value) { var systemValue = value.SystemValue; var sb = new StringBuilder(); if (systemValue.HasValue) { sb.Append(systemValue.Value.ToString(_cultureInfo)); } else { sb.Append("NULL"); } sb.Append(AnnotatedItemToString(value)); return(sb.ToString()); }
public Value GetInheritanceRank(StrongIdentifierValue subName, StrongIdentifierValue superName, LocalCodeExecutionContext localCodeExecutionContext, ResolverOptions options) { #if DEBUG //Log($"subName = {subName}"); //Log($"superName = {superName}"); #endif var weightedInheritanceItemsList = GetWeightedInheritanceItems(subName, localCodeExecutionContext, options); #if DEBUG //Log($"weightedInheritanceItemsList = {weightedInheritanceItemsList.WriteListToString()}"); #endif if (!weightedInheritanceItemsList.Any()) { var result = new LogicalValue(0); return(result); } var targetWeightedInheritanceItemsList = weightedInheritanceItemsList.Where(p => p.SuperName.Equals(superName)).ToList(); #if DEBUG //Log($"targetWeightedInheritanceItemsList = {targetWeightedInheritanceItemsList.WriteListToString()}"); #endif if (!targetWeightedInheritanceItemsList.Any()) { var result = new LogicalValue(0); return(result); } if (targetWeightedInheritanceItemsList.Count == 1) { var result = new LogicalValue(targetWeightedInheritanceItemsList.First().Rank); return(result); } throw new NotImplementedException(); }
private static IRValueNode CreateConstant(ParseContext context) { var tokens = context.Tokens; var currentToken = tokens.CurrentToken; IRValueNode term = null; switch (currentToken.TokenType) { case RTokenType.NaN: case RTokenType.Infinity: case RTokenType.Number: term = new NumericalValue(); break; case RTokenType.Complex: term = new ComplexValue(); break; case RTokenType.Logical: term = new LogicalValue(); break; case RTokenType.String: term = new StringValue(); break; case RTokenType.Null: term = new NullValue(); break; case RTokenType.Missing: term = new MissingValue(); break; } Debug.Assert(term != null); term.Parse(context, null); return(term); }
private static IRValueNode CreateConstant(ParseContext context) { TokenStream<RToken> tokens = context.Tokens; RToken currentToken = tokens.CurrentToken; IRValueNode term = null; switch (currentToken.TokenType) { case RTokenType.NaN: case RTokenType.Infinity: case RTokenType.Number: term = new NumericalValue(); break; case RTokenType.Complex: term = new ComplexValue(); break; case RTokenType.Logical: term = new LogicalValue(); break; case RTokenType.String: term = new StringValue(); break; case RTokenType.Null: term = new NullValue(); break; case RTokenType.Missing: term = new MissingValue(); break; } Debug.Assert(term != null); term.Parse(context, null); return term; }