summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jvm/clojure/lang/Numbers.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/jvm/clojure/lang/Numbers.java b/src/jvm/clojure/lang/Numbers.java
index 722791fd..6f4f16bf 100644
--- a/src/jvm/clojure/lang/Numbers.java
+++ b/src/jvm/clojure/lang/Numbers.java
@@ -147,28 +147,28 @@ static public Number remainder(Number x, Number y){
return ops(x).combine(yops).remainder(x, y);
}
-static Number quotient(double n, double d){
+static double quotient(double n, double d){
double q = n / d;
if(q <= Long.MAX_VALUE && q >= Long.MIN_VALUE)
{
- return box((long) q);
+ return (double)(long) q;
}
else
{ //bigint quotient
- return new BigDecimal(q).toBigInteger();
+ return new BigDecimal(q).toBigInteger().doubleValue();
}
}
-static Number remainder(double n, double d){
+static double remainder(double n, double d){
double q = n / d;
if(q <= Long.MAX_VALUE && q >= Long.MIN_VALUE)
{
- return Double.valueOf((n - ((int) q) * d));
+ return (n - ((long) q) * d);
}
else
{ //bigint quotient
Number bq = new BigDecimal(q).toBigInteger();
- return Double.valueOf((n - bq.doubleValue() * d));
+ return (n - bq.doubleValue() * d);
}
}