]> gitweb.factorcode.org Git - factor.git/commitdiff
fix a normalization bug in decimals
authorDoug Coleman <doug.coleman@gmail.com>
Wed, 21 Oct 2009 03:37:44 +0000 (22:37 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Wed, 21 Oct 2009 03:37:44 +0000 (22:37 -0500)
extra/decimals/decimals-tests.factor
extra/decimals/decimals.factor

index bb9e60cfc1914730fc6d4a5e7478082f3861fb90..29b9d98b38548e4fa8489ceeb13ddb40558d2a07 100644 (file)
@@ -49,3 +49,4 @@ ERROR: decimal-test-failure D1 D2 quot ;
 [ f ] [ D: -1 D: -2 before? ] unit-test
 [ f ] [ D: -2 D: -2 before? ] unit-test
 [ t ] [ D: -3 D: -2 before? ] unit-test
+[ t ] [ D: .5 D: 0 D: 1.0 between? ] unit-test
index d9bafd43d05e86a634079e005c4aa384c1ca720f..ae1fb2f9a36c11dd8da1e2d88e27ba1fef690635 100644 (file)
@@ -37,8 +37,7 @@ SYNTAX: D: parse-decimal parsed ;
     ] 2bi ;
 
 : scale-decimals ( D1 D2 -- D1' D2' )
-    [ drop ]
-    [ scale-mantissas <decimal> nip ] 2bi ;
+    scale-mantissas tuck [ <decimal> ] 2dip <decimal> ;
 
 ERROR: decimal-types-expected d1 d2 ;
 
@@ -83,3 +82,6 @@ M: decimal before?
     
     e1
     e2 a + - <decimal> ;
+
+M: decimal <=>
+    2dup before? [ 2drop +lt+ ] [ equal? +eq+ +gt+ ? ] if ; inline