summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Halloway <stu@thinkrelevance.com>2010-04-16 10:35:06 -0400
committerStuart Halloway <stu@thinkrelevance.com>2010-04-16 10:35:06 -0400
commitc9927b560ec32efc837727eff4b64bb0bb1f58d4 (patch)
treef3e14dd860820df89e18c1bf1b2e2d9a04f40372
parentc1ca66b7a171bcd2157e679799f37ba7a37bff36 (diff)
division by negative ratio fix per Tristan King
-rw-r--r--src/jvm/clojure/lang/Numbers.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Numbers.java b/src/jvm/clojure/lang/Numbers.java
index 09dc050b..bd4a5150 100644
--- a/src/jvm/clojure/lang/Numbers.java
+++ b/src/jvm/clojure/lang/Numbers.java
@@ -295,6 +295,8 @@ static public Number divide(BigInteger n, BigInteger d){
d = d.divide(gcd);
if(d.equals(BigInteger.ONE))
return reduce(n);
+ else if(d.equals(BigInteger.ONE.negate()))
+ return reduce(n.negate());
return new Ratio((d.signum() < 0 ? n.negate() : n),
(d.signum() < 0 ? d.negate() : d));
}