예제 #1
0
 public override bool Lte(JSNumberValue value)
 {
     if (value.Type != JSValueType.Integer)
     {
         return(_value <= value.CastToFloat());
     }
     return(_value <= value.CastToInteger());
 }
예제 #2
0
 public override JSNumberValue Mul(JSNumberValue value)
 {
     if (value.Type != JSValueType.Integer)
     {
         return(_value * value.CastToFloat());
     }
     return(unchecked (_value * value.CastToInteger()));
 }
예제 #3
0
 public override JSNumberValue Mod(JSNumberValue value)
 {
     if (value.Type != JSValueType.Integer)
     {
         return(_value % value.CastToFloat());
     }
     return(_value % value.CastToInteger());
 }
예제 #4
0
 public override bool Lte(JSNumberValue value)
 {
     return(_value <= value.CastToFloat());
 }
예제 #5
0
 public override JSNumberValue Mod(JSNumberValue value)
 {
     return(_value % value.CastToFloat());
 }
예제 #6
0
 public override JSNumberValue Minus(JSNumberValue value)
 {
     return(_value - value.CastToFloat());
 }
예제 #7
0
 public abstract bool Lte(JSNumberValue value);
예제 #8
0
 public override JSNumberValue ToNumber()
 {
     return(JSNumberValue.ParseNumber(_value));
 }
예제 #9
0
 public JSNumberValue BitShrU(JSNumberValue value)
 {
     Contract.Requires(value != null);
     return((int)((uint)CastToInteger() >> value.CastToInteger()));
 }
예제 #10
0
 public JSNumberValue BitShl(JSNumberValue value)
 {
     Contract.Requires(value != null);
     return(CastToInteger() << value.CastToInteger());
 }
예제 #11
0
 public virtual JSNumberValue Mod(JSNumberValue value)
 {
     Contract.Requires(value != null);
     throw new NotSupportedException();
 }
예제 #12
0
 public JSNumberValue FltDiv(JSNumberValue value)
 {
     Contract.Requires(value != null);
     return(CastToFloat() / value.CastToFloat());
 }
예제 #13
0
 public JSNumberValue IntDiv(JSNumberValue value)
 {
     Contract.Requires(value != null);
     Contract.Ensures(Contract.Result <JSNumberValue>().Type == JSValueType.Integer);
     return(CastToInteger() / value.CastToInteger());
 }