summary refs log tree commit diff
path: root/stdio-common/tfformat.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-07-31 13:33:18 +0000
committerJakub Jelinek <jakub@redhat.com>2007-07-31 13:33:18 +0000
commit32c075e1f01849e161724bbd400ba77244e482cc (patch)
tree5f083a3f352104f32bb6c902d57fa3f294bd8d4d /stdio-common/tfformat.c
parentd6220e9ee38c1c9285221b023346201ec5f511b3 (diff)
downloadglibc-32c075e1f01849e161724bbd400ba77244e482cc.tar.gz
glibc-32c075e1f01849e161724bbd400ba77244e482cc.tar.xz
glibc-32c075e1f01849e161724bbd400ba77244e482cc.zip
.
Diffstat (limited to 'stdio-common/tfformat.c')
-rw-r--r--stdio-common/tfformat.c33
1 files changed, 27 insertions, 6 deletions
diff --git a/stdio-common/tfformat.c b/stdio-common/tfformat.c
index ea7365b2c9..7704ddde39 100644
--- a/stdio-common/tfformat.c
+++ b/stdio-common/tfformat.c
@@ -4012,6 +4012,32 @@ sprint_double_type sprint_doubles[] =
   {__LINE__, 16,			"0x1.0p+4", "%.1a"},
   {__LINE__, 16,			"0x1.00000000000000000000p+4", "%.20a"},
   {__LINE__, 4444.88888888,		"4445", "%2.F"},
+  {__LINE__, 0.956,			"1", "%.0g"},
+  {__LINE__, 1.0956,			"1.", "%#.0g"},
+  {__LINE__, 0.956,			"1.", "%#.0g"},
+  {__LINE__, 0.0956,			"0.1", "%#.0g"},
+  {__LINE__, 0.00956,			"0.01", "%#.0g"},
+  {__LINE__, 0.000956,			"0.001", "%#.0g"},
+  {__LINE__, 0.000098,			"0.0001", "%#.0g"},
+  {__LINE__, 0.0000996,			"0.00010", "%#.2g"},
+  {__LINE__, 9.999999999999999e-05,	"0.0001", "%g"},
+  {__LINE__, 1.0,			"1.000000e+00", "%e"},
+  {__LINE__, .9999999999999999,		"1.000000e+00", "%e"},
+
+  {__LINE__, 912.98,			"913.0", "%#.4g"},
+  {__LINE__, 50.999999,			"51.000", "%#.5g"},
+  {__LINE__, 0.956,			"1", "%.1g"},
+  {__LINE__, 0.956,			"1.", "%#.1g"},
+  {__LINE__, 0.996,			"1", "%.2g"},
+  {__LINE__, 0.996,			"1.0", "%#.2g"},
+  {__LINE__, 999.98,			"1000", "%.4g"},
+  {__LINE__, 999.98,			"1000.", "%#.4g"},
+  {__LINE__, 999.998,			"1000", "%.5g"},
+  {__LINE__, 999.998,			"1000.0", "%#.5g"},
+  {__LINE__, 999.9998,			"1000", "%g"},
+  {__LINE__, 999.9998,			"1000.00", "%#g"},
+  {__LINE__, 912.98,			"913", "%.4g"},
+  {__LINE__, 50.999999,			"51", "%.5g"},
 
   {0 }
 
@@ -4023,13 +4049,8 @@ sprint_double_type sprint_doubles[] =
 
 int required_precision = 13;
 
-#if defined(__STDC__) || defined(__cplusplus)
 static int
 matches (register char *result, register const char *desired)
-#else
-int matches(result, desired)
-     register char *result; register const char *desired;
-#endif
 {
     int digits_seen = 0;
     for (;; result++, desired++) {
@@ -4080,7 +4101,7 @@ int main(int argc, char *argv[])
 
   /* And one special test.  */
   {
-    const char ref[] = "1.7763568394002504646778106689453125e-15";
+    static const char ref[] = "1.7763568394002504646778106689453125e-15";
     int i;
     d = 1.0;
     for (i = 1; i < 50; ++i)