os/kernelhwsrv/kerneltest/e32test/math/t_float1.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // e32test\math\t_float1.cpp
    15 // File for T_FLOAT.CPP containing data for test1
    16 // T_FLOAT.CPP split into header files because there seems to be too much static data for GCC
    17 // compiler
    18 // 
    19 //
    20 
    21 #include "t_float.h"
    22 
    23 GLDEF_D RtoB_TEST testd[]=
    24     {
    25 	// GENERAL format limited to 12 significant digits 
    26 	// No triads, no three-digit exponents and no extra space for sign
    27     RtoB_TEST(1.23456789012501,generalLimit,32,15,'.',',',3,_S("1.23456789013")),
    28     RtoB_TEST(1.2345678901249,generalLimit,32,15,'.',',',3,_S("1.23456789012")),
    29     RtoB_TEST(1.99999999996,generalLimit,32,15,'.',',',3,_S("1.99999999996")),
    30     RtoB_TEST(1.999999999996,generalLimit,32,15,'.',',',3,_S("2")),
    31     RtoB_TEST(1.9999999999996,generalLimit,32,15,'.',',',3,_S("2")),
    32     RtoB_TEST(1.99999999999996,generalLimit,32,15,'.',',',3,_S("2")),
    33     RtoB_TEST(1.99999999994,generalLimit,32,15,'.',',',3,_S("1.99999999994")),
    34     RtoB_TEST(1.999999999994,generalLimit,32,15,'.',',',3,_S("1.99999999999")),
    35     RtoB_TEST(1.9999999999994,generalLimit,32,15,'.',',',3,_S("2")),
    36     RtoB_TEST(1.99999999999994,generalLimit,32,15,'.',',',3,_S("2")),
    37     RtoB_TEST(1.99999999996E2,generalLimit,32,15,'.',',',3,_S("199.999999996")),
    38     RtoB_TEST(1.999999999996E-2,generalLimit,32,15,'.',',',3,_S("0.02")),
    39     RtoB_TEST(1.9999999999996E2,generalLimit,32,15,'.',',',3,_S("200")),
    40     RtoB_TEST(1.99999999999996E-2,generalLimit,32,15,'.',',',3,_S("0.02")),
    41     RtoB_TEST(1.99999999994E2,generalLimit,32,15,'.',',',3,_S("199.999999994")),
    42     RtoB_TEST(1.999999999994E-2,generalLimit,32,15,'.',',',3,_S("0.0199999999999")),
    43     RtoB_TEST(1.9999999999994E99,generalLimit,32,15,'.',',',3,_S("2E+99")),
    44     RtoB_TEST(1.99999999999994E-99,generalLimit,32,15,'.',',',3,_S("2E-99")),
    45     RtoB_TEST(0.0,generalLimit,32,15,'.',',',3,_S("0")),
    46  	//
    47     RtoB_TEST(1.2E+99,generalLimit,8,15,'.','0',0,_S("1.2E+99")),
    48     RtoB_TEST(1.2E-99,generalLimit,8,15,'.','0',0,_S("1.2E-99")),
    49     RtoB_TEST(-1.2E+99,generalLimit,8,15,'.','0',0,_S("-1.2E+99")),
    50     RtoB_TEST(-1.2E-99,generalLimit,8,15,'.','0',0,_S("-1.2E-99")),
    51 	//
    52     RtoB_TEST(1.2E+99,generalLimit,6,15,'.','0',0,_S("1E+99")),
    53     RtoB_TEST(1.2E-99,generalLimit,6,15,'.','0',0,_S("1E-99")),
    54     RtoB_TEST(-1.2E+99,generalLimit,7,15,'.','0',0,_S("-1E+99")),
    55     RtoB_TEST(-1.2E-99,generalLimit,7,15,'.','0',0,_S("-1E-99")),
    56 	//
    57     RtoB_TEST(1.2E+99,generalLimit,5,15,'.','0',0,_S("1E+99")),
    58     RtoB_TEST(1.2E-99,generalLimit,5,15,'.','0',0,_S("1E-99")),
    59     RtoB_TEST(-1.2E+99,generalLimit,6,15,'.','0',0,_S("-1E+99")),
    60     RtoB_TEST(-1.2E-99,generalLimit,6,15,'.','0',0,_S("-1E-99")),
    61 	//
    62     RtoB_TEST(1E+99,generalLimit,8,15,'.','0',0,_S("1E+99")),
    63     RtoB_TEST(1E-99,generalLimit,8,15,'.','0',0,_S("1E-99")),
    64     RtoB_TEST(-1E+99,generalLimit,9,15,'.','0',0,_S("-1E+99")),
    65     RtoB_TEST(-1E-99,generalLimit,9,15,'.','0',0,_S("-1E-99")),
    66 	//
    67     RtoB_TEST(1E+99,generalLimit,7,15,'.','0',0,_S("1E+99")),
    68     RtoB_TEST(1E-99,generalLimit,7,15,'.','0',0,_S("1E-99")),
    69     RtoB_TEST(-1E+99,generalLimit,8,15,'.','0',0,_S("-1E+99")),
    70     RtoB_TEST(-1E-99,generalLimit,8,15,'.','0',0,_S("-1E-99")),
    71 	//
    72     RtoB_TEST(1E+99,generalLimit,6,15,'.','0',0,_S("1E+99")),
    73     RtoB_TEST(1E-99,generalLimit,6,15,'.','0',0,_S("1E-99")),
    74     RtoB_TEST(-1E+99,generalLimit,7,15,'.','0',0,_S("-1E+99")),
    75     RtoB_TEST(-1E-99,generalLimit,7,15,'.','0',0,_S("-1E-99")),
    76 	//
    77     RtoB_TEST(1E+99,generalLimit,5,15,'.','0',0,_S("1E+99")),
    78     RtoB_TEST(1E-99,generalLimit,5,15,'.','0',0,_S("1E-99")),
    79     RtoB_TEST(-1E+99,generalLimit,6,15,'.','0',0,_S("-1E+99")),
    80     RtoB_TEST(-1E-99,generalLimit,6,15,'.','0',0,_S("-1E-99")),
    81 	//
    82     RtoB_TEST(0,generalLimit,2,14,'.','0',0,_S("0")),
    83     RtoB_TEST(1,generalLimit,2,14,'.','0',0,_S("1")),
    84     RtoB_TEST(370,generalLimit,20,14,'.','0',0,_S("370")),
    85     RtoB_TEST(-9E98,fixedLimitAndTriads,150,15,'.',',',3,_S("-900,000,000,000,000,000,000,\
    86 000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,\
    87 000,000,000,000,000,000,000.000000000000000")),
    88     RtoB_TEST(9E98,fixedLimitAndTriads,150,15,'.',',',3,_S("900,000,000,000,000,000,000,\
    89 000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,\
    90 000,000,000,000,000,000,000.000000000000000")),
    91     RtoB_TEST(90000000.0,generalLimit,20,3,'.','0',0,_S("90000000")),
    92     RtoB_TEST(90000000.0,generalLimit,9,3,'.','0',0,_S("90000000")),
    93     RtoB_TEST(90000000.0,generalLimit,7,3,'.','0',0,_S("9E+07")),
    94     RtoB_TEST(90000000.0,generalLimit,6,3,'.','0',0,_S("9E+07")),
    95     RtoB_TEST(-900,generalLimit,20,3,'.','0',0,_S("-900")),
    96     RtoB_TEST(-90000000.0,generalLimit,20,3,'.','0',0,_S("-90000000")),
    97     RtoB_TEST(-90000000.0,generalLimit,9,3,'.','0',0,_S("-90000000")),
    98     RtoB_TEST(-90000000.0,generalLimit,8,3,'.','0',0,_S("-9E+07")),
    99     RtoB_TEST(-90000000.0,generalLimit,6,3,'.','0',0,_S("-9E+07")),
   100     RtoB_TEST(900,generalLimit,20,3,'.','0',0,_S("900")),
   101     RtoB_TEST(-900,generalLimit,20,3,'.','0',0,_S("-900")),
   102     RtoB_TEST(999,generalLimit,3,3,'.','0',0,_S("999")),
   103     RtoB_TEST(999.1,generalLimit,3,3,'.','0',0,_S("999")),
   104     RtoB_TEST(999.1,generalLimit,4,3,'.','0',0,_S("999")),
   105     RtoB_TEST(-999.1,generalLimit,4,3,'.','0',0,_S("-999")),
   106     RtoB_TEST(-300,generalLimit,10,3,'.','0',0,_S("-300")),
   107     RtoB_TEST(-355555555.0,generalLimit,6,3,'.','0',0,_S("-4E+08")),
   108     RtoB_TEST(355555555.0,generalLimit,7,3,'.','0',0,_S("3.6E+08")),
   109     RtoB_TEST(355555555.0,generalLimit,6,3,'.','0',0,_S("4E+08")),
   110     RtoB_TEST(123456.0,generalLimit,6,4,'.','0',0,_S("123456")),
   111     RtoB_TEST(999999.0,generalLimit,6,4,'.','0',0,_S("999999")),
   112     RtoB_TEST(12346.0,generalLimit,5,4,'.','0',0,_S("12346")),
   113     RtoB_TEST(9999999.0,generalLimit,5,4,'.','0',0,_S("1E+07")),
   114 	//
   115     RtoB_TEST(0.02,generalLimit,6,4,'.','0',0,_S("0.02")),
   116     RtoB_TEST(0.04,generalLimit,9,0,'.','0',0,_S("0.04")),
   117     RtoB_TEST(0.004,generalLimit,9,0,'.','0',0,_S("0.004")),
   118     RtoB_TEST(0.0004,generalLimit,9,0,'.','0',0, _S("4E-04")),
   119     RtoB_TEST(0.05,generalLimit,9,0,'.','0',0,_S("0.05")),
   120     RtoB_TEST(9.999999999964E-2,generalLimit,9,0,'.','0',0,_S("0.1")),
   121     RtoB_TEST(0.0000999,generalLimit,7,4,'.','0',0,_S("1E-04")),
   122 
   123 	// FIXED FORMAT 
   124 	// test -ve number < 1 with 0 dp
   125 	RtoB_TEST(-0.01,KRealFormatFixed,7,0,'.','0',0,_S("0")),
   126 	RtoB_TEST(-0.4999999999,KRealFormatFixed,7,0,'.','0',0,_S("0")),
   127 	RtoB_TEST(-0.9,KRealFormatFixed,7,0,'.','0',0,_S("-1")),
   128 	RtoB_TEST(-0.51,KRealFormatFixed,7,0,'.','0',0,_S("-1")),
   129 	// No Triad separators (because length zero), no space for sign 
   130     RtoB_TEST(0.0,KRealFormatFixed,7,0,'.','0',0,_S("0")),
   131 	RtoB_TEST(KNegZeroTReal64,KRealFormatFixed,7,0,'.','0',0,_S("0")),
   132 	RtoB_TEST(0.0,KRealFormatFixed,7,0,'.','0',0,_S("0")),
   133     RtoB_TEST(0.0,KRealFormatFixed,7,2,'.','0',0,_S("0.00")),			
   134     RtoB_TEST(0.0,KRealFormatFixed,7,3,'.','0',0,_S("0.000")),		
   135     RtoB_TEST(0.0,KRealFormatFixed,7,4,'.','0',0,_S("0.0000")),		
   136     RtoB_TEST(3.0,KRealFormatFixed,7,3,'.','0',0,_S("3.000")),
   137     RtoB_TEST(12.9999,KRealFormatFixed,6,3,'.','0',0,_S("13.000")),
   138     RtoB_TEST(123456.789,KRealFormatFixed,9,2,'.','0',0,_S("123456.79")),
   139     RtoB_TEST(123456.0,KRealFormatFixed,9,2,'.','0',0,_S("123456.00")),
   140     RtoB_TEST(1234567890123.,KRealFormatFixed,18,1,'.',',',0,_S("1234567890123.0")),
   141     RtoB_TEST(123456.789,KRealFormatFixed,9,2,'.',',',0,_S("123456.79")),
   142     RtoB_TEST(123456.0,KRealFormatFixed,9,2,'.',',',0,_S("123456.00")),
   143     RtoB_TEST(1234567890123.,KRealFormatFixed,18,1,'.','0',0,_S("1234567890123.0")),
   144 	RtoB_TEST(.0453,KRealFormatFixed,12,4,'.','0',0,_S("0.0453")),
   145     RtoB_TEST(.0453,KRealFormatFixed,12,2,'.','0',0,_S("0.05")),
   146     RtoB_TEST(.0453,KRealFormatFixed,12,5,'.','0',0,_S("0.04530")),
   147     RtoB_TEST(.00000876,KRealFormatFixed,11,9,'.','0',0,_S("0.000008760")),
   148     RtoB_TEST(.00000876,KRealFormatFixed,11,8,'.','0',0,_S("0.00000876")),
   149     RtoB_TEST(.00000876,KRealFormatFixed,11,7,'.','0',0,_S("0.0000088")),
   150     RtoB_TEST(.00000876,KRealFormatFixed,11,6,'.','0',0,_S("0.000009")),
   151     RtoB_TEST(.00000876,KRealFormatFixed,11,5,'.','0',0,_S("0.00001")),
   152     RtoB_TEST(.123,KRealFormatFixed,5,3,'.','0',0,_S("0.123")),
   153     RtoB_TEST(.1235,KRealFormatFixed,5,3,'.','0',0,_S("0.124")),
   154     RtoB_TEST(1.0E4,KRealFormatFixed,10,2,'.',',',0,_S("10000.00")),
   155 	RtoB_TEST(1.0E-4,KRealFormatFixed,10,2,'.',',',0,_S("0.00")),	
   156 	// No triad separators (because flag not set), no space for sign
   157 	RtoB_TEST(123456.789,fixedNoTriads,9,2,'.','0',3,_S("123456.79")),
   158     RtoB_TEST(123456.0,fixedNoTriads,9,2,'.','0',3,_S("123456.00")),
   159     RtoB_TEST(1234567890123.,fixedNoTriads,18,1,'.',',',3,_S("1234567890123.0")),
   160     RtoB_TEST(123456.789,fixedNoTriads,9,2,'.',',',3,_S("123456.79")),
   161     RtoB_TEST(123456.0,fixedNoTriads,9,2,'.',',',3,_S("123456.00")),
   162     RtoB_TEST(1234567890123.,fixedNoTriads,18,1,'.','0',3,_S("1234567890123.0")),
   163 	RtoB_TEST(.00000876,fixedNoTriads,11,9,'.','0',3,_S("0.000008760")),
   164     RtoB_TEST(.00000876,fixedNoTriads,11,8,'.','0',3,_S("0.00000876")),
   165     RtoB_TEST(.00000876,fixedNoTriads,11,7,'.','0',3,_S("0.0000088")),
   166     RtoB_TEST(.00000876,fixedNoTriads,11,6,'.','0',3,_S("0.000009")),
   167     RtoB_TEST(.00000876,fixedNoTriads,11,5,'.','0',3,_S("0.00001")),
   168     // UK Triad separators, no space for sign 
   169     RtoB_TEST(0.0,KRealFormatFixed,9,2,'.',',',3,_S("0.00")),
   170     RtoB_TEST(.00568,KRealFormatFixed,9,2,'.',',',3,_S("0.01")),
   171     RtoB_TEST(12345.0,KRealFormatFixed,9,2,'.',',',3,_S("12,345.00")),
   172     RtoB_TEST(12345.669,KRealFormatFixed,9,2,'.',',',3,_S("12,345.67")),
   173     RtoB_TEST(100000.0,KRealFormatFixed,10,2,'.',',',3,_S("100,000.00")),
   174     RtoB_TEST(99999.999,KRealFormatFixed,10,2,'.',',',3,_S("100,000.00")),
   175     RtoB_TEST(1234567890.675,KRealFormatFixed,16,2,'.',',',3,_S("1,234,567,890.68")),
   176     RtoB_TEST(1.0E3,KRealFormatFixed,10,2,'.',',',3,_S("1,000.00")),
   177     // French Triad separators, no space for sign 
   178     RtoB_TEST(0.0,KRealFormatFixed,10,2,',',' ',4,_S("0,00")),
   179     RtoB_TEST(.00568,KRealFormatFixed,10,2,',',' ',4,_S("0,01")),
   180     RtoB_TEST(1.0E3,KRealFormatFixed,10,2,',',' ',4,_S("1000,00")),
   181     RtoB_TEST(1234.0,KRealFormatFixed,10,2,',',' ',4,_S("1234,00")),
   182     RtoB_TEST(12345.0,KRealFormatFixed,9,2,',',' ',4,_S("12 345,00")),
   183     RtoB_TEST(12345.669,KRealFormatFixed,9,2,',',' ',4,_S("12 345,67")),
   184     RtoB_TEST(100000.0,KRealFormatFixed,10,2,',',' ',4,_S("100 000,00")),
   185     RtoB_TEST(99999.999,KRealFormatFixed,10,2,',',' ',4,_S("100 000,00")),
   186     RtoB_TEST(1234567890.675,KRealFormatFixed,16,2,',',' ',4,_S("1 234 567 890,68")),
   187     // '.' as triad separator, and ',' as decimal point, no space for sign 
   188     RtoB_TEST(1234.0,KRealFormatFixed,10,2,',','.',3,_S("1.234,00")),
   189 	RtoB_TEST(0.0,KRealFormatFixed,10,2,',','.',3,_S("0,00")),
   190     RtoB_TEST(.00568,KRealFormatFixed,10,2,',','.',3,_S("0,01")),
   191     RtoB_TEST(1.0E3,KRealFormatFixed,10,2,',','.',3,_S("1.000,00")),
   192     RtoB_TEST(12345.669,KRealFormatFixed,9,2,',','.',3,_S("12.345,67")),
   193     RtoB_TEST(12345.0,KRealFormatFixed,9,2,',','.',4,_S("12.345,00")),
   194     RtoB_TEST(100000.0,KRealFormatFixed,10,2,',','.',3,_S("100.000,00")),
   195     RtoB_TEST(99999.999,KRealFormatFixed,10,2,',','.',3,_S("100.000,00")),
   196     RtoB_TEST(1234567890.675,KRealFormatFixed,16,2,',','.',3,_S("1.234.567.890,68")),
   197 	// Added by AnnW
   198 	// no triads, space for sign
   199 	RtoB_TEST(0.0,fixedSpaceForSign,2,0,'.','0',0,_S("0")),					
   200     RtoB_TEST(3.0,fixedSpaceForSign,6,3,'.','0',0,_S("3.000")),
   201 	RtoB_TEST(-3.0,fixedSpaceForSign,6,3,'.','0',0,_S("-3.000")),			
   202     RtoB_TEST(12.9999,fixedSpaceForSign,7,3,'.','0',0,_S("13.000")),
   203 	RtoB_TEST(-12.9999,fixedSpaceForSign,7,3,'.','0',0,_S("-13.000")),		
   204     RtoB_TEST(123456.789,fixedSpaceForSign,10,2,'.','0',0,_S("123456.79")),
   205 	RtoB_TEST(-123456.789,fixedSpaceForSign,10,2,'.','0',0,_S("-123456.79")),
   206     RtoB_TEST(1234567890123.,fixedSpaceForSign,16,1,'.','0',0,_S("1234567890123.0")),
   207     RtoB_TEST(-1234567890123.,fixedSpaceForSign,16,1,'.','0',0,_S("-1234567890123.0")),
   208 	RtoB_TEST(.0453,fixedSpaceForSign,12,4,'.','0',0,_S("0.0453")),
   209     RtoB_TEST(.0453,fixedSpaceForSign,12,2,'.','0',0,_S("0.05")),
   210     RtoB_TEST(.0453,fixedSpaceForSign,12,5,'.','0',0,_S("0.04530")),
   211     RtoB_TEST(.00000876,fixedSpaceForSign,11,8,'.','0',0,_S("0.00000876")),
   212     RtoB_TEST(-.00000876,fixedSpaceForSign,11,8,'.','0',0,_S("-0.00000876")),
   213     RtoB_TEST(.00000876,fixedSpaceForSign,9,6,'.','0',0,_S("0.000009")),
   214 	RtoB_TEST(-.00000876,fixedSpaceForSign,9,6,'.','0',0,_S("-0.000009")),
   215     RtoB_TEST(.1235,fixedSpaceForSign,6,3,'.','0',0,_S("0.124")),
   216 	RtoB_TEST(-.1235,fixedSpaceForSign,6,3,'.','0',0,_S("-0.124")),
   217 	// UK triads and space for sign
   218 	RtoB_TEST(0.0,fixedTriadsAndSign,10,2,'.',',',3,_S("0.00")),
   219     RtoB_TEST(.00568,fixedTriadsAndSign,10,2,'.',',',3,_S("0.01")),
   220 	RtoB_TEST(-.00568,fixedTriadsAndSign,10,2,'.',',',3,_S("-0.01")),
   221     RtoB_TEST(12345.0,fixedTriadsAndSign,10,2,'.',',',3,_S("12,345.00")),
   222     RtoB_TEST(-12345.0,fixedTriadsAndSign,10,2,'.',',',3,_S("-12,345.00")),
   223     RtoB_TEST(100000.0,fixedTriadsAndSign,11,2,'.',',',3,_S("100,000.00")),
   224     RtoB_TEST(99999.999,fixedTriadsAndSign,11,2,'.',',',3,_S("100,000.00")),
   225 	RtoB_TEST(-99999.999,fixedTriadsAndSign,11,2,'.',',',3,_S("-100,000.00")),
   226     RtoB_TEST(1234567890.675,fixedTriadsAndSign,17,2,'.',',',3,_S("1,234,567,890.68")),
   227     RtoB_TEST(-1234567890.675,fixedTriadsAndSign,17,2,'.',',',3,_S("-1,234,567,890.68")),
   228 	RtoB_TEST(1.0E3,fixedTriadsAndSign,9,2,'.',',',3,_S("1,000.00")),
   229     RtoB_TEST(-1.0E3,fixedTriadsAndSign,9,2,'.',',',3,_S("-1,000.00")),
   230 	//
   231 	RtoB_TEST(1234.9876E-107,KRealFormatFixed,12,6,'.','0',0,_S("0.000000")),
   232     RtoB_TEST(1234.9876E-109,KRealFormatFixed,12,6,'.','0',0,_S("0.000000")),
   233     RtoB_TEST(1234.9876E-110,KRealFormatFixed,12,6,'.','0',0,_S("0.000000")),
   234     RtoB_TEST(1234.9876E-200,KRealFormatFixed,12,6,'.','0',0,_S("0.000000")),
   235     RtoB_TEST(1234.9876E-300,KRealFormatFixed,12,6,'.','0',0,_S("0.000000")),
   236 
   237 	// FIXED FORMAT
   238 	// Limited
   239 	RtoB_TEST(1.23456789012501,fixedLimit,32,15,'.',',',0,_S("1.234567890130000")),
   240     RtoB_TEST(1.2345678901249,fixedLimit,32,15,'.',',',3,_S("1.234567890120000")),
   241     RtoB_TEST(1.99999999996,fixedLimit,32,15,'.',',',0,_S("1.999999999960000")),
   242     RtoB_TEST(1.999999999996,fixedLimit,32,15,'.',',',0,_S("2.000000000000000")),
   243     RtoB_TEST(1.9999999999996,fixedLimit,32,15,'.',',',3,_S("2.000000000000000")),
   244     RtoB_TEST(1.99999999999996,fixedLimit,32,15,'.',',',3,_S("2.000000000000000")),
   245 	//
   246 	RtoB_TEST(1.23456789012501E+6,fixedLimitAndTriads,32,9,'.',',',3,_S("1,234,567.890130000")),
   247     RtoB_TEST(1.2345678901249E+8,fixedLimitAndTriads,32,7,'.',',',3,_S("123,456,789.0120000")),
   248     RtoB_TEST(1.99999999996E+3,fixedLimitAndTriads,32,12,'.',',',3,_S("1,999.999999960000")),
   249     RtoB_TEST(1.999999999996E+12,fixedLimitAndTriads,32,3,'.',',',3,_S("2,000,000,000,000.000")),
   250     RtoB_TEST(1.9999999999996E+4,fixedLimitAndTriads,32,11,'.',',',3,_S("20,000.00000000000")),
   251     RtoB_TEST(1.99999999999996E+13,fixedLimitAndTriads,32,2,'.',',',3,_S("20,000,000,000,000.00")),
   252 	//
   253 	RtoB_TEST(1.23456789012501,fixedLimitAndSpaceForSign,32,15,'.',',',0,_S("1.234567890130000")),
   254     RtoB_TEST(1.2345678901249,fixedLimitAndSpaceForSign,32,15,'.',',',3,_S("1.234567890120000")),
   255     RtoB_TEST(1.99999999996,fixedLimitAndSpaceForSign,32,15,'.',',',0,_S("1.999999999960000")),
   256     RtoB_TEST(1.999999999996,fixedLimitAndSpaceForSign,32,15,'.',',',0,_S("2.000000000000000")),
   257     RtoB_TEST(1.9999999999996,fixedLimitAndSpaceForSign,32,15,'.',',',3,_S("2.000000000000000")),
   258     RtoB_TEST(1.99999999999996,fixedLimitAndSpaceForSign,32,15,'.',',',3,_S("2.000000000000000")),
   259 	// end of added
   260 
   261 	// EXPONENT FORMAT 
   262     // Zero Exponents 
   263     RtoB_TEST(0.0,KRealFormatExponent,8,0,'.','0',0,_S("0E+00")),
   264     RtoB_TEST(0.0,KRealFormatExponent,8,2,'.','0',0,_S("0.00E+00")),
   265     RtoB_TEST(9.0,KRealFormatExponent,8,2,'.','0',0,_S("9.00E+00")),
   266     RtoB_TEST(9.9,KRealFormatExponent,8,2,'.','0',0,_S("9.90E+00")),
   267     RtoB_TEST(1234.9876E-3,KRealFormatExponent,12,6,'.','0',0,_S("1.234988E+00")),
   268     // Positive Exponents, not allowing three-digit exponents 
   269     RtoB_TEST(123.098785,KRealFormatExponent,8,2,'.','0',0,_S("1.23E+02")),
   270     RtoB_TEST(123.098785,KRealFormatExponent,12,3,'.','0',0,_S("1.231E+02")),
   271     RtoB_TEST(123.098785,KRealFormatExponent,12,4,'.','0',0,_S("1.2310E+02")),
   272     RtoB_TEST(123.098785,KRealFormatExponent,12,5,'.','0',0,_S("1.23099E+02")),
   273     RtoB_TEST(123.098785,KRealFormatExponent,12,6,'.','0',0,_S("1.230988E+02")),
   274     RtoB_TEST(98765.0,KRealFormatExponent,12,5,'.','0',0,_S("9.87650E+04")),
   275     RtoB_TEST(10000000.0,KRealFormatExponent,8,2,'.','0',0,_S("1.00E+07")),
   276     RtoB_TEST(100000000.0,KRealFormatExponent,12,6,'.','0',0,_S("1.000000E+08")),
   277     RtoB_TEST(100000000.000087643,KRealFormatExponent,12,6,'.','0',0,_S("1.000000E+08")),
   278     RtoB_TEST(999999999.999,KRealFormatExponent,8,2,'.','0',0,_S("1.00E+09")),
   279     RtoB_TEST(1234567.8765E12,KRealFormatExponent,8,2,'.','0',0,_S("1.23E+18")),
   280     RtoB_TEST(1234567.8765E12,KRealFormatExponent,12,6,'.','0',0,_S("1.234568E+18")),
   281     RtoB_TEST(34574567645555555.0E35,KRealFormatExponent,12,6,'.','0',0,_S("3.457457E+51")),
   282     RtoB_TEST(123.098785E56,KRealFormatExponent,12,6,'.','0',0,_S("1.230988E+58")),
   283     RtoB_TEST(.99999999E99,KRealFormatExponent,12,6,'.','0',0,_S("1.000000E+99")),
   284     RtoB_TEST(1.0E99,KRealFormatExponent,12,6,'.','0',0,_S("1.000000E+99")),
   285     // Negative Exponents, not allowing three-digit exponents 
   286     RtoB_TEST(1234.9876E-4,KRealFormatExponent,12,6,'.','0',0,_S("1.234988E-01")),
   287     RtoB_TEST(.0000000001235,KRealFormatExponent,8,2,'.','0',0,_S("1.24E-10")),
   288     RtoB_TEST(.0000000001235,KRealFormatExponent,8,1,'.','0',0,_S("1.2E-10")),
   289     RtoB_TEST(.0000000001235,KRealFormatExponent,9,3,'.','0',0,_S("1.235E-10")),
   290     RtoB_TEST(.00000000999,KRealFormatExponent,8,2,'.','0',0,_S("9.99E-09")),
   291     RtoB_TEST(.0000000001,KRealFormatExponent,12,6,'.','0',0,_S("1.000000E-10")),
   292     RtoB_TEST(.00000000010001,KRealFormatExponent,12,6,'.','0',0,_S("1.000100E-10")),
   293     RtoB_TEST(123.098785E-32,KRealFormatExponent,12,6,'.','0',0,_S("1.230988E-30")),
   294     RtoB_TEST(123.098785E-87,KRealFormatExponent,12,6,'.','0',0,_S("1.230988E-85")),
   295     RtoB_TEST(1.0E-99,KRealFormatExponent,12,6,'.','0',0,_S("1.000000E-99")),
   296 	// Added by AnnW
   297 	// Positive Exponents, allowing three-digit exponents 
   298     RtoB_TEST(123.098785,exponentThreeDigitExp,12,6,'.','0',0,_S("1.230988E+02")),
   299     RtoB_TEST(999999999.999,exponentThreeDigitExp,8,2,'.','0',0,_S("1.00E+09")),
   300     RtoB_TEST(34574567645555555.0E35,exponentThreeDigitExp,12,6,'.','0',0,_S("3.457457E+51")),
   301     RtoB_TEST(.99999999E99,exponentThreeDigitExp,12,6,'.','0',0,_S("1.000000E+99")),
   302     RtoB_TEST(1.0E99,exponentThreeDigitExp,12,6,'.','0',0,_S("1.000000E+99")),
   303 	RtoB_TEST(1234.9876E-103,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E-100")),
   304     RtoB_TEST(1234.9876E-107,exponentThreeDigitExp,14,6,'.','0',0,_S("1.234988E-104")),
   305     RtoB_TEST(1234.9876E-109,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E-106")),
   306     RtoB_TEST(1234.9876E-110,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E-107")),
   307     RtoB_TEST(1234.9876E-200,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E-197")),
   308     RtoB_TEST(1234.9876E-300,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E-297")),
   309     RtoB_TEST(1234.9876E97,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E+100")),
   310     RtoB_TEST(1234.9876E100,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E+103")),
   311     RtoB_TEST(1234.9876E103,exponentThreeDigitExp,14,5,'.','0',0,_S("1.23499E+106")),
   312     RtoB_TEST(1234.9876E200,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E+203")),
   313     RtoB_TEST(1234.9876E300,exponentThreeDigitExp,14,7,'.','0',0,_S("1.2349876E+303")),
   314     // Negative Exponents, allowing three-digit exponents 
   315     RtoB_TEST(1234.9876E-4,exponentThreeDigitExp,12,6,'.','0',0,_S("1.234988E-01")),
   316     RtoB_TEST(.00000000999,exponentThreeDigitExp,8,2,'.','0',0,_S("9.99E-09")),
   317     RtoB_TEST(123.098785E-32,exponentThreeDigitExp,12,6,'.','0',0,_S("1.230988E-30")),
   318     RtoB_TEST(123.098785E-87,exponentThreeDigitExp,12,6,'.','0',0,_S("1.230988E-85")),
   319     RtoB_TEST(1.0E-99,exponentThreeDigitExp,12,6,'.','0',0,_S("1.000000E-99")),
   320 	// Limited
   321 	RtoB_TEST(1.23456789012501E24,exponentLimit,32,15,'.',',',3,_S("1.234567890130000E+24")),
   322     RtoB_TEST(1.2345678901249E+97,exponentLimit,32,15,'.',',',3,_S("1.234567890120000E+97")),
   323     RtoB_TEST(1.99999999996E-19,exponentLimit,32,15,'.',',',3,_S("1.999999999960000E-19")),
   324     RtoB_TEST(1.999999999996E-53,exponentLimit,32,15,'.',',',3,_S("2.000000000000000E-53")),
   325     RtoB_TEST(1.9999999999996E+46,exponentLimit,32,15,'.',',',3,_S("2.000000000000000E+46")),
   326     RtoB_TEST(1.99999999999996,exponentLimit,32,15,'.',',',3,_S("2.000000000000000E+00")),
   327 	//
   328 	RtoB_TEST(1.23456789012501E24,exponentLimitAndThreeDigExp,32,15,'.',',',3,_S("1.234567890130000E+24")),
   329     RtoB_TEST(1.2345678901249E+169,exponentLimitAndThreeDigExp,32,15,'.',',',3,_S("1.234567890120000E+169")),
   330     RtoB_TEST(1.99999999996E-19,exponentLimitAndThreeDigExp,32,15,'.',',',3,_S("1.999999999960000E-19")),
   331     RtoB_TEST(1.999999999996E-253,exponentLimitAndThreeDigExp,32,15,'.',',',3,_S("2.000000000000000E-253")),
   332     RtoB_TEST(1.9999999999996E+246,exponentLimitAndThreeDigExp,32,15,'.',',',3,_S("2.000000000000000E+246")),
   333     RtoB_TEST(1.99999999999996E-302,exponentLimitAndThreeDigExp,32,15,'.',',',3,_S("2.000000000000000E-302")),
   334 	// end of added
   335 	
   336 	// GENERAL FORMAT 
   337     // Fixed format, no space for sign 
   338     RtoB_TEST(0.000,KRealFormatGeneral,7,4,'.','0',0,_S("0")),
   339     RtoB_TEST(98.000,KRealFormatGeneral,7,4,'.','0',0,_S("98")),
   340     RtoB_TEST(12345.6700009,KRealFormatGeneral,12,4,'.','0',3,_S("12345.670001")),
   341     RtoB_TEST(1.E2,KRealFormatGeneral,3,4,'.','0',0,_S("100")),
   342     RtoB_TEST(1234.0,KRealFormatGeneral,4,4,'.','0',3,_S("1234")),
   343     RtoB_TEST(1.2345,KRealFormatGeneral,4,4,'.','0',0,_S("1.23")),
   344     RtoB_TEST(1.235,KRealFormatGeneral,4,4,'.','0',0,_S("1.24")),
   345     RtoB_TEST(98765.0,KRealFormatGeneral,13,6,'.','0',0,_S("98765")),
   346     RtoB_TEST(100000000.0,KRealFormatGeneral,13,6,'.','0',0,_S("100000000")),
   347     RtoB_TEST(123.098785E00,KRealFormatGeneral,10,6,'.','0',0,_S("123.098785")),
   348 	RtoB_TEST(-123.098785E00,KRealFormatGeneral,10,6,'.','0',0,_S("-123.09879")),
   349     RtoB_TEST(0.001209,KRealFormatGeneral,6,4,'.','0',0,_S("0.0012")),
   350     RtoB_TEST(0.00100987,KRealFormatGeneral,7,4,'.','0',0,_S("0.00101")),
   351     RtoB_TEST(1234.9876E-4,KRealFormatGeneral,13,6,'.','0',0,_S("0.12349876")),
   352     RtoB_TEST(1234.9876E-5,KRealFormatGeneral,13,6,'.','0',0,_S("0.012349876")),
   353     // Fixed format, space for sign 
   354     RtoB_TEST(0.000,generalSpaceForSign,7,4,'.','0',0,_S("0")),
   355     RtoB_TEST(98.000,generalSpaceForSign,7,4,'.','0',0,_S("98")),
   356     RtoB_TEST(12345.6700009,generalSpaceForSign,13,4,'.','0',3,_S("12345.670001")),
   357 	RtoB_TEST(-12345.6700009,generalSpaceForSign,13,4,'.','0',3,_S("-12345.670001")),
   358     RtoB_TEST(1.E2,generalSpaceForSign,4,4,'.','0',0,_S("100")),
   359     RtoB_TEST(1234.0,generalSpaceForSign,5,4,'.','0',3,_S("1234")),
   360     RtoB_TEST(1.2345,generalSpaceForSign,5,4,'.','0',0,_S("1.23")),
   361     RtoB_TEST(1.235,generalSpaceForSign,5,4,'.','0',0,_S("1.24")),
   362     RtoB_TEST(-1.235,generalSpaceForSign,5,4,'.','0',0,_S("-1.24")),
   363 	RtoB_TEST(98765.0,generalSpaceForSign,13,6,'.','0',0,_S("98765")),
   364     RtoB_TEST(100000000.0,generalSpaceForSign,13,6,'.','0',0,_S("100000000")),
   365     RtoB_TEST(123.098785E00,generalSpaceForSign,11,6,'.','0',0,_S("123.098785")),
   366 	RtoB_TEST(-123.098785E00,generalSpaceForSign,11,6,'.','0',0,_S("-123.098785")),
   367     RtoB_TEST(0.001209,generalSpaceForSign,7,4,'.','0',0,_S("0.0012")),
   368     RtoB_TEST(0.00100987,generalSpaceForSign,8,4,'.','0',0,_S("0.00101")),
   369     RtoB_TEST(1234.9876E-4,generalSpaceForSign,11,6,'.','0',0,_S("0.12349876")),
   370 	RtoB_TEST(-1234.9876E-4,generalSpaceForSign,11,6,'.','0',0,_S("-0.12349876")),
   371     RtoB_TEST(1234.9876E-5,generalSpaceForSign,12,6,'.','0',0,_S("0.012349876")),
   372 	RtoB_TEST(-1234.9876E-5,generalSpaceForSign,12,6,'.','0',0,_S("-0.012349876")),
   373 	// Initially the format type is exponent, but after rounding
   374     // it is changed to fixed
   375 	// no space for sign 
   376     RtoB_TEST(0.00099,KRealFormatGeneral,5,5,'.','0',0,_S("0.001")),
   377     RtoB_TEST(0.00099999109,KRealFormatGeneral,6,5,'.','0',0,_S("0.001")),
   378     // space allowed for sign
   379 	RtoB_TEST(0.00099,generalSpaceForSign,6,5,'.','0',0,_S("0.001")),
   380     RtoB_TEST(0.00099999109,generalSpaceForSign,7,5,'.','0',0,_S("0.001")),
   381     // Exponent format, two digit exponent only 
   382     RtoB_TEST(10000000.0,KRealFormatGeneral,7,4,'.','0',0,_S("1E+07")),
   383     RtoB_TEST(9999999.0,KRealFormatGeneral,6,4,'.','0',0,_S("1E+07")),
   384     RtoB_TEST(1234567890123.0,KRealFormatGeneral,12,4,'.','0',0,_S("1.234568E+12")),
   385     RtoB_TEST(1234567.8765E12,KRealFormatGeneral,10,6,'.','0',0,_S("1.2346E+18")),
   386     RtoB_TEST(123.098785E56,KRealFormatGeneral,12,6,'.','0',0,_S("1.230988E+58")),
   387     RtoB_TEST(0.0000678,KRealFormatGeneral,12,4,'.','0',0,_S("6.78E-05")),
   388     RtoB_TEST(0.0000001234,KRealFormatGeneral,12,4,'.','0',0,_S("1.234E-07")),
   389     RtoB_TEST(.99999999E99,KRealFormatGeneral,12,6,'.','0',0,_S("1E+99")),
   390     RtoB_TEST(1.0E99,KRealFormatGeneral,12,6,'.','0',0,_S("1E+99")),
   391     RtoB_TEST(.0000000001,KRealFormatGeneral,12,6,'.','0',0,_S("1E-10")),
   392     RtoB_TEST(5384795.26E-52,KRealFormatGeneral,12,6,'.','0',0,_S("5.384795E-46")),
   393     RtoB_TEST(123.098785E-87,KRealFormatGeneral,12,6,'.','0',0,_S("1.230988E-85")),
   394     RtoB_TEST(.99999999E-99,KRealFormatGeneral,12,6,'.','0',0,_S("1E-99")),
   395     RtoB_TEST(1.0E-99,KRealFormatGeneral,12,6,'.','0',0,_S("1E-99")),
   396 	// Exponent format, three-digit exponents allowed
   397     RtoB_TEST(9999999.0,generalThreeDigitExp,6,4,'.','0',0,_S("1E+07")),
   398     RtoB_TEST(1234567890123.0,generalThreeDigitExp,13,4,'.','0',0,_S("1234567890123")),	// Leave room for three-digit exponent, so can have fixed numbers one digit longer 
   399     RtoB_TEST(1234567.8765E12,generalThreeDigitExp,11,6,'.','0',0,_S("1.23457E+18")),
   400     RtoB_TEST(123.098785E56,generalThreeDigitExp,12,6,'.','0',0,_S("1.230988E+58")),
   401     RtoB_TEST(.99999999E99,generalThreeDigitExp,12,6,'.','0',0,_S("1E+99")),
   402     RtoB_TEST(1.0E99,generalThreeDigitExp,12,6,'.','0',0,_S("1E+99")),
   403     RtoB_TEST(.0000000001,generalThreeDigitExp,12,6,'.','0',0,_S("1E-10")),
   404     RtoB_TEST(5384795.26E-52,generalThreeDigitExp,12,6,'.','0',0,_S("5.384795E-46")),
   405     RtoB_TEST(.99999999E-99,generalThreeDigitExp,12,6,'.','0',0,_S("1E-99")),
   406     RtoB_TEST(1.0E-99,generalThreeDigitExp,12,6,'.','0',0,_S("1E-99")),
   407 	RtoB_TEST(1234.9876E-103,generalThreeDigitExp,12,15,'.','0',0,_S("1.23499E-100")),
   408     RtoB_TEST(1234.9876E-107,generalThreeDigitExp,22,7,'.','0',0,_S("1.2349876E-104")),
   409     RtoB_TEST(1234.9876E-109,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E-106")),
   410     RtoB_TEST(1234.9876E-110,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E-107")),
   411     RtoB_TEST(1234.9876E-200,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E-197")),
   412     RtoB_TEST(1234.9876E-300,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E-297")),
   413     RtoB_TEST(1234.9876E97,generalThreeDigitExp,12,15,'.','0',0,_S("1.23499E+100")),
   414     RtoB_TEST(1234.9876E100,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E+103")),
   415     RtoB_TEST(1234.9876E103,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E+106")),
   416     RtoB_TEST(1234.9876E200,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E+203")),
   417     RtoB_TEST(1234.9876E300,generalThreeDigitExp,22,15,'.','0',0,_S("1.2349876E+303")),
   418 	//
   419 	RtoB_TEST(1.2E+100,generalThreeDigitExp,6,15,'.','0',0,_S("1E+100")),
   420     RtoB_TEST(1.2E-100,generalThreeDigitExp,6,15,'.','0',0,_S("1E-100")),
   421     RtoB_TEST(-1.2E+100,generalThreeDigitExp,7,15,'.','0',0,_S("-1E+100")),
   422     RtoB_TEST(-1.2E-100,generalThreeDigitExp,7,15,'.','0',0,_S("-1E-100")),
   423     RtoB_TEST(1.2E+100,generalThreeDigitExp,8,15,'.','0',0,_S("1.2E+100")),
   424     RtoB_TEST(1.2E-100,generalThreeDigitExp,8,15,'.','0',0,_S("1.2E-100")),
   425     RtoB_TEST(-1.2E+100,generalThreeDigitExp,9,15,'.','0',0,_S("-1.2E+100")),
   426     RtoB_TEST(-1.2E-100,generalThreeDigitExp,9,15,'.','0',0,_S("-1.2E-100")),
   427     RtoB_TEST(1E+100,generalThreeDigitExp,6,15,'.','0',0,_S("1E+100")),
   428     RtoB_TEST(1E-100,generalThreeDigitExp,6,15,'.','0',0,_S("1E-100")),
   429     RtoB_TEST(-1E+100,generalThreeDigitExp,7,15,'.','0',0,_S("-1E+100")),
   430     RtoB_TEST(-1E-100,generalThreeDigitExp,7,15,'.','0',0,_S("-1E-100")),
   431     RtoB_TEST(1E+100,generalThreeDigitExp,7,15,'.','0',0,_S("1E+100")),
   432     RtoB_TEST(1E-100,generalThreeDigitExp,7,15,'.','0',0,_S("1E-100")),
   433     RtoB_TEST(-1E+100,generalThreeDigitExp,8,15,'.','0',0,_S("-1E+100")),
   434     RtoB_TEST(-1E-100,generalThreeDigitExp,8,15,'.','0',0,_S("-1E-100")),
   435 	//
   436 	RtoB_TEST(1.4E+308,generalThreeDigitExp,6,15,'.','0',0,_S("1E+308")),
   437     RtoB_TEST(2.3E-308,generalThreeDigitExp,6,15,'.','0',0,_S("2E-308")),
   438     RtoB_TEST(-1.4E+308,generalThreeDigitExp,7,15,'.','0',0,_S("-1E+308")),
   439     RtoB_TEST(-2.3E-308,generalThreeDigitExp,7,15,'.','0',0,_S("-2E-308")),
   440     RtoB_TEST(1.7E+308,generalThreeDigitExp,8,15,'.','0',0,_S("1.7E+308")),
   441     RtoB_TEST(2.3E-308,generalThreeDigitExp,8,15,'.','0',0,_S("2.3E-308")),
   442     RtoB_TEST(-1.7E+308,generalThreeDigitExp,9,15,'.','0',0,_S("-1.7E+308")),
   443     RtoB_TEST(-2.3E-308,generalThreeDigitExp,9,15,'.','0',0,_S("-2.3E-308")),
   444     RtoB_TEST(1.797693E+308,generalThreeDigitExp,15,15,'.','0',0,_S("1.797693E+308")),
   445     RtoB_TEST(2.225074E-308,generalThreeDigitExp,15,15,'.','0',0,_S("2.225074E-308")),
   446     RtoB_TEST(-1.797693E+308,generalThreeDigitExp,16,15,'.','0',0,_S("-1.797693E+308")),
   447     RtoB_TEST(-2.225074E-308,generalThreeDigitExp,16,15,'.','0',0,_S("-2.225074E-308"))
   448 	};
   449 
   450 GLDEF_D TUint size_testd=sizeof(testd);
   451 
   452