Beispiel #1
0
 public IValue precision(INumber x) {
   if (x.getType().isIntegerType()) {
     IInteger k = (IInteger) x;
     return values.integer(k.toReal().precision());
   }
   if (x.getType().isRationalType()) {
     IRational k = (IRational) x;
     return values.integer(k.toReal().precision());
   }
   return values.integer(((IReal) x).precision());
 }
Beispiel #2
0
 public IValue scale(INumber x) {
   try {
     if (x.getType().isIntegerType()) {
       IInteger k = (IInteger) x;
       return values.integer(k.toReal().scale());
     }
     if (x.getType().isRationalType()) {
       IRational k = (IRational) x;
       return values.integer(k.toReal().scale());
     }
     return values.integer(((IReal) x).scale());
   } catch (ArithmeticException ae) {
     throw RuntimeExceptionFactory.arithmeticException(ae.getMessage(), null, null);
   }
 }
Beispiel #3
0
 public IValue denominator(IRational n) {
   return n.denominator();
 }
Beispiel #4
0
 public IValue toInt(IRational n)
       // @doc{toReal -- convert a rational value to a integer value.}
     {
   return n.toInteger();
 }
Beispiel #5
0
 public IValue toReal(IRational n)
       // @doc{toReal -- convert a rational value to a real value.}
     {
   return n.toReal();
 }
Beispiel #6
0
 public IValue remainder(IRational n) {
   return n.remainder();
 }
Beispiel #7
0
 public IValue numerator(IRational n) {
   return n.numerator();
 }