glib/tsrc/BC/tests/strtod-test.c
branchRCL_3
changeset 57 2efc27d87e1c
parent 56 acd3cd4aaceb
--- a/glib/tsrc/BC/tests/strtod-test.c	Tue Aug 31 16:54:36 2010 +0300
+++ b/glib/tsrc/BC/tests/strtod-test.c	Wed Sep 01 12:36:54 2010 +0100
@@ -116,19 +116,44 @@
   test_string ("-.75,0", -0.75, TRUE, 4);
   
   
+#ifndef  SYMBIAN
   d = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0;
+#else
+  d=1.79769313486232e+307;
+#endif   
   g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
 
+#ifndef SYMBIAN
   d = -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0;
+#else
+  d = -1.79769313486232e+307;  
+#endif
   g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
   
   
   
-  d = pow (2.0, -1021.1);
+  d = pow (2.0, -1024.1);
+#ifndef SYMBIAN    
   g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
+#else
+  gstr1 = g_ascii_dtostr (buffer, sizeof (buffer),d);
+  gstr2 = "5.19016829648363e-309";
+  g_assert (gstr1 != gstr2 && strcmp(gstr1, gstr2) == 0);
+  gd = g_ascii_strtod (gstr1, NULL);
+  g_assert (gd == 5.190168296483632e-309);
+#endif
+ 
   
-  d = -pow (2.0, -1021.1);
+  d = -pow (2.0, -1024.1);
+#ifndef SYMBIAN  
   g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
+#else
+  gstr1 = g_ascii_dtostr (buffer, sizeof (buffer),d);
+  gstr2 = "-5.19016829648363e-309";
+  g_assert (gstr1 != gstr2 && strcmp(gstr1, gstr2) == 0);
+  gd = g_ascii_strtod (gstr1, NULL);
+  g_assert (gd == -5.190168296483632e-309);
+#endif
 #ifdef SYMBIAN
   testResultXml("strtod-test");
 #endif /* EMULATOR */