internal static bool IsList(Evaluatable input, out ExpressionList output) { var factor = Factorizer.ToFactor(input); if (factor is ExpressionList) { output = (ExpressionList)factor; return true; } output = null; return false; }
private static Expression Evaluate(ExpressionList leftNumber, Evaluatable right, bool isMultiply) { return Expressionizer.ToExpression(new ExpressionList(leftNumber.Expressions.Select(e => new DualFactorComponent(Factorizer.ToFactor(e), Factorizer.ToFactor(right), isMultiply).Evaluate()).ToList())); }
internal ExpressionListToken(ExpressionList list) : base(TokenType.ExpressionList, string.Empty) { List = list; }
private static Expression Evaluate(ExpressionList leftNumber, Evaluatable right) { return Expressionizer.ToExpression(new ExpressionList(leftNumber.Expressions.Select(e => new Exponent().Evaluate(e, Expressionizer.ToExpression(right)).Evaluate()).ToList())); }