return number(value, Fixnum.getBigInteger(obj));
if (obj instanceof Bignum)
return number(value, ((Bignum)obj).value);
if (obj instanceof Ratio) {
BigInteger d = ((Ratio)obj).denominator();
return number(d.multiply(value), ((Ratio)obj).numerator());
}
if (obj instanceof LispFloat)
return new LispFloat(floatValue() / ((LispFloat)obj).getValue());
throw new ConditionThrowable(new TypeError(obj, "number"));
}