MoreInternals.Model.MathValue.Evaluate C# (CSharp) Method

Evaluate() private method

private Evaluate ( ) : Value
return Value
        internal override Value Evaluate()
        {
            var lhs = LeftHand.Evaluate();
            var rhs = RightHand.Evaluate();

            switch (Operator)
            {
                case Model.Operator.Plus: return lhs + rhs;
                case Model.Operator.Minus: return lhs - rhs;
                case Model.Operator.Mult: return lhs * rhs;
                case Model.Operator.Div: return lhs / rhs;
                case Model.Operator.Mod: return lhs % rhs;
                case Model.Operator.Take_Exists: return !(lhs is NotFoundValue) ? lhs : rhs;
                default: throw new InvalidOperationException("Unknown operator " + Operator);
            }
        }