public SubtractExpression(AleaExpression left, AleaExpression right) : base(left, right, (a, b) => a.Evaluate() - b.Evaluate()) { }
public AddExpression(AleaExpression left, AleaExpression right) : base(left, right, (a, b) => a.Evaluate() + b.Evaluate()) { }
public MultiplyExpression(AleaExpression left, AleaExpression right) : base(left, right, (a, b) => a.Evaluate() * b.Evaluate()) { }
protected BinaryExpression(AleaExpression left, AleaExpression right) { Left = left; Right = right; }
public OperatorExpression(AleaExpression left, AleaExpression right, Func <AleaExpression, AleaExpression, double> evaluator) : base(left, right) { Evaluator = evaluator; }
public DivideExpression(AleaExpression left, AleaExpression right) : base(left, right, (a, b) => a.Evaluate() / b.Evaluate()) { }