Esempio n. 1
0
 // -=
 /// <exception cref="Kirikiri.Tjs2.VariantException"></exception>
 public void SubtractEqual(Kirikiri.Tjs2.Variant rhs)
 {
     if (mObject is int && rhs.mObject is int)
     {
         mObject = Sharpen.Extensions.ValueOf(((int)mObject) - ((int)rhs.mObject));
         return;
     }
     Number l = AsNumber();
     Number r = rhs.AsNumber();
     if (l.IsInt() && r.IsInt())
     {
         mObject = Sharpen.Extensions.ValueOf(((int)l) - ((int)r));
     }
     else
     {
         mObject = (l - r);
     }
 }
Esempio n. 2
0
 // *=
 /// <exception cref="Kirikiri.Tjs2.VariantException"></exception>
 public void MultiplyEqual(Kirikiri.Tjs2.Variant rhs)
 {
     if (mObject is int && rhs.mObject is int)
     {
         mObject = Sharpen.Extensions.ValueOf(((int)mObject) * ((int)rhs.mObject));
         return;
     }
     Number l = AsNumber();
     Number r = rhs.AsNumber();
     if (l.IsInt() && r.IsInt())
     {
         mObject = Sharpen.Extensions.ValueOf(l * r);
         return;
     }
     mObject = (l * r);
 }
Esempio n. 3
0
 // -
 /// <exception cref="Kirikiri.Tjs2.VariantException"></exception>
 public Kirikiri.Tjs2.Variant Subtract(Kirikiri.Tjs2.Variant val)
 {
     if (mObject is int && val.mObject is int)
     {
         int result = ((int)mObject) - ((int)val.mObject);
         return new Kirikiri.Tjs2.Variant(result);
     }
     Number n1 = AsNumber();
     Number n2 = val.AsNumber();
     if (n1.IsInt() && n2.IsInt())
     {
         int result = n1 - n2;
         return new Kirikiri.Tjs2.Variant(result);
     }
     else
     {
         double result = n1 - n2;
         return new Kirikiri.Tjs2.Variant(result);
     }
 }
Esempio n. 4
0
 // *
 /// <exception cref="Kirikiri.Tjs2.VariantException"></exception>
 public Kirikiri.Tjs2.Variant Multiply(Kirikiri.Tjs2.Variant val)
 {
     if (mObject == null || val.mObject == null)
     {
         return new Kirikiri.Tjs2.Variant(0);
     }
     if ((mObject is int) && (val.mObject is int))
     {
         int result = ((int)mObject) * ((int)val.mObject);
         return new Kirikiri.Tjs2.Variant(result);
     }
     Number n1 = AsNumber();
     Number n2 = val.AsNumber();
     if (n1.IsInt() && n2.IsInt())
     {
         int result = n1 * n2;
         return new Kirikiri.Tjs2.Variant(result);
     }
     else
     {
         double result = n1 * n2;
         return new Kirikiri.Tjs2.Variant(result);
     }
 }