]> gitweb.factorcode.org Git - factor.git/commitdiff
formatting: change %.0f and %.0e to remove the radix character. It's more standard.
authorJon Harper <jon.harper87@gmail.com>
Sun, 9 Apr 2017 18:26:39 +0000 (20:26 +0200)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 8 Jun 2017 18:23:38 +0000 (11:23 -0700)
basis/formatting/formatting-tests.factor
basis/formatting/formatting.factor

index eee3d49426e213860137868b7eca3cf0cccaa069..710347ef3ebed370b552f62cd057f8dbfef69881 100755 (executable)
@@ -35,10 +35,12 @@ IN: formatting.tests
 { "100000000000000000000000.000000" } [ 23 10^ "%f" sprintf ] unit-test
 { "1.2" } [ 125/100 "%.1f" sprintf ] unit-test
 { "1.4" } [ 135/100 "%.1f" sprintf ] unit-test
-{ "2." } [ 5/2 "%.0f" sprintf ] unit-test
-{ "4." } [ 7/2 "%.0f" sprintf ] unit-test
-{ "2.e+00" } [ 5/2 "%.0e" sprintf ] unit-test
-{ "4.e+00" } [ 7/2 "%.0e" sprintf ] unit-test
+{ "2" } [ 5/2 "%.0f" sprintf ] unit-test
+{ "4" } [ 7/2 "%.0f" sprintf ] unit-test
+{ "2e+00" } [ 5/2 "%.0e" sprintf ] unit-test
+{ "4e+00" } [ 7/2 "%.0e" sprintf ] unit-test
+{ "1" } [ 1.0 "%.0f" sprintf ] unit-test
+{ "1e+00" } [ 1.0 "%.0e" sprintf ] unit-test
 { "  1.23" } [ 1.23456789 "%6.2f" sprintf ] unit-test
 { "001100" } [ 12 "%06b" sprintf ] unit-test
 { "==14" } [ 12 "%'=4o" sprintf ] unit-test
@@ -89,7 +91,7 @@ IN: formatting.tests
 
 { "987654321098765432" } [ 987654321098765432 "%d" sprintf ] unit-test
 { "987654321098765432.0" } [ 987654321098765432 "%.1f" sprintf ] unit-test
-{ "987654321098765432." } [ 987654321098765432 "%.0f" sprintf ] unit-test
+{ "987654321098765432" } [ 987654321098765432 "%.0f" sprintf ] unit-test
 { "9.8765432109876543200e+417" } [ 987654321098765432 10 400 ^ * "%.19e" sprintf ] unit-test
 { "9.876543210987654320e+417" } [ 987654321098765432 10 400 ^ * "%.18e" sprintf ] unit-test
 { "9.87654321098765432e+417" } [ 987654321098765432 10 400 ^ * "%.17e" sprintf ] unit-test
@@ -109,7 +111,7 @@ IN: formatting.tests
 { "9.877e+417" } [ 987654321098765432 10 400 ^ * "%.3e" sprintf ] unit-test
 { "9.88e+417" } [ 987654321098765432 10 400 ^ * "%.2e" sprintf ] unit-test
 { "9.9e+417" } [ 987654321098765432 10 400 ^ * "%.1e" sprintf ] unit-test
-{ "1.e+418" } [ 987654321098765432 10 400 ^ * "%.0e" sprintf ] unit-test
+{ "1e+418" } [ 987654321098765432 10 400 ^ * "%.0e" sprintf ] unit-test
 
 { "1.5625" } [ 1.5625 "%d" sprintf ] unit-test
 { "1.9p0" } [ 1.5625 "%x" sprintf ] unit-test
index 344a29c4508844f7c834f4e83fd5f93695f7bb7e..ef0a2ec3b9cd89ee4af6a35ed5f4636d50960d9f 100644 (file)
@@ -34,12 +34,12 @@ IN: formatting
         [ abs ] dip
         [ 10^ * round-to-even >integer number>string ]
         [ 1 + CHAR: 0 pad-head ]
-        [ cut* ] tri "." glue
+        [ cut* ] tri [ "." glue ] unless-empty
     ] curry keep neg? [ CHAR: - prefix ] when ;
 
 : format-scientific-mantissa ( x log10x digits -- string )
     swap - 10^ * round-to-even >integer
-    number>string 1 cut "." glue ;
+    number>string 1 cut [ "." glue ] unless-empty ;
 
 : format-scientific-exponent ( log10x -- string )
     number>string 2 CHAR: 0 pad-head
@@ -64,7 +64,7 @@ IN: formatting
     ] if ;
 
 : ?fix-nonsignificant-zero ( string digits -- string )
-    [ ".0" "." replace ] [ drop ] if-zero ;
+    [ ".0" "" replace ] [ drop ] if-zero ;
 
 : format-scientific ( x digits -- string )
     format-fast-scientific?  [