67 if (Left != Math.Floor(Left) || Right != Math.Floor(Right))
73 if (Left <
long.MinValue)
76 L = (ulong)((
long)Left);
81 if (Left > ulong.MaxValue)
90 if (Right <
long.MinValue)
93 R = (ulong)((
long)Right);
98 if (Right > ulong.MaxValue)
106 if (LSigned && RSigned)
Exception thrown if an operand is not an integer.
Exception thrown if an operand is out of bounds.
Class managing a script expression.
Base class for binary dual double/bool operators.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
int Start
Start position in script expression.
static readonly BooleanValue False
Constant false value.
static readonly BooleanValue True
Constant true value.
override IElement Evaluate(bool Left, bool Right)
Evaluates the boolean operator.
Nor(ScriptNode Left, ScriptNode Right, int Start, int Length, Expression Expression)
Unspecified Not-Or.
override IElement Evaluate(double Left, double Right)
Evaluates the double operator.
override IElement EvaluateOptimizedResult(bool Left)
Gives the operator a chance to optimize its execution if it knows the value of the left operand....
Basic interface for all types of elements.