summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorColin Jones <trptcolin@gmail.com>2010-12-31 15:32:22 -0600
committerStuart Halloway <stu@Orolo.local>2011-01-05 19:38:35 -0500
commit9506ca6e7589599c17e165d6583a9c97aa1ca0c0 (patch)
tree0ecf3920880f327da6f5d953d4f492049a63d791 /src
parent16eef0b2259d3cc0aaa95e7d7b438aeec3cdb197 (diff)
Handle edge case in arbitrary-precision substraction. refs #690
Signed-off-by: Stuart Halloway <stu@Orolo.local>
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/Numbers.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jvm/clojure/lang/Numbers.java b/src/jvm/clojure/lang/Numbers.java
index 39962dbb..545bb727 100644
--- a/src/jvm/clojure/lang/Numbers.java
+++ b/src/jvm/clojure/lang/Numbers.java
@@ -167,7 +167,9 @@ static public Number minus(Object x, Object y){
static public Number minusP(Object x, Object y){
Ops yops = ops(y);
- return ops(x).combine(yops).addP((Number)x, yops.negateP((Number)y));
+ Number negativeY = yops.negateP((Number) y);
+ Ops negativeYOps = ops(negativeY);
+ return ops(x).combine(negativeYOps).addP((Number)x, negativeY);
}
static public Number multiply(Object x, Object y){