persistentstorage/sqlite3api/TEST/TclScript/printf.test
changeset 0 08ec8eefde2f
equal deleted inserted replaced
-1:000000000000 0:08ec8eefde2f
       
     1 # 2001 September 15
       
     2 #
       
     3 # The author disclaims copyright to this source code.  In place of
       
     4 # a legal notice, here is a blessing:
       
     5 #
       
     6 #    May you do good and not evil.
       
     7 #    May you find forgiveness for yourself and forgive others.
       
     8 #    May you share freely, never taking more than you give.
       
     9 #
       
    10 #***********************************************************************
       
    11 # This file implements regression tests for SQLite library.  The
       
    12 # focus of this file is testing the sqlite_*_printf() interface.
       
    13 #
       
    14 # $Id: printf.test,v 1.30 2008/07/09 16:51:52 drh Exp $
       
    15 
       
    16 set testdir [file dirname $argv0]
       
    17 source $testdir/tester.tcl
       
    18 
       
    19 
       
    20 do_test printf-1.1.1 {
       
    21   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
    22        1 1 1
       
    23 } {abc: 1 1 1 :xyz}
       
    24 do_test printf-1.1.2 {
       
    25   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
    26        1 1 1
       
    27 } {abc: (     1) (     1) (     1) :xyz}
       
    28 do_test printf-1.1.3 {
       
    29   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
    30        1 1 1
       
    31 } {abc: (1     ) (1     ) (1     ) :xyz}
       
    32 do_test printf-1.1.4 {
       
    33   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
    34        1 1 1
       
    35 } {abc: (    +1) (     1) (     1) :xyz}
       
    36 do_test printf-1.1.5 {
       
    37   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
    38        1 1 1
       
    39 } {abc: (000001) (000001) (000001) :xyz}
       
    40 do_test printf-1.1.6 {
       
    41   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
    42        1 1 1
       
    43 } {abc: (     1) (     1) (     1) :xyz}
       
    44 do_test printf-1.1.7 {
       
    45   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
    46        1 1 1
       
    47 } {abc: (     1) (   0x1) (    01) :xyz}
       
    48 do_test printf-1.2.1 {
       
    49   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
    50        2 2 2
       
    51 } {abc: 2 2 2 :xyz}
       
    52 do_test printf-1.2.2 {
       
    53   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
    54        2 2 2
       
    55 } {abc: (     2) (     2) (     2) :xyz}
       
    56 do_test printf-1.2.3 {
       
    57   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
    58        2 2 2
       
    59 } {abc: (2     ) (2     ) (2     ) :xyz}
       
    60 do_test printf-1.2.4 {
       
    61   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
    62        2 2 2
       
    63 } {abc: (    +2) (     2) (     2) :xyz}
       
    64 do_test printf-1.2.5 {
       
    65   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
    66        2 2 2
       
    67 } {abc: (000002) (000002) (000002) :xyz}
       
    68 do_test printf-1.2.6 {
       
    69   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
    70        2 2 2
       
    71 } {abc: (     2) (     2) (     2) :xyz}
       
    72 do_test printf-1.2.7 {
       
    73   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
    74        2 2 2
       
    75 } {abc: (     2) (   0x2) (    02) :xyz}
       
    76 do_test printf-1.3.1 {
       
    77   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
    78        5 5 5
       
    79 } {abc: 5 5 5 :xyz}
       
    80 do_test printf-1.3.2 {
       
    81   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
    82        5 5 5
       
    83 } {abc: (     5) (     5) (     5) :xyz}
       
    84 do_test printf-1.3.3 {
       
    85   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
    86        5 5 5
       
    87 } {abc: (5     ) (5     ) (5     ) :xyz}
       
    88 do_test printf-1.3.4 {
       
    89   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
    90        5 5 5
       
    91 } {abc: (    +5) (     5) (     5) :xyz}
       
    92 do_test printf-1.3.5 {
       
    93   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
    94        5 5 5
       
    95 } {abc: (000005) (000005) (000005) :xyz}
       
    96 do_test printf-1.3.6 {
       
    97   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
    98        5 5 5
       
    99 } {abc: (     5) (     5) (     5) :xyz}
       
   100 do_test printf-1.3.7 {
       
   101   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   102        5 5 5
       
   103 } {abc: (     5) (   0x5) (    05) :xyz}
       
   104 do_test printf-1.4.1 {
       
   105   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   106        10 10 10
       
   107 } {abc: 10 a 12 :xyz}
       
   108 do_test printf-1.4.2 {
       
   109   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   110        10 10 10
       
   111 } {abc: (    10) (     a) (    12) :xyz}
       
   112 do_test printf-1.4.3 {
       
   113   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   114        10 10 10
       
   115 } {abc: (10    ) (a     ) (12    ) :xyz}
       
   116 do_test printf-1.4.4 {
       
   117   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   118        10 10 10
       
   119 } {abc: (   +10) (     a) (    12) :xyz}
       
   120 do_test printf-1.4.5 {
       
   121   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   122        10 10 10
       
   123 } {abc: (000010) (00000a) (000012) :xyz}
       
   124 do_test printf-1.4.6 {
       
   125   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   126        10 10 10
       
   127 } {abc: (    10) (     a) (    12) :xyz}
       
   128 do_test printf-1.4.7 {
       
   129   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   130        10 10 10
       
   131 } {abc: (    10) (   0xa) (   012) :xyz}
       
   132 do_test printf-1.5.1 {
       
   133   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   134        99 99 99
       
   135 } {abc: 99 63 143 :xyz}
       
   136 do_test printf-1.5.2 {
       
   137   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   138        99 99 99
       
   139 } {abc: (    99) (    63) (   143) :xyz}
       
   140 do_test printf-1.5.3 {
       
   141   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   142        99 99 99
       
   143 } {abc: (99    ) (63    ) (143   ) :xyz}
       
   144 do_test printf-1.5.4 {
       
   145   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   146        99 99 99
       
   147 } {abc: (   +99) (    63) (   143) :xyz}
       
   148 do_test printf-1.5.5 {
       
   149   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   150        99 99 99
       
   151 } {abc: (000099) (000063) (000143) :xyz}
       
   152 do_test printf-1.5.6 {
       
   153   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   154        99 99 99
       
   155 } {abc: (    99) (    63) (   143) :xyz}
       
   156 do_test printf-1.5.7 {
       
   157   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   158        99 99 99
       
   159 } {abc: (    99) (  0x63) (  0143) :xyz}
       
   160 do_test printf-1.6.1 {
       
   161   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   162        100 100 100
       
   163 } {abc: 100 64 144 :xyz}
       
   164 do_test printf-1.6.2 {
       
   165   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   166        100 100 100
       
   167 } {abc: (   100) (    64) (   144) :xyz}
       
   168 do_test printf-1.6.3 {
       
   169   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   170        100 100 100
       
   171 } {abc: (100   ) (64    ) (144   ) :xyz}
       
   172 do_test printf-1.6.4 {
       
   173   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   174        100 100 100
       
   175 } {abc: (  +100) (    64) (   144) :xyz}
       
   176 do_test printf-1.6.5 {
       
   177   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   178        100 100 100
       
   179 } {abc: (000100) (000064) (000144) :xyz}
       
   180 do_test printf-1.6.6 {
       
   181   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   182        100 100 100
       
   183 } {abc: (   100) (    64) (   144) :xyz}
       
   184 do_test printf-1.6.7 {
       
   185   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   186        100 100 100
       
   187 } {abc: (   100) (  0x64) (  0144) :xyz}
       
   188 do_test printf-1.7.1 {
       
   189   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   190        1000000 1000000 1000000
       
   191 } {abc: 1000000 f4240 3641100 :xyz}
       
   192 do_test printf-1.7.2 {
       
   193   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   194        1000000 1000000 1000000
       
   195 } {abc: (1000000) ( f4240) (3641100) :xyz}
       
   196 do_test printf-1.7.3 {
       
   197   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   198        1000000 1000000 1000000
       
   199 } {abc: (1000000) (f4240 ) (3641100) :xyz}
       
   200 do_test printf-1.7.4 {
       
   201   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   202        1000000 1000000 1000000
       
   203 } {abc: (+1000000) ( f4240) (3641100) :xyz}
       
   204 do_test printf-1.7.5 {
       
   205   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   206        1000000 1000000 1000000
       
   207 } {abc: (1000000) (0f4240) (3641100) :xyz}
       
   208 do_test printf-1.7.6 {
       
   209   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   210        1000000 1000000 1000000
       
   211 } {abc: ( 1000000) ( f4240) (3641100) :xyz}
       
   212 do_test printf-1.7.7 {
       
   213   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   214        1000000 1000000 1000000
       
   215 } {abc: (1000000) (0xf4240) (03641100) :xyz}
       
   216 do_test printf-1.8.1 {
       
   217   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   218        999999999 999999999 999999999
       
   219 } {abc: 999999999 3b9ac9ff 7346544777 :xyz}
       
   220 do_test printf-1.8.2 {
       
   221   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   222        999999999 999999999 999999999
       
   223 } {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
       
   224 do_test printf-1.8.3 {
       
   225   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   226        999999999 999999999 999999999
       
   227 } {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
       
   228 do_test printf-1.8.4 {
       
   229   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   230        999999999 999999999 999999999
       
   231 } {abc: (+999999999) (3b9ac9ff) (7346544777) :xyz}
       
   232 do_test printf-1.8.5 {
       
   233   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   234        999999999 999999999 999999999
       
   235 } {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
       
   236 do_test printf-1.8.6 {
       
   237   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   238        999999999 999999999 999999999
       
   239 } {abc: ( 999999999) (3b9ac9ff) (7346544777) :xyz}
       
   240 do_test printf-1.8.7 {
       
   241   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   242        999999999 999999999 999999999
       
   243 } {abc: (999999999) (0x3b9ac9ff) (07346544777) :xyz}
       
   244 do_test printf-1.9.1 {
       
   245   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   246        0 0 0
       
   247 } {abc: 0 0 0 :xyz}
       
   248 do_test printf-1.9.2 {
       
   249   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   250        0 0 0
       
   251 } {abc: (     0) (     0) (     0) :xyz}
       
   252 do_test printf-1.9.3 {
       
   253   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   254        0 0 0
       
   255 } {abc: (0     ) (0     ) (0     ) :xyz}
       
   256 do_test printf-1.9.4 {
       
   257   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   258        0 0 0
       
   259 } {abc: (    +0) (     0) (     0) :xyz}
       
   260 do_test printf-1.9.5 {
       
   261   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   262        0 0 0
       
   263 } {abc: (000000) (000000) (000000) :xyz}
       
   264 do_test printf-1.9.6 {
       
   265   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   266        0 0 0
       
   267 } {abc: (     0) (     0) (     0) :xyz}
       
   268 do_test printf-1.9.7 {
       
   269   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   270        0 0 0
       
   271 } {abc: (     0) (     0) (     0) :xyz}
       
   272 # 0xffffffff == -1
       
   273 do_test printf-1.10.1 {
       
   274   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   275        0xffffffff 0xffffffff 0xffffffff
       
   276 } {abc: -1 ffffffff 37777777777 :xyz}
       
   277 do_test printf-1.10.2 {
       
   278   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   279        0xffffffff 0xffffffff 0xffffffff
       
   280 } {abc: (    -1) (ffffffff) (37777777777) :xyz}
       
   281 do_test printf-1.10.3 {
       
   282   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   283        0xffffffff 0xffffffff 0xffffffff
       
   284 } {abc: (-1    ) (ffffffff) (37777777777) :xyz}
       
   285 do_test printf-1.10.4 {
       
   286   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   287        0xffffffff 0xffffffff 0xffffffff
       
   288 } {abc: (    -1) (ffffffff) (37777777777) :xyz}
       
   289 do_test printf-1.10.5 {
       
   290   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   291        0xffffffff 0xffffffff 0xffffffff
       
   292 } {abc: (-00001) (ffffffff) (37777777777) :xyz}
       
   293 do_test printf-1.10.6 {
       
   294   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   295        0xffffffff 0xffffffff 0xffffffff
       
   296 } {abc: (    -1) (ffffffff) (37777777777) :xyz}
       
   297 do_test printf-1.10.7 {
       
   298   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   299        0xffffffff 0xffffffff 0xffffffff
       
   300 } {abc: (    -1) (0xffffffff) (037777777777) :xyz}
       
   301 # 0xfffffffe == -2
       
   302 do_test printf-1.11.1 {
       
   303   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   304        0xfffffffe 0xfffffffe 0xfffffffe
       
   305 } {abc: -2 fffffffe 37777777776 :xyz}
       
   306 do_test printf-1.11.2 {
       
   307   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   308        0xfffffffe 0xfffffffe 0xfffffffe
       
   309 } {abc: (    -2) (fffffffe) (37777777776) :xyz}
       
   310 do_test printf-1.11.3 {
       
   311   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   312        0xfffffffe 0xfffffffe 0xfffffffe
       
   313 } {abc: (-2    ) (fffffffe) (37777777776) :xyz}
       
   314 do_test printf-1.11.4 {
       
   315   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   316        0xfffffffe 0xfffffffe 0xfffffffe
       
   317 } {abc: (    -2) (fffffffe) (37777777776) :xyz}
       
   318 do_test printf-1.11.5 {
       
   319   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   320        0xfffffffe 0xfffffffe 0xfffffffe
       
   321 } {abc: (-00002) (fffffffe) (37777777776) :xyz}
       
   322 do_test printf-1.11.6 {
       
   323   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   324        0xfffffffe 0xfffffffe 0xfffffffe
       
   325 } {abc: (    -2) (fffffffe) (37777777776) :xyz}
       
   326 do_test printf-1.11.7 {
       
   327   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   328        0xfffffffe 0xfffffffe 0xfffffffe
       
   329 } {abc: (    -2) (0xfffffffe) (037777777776) :xyz}
       
   330 # 0xfffffffb == -5
       
   331 do_test printf-1.12.1 {
       
   332   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   333        0xfffffffb 0xfffffffb 0xfffffffb
       
   334 } {abc: -5 fffffffb 37777777773 :xyz}
       
   335 do_test printf-1.12.2 {
       
   336   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   337        0xfffffffb 0xfffffffb 0xfffffffb
       
   338 } {abc: (    -5) (fffffffb) (37777777773) :xyz}
       
   339 do_test printf-1.12.3 {
       
   340   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   341        0xfffffffb 0xfffffffb 0xfffffffb
       
   342 } {abc: (-5    ) (fffffffb) (37777777773) :xyz}
       
   343 do_test printf-1.12.4 {
       
   344   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   345        0xfffffffb 0xfffffffb 0xfffffffb
       
   346 } {abc: (    -5) (fffffffb) (37777777773) :xyz}
       
   347 do_test printf-1.12.5 {
       
   348   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   349        0xfffffffb 0xfffffffb 0xfffffffb
       
   350 } {abc: (-00005) (fffffffb) (37777777773) :xyz}
       
   351 do_test printf-1.12.6 {
       
   352   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   353        0xfffffffb 0xfffffffb 0xfffffffb
       
   354 } {abc: (    -5) (fffffffb) (37777777773) :xyz}
       
   355 do_test printf-1.12.7 {
       
   356   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   357        0xfffffffb 0xfffffffb 0xfffffffb
       
   358 } {abc: (    -5) (0xfffffffb) (037777777773) :xyz}
       
   359 # 0xfffffff6 == -10
       
   360 do_test printf-1.13.1 {
       
   361   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   362        0xfffffff6 0xfffffff6 0xfffffff6
       
   363 } {abc: -10 fffffff6 37777777766 :xyz}
       
   364 do_test printf-1.13.2 {
       
   365   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   366        0xfffffff6 0xfffffff6 0xfffffff6
       
   367 } {abc: (   -10) (fffffff6) (37777777766) :xyz}
       
   368 do_test printf-1.13.3 {
       
   369   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   370        0xfffffff6 0xfffffff6 0xfffffff6
       
   371 } {abc: (-10   ) (fffffff6) (37777777766) :xyz}
       
   372 do_test printf-1.13.4 {
       
   373   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   374        0xfffffff6 0xfffffff6 0xfffffff6
       
   375 } {abc: (   -10) (fffffff6) (37777777766) :xyz}
       
   376 do_test printf-1.13.5 {
       
   377   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   378        0xfffffff6 0xfffffff6 0xfffffff6
       
   379 } {abc: (-00010) (fffffff6) (37777777766) :xyz}
       
   380 do_test printf-1.13.6 {
       
   381   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   382        0xfffffff6 0xfffffff6 0xfffffff6
       
   383 } {abc: (   -10) (fffffff6) (37777777766) :xyz}
       
   384 do_test printf-1.13.7 {
       
   385   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   386        0xfffffff6 0xfffffff6 0xfffffff6
       
   387 } {abc: (   -10) (0xfffffff6) (037777777766) :xyz}
       
   388 # 0xffffff9d == -99
       
   389 do_test printf-1.14.1 {
       
   390   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   391        0xffffff9d 0xffffff9d 0xffffff9d
       
   392 } {abc: -99 ffffff9d 37777777635 :xyz}
       
   393 do_test printf-1.14.2 {
       
   394   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   395        0xffffff9d 0xffffff9d 0xffffff9d
       
   396 } {abc: (   -99) (ffffff9d) (37777777635) :xyz}
       
   397 do_test printf-1.14.3 {
       
   398   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   399        0xffffff9d 0xffffff9d 0xffffff9d
       
   400 } {abc: (-99   ) (ffffff9d) (37777777635) :xyz}
       
   401 do_test printf-1.14.4 {
       
   402   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   403        0xffffff9d 0xffffff9d 0xffffff9d
       
   404 } {abc: (   -99) (ffffff9d) (37777777635) :xyz}
       
   405 do_test printf-1.14.5 {
       
   406   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   407        0xffffff9d 0xffffff9d 0xffffff9d
       
   408 } {abc: (-00099) (ffffff9d) (37777777635) :xyz}
       
   409 do_test printf-1.14.6 {
       
   410   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   411        0xffffff9d 0xffffff9d 0xffffff9d
       
   412 } {abc: (   -99) (ffffff9d) (37777777635) :xyz}
       
   413 do_test printf-1.14.7 {
       
   414   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   415        0xffffff9d 0xffffff9d 0xffffff9d
       
   416 } {abc: (   -99) (0xffffff9d) (037777777635) :xyz}
       
   417 # 0xffffff9c == -100
       
   418 do_test printf-1.15.1 {
       
   419   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   420        0xffffff9c 0xffffff9c 0xffffff9c
       
   421 } {abc: -100 ffffff9c 37777777634 :xyz}
       
   422 do_test printf-1.15.2 {
       
   423   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   424        0xffffff9c 0xffffff9c 0xffffff9c
       
   425 } {abc: (  -100) (ffffff9c) (37777777634) :xyz}
       
   426 do_test printf-1.15.3 {
       
   427   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   428        0xffffff9c 0xffffff9c 0xffffff9c
       
   429 } {abc: (-100  ) (ffffff9c) (37777777634) :xyz}
       
   430 do_test printf-1.15.4 {
       
   431   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   432        0xffffff9c 0xffffff9c 0xffffff9c
       
   433 } {abc: (  -100) (ffffff9c) (37777777634) :xyz}
       
   434 do_test printf-1.15.5 {
       
   435   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   436        0xffffff9c 0xffffff9c 0xffffff9c
       
   437 } {abc: (-00100) (ffffff9c) (37777777634) :xyz}
       
   438 do_test printf-1.15.6 {
       
   439   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   440        0xffffff9c 0xffffff9c 0xffffff9c
       
   441 } {abc: (  -100) (ffffff9c) (37777777634) :xyz}
       
   442 do_test printf-1.15.7 {
       
   443   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   444        0xffffff9c 0xffffff9c 0xffffff9c
       
   445 } {abc: (  -100) (0xffffff9c) (037777777634) :xyz}
       
   446 # 0xff676981 == -9999999
       
   447 do_test printf-1.16.1 {
       
   448   sqlite3_mprintf_int {abc: %d %x %o :xyz}\
       
   449        0xff676981 0xff676981 0xff676981
       
   450 } {abc: -9999999 ff676981 37731664601 :xyz}
       
   451 do_test printf-1.16.2 {
       
   452   sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
       
   453        0xff676981 0xff676981 0xff676981
       
   454 } {abc: (-9999999) (ff676981) (37731664601) :xyz}
       
   455 do_test printf-1.16.3 {
       
   456   sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
       
   457        0xff676981 0xff676981 0xff676981
       
   458 } {abc: (-9999999) (ff676981) (37731664601) :xyz}
       
   459 do_test printf-1.16.4 {
       
   460   sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
       
   461        0xff676981 0xff676981 0xff676981
       
   462 } {abc: (-9999999) (ff676981) (37731664601) :xyz}
       
   463 do_test printf-1.16.5 {
       
   464   sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
       
   465        0xff676981 0xff676981 0xff676981
       
   466 } {abc: (-9999999) (ff676981) (37731664601) :xyz}
       
   467 do_test printf-1.16.6 {
       
   468   sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
       
   469        0xff676981 0xff676981 0xff676981
       
   470 } {abc: (-9999999) (ff676981) (37731664601) :xyz}
       
   471 do_test printf-1.16.7 {
       
   472   sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
       
   473        0xff676981 0xff676981 0xff676981
       
   474 } {abc: (-9999999) (0xff676981) (037731664601) :xyz}
       
   475 do_test printf-2.1.1.1 {
       
   476   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.001
       
   477 } {abc: (0.0) :xyz}
       
   478 do_test printf-2.1.1.2 {
       
   479   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.001
       
   480 } {abc: (1.0e-03) :xyz}
       
   481 do_test printf-2.1.1.3 {
       
   482   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.001
       
   483 } {abc: (0.001) :xyz}
       
   484 do_test printf-2.1.1.4 {
       
   485   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 0.001
       
   486 } {abc: 1 1 (0.001) :xyz}
       
   487 do_test printf-2.1.1.5 {
       
   488   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 0.001
       
   489 } {abc: 1 1 (0.00100000) :xyz}
       
   490 do_test printf-2.1.1.6 {
       
   491   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 0.001
       
   492 } {abc: 1 1 (000000.001) :xyz}
       
   493 do_test printf-2.1.1.7 {
       
   494   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 0.001
       
   495 } {abc: 1 1 (0.0) :xyz}
       
   496 do_test printf-2.1.1.8 {
       
   497   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 0.001
       
   498 } {abc: 1 1 (1.0e-03) :xyz}
       
   499 do_test printf-2.1.1.9 {
       
   500   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 0.001
       
   501 } {abc: 1 1 (0.001) :xyz}
       
   502 do_test printf-2.1.2.1 {
       
   503   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0e-20
       
   504 } {abc: (0.0) :xyz}
       
   505 do_test printf-2.1.2.2 {
       
   506   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0e-20
       
   507 } {abc: (1.0e-20) :xyz}
       
   508 do_test printf-2.1.2.3 {
       
   509   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0e-20
       
   510 } {abc: (1e-20) :xyz}
       
   511 do_test printf-2.1.2.4 {
       
   512   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 1.0e-20
       
   513 } {abc: 1 1 (1e-20) :xyz}
       
   514 do_test printf-2.1.2.5 {
       
   515   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 1.0e-20
       
   516 } {abc: 1 1 (1.00000e-20) :xyz}
       
   517 do_test printf-2.1.2.6 {
       
   518   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 1.0e-20
       
   519 } {abc: 1 1 (000001e-20) :xyz}
       
   520 do_test printf-2.1.2.7 {
       
   521   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 1.0e-20
       
   522 } {abc: 1 1 (0.0) :xyz}
       
   523 do_test printf-2.1.2.8 {
       
   524   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 1.0e-20
       
   525 } {abc: 1 1 (1.0e-20) :xyz}
       
   526 do_test printf-2.1.2.9 {
       
   527   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0e-20
       
   528 } {abc: 1 1 (1e-20) :xyz}
       
   529 do_test printf-2.1.3.1 {
       
   530   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0
       
   531 } {abc: (1.0) :xyz}
       
   532 do_test printf-2.1.3.2 {
       
   533   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0
       
   534 } {abc: (1.0e+00) :xyz}
       
   535 do_test printf-2.1.3.3 {
       
   536   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0
       
   537 } {abc: (1) :xyz}
       
   538 do_test printf-2.1.3.4 {
       
   539   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 1.0
       
   540 } {abc: 1 1 (1) :xyz}
       
   541 do_test printf-2.1.3.5 {
       
   542   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 1.0
       
   543 } {abc: 1 1 (1.00000) :xyz}
       
   544 do_test printf-2.1.3.6 {
       
   545   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 1.0
       
   546 } {abc: 1 1 (0000000001) :xyz}
       
   547 do_test printf-2.1.3.7 {
       
   548   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 1.0
       
   549 } {abc: 1 1 (1.0) :xyz}
       
   550 do_test printf-2.1.3.8 {
       
   551   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 1.0
       
   552 } {abc: 1 1 (1.0e+00) :xyz}
       
   553 do_test printf-2.1.3.9 {
       
   554   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0
       
   555 } {abc: 1 1 (1) :xyz}
       
   556 do_test printf-2.1.4.1 {
       
   557   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.0
       
   558 } {abc: (0.0) :xyz}
       
   559 do_test printf-2.1.4.2 {
       
   560   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.0
       
   561 } {abc: (0.0e+00) :xyz}
       
   562 do_test printf-2.1.4.3 {
       
   563   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.0
       
   564 } {abc: (0) :xyz}
       
   565 do_test printf-2.1.4.4 {
       
   566   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 0.0
       
   567 } {abc: 1 1 (0) :xyz}
       
   568 do_test printf-2.1.4.5 {
       
   569   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 0.0
       
   570 } {abc: 1 1 (0.00000) :xyz}
       
   571 do_test printf-2.1.4.6 {
       
   572   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 0.0
       
   573 } {abc: 1 1 (0000000000) :xyz}
       
   574 do_test printf-2.1.4.7 {
       
   575   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 0.0
       
   576 } {abc: 1 1 (0.0) :xyz}
       
   577 do_test printf-2.1.4.8 {
       
   578   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 0.0
       
   579 } {abc: 1 1 (0.0e+00) :xyz}
       
   580 do_test printf-2.1.4.9 {
       
   581   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 0.0
       
   582 } {abc: 1 1 (0) :xyz}
       
   583 do_test printf-2.1.5.1 {
       
   584   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 100.0
       
   585 } {abc: (100.0) :xyz}
       
   586 do_test printf-2.1.5.2 {
       
   587   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 100.0
       
   588 } {abc: (1.0e+02) :xyz}
       
   589 do_test printf-2.1.5.3 {
       
   590   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 100.0
       
   591 } {abc: (1e+02) :xyz}
       
   592 do_test printf-2.1.5.4 {
       
   593   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 100.0
       
   594 } {abc: 1 1 (100) :xyz}
       
   595 do_test printf-2.1.5.5 {
       
   596   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 100.0
       
   597 } {abc: 1 1 (100.000) :xyz}
       
   598 do_test printf-2.1.5.6 {
       
   599   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 100.0
       
   600 } {abc: 1 1 (0000000100) :xyz}
       
   601 do_test printf-2.1.5.7 {
       
   602   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 100.0
       
   603 } {abc: 1 1 (100.0) :xyz}
       
   604 do_test printf-2.1.5.8 {
       
   605   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 100.0
       
   606 } {abc: 1 1 (1.0e+02) :xyz}
       
   607 do_test printf-2.1.5.9 {
       
   608   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 100.0
       
   609 } {abc: 1 1 (1e+02) :xyz}
       
   610 do_test printf-2.1.6.1 {
       
   611   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 9.99999
       
   612 } {abc: (10.0) :xyz}
       
   613 do_test printf-2.1.6.2 {
       
   614   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.99999
       
   615 } {abc: (1.0e+01) :xyz}
       
   616 do_test printf-2.1.6.3 {
       
   617   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.99999
       
   618 } {abc: (1e+01) :xyz}
       
   619 do_test printf-2.1.6.4 {
       
   620   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 9.99999
       
   621 } {abc: 1 1 (9.99999) :xyz}
       
   622 do_test printf-2.1.6.5 {
       
   623   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 9.99999
       
   624 } {abc: 1 1 (9.99999) :xyz}
       
   625 do_test printf-2.1.6.6 {
       
   626   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 9.99999
       
   627 } {abc: 1 1 (0009.99999) :xyz}
       
   628 do_test printf-2.1.6.7 {
       
   629   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 9.99999
       
   630 } {abc: 1 1 (10.0) :xyz}
       
   631 do_test printf-2.1.6.8 {
       
   632   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 9.99999
       
   633 } {abc: 1 1 (1.0e+01) :xyz}
       
   634 do_test printf-2.1.6.9 {
       
   635   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 9.99999
       
   636 } {abc: 1 1 (1e+01) :xyz}
       
   637 do_test printf-2.1.7.1 {
       
   638   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -0.00543
       
   639 } {abc: (-0.0) :xyz}
       
   640 do_test printf-2.1.7.2 {
       
   641   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -0.00543
       
   642 } {abc: (-5.4e-03) :xyz}
       
   643 do_test printf-2.1.7.3 {
       
   644   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -0.00543
       
   645 } {abc: (-0.005) :xyz}
       
   646 do_test printf-2.1.7.4 {
       
   647   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -0.00543
       
   648 } {abc: 1 1 (-0.00543) :xyz}
       
   649 do_test printf-2.1.7.5 {
       
   650   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -0.00543
       
   651 } {abc: 1 1 (-0.00543000) :xyz}
       
   652 do_test printf-2.1.7.6 {
       
   653   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -0.00543
       
   654 } {abc: 1 1 (-000.00543) :xyz}
       
   655 do_test printf-2.1.7.7 {
       
   656   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -0.00543
       
   657 } {abc: 1 1 (-0.0) :xyz}
       
   658 do_test printf-2.1.7.8 {
       
   659   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -0.00543
       
   660 } {abc: 1 1 (-5.4e-03) :xyz}
       
   661 do_test printf-2.1.7.9 {
       
   662   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -0.00543
       
   663 } {abc: 1 1 (-0.005) :xyz}
       
   664 do_test printf-2.1.8.1 {
       
   665   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -1.0
       
   666 } {abc: (-1.0) :xyz}
       
   667 do_test printf-2.1.8.2 {
       
   668   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -1.0
       
   669 } {abc: (-1.0e+00) :xyz}
       
   670 do_test printf-2.1.8.3 {
       
   671   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -1.0
       
   672 } {abc: (-1) :xyz}
       
   673 do_test printf-2.1.8.4 {
       
   674   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -1.0
       
   675 } {abc: 1 1 (-1) :xyz}
       
   676 do_test printf-2.1.8.5 {
       
   677   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -1.0
       
   678 } {abc: 1 1 (-1.00000) :xyz}
       
   679 do_test printf-2.1.8.6 {
       
   680   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -1.0
       
   681 } {abc: 1 1 (-000000001) :xyz}
       
   682 do_test printf-2.1.8.7 {
       
   683   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -1.0
       
   684 } {abc: 1 1 (-1.0) :xyz}
       
   685 do_test printf-2.1.8.8 {
       
   686   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -1.0
       
   687 } {abc: 1 1 (-1.0e+00) :xyz}
       
   688 do_test printf-2.1.8.9 {
       
   689   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -1.0
       
   690 } {abc: 1 1 (-1) :xyz}
       
   691 do_test printf-2.1.9.1 {
       
   692   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -99.99999
       
   693 } {abc: (-100.0) :xyz}
       
   694 do_test printf-2.1.9.2 {
       
   695   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -99.99999
       
   696 } {abc: (-1.0e+02) :xyz}
       
   697 do_test printf-2.1.9.3 {
       
   698   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -99.99999
       
   699 } {abc: (-1e+02) :xyz}
       
   700 do_test printf-2.1.9.4 {
       
   701   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -99.99999
       
   702 } {abc: 1 1 (-100) :xyz}
       
   703 do_test printf-2.1.9.5 {
       
   704   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -99.99999
       
   705 } {abc: 1 1 (-100.000) :xyz}
       
   706 do_test printf-2.1.9.6 {
       
   707   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -99.99999
       
   708 } {abc: 1 1 (-000000100) :xyz}
       
   709 do_test printf-2.1.9.7 {
       
   710   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -99.99999
       
   711 } {abc: 1 1 (-100.0) :xyz}
       
   712 do_test printf-2.1.9.8 {
       
   713   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -99.99999
       
   714 } {abc: 1 1 (-1.0e+02) :xyz}
       
   715 do_test printf-2.1.9.9 {
       
   716   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -99.99999
       
   717 } {abc: 1 1 (-1e+02) :xyz}
       
   718 do_test printf-2.1.10.1 {
       
   719   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.14e+9
       
   720 } {abc: (3140000000.0) :xyz}
       
   721 do_test printf-2.1.10.2 {
       
   722   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.14e+9
       
   723 } {abc: (3.1e+09) :xyz}
       
   724 do_test printf-2.1.10.3 {
       
   725   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.14e+9
       
   726 } {abc: (3e+09) :xyz}
       
   727 do_test printf-2.1.10.4 {
       
   728   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 3.14e+9
       
   729 } {abc: 1 1 (3.14e+09) :xyz}
       
   730 do_test printf-2.1.10.5 {
       
   731   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 3.14e+9
       
   732 } {abc: 1 1 (3.14000e+09) :xyz}
       
   733 do_test printf-2.1.10.6 {
       
   734   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 3.14e+9
       
   735 } {abc: 1 1 (003.14e+09) :xyz}
       
   736 do_test printf-2.1.10.7 {
       
   737   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 3.14e+9
       
   738 } {abc: 1 1 (3140000000.0) :xyz}
       
   739 do_test printf-2.1.10.8 {
       
   740   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 3.14e+9
       
   741 } {abc: 1 1 (3.1e+09) :xyz}
       
   742 do_test printf-2.1.10.9 {
       
   743   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 3.14e+9
       
   744 } {abc: 1 1 (3e+09) :xyz}
       
   745 do_test printf-2.1.11.2 {
       
   746   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -4.72732e+88
       
   747 } {abc: (-4.7e+88) :xyz}
       
   748 do_test printf-2.1.11.3 {
       
   749   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -4.72732e+88
       
   750 } {abc: (-5e+88) :xyz}
       
   751 do_test printf-2.1.11.4 {
       
   752   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -4.72732e+88
       
   753 } {abc: 1 1 (-4.72732e+88) :xyz}
       
   754 do_test printf-2.1.11.5 {
       
   755   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -4.72732e+88
       
   756 } {abc: 1 1 (-4.72732e+88) :xyz}
       
   757 do_test printf-2.1.11.6 {
       
   758   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -4.72732e+88
       
   759 } {abc: 1 1 (-4.72732e+88) :xyz}
       
   760 do_test printf-2.1.11.8 {
       
   761   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -4.72732e+88
       
   762 } {abc: 1 1 (-4.7e+88) :xyz}
       
   763 do_test printf-2.1.11.9 {
       
   764   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -4.72732e+88
       
   765 } {abc: 1 1 (-5e+88) :xyz}
       
   766 do_test printf-2.1.12.2 {
       
   767   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.87991e+143
       
   768 } {abc: (9.9e+143) :xyz}
       
   769 do_test printf-2.1.12.3 {
       
   770   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.87991e+143
       
   771 } {abc: (1e+144) :xyz}
       
   772 do_test printf-2.1.12.4 {
       
   773   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 9.87991e+143
       
   774 } {abc: 1 1 (9.87991e+143) :xyz}
       
   775 do_test printf-2.1.12.5 {
       
   776   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 9.87991e+143
       
   777 } {abc: 1 1 (9.87991e+143) :xyz}
       
   778 do_test printf-2.1.12.6 {
       
   779   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 9.87991e+143
       
   780 } {abc: 1 1 (9.87991e+143) :xyz}
       
   781 do_test printf-2.1.12.8 {
       
   782   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 9.87991e+143
       
   783 } {abc: 1 1 (9.9e+143) :xyz}
       
   784 do_test printf-2.1.12.9 {
       
   785   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 9.87991e+143
       
   786 } {abc: 1 1 (1e+144) :xyz}
       
   787 do_test printf-2.1.13.1 {
       
   788   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -6.287291e-9
       
   789 } {abc: (-0.0) :xyz}
       
   790 do_test printf-2.1.13.2 {
       
   791   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -6.287291e-9
       
   792 } {abc: (-6.3e-09) :xyz}
       
   793 do_test printf-2.1.13.3 {
       
   794   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -6.287291e-9
       
   795 } {abc: (-6e-09) :xyz}
       
   796 do_test printf-2.1.13.4 {
       
   797   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -6.287291e-9
       
   798 } {abc: 1 1 (-6.28729e-09) :xyz}
       
   799 do_test printf-2.1.13.5 {
       
   800   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -6.287291e-9
       
   801 } {abc: 1 1 (-6.28729e-09) :xyz}
       
   802 do_test printf-2.1.13.6 {
       
   803   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -6.287291e-9
       
   804 } {abc: 1 1 (-6.28729e-09) :xyz}
       
   805 do_test printf-2.1.13.7 {
       
   806   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -6.287291e-9
       
   807 } {abc: 1 1 (-0.0) :xyz}
       
   808 do_test printf-2.1.13.8 {
       
   809   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -6.287291e-9
       
   810 } {abc: 1 1 (-6.3e-09) :xyz}
       
   811 do_test printf-2.1.13.9 {
       
   812   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -6.287291e-9
       
   813 } {abc: 1 1 (-6e-09) :xyz}
       
   814 do_test printf-2.1.14.1 {
       
   815   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.38826392e-110
       
   816 } {abc: (0.0) :xyz}
       
   817 do_test printf-2.1.14.2 {
       
   818   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.38826392e-110
       
   819 } {abc: (3.4e-110) :xyz}
       
   820 do_test printf-2.1.14.3 {
       
   821   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.38826392e-110
       
   822 } {abc: (3e-110) :xyz}
       
   823 do_test printf-2.1.14.4 {
       
   824   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 3.38826392e-110
       
   825 } {abc: 1 1 (3.38826e-110) :xyz}
       
   826 do_test printf-2.1.14.5 {
       
   827   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 3.38826392e-110
       
   828 } {abc: 1 1 (3.38826e-110) :xyz}
       
   829 do_test printf-2.1.14.6 {
       
   830   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 3.38826392e-110
       
   831 } {abc: 1 1 (3.38826e-110) :xyz}
       
   832 do_test printf-2.1.14.7 {
       
   833   sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 3.38826392e-110
       
   834 } {abc: 1 1 (0.0) :xyz}
       
   835 do_test printf-2.1.14.8 {
       
   836   sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 3.38826392e-110
       
   837 } {abc: 1 1 (3.4e-110) :xyz}
       
   838 do_test printf-2.1.14.9 {
       
   839   sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 3.38826392e-110
       
   840 } {abc: 1 1 (3e-110) :xyz}
       
   841 do_test printf-2.2.1.1 {
       
   842   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.001
       
   843 } {abc: (0.00100) :xyz}
       
   844 do_test printf-2.2.1.2 {
       
   845   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.001
       
   846 } {abc: (1.00000e-03) :xyz}
       
   847 do_test printf-2.2.1.3 {
       
   848   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.001
       
   849 } {abc: (0.001) :xyz}
       
   850 do_test printf-2.2.1.4 {
       
   851   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 0.001
       
   852 } {abc: 5 5 (0.001) :xyz}
       
   853 do_test printf-2.2.1.5 {
       
   854   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 0.001
       
   855 } {abc: 5 5 (0.00100000) :xyz}
       
   856 do_test printf-2.2.1.6 {
       
   857   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 0.001
       
   858 } {abc: 5 5 (000000.001) :xyz}
       
   859 do_test printf-2.2.1.7 {
       
   860   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 0.001
       
   861 } {abc: 5 5 (0.00100) :xyz}
       
   862 do_test printf-2.2.1.8 {
       
   863   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 0.001
       
   864 } {abc: 5 5 (1.00000e-03) :xyz}
       
   865 do_test printf-2.2.1.9 {
       
   866   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 0.001
       
   867 } {abc: 5 5 (0.001) :xyz}
       
   868 do_test printf-2.2.2.1 {
       
   869   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0e-20
       
   870 } {abc: (0.00000) :xyz}
       
   871 do_test printf-2.2.2.2 {
       
   872   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0e-20
       
   873 } {abc: (1.00000e-20) :xyz}
       
   874 do_test printf-2.2.2.3 {
       
   875   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0e-20
       
   876 } {abc: (1e-20) :xyz}
       
   877 do_test printf-2.2.2.4 {
       
   878   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 1.0e-20
       
   879 } {abc: 5 5 (1e-20) :xyz}
       
   880 do_test printf-2.2.2.5 {
       
   881   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 1.0e-20
       
   882 } {abc: 5 5 (1.00000e-20) :xyz}
       
   883 do_test printf-2.2.2.6 {
       
   884   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 1.0e-20
       
   885 } {abc: 5 5 (000001e-20) :xyz}
       
   886 do_test printf-2.2.2.7 {
       
   887   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 1.0e-20
       
   888 } {abc: 5 5 (0.00000) :xyz}
       
   889 do_test printf-2.2.2.8 {
       
   890   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 1.0e-20
       
   891 } {abc: 5 5 (1.00000e-20) :xyz}
       
   892 do_test printf-2.2.2.9 {
       
   893   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 1.0e-20
       
   894 } {abc: 5 5 (1e-20) :xyz}
       
   895 do_test printf-2.2.3.1 {
       
   896   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0
       
   897 } {abc: (1.00000) :xyz}
       
   898 do_test printf-2.2.3.2 {
       
   899   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0
       
   900 } {abc: (1.00000e+00) :xyz}
       
   901 do_test printf-2.2.3.3 {
       
   902   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0
       
   903 } {abc: (    1) :xyz}
       
   904 do_test printf-2.2.3.4 {
       
   905   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 1.0
       
   906 } {abc: 5 5 (1) :xyz}
       
   907 do_test printf-2.2.3.5 {
       
   908   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 1.0
       
   909 } {abc: 5 5 (1.00000) :xyz}
       
   910 do_test printf-2.2.3.6 {
       
   911   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 1.0
       
   912 } {abc: 5 5 (0000000001) :xyz}
       
   913 do_test printf-2.2.3.7 {
       
   914   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 1.0
       
   915 } {abc: 5 5 (1.00000) :xyz}
       
   916 do_test printf-2.2.3.8 {
       
   917   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 1.0
       
   918 } {abc: 5 5 (1.00000e+00) :xyz}
       
   919 do_test printf-2.2.3.9 {
       
   920   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 1.0
       
   921 } {abc: 5 5 (    1) :xyz}
       
   922 do_test printf-2.2.4.1 {
       
   923   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.0
       
   924 } {abc: (0.00000) :xyz}
       
   925 do_test printf-2.2.4.2 {
       
   926   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.0
       
   927 } {abc: (0.00000e+00) :xyz}
       
   928 do_test printf-2.2.4.3 {
       
   929   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.0
       
   930 } {abc: (    0) :xyz}
       
   931 do_test printf-2.2.4.4 {
       
   932   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 0.0
       
   933 } {abc: 5 5 (0) :xyz}
       
   934 do_test printf-2.2.4.5 {
       
   935   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 0.0
       
   936 } {abc: 5 5 (0.00000) :xyz}
       
   937 do_test printf-2.2.4.6 {
       
   938   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 0.0
       
   939 } {abc: 5 5 (0000000000) :xyz}
       
   940 do_test printf-2.2.4.7 {
       
   941   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 0.0
       
   942 } {abc: 5 5 (0.00000) :xyz}
       
   943 do_test printf-2.2.4.8 {
       
   944   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 0.0
       
   945 } {abc: 5 5 (0.00000e+00) :xyz}
       
   946 do_test printf-2.2.4.9 {
       
   947   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 0.0
       
   948 } {abc: 5 5 (    0) :xyz}
       
   949 do_test printf-2.2.5.1 {
       
   950   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 100.0
       
   951 } {abc: (100.00000) :xyz}
       
   952 do_test printf-2.2.5.2 {
       
   953   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 100.0
       
   954 } {abc: (1.00000e+02) :xyz}
       
   955 do_test printf-2.2.5.3 {
       
   956   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 100.0
       
   957 } {abc: (  100) :xyz}
       
   958 do_test printf-2.2.5.4 {
       
   959   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 100.0
       
   960 } {abc: 5 5 (100) :xyz}
       
   961 do_test printf-2.2.5.5 {
       
   962   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 100.0
       
   963 } {abc: 5 5 (100.000) :xyz}
       
   964 do_test printf-2.2.5.6 {
       
   965   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 100.0
       
   966 } {abc: 5 5 (0000000100) :xyz}
       
   967 do_test printf-2.2.5.7 {
       
   968   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 100.0
       
   969 } {abc: 5 5 (100.00000) :xyz}
       
   970 do_test printf-2.2.5.8 {
       
   971   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 100.0
       
   972 } {abc: 5 5 (1.00000e+02) :xyz}
       
   973 do_test printf-2.2.5.9 {
       
   974   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 100.0
       
   975 } {abc: 5 5 (  100) :xyz}
       
   976 do_test printf-2.2.6.1 {
       
   977   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 9.99999
       
   978 } {abc: (9.99999) :xyz}
       
   979 do_test printf-2.2.6.2 {
       
   980   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.99999
       
   981 } {abc: (9.99999e+00) :xyz}
       
   982 do_test printf-2.2.6.3 {
       
   983   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.99999
       
   984 } {abc: (   10) :xyz}
       
   985 do_test printf-2.2.6.4 {
       
   986   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 9.99999
       
   987 } {abc: 5 5 (9.99999) :xyz}
       
   988 do_test printf-2.2.6.5 {
       
   989   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 9.99999
       
   990 } {abc: 5 5 (9.99999) :xyz}
       
   991 do_test printf-2.2.6.6 {
       
   992   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 9.99999
       
   993 } {abc: 5 5 (0009.99999) :xyz}
       
   994 do_test printf-2.2.6.7 {
       
   995   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 9.99999
       
   996 } {abc: 5 5 (9.99999) :xyz}
       
   997 do_test printf-2.2.6.8 {
       
   998   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 9.99999
       
   999 } {abc: 5 5 (9.99999e+00) :xyz}
       
  1000 do_test printf-2.2.6.9 {
       
  1001   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 9.99999
       
  1002 } {abc: 5 5 (   10) :xyz}
       
  1003 do_test printf-2.2.7.1 {
       
  1004   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -0.00543
       
  1005 } {abc: (-0.00543) :xyz}
       
  1006 do_test printf-2.2.7.2 {
       
  1007   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -0.00543
       
  1008 } {abc: (-5.43000e-03) :xyz}
       
  1009 do_test printf-2.2.7.3 {
       
  1010   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -0.00543
       
  1011 } {abc: (-0.00543) :xyz}
       
  1012 do_test printf-2.2.7.4 {
       
  1013   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -0.00543
       
  1014 } {abc: 5 5 (-0.00543) :xyz}
       
  1015 do_test printf-2.2.7.5 {
       
  1016   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -0.00543
       
  1017 } {abc: 5 5 (-0.00543000) :xyz}
       
  1018 do_test printf-2.2.7.6 {
       
  1019   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -0.00543
       
  1020 } {abc: 5 5 (-000.00543) :xyz}
       
  1021 do_test printf-2.2.7.7 {
       
  1022   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -0.00543
       
  1023 } {abc: 5 5 (-0.00543) :xyz}
       
  1024 do_test printf-2.2.7.8 {
       
  1025   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -0.00543
       
  1026 } {abc: 5 5 (-5.43000e-03) :xyz}
       
  1027 do_test printf-2.2.7.9 {
       
  1028   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -0.00543
       
  1029 } {abc: 5 5 (-0.00543) :xyz}
       
  1030 do_test printf-2.2.8.1 {
       
  1031   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -1.0
       
  1032 } {abc: (-1.00000) :xyz}
       
  1033 do_test printf-2.2.8.2 {
       
  1034   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -1.0
       
  1035 } {abc: (-1.00000e+00) :xyz}
       
  1036 do_test printf-2.2.8.3 {
       
  1037   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -1.0
       
  1038 } {abc: (   -1) :xyz}
       
  1039 do_test printf-2.2.8.4 {
       
  1040   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -1.0
       
  1041 } {abc: 5 5 (-1) :xyz}
       
  1042 do_test printf-2.2.8.5 {
       
  1043   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -1.0
       
  1044 } {abc: 5 5 (-1.00000) :xyz}
       
  1045 do_test printf-2.2.8.6 {
       
  1046   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -1.0
       
  1047 } {abc: 5 5 (-000000001) :xyz}
       
  1048 do_test printf-2.2.8.7 {
       
  1049   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -1.0
       
  1050 } {abc: 5 5 (-1.00000) :xyz}
       
  1051 do_test printf-2.2.8.8 {
       
  1052   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -1.0
       
  1053 } {abc: 5 5 (-1.00000e+00) :xyz}
       
  1054 do_test printf-2.2.8.9 {
       
  1055   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -1.0
       
  1056 } {abc: 5 5 (   -1) :xyz}
       
  1057 do_test printf-2.2.9.1 {
       
  1058   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -99.99999
       
  1059 } {abc: (-99.99999) :xyz}
       
  1060 do_test printf-2.2.9.2 {
       
  1061   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -99.99999
       
  1062 } {abc: (-1.00000e+02) :xyz}
       
  1063 do_test printf-2.2.9.3 {
       
  1064   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -99.99999
       
  1065 } {abc: ( -100) :xyz}
       
  1066 do_test printf-2.2.9.4 {
       
  1067   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -99.99999
       
  1068 } {abc: 5 5 (-100) :xyz}
       
  1069 do_test printf-2.2.9.5 {
       
  1070   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -99.99999
       
  1071 } {abc: 5 5 (-100.000) :xyz}
       
  1072 do_test printf-2.2.9.6 {
       
  1073   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -99.99999
       
  1074 } {abc: 5 5 (-000000100) :xyz}
       
  1075 do_test printf-2.2.9.7 {
       
  1076   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -99.99999
       
  1077 } {abc: 5 5 (-99.99999) :xyz}
       
  1078 do_test printf-2.2.9.8 {
       
  1079   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -99.99999
       
  1080 } {abc: 5 5 (-1.00000e+02) :xyz}
       
  1081 do_test printf-2.2.9.9 {
       
  1082   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -99.99999
       
  1083 } {abc: 5 5 ( -100) :xyz}
       
  1084 do_test printf-2.2.10.1 {
       
  1085   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.14e+9
       
  1086 } {abc: (3140000000.00000) :xyz}
       
  1087 do_test printf-2.2.10.2 {
       
  1088   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.14e+9
       
  1089 } {abc: (3.14000e+09) :xyz}
       
  1090 do_test printf-2.2.10.3 {
       
  1091   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.14e+9
       
  1092 } {abc: (3.14e+09) :xyz}
       
  1093 do_test printf-2.2.10.4 {
       
  1094   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 3.14e+9
       
  1095 } {abc: 5 5 (3.14e+09) :xyz}
       
  1096 do_test printf-2.2.10.5 {
       
  1097   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 3.14e+9
       
  1098 } {abc: 5 5 (3.14000e+09) :xyz}
       
  1099 do_test printf-2.2.10.6 {
       
  1100   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 3.14e+9
       
  1101 } {abc: 5 5 (003.14e+09) :xyz}
       
  1102 do_test printf-2.2.10.7 {
       
  1103   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 3.14e+9
       
  1104 } {abc: 5 5 (3140000000.00000) :xyz}
       
  1105 do_test printf-2.2.10.8 {
       
  1106   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 3.14e+9
       
  1107 } {abc: 5 5 (3.14000e+09) :xyz}
       
  1108 do_test printf-2.2.10.9 {
       
  1109   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 3.14e+9
       
  1110 } {abc: 5 5 (3.14e+09) :xyz}
       
  1111 do_test printf-2.2.11.2 {
       
  1112   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -4.72732e+88
       
  1113 } {abc: (-4.72732e+88) :xyz}
       
  1114 do_test printf-2.2.11.3 {
       
  1115   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -4.72732e+88
       
  1116 } {abc: (-4.7273e+88) :xyz}
       
  1117 do_test printf-2.2.11.4 {
       
  1118   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -4.72732e+88
       
  1119 } {abc: 5 5 (-4.72732e+88) :xyz}
       
  1120 do_test printf-2.2.11.5 {
       
  1121   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -4.72732e+88
       
  1122 } {abc: 5 5 (-4.72732e+88) :xyz}
       
  1123 do_test printf-2.2.11.6 {
       
  1124   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -4.72732e+88
       
  1125 } {abc: 5 5 (-4.72732e+88) :xyz}
       
  1126 do_test printf-2.2.11.8 {
       
  1127   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -4.72732e+88
       
  1128 } {abc: 5 5 (-4.72732e+88) :xyz}
       
  1129 do_test printf-2.2.11.9 {
       
  1130   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -4.72732e+88
       
  1131 } {abc: 5 5 (-4.7273e+88) :xyz}
       
  1132 do_test printf-2.2.12.2 {
       
  1133   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.87991e+143
       
  1134 } {abc: (9.87991e+143) :xyz}
       
  1135 do_test printf-2.2.12.3 {
       
  1136   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.87991e+143
       
  1137 } {abc: (9.8799e+143) :xyz}
       
  1138 do_test printf-2.2.12.4 {
       
  1139   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 9.87991e+143
       
  1140 } {abc: 5 5 (9.87991e+143) :xyz}
       
  1141 do_test printf-2.2.12.5 {
       
  1142   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 9.87991e+143
       
  1143 } {abc: 5 5 (9.87991e+143) :xyz}
       
  1144 do_test printf-2.2.12.6 {
       
  1145   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 9.87991e+143
       
  1146 } {abc: 5 5 (9.87991e+143) :xyz}
       
  1147 do_test printf-2.2.12.8 {
       
  1148   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 9.87991e+143
       
  1149 } {abc: 5 5 (9.87991e+143) :xyz}
       
  1150 do_test printf-2.2.12.9 {
       
  1151   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 9.87991e+143
       
  1152 } {abc: 5 5 (9.8799e+143) :xyz}
       
  1153 do_test printf-2.2.13.1 {
       
  1154   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -6.287291e-9
       
  1155 } {abc: (-0.00000) :xyz}
       
  1156 do_test printf-2.2.13.2 {
       
  1157   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -6.287291e-9
       
  1158 } {abc: (-6.28729e-09) :xyz}
       
  1159 do_test printf-2.2.13.3 {
       
  1160   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -6.287291e-9
       
  1161 } {abc: (-6.2873e-09) :xyz}
       
  1162 do_test printf-2.2.13.4 {
       
  1163   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -6.287291e-9
       
  1164 } {abc: 5 5 (-6.28729e-09) :xyz}
       
  1165 do_test printf-2.2.13.5 {
       
  1166   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -6.287291e-9
       
  1167 } {abc: 5 5 (-6.28729e-09) :xyz}
       
  1168 do_test printf-2.2.13.6 {
       
  1169   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -6.287291e-9
       
  1170 } {abc: 5 5 (-6.28729e-09) :xyz}
       
  1171 do_test printf-2.2.13.7 {
       
  1172   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -6.287291e-9
       
  1173 } {abc: 5 5 (-0.00000) :xyz}
       
  1174 do_test printf-2.2.13.8 {
       
  1175   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -6.287291e-9
       
  1176 } {abc: 5 5 (-6.28729e-09) :xyz}
       
  1177 do_test printf-2.2.13.9 {
       
  1178   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -6.287291e-9
       
  1179 } {abc: 5 5 (-6.2873e-09) :xyz}
       
  1180 do_test printf-2.2.14.1 {
       
  1181   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.38826392e-110
       
  1182 } {abc: (0.00000) :xyz}
       
  1183 do_test printf-2.2.14.2 {
       
  1184   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.38826392e-110
       
  1185 } {abc: (3.38826e-110) :xyz}
       
  1186 do_test printf-2.2.14.3 {
       
  1187   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.38826392e-110
       
  1188 } {abc: (3.3883e-110) :xyz}
       
  1189 do_test printf-2.2.14.4 {
       
  1190   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 3.38826392e-110
       
  1191 } {abc: 5 5 (3.38826e-110) :xyz}
       
  1192 do_test printf-2.2.14.5 {
       
  1193   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 3.38826392e-110
       
  1194 } {abc: 5 5 (3.38826e-110) :xyz}
       
  1195 do_test printf-2.2.14.6 {
       
  1196   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 3.38826392e-110
       
  1197 } {abc: 5 5 (3.38826e-110) :xyz}
       
  1198 do_test printf-2.2.14.7 {
       
  1199   sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 3.38826392e-110
       
  1200 } {abc: 5 5 (0.00000) :xyz}
       
  1201 do_test printf-2.2.14.8 {
       
  1202   sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 3.38826392e-110
       
  1203 } {abc: 5 5 (3.38826e-110) :xyz}
       
  1204 do_test printf-2.2.14.9 {
       
  1205   sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 3.38826392e-110
       
  1206 } {abc: 5 5 (3.3883e-110) :xyz}
       
  1207 do_test printf-2.3.1.1 {
       
  1208   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.001
       
  1209 } {abc: (0.0010000000) :xyz}
       
  1210 do_test printf-2.3.1.2 {
       
  1211   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.001
       
  1212 } {abc: (1.0000000000e-03) :xyz}
       
  1213 do_test printf-2.3.1.3 {
       
  1214   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.001
       
  1215 } {abc: (     0.001) :xyz}
       
  1216 do_test printf-2.3.1.4 {
       
  1217   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 0.001
       
  1218 } {abc: 10 10 (0.001) :xyz}
       
  1219 do_test printf-2.3.1.5 {
       
  1220   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 0.001
       
  1221 } {abc: 10 10 (0.00100000) :xyz}
       
  1222 do_test printf-2.3.1.6 {
       
  1223   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 0.001
       
  1224 } {abc: 10 10 (000000.001) :xyz}
       
  1225 do_test printf-2.3.1.7 {
       
  1226   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 0.001
       
  1227 } {abc: 10 10 (0.0010000000) :xyz}
       
  1228 do_test printf-2.3.1.8 {
       
  1229   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 0.001
       
  1230 } {abc: 10 10 (1.0000000000e-03) :xyz}
       
  1231 do_test printf-2.3.1.9 {
       
  1232   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 0.001
       
  1233 } {abc: 10 10 (     0.001) :xyz}
       
  1234 do_test printf-2.3.2.1 {
       
  1235   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0e-20
       
  1236 } {abc: (0.0000000000) :xyz}
       
  1237 do_test printf-2.3.2.2 {
       
  1238   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0e-20
       
  1239 } {abc: (1.0000000000e-20) :xyz}
       
  1240 do_test printf-2.3.2.3 {
       
  1241   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0e-20
       
  1242 } {abc: (     1e-20) :xyz}
       
  1243 do_test printf-2.3.2.4 {
       
  1244   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 1.0e-20
       
  1245 } {abc: 10 10 (1e-20) :xyz}
       
  1246 do_test printf-2.3.2.5 {
       
  1247   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 1.0e-20
       
  1248 } {abc: 10 10 (1.00000e-20) :xyz}
       
  1249 do_test printf-2.3.2.6 {
       
  1250   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 1.0e-20
       
  1251 } {abc: 10 10 (000001e-20) :xyz}
       
  1252 do_test printf-2.3.2.7 {
       
  1253   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 1.0e-20
       
  1254 } {abc: 10 10 (0.0000000000) :xyz}
       
  1255 do_test printf-2.3.2.8 {
       
  1256   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 1.0e-20
       
  1257 } {abc: 10 10 (1.0000000000e-20) :xyz}
       
  1258 do_test printf-2.3.2.9 {
       
  1259   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 1.0e-20
       
  1260 } {abc: 10 10 (     1e-20) :xyz}
       
  1261 do_test printf-2.3.3.1 {
       
  1262   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0
       
  1263 } {abc: (1.0000000000) :xyz}
       
  1264 do_test printf-2.3.3.2 {
       
  1265   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0
       
  1266 } {abc: (1.0000000000e+00) :xyz}
       
  1267 do_test printf-2.3.3.3 {
       
  1268   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0
       
  1269 } {abc: (         1) :xyz}
       
  1270 do_test printf-2.3.3.4 {
       
  1271   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 1.0
       
  1272 } {abc: 10 10 (1) :xyz}
       
  1273 do_test printf-2.3.3.5 {
       
  1274   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 1.0
       
  1275 } {abc: 10 10 (1.00000) :xyz}
       
  1276 do_test printf-2.3.3.6 {
       
  1277   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 1.0
       
  1278 } {abc: 10 10 (0000000001) :xyz}
       
  1279 do_test printf-2.3.3.7 {
       
  1280   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 1.0
       
  1281 } {abc: 10 10 (1.0000000000) :xyz}
       
  1282 do_test printf-2.3.3.8 {
       
  1283   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 1.0
       
  1284 } {abc: 10 10 (1.0000000000e+00) :xyz}
       
  1285 do_test printf-2.3.3.9 {
       
  1286   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 1.0
       
  1287 } {abc: 10 10 (         1) :xyz}
       
  1288 do_test printf-2.3.4.1 {
       
  1289   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.0
       
  1290 } {abc: (0.0000000000) :xyz}
       
  1291 do_test printf-2.3.4.2 {
       
  1292   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.0
       
  1293 } {abc: (0.0000000000e+00) :xyz}
       
  1294 do_test printf-2.3.4.3 {
       
  1295   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.0
       
  1296 } {abc: (         0) :xyz}
       
  1297 do_test printf-2.3.4.4 {
       
  1298   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 0.0
       
  1299 } {abc: 10 10 (0) :xyz}
       
  1300 do_test printf-2.3.4.5 {
       
  1301   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 0.0
       
  1302 } {abc: 10 10 (0.00000) :xyz}
       
  1303 do_test printf-2.3.4.6 {
       
  1304   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 0.0
       
  1305 } {abc: 10 10 (0000000000) :xyz}
       
  1306 do_test printf-2.3.4.7 {
       
  1307   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 0.0
       
  1308 } {abc: 10 10 (0.0000000000) :xyz}
       
  1309 do_test printf-2.3.4.8 {
       
  1310   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 0.0
       
  1311 } {abc: 10 10 (0.0000000000e+00) :xyz}
       
  1312 do_test printf-2.3.4.9 {
       
  1313   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 0.0
       
  1314 } {abc: 10 10 (         0) :xyz}
       
  1315 do_test printf-2.3.5.1 {
       
  1316   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 100.0
       
  1317 } {abc: (100.0000000000) :xyz}
       
  1318 do_test printf-2.3.5.2 {
       
  1319   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 100.0
       
  1320 } {abc: (1.0000000000e+02) :xyz}
       
  1321 do_test printf-2.3.5.3 {
       
  1322   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 100.0
       
  1323 } {abc: (       100) :xyz}
       
  1324 do_test printf-2.3.5.4 {
       
  1325   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 100.0
       
  1326 } {abc: 10 10 (100) :xyz}
       
  1327 do_test printf-2.3.5.5 {
       
  1328   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 100.0
       
  1329 } {abc: 10 10 (100.000) :xyz}
       
  1330 do_test printf-2.3.5.6 {
       
  1331   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 100.0
       
  1332 } {abc: 10 10 (0000000100) :xyz}
       
  1333 do_test printf-2.3.5.7 {
       
  1334   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 100.0
       
  1335 } {abc: 10 10 (100.0000000000) :xyz}
       
  1336 do_test printf-2.3.5.8 {
       
  1337   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 100.0
       
  1338 } {abc: 10 10 (1.0000000000e+02) :xyz}
       
  1339 do_test printf-2.3.5.9 {
       
  1340   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 100.0
       
  1341 } {abc: 10 10 (       100) :xyz}
       
  1342 do_test printf-2.3.6.1 {
       
  1343   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 9.99999
       
  1344 } {abc: (9.9999900000) :xyz}
       
  1345 do_test printf-2.3.6.2 {
       
  1346   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.99999
       
  1347 } {abc: (9.9999900000e+00) :xyz}
       
  1348 do_test printf-2.3.6.3 {
       
  1349   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.99999
       
  1350 } {abc: (   9.99999) :xyz}
       
  1351 do_test printf-2.3.6.4 {
       
  1352   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 9.99999
       
  1353 } {abc: 10 10 (9.99999) :xyz}
       
  1354 do_test printf-2.3.6.5 {
       
  1355   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 9.99999
       
  1356 } {abc: 10 10 (9.99999) :xyz}
       
  1357 do_test printf-2.3.6.6 {
       
  1358   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 9.99999
       
  1359 } {abc: 10 10 (0009.99999) :xyz}
       
  1360 do_test printf-2.3.6.7 {
       
  1361   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 9.99999
       
  1362 } {abc: 10 10 (9.9999900000) :xyz}
       
  1363 do_test printf-2.3.6.8 {
       
  1364   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 9.99999
       
  1365 } {abc: 10 10 (9.9999900000e+00) :xyz}
       
  1366 do_test printf-2.3.6.9 {
       
  1367   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 9.99999
       
  1368 } {abc: 10 10 (   9.99999) :xyz}
       
  1369 do_test printf-2.3.7.1 {
       
  1370   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -0.00543
       
  1371 } {abc: (-0.0054300000) :xyz}
       
  1372 do_test printf-2.3.7.2 {
       
  1373   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -0.00543
       
  1374 } {abc: (-5.4300000000e-03) :xyz}
       
  1375 do_test printf-2.3.7.3 {
       
  1376   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -0.00543
       
  1377 } {abc: (  -0.00543) :xyz}
       
  1378 do_test printf-2.3.7.4 {
       
  1379   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -0.00543
       
  1380 } {abc: 10 10 (-0.00543) :xyz}
       
  1381 do_test printf-2.3.7.5 {
       
  1382   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -0.00543
       
  1383 } {abc: 10 10 (-0.00543000) :xyz}
       
  1384 do_test printf-2.3.7.6 {
       
  1385   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -0.00543
       
  1386 } {abc: 10 10 (-000.00543) :xyz}
       
  1387 do_test printf-2.3.7.7 {
       
  1388   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -0.00543
       
  1389 } {abc: 10 10 (-0.0054300000) :xyz}
       
  1390 do_test printf-2.3.7.8 {
       
  1391   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -0.00543
       
  1392 } {abc: 10 10 (-5.4300000000e-03) :xyz}
       
  1393 do_test printf-2.3.7.9 {
       
  1394   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -0.00543
       
  1395 } {abc: 10 10 (  -0.00543) :xyz}
       
  1396 do_test printf-2.3.8.1 {
       
  1397   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -1.0
       
  1398 } {abc: (-1.0000000000) :xyz}
       
  1399 do_test printf-2.3.8.2 {
       
  1400   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -1.0
       
  1401 } {abc: (-1.0000000000e+00) :xyz}
       
  1402 do_test printf-2.3.8.3 {
       
  1403   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -1.0
       
  1404 } {abc: (        -1) :xyz}
       
  1405 do_test printf-2.3.8.4 {
       
  1406   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -1.0
       
  1407 } {abc: 10 10 (-1) :xyz}
       
  1408 do_test printf-2.3.8.5 {
       
  1409   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -1.0
       
  1410 } {abc: 10 10 (-1.00000) :xyz}
       
  1411 do_test printf-2.3.8.6 {
       
  1412   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -1.0
       
  1413 } {abc: 10 10 (-000000001) :xyz}
       
  1414 do_test printf-2.3.8.7 {
       
  1415   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -1.0
       
  1416 } {abc: 10 10 (-1.0000000000) :xyz}
       
  1417 do_test printf-2.3.8.8 {
       
  1418   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -1.0
       
  1419 } {abc: 10 10 (-1.0000000000e+00) :xyz}
       
  1420 do_test printf-2.3.8.9 {
       
  1421   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -1.0
       
  1422 } {abc: 10 10 (        -1) :xyz}
       
  1423 do_test printf-2.3.9.1 {
       
  1424   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -99.99999
       
  1425 } {abc: (-99.9999900000) :xyz}
       
  1426 do_test printf-2.3.9.2 {
       
  1427   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -99.99999
       
  1428 } {abc: (-9.9999990000e+01) :xyz}
       
  1429 do_test printf-2.3.9.3 {
       
  1430   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -99.99999
       
  1431 } {abc: ( -99.99999) :xyz}
       
  1432 do_test printf-2.3.9.4 {
       
  1433   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -99.99999
       
  1434 } {abc: 10 10 (-100) :xyz}
       
  1435 do_test printf-2.3.9.5 {
       
  1436   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -99.99999
       
  1437 } {abc: 10 10 (-100.000) :xyz}
       
  1438 do_test printf-2.3.9.6 {
       
  1439   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -99.99999
       
  1440 } {abc: 10 10 (-000000100) :xyz}
       
  1441 do_test printf-2.3.9.7 {
       
  1442   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -99.99999
       
  1443 } {abc: 10 10 (-99.9999900000) :xyz}
       
  1444 do_test printf-2.3.9.8 {
       
  1445   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -99.99999
       
  1446 } {abc: 10 10 (-9.9999990000e+01) :xyz}
       
  1447 do_test printf-2.3.9.9 {
       
  1448   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -99.99999
       
  1449 } {abc: 10 10 ( -99.99999) :xyz}
       
  1450 do_test printf-2.3.10.1 {
       
  1451   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.14e+9
       
  1452 } {abc: (3140000000.0000000000) :xyz}
       
  1453 do_test printf-2.3.10.2 {
       
  1454   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.14e+9
       
  1455 } {abc: (3.1400000000e+09) :xyz}
       
  1456 do_test printf-2.3.10.3 {
       
  1457   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.14e+9
       
  1458 } {abc: (3140000000) :xyz}
       
  1459 do_test printf-2.3.10.4 {
       
  1460   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 3.14e+9
       
  1461 } {abc: 10 10 (3.14e+09) :xyz}
       
  1462 do_test printf-2.3.10.5 {
       
  1463   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 3.14e+9
       
  1464 } {abc: 10 10 (3.14000e+09) :xyz}
       
  1465 do_test printf-2.3.10.6 {
       
  1466   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 3.14e+9
       
  1467 } {abc: 10 10 (003.14e+09) :xyz}
       
  1468 do_test printf-2.3.10.7 {
       
  1469   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 3.14e+9
       
  1470 } {abc: 10 10 (3140000000.0000000000) :xyz}
       
  1471 do_test printf-2.3.10.8 {
       
  1472   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 3.14e+9
       
  1473 } {abc: 10 10 (3.1400000000e+09) :xyz}
       
  1474 do_test printf-2.3.10.9 {
       
  1475   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 3.14e+9
       
  1476 } {abc: 10 10 (3140000000) :xyz}
       
  1477 do_test printf-2.3.11.2 {
       
  1478   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -4.72732e+88
       
  1479 } {abc: (-4.7273200000e+88) :xyz}
       
  1480 do_test printf-2.3.11.3 {
       
  1481   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -4.72732e+88
       
  1482 } {abc: (-4.72732e+88) :xyz}
       
  1483 do_test printf-2.3.11.4 {
       
  1484   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -4.72732e+88
       
  1485 } {abc: 10 10 (-4.72732e+88) :xyz}
       
  1486 do_test printf-2.3.11.5 {
       
  1487   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -4.72732e+88
       
  1488 } {abc: 10 10 (-4.72732e+88) :xyz}
       
  1489 do_test printf-2.3.11.6 {
       
  1490   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -4.72732e+88
       
  1491 } {abc: 10 10 (-4.72732e+88) :xyz}
       
  1492 do_test printf-2.3.11.8 {
       
  1493   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -4.72732e+88
       
  1494 } {abc: 10 10 (-4.7273200000e+88) :xyz}
       
  1495 do_test printf-2.3.11.9 {
       
  1496   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -4.72732e+88
       
  1497 } {abc: 10 10 (-4.72732e+88) :xyz}
       
  1498 do_test printf-2.3.12.2 {
       
  1499   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.87991e+143
       
  1500 } {abc: (9.8799100000e+143) :xyz}
       
  1501 do_test printf-2.3.12.3 {
       
  1502   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.87991e+143
       
  1503 } {abc: (9.87991e+143) :xyz}
       
  1504 do_test printf-2.3.12.4 {
       
  1505   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 9.87991e+143
       
  1506 } {abc: 10 10 (9.87991e+143) :xyz}
       
  1507 do_test printf-2.3.12.5 {
       
  1508   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 9.87991e+143
       
  1509 } {abc: 10 10 (9.87991e+143) :xyz}
       
  1510 do_test printf-2.3.12.6 {
       
  1511   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 9.87991e+143
       
  1512 } {abc: 10 10 (9.87991e+143) :xyz}
       
  1513 do_test printf-2.3.12.8 {
       
  1514   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 9.87991e+143
       
  1515 } {abc: 10 10 (9.8799100000e+143) :xyz}
       
  1516 do_test printf-2.3.12.9 {
       
  1517   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 9.87991e+143
       
  1518 } {abc: 10 10 (9.87991e+143) :xyz}
       
  1519 do_test printf-2.3.13.1 {
       
  1520   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -6.287291e-9
       
  1521 } {abc: (-0.0000000063) :xyz}
       
  1522 do_test printf-2.3.13.2 {
       
  1523   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -6.287291e-9
       
  1524 } {abc: (-6.2872910000e-09) :xyz}
       
  1525 do_test printf-2.3.13.3 {
       
  1526   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -6.287291e-9
       
  1527 } {abc: (-6.287291e-09) :xyz}
       
  1528 do_test printf-2.3.13.4 {
       
  1529   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -6.287291e-9
       
  1530 } {abc: 10 10 (-6.28729e-09) :xyz}
       
  1531 do_test printf-2.3.13.5 {
       
  1532   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -6.287291e-9
       
  1533 } {abc: 10 10 (-6.28729e-09) :xyz}
       
  1534 do_test printf-2.3.13.6 {
       
  1535   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -6.287291e-9
       
  1536 } {abc: 10 10 (-6.28729e-09) :xyz}
       
  1537 do_test printf-2.3.13.7 {
       
  1538   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -6.287291e-9
       
  1539 } {abc: 10 10 (-0.0000000063) :xyz}
       
  1540 do_test printf-2.3.13.8 {
       
  1541   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -6.287291e-9
       
  1542 } {abc: 10 10 (-6.2872910000e-09) :xyz}
       
  1543 do_test printf-2.3.13.9 {
       
  1544   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -6.287291e-9
       
  1545 } {abc: 10 10 (-6.287291e-09) :xyz}
       
  1546 do_test printf-2.3.14.1 {
       
  1547   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.38826392e-110
       
  1548 } {abc: (0.0000000000) :xyz}
       
  1549 do_test printf-2.3.14.2 {
       
  1550   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.38826392e-110
       
  1551 } {abc: (3.3882639200e-110) :xyz}
       
  1552 do_test printf-2.3.14.3 {
       
  1553   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.38826392e-110
       
  1554 } {abc: (3.38826392e-110) :xyz}
       
  1555 do_test printf-2.3.14.4 {
       
  1556   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 3.38826392e-110
       
  1557 } {abc: 10 10 (3.38826e-110) :xyz}
       
  1558 do_test printf-2.3.14.5 {
       
  1559   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 3.38826392e-110
       
  1560 } {abc: 10 10 (3.38826e-110) :xyz}
       
  1561 do_test printf-2.3.14.6 {
       
  1562   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 3.38826392e-110
       
  1563 } {abc: 10 10 (3.38826e-110) :xyz}
       
  1564 do_test printf-2.3.14.7 {
       
  1565   sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 3.38826392e-110
       
  1566 } {abc: 10 10 (0.0000000000) :xyz}
       
  1567 do_test printf-2.3.14.8 {
       
  1568   sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 3.38826392e-110
       
  1569 } {abc: 10 10 (3.3882639200e-110) :xyz}
       
  1570 do_test printf-2.3.14.9 {
       
  1571   sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 3.38826392e-110
       
  1572 } {abc: 10 10 (3.38826392e-110) :xyz}
       
  1573 do_test printf-2.4.1.1 {
       
  1574   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.001
       
  1575 } {abc: (   0.00100) :xyz}
       
  1576 do_test printf-2.4.1.2 {
       
  1577   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.001
       
  1578 } {abc: (1.00000e-03) :xyz}
       
  1579 do_test printf-2.4.1.3 {
       
  1580   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.001
       
  1581 } {abc: (     0.001) :xyz}
       
  1582 do_test printf-2.4.1.4 {
       
  1583   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 0.001
       
  1584 } {abc: 10 5 (0.001) :xyz}
       
  1585 do_test printf-2.4.1.5 {
       
  1586   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 0.001
       
  1587 } {abc: 10 5 (0.00100000) :xyz}
       
  1588 do_test printf-2.4.1.6 {
       
  1589   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 0.001
       
  1590 } {abc: 10 5 (000000.001) :xyz}
       
  1591 do_test printf-2.4.1.7 {
       
  1592   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 0.001
       
  1593 } {abc: 10 5 (   0.00100) :xyz}
       
  1594 do_test printf-2.4.1.8 {
       
  1595   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 0.001
       
  1596 } {abc: 10 5 (1.00000e-03) :xyz}
       
  1597 do_test printf-2.4.1.9 {
       
  1598   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 0.001
       
  1599 } {abc: 10 5 (     0.001) :xyz}
       
  1600 do_test printf-2.4.2.1 {
       
  1601   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0e-20
       
  1602 } {abc: (   0.00000) :xyz}
       
  1603 do_test printf-2.4.2.2 {
       
  1604   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0e-20
       
  1605 } {abc: (1.00000e-20) :xyz}
       
  1606 do_test printf-2.4.2.3 {
       
  1607   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0e-20
       
  1608 } {abc: (     1e-20) :xyz}
       
  1609 do_test printf-2.4.2.4 {
       
  1610   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 1.0e-20
       
  1611 } {abc: 10 5 (1e-20) :xyz}
       
  1612 do_test printf-2.4.2.5 {
       
  1613   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 1.0e-20
       
  1614 } {abc: 10 5 (1.00000e-20) :xyz}
       
  1615 do_test printf-2.4.2.6 {
       
  1616   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 1.0e-20
       
  1617 } {abc: 10 5 (000001e-20) :xyz}
       
  1618 do_test printf-2.4.2.7 {
       
  1619   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 1.0e-20
       
  1620 } {abc: 10 5 (   0.00000) :xyz}
       
  1621 do_test printf-2.4.2.8 {
       
  1622   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 1.0e-20
       
  1623 } {abc: 10 5 (1.00000e-20) :xyz}
       
  1624 do_test printf-2.4.2.9 {
       
  1625   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 1.0e-20
       
  1626 } {abc: 10 5 (     1e-20) :xyz}
       
  1627 do_test printf-2.4.3.1 {
       
  1628   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0
       
  1629 } {abc: (   1.00000) :xyz}
       
  1630 do_test printf-2.4.3.2 {
       
  1631   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0
       
  1632 } {abc: (1.00000e+00) :xyz}
       
  1633 do_test printf-2.4.3.3 {
       
  1634   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0
       
  1635 } {abc: (         1) :xyz}
       
  1636 do_test printf-2.4.3.4 {
       
  1637   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 1.0
       
  1638 } {abc: 10 5 (1) :xyz}
       
  1639 do_test printf-2.4.3.5 {
       
  1640   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 1.0
       
  1641 } {abc: 10 5 (1.00000) :xyz}
       
  1642 do_test printf-2.4.3.6 {
       
  1643   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 1.0
       
  1644 } {abc: 10 5 (0000000001) :xyz}
       
  1645 do_test printf-2.4.3.7 {
       
  1646   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 1.0
       
  1647 } {abc: 10 5 (   1.00000) :xyz}
       
  1648 do_test printf-2.4.3.8 {
       
  1649   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 1.0
       
  1650 } {abc: 10 5 (1.00000e+00) :xyz}
       
  1651 do_test printf-2.4.3.9 {
       
  1652   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 1.0
       
  1653 } {abc: 10 5 (         1) :xyz}
       
  1654 do_test printf-2.4.4.1 {
       
  1655   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.0
       
  1656 } {abc: (   0.00000) :xyz}
       
  1657 do_test printf-2.4.4.2 {
       
  1658   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.0
       
  1659 } {abc: (0.00000e+00) :xyz}
       
  1660 do_test printf-2.4.4.3 {
       
  1661   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.0
       
  1662 } {abc: (         0) :xyz}
       
  1663 do_test printf-2.4.4.4 {
       
  1664   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 0.0
       
  1665 } {abc: 10 5 (0) :xyz}
       
  1666 do_test printf-2.4.4.5 {
       
  1667   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 0.0
       
  1668 } {abc: 10 5 (0.00000) :xyz}
       
  1669 do_test printf-2.4.4.6 {
       
  1670   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 0.0
       
  1671 } {abc: 10 5 (0000000000) :xyz}
       
  1672 do_test printf-2.4.4.7 {
       
  1673   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 0.0
       
  1674 } {abc: 10 5 (   0.00000) :xyz}
       
  1675 do_test printf-2.4.4.8 {
       
  1676   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 0.0
       
  1677 } {abc: 10 5 (0.00000e+00) :xyz}
       
  1678 do_test printf-2.4.4.9 {
       
  1679   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 0.0
       
  1680 } {abc: 10 5 (         0) :xyz}
       
  1681 do_test printf-2.4.5.1 {
       
  1682   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 100.0
       
  1683 } {abc: ( 100.00000) :xyz}
       
  1684 do_test printf-2.4.5.2 {
       
  1685   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 100.0
       
  1686 } {abc: (1.00000e+02) :xyz}
       
  1687 do_test printf-2.4.5.3 {
       
  1688   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 100.0
       
  1689 } {abc: (       100) :xyz}
       
  1690 do_test printf-2.4.5.4 {
       
  1691   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 100.0
       
  1692 } {abc: 10 5 (100) :xyz}
       
  1693 do_test printf-2.4.5.5 {
       
  1694   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 100.0
       
  1695 } {abc: 10 5 (100.000) :xyz}
       
  1696 do_test printf-2.4.5.6 {
       
  1697   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 100.0
       
  1698 } {abc: 10 5 (0000000100) :xyz}
       
  1699 do_test printf-2.4.5.7 {
       
  1700   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 100.0
       
  1701 } {abc: 10 5 ( 100.00000) :xyz}
       
  1702 do_test printf-2.4.5.8 {
       
  1703   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 100.0
       
  1704 } {abc: 10 5 (1.00000e+02) :xyz}
       
  1705 do_test printf-2.4.5.9 {
       
  1706   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 100.0
       
  1707 } {abc: 10 5 (       100) :xyz}
       
  1708 do_test printf-2.4.6.1 {
       
  1709   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 9.99999
       
  1710 } {abc: (   9.99999) :xyz}
       
  1711 do_test printf-2.4.6.2 {
       
  1712   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.99999
       
  1713 } {abc: (9.99999e+00) :xyz}
       
  1714 do_test printf-2.4.6.3 {
       
  1715   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.99999
       
  1716 } {abc: (        10) :xyz}
       
  1717 do_test printf-2.4.6.4 {
       
  1718   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 9.99999
       
  1719 } {abc: 10 5 (9.99999) :xyz}
       
  1720 do_test printf-2.4.6.5 {
       
  1721   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 9.99999
       
  1722 } {abc: 10 5 (9.99999) :xyz}
       
  1723 do_test printf-2.4.6.6 {
       
  1724   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 9.99999
       
  1725 } {abc: 10 5 (0009.99999) :xyz}
       
  1726 do_test printf-2.4.6.7 {
       
  1727   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 9.99999
       
  1728 } {abc: 10 5 (   9.99999) :xyz}
       
  1729 do_test printf-2.4.6.8 {
       
  1730   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 9.99999
       
  1731 } {abc: 10 5 (9.99999e+00) :xyz}
       
  1732 do_test printf-2.4.6.9 {
       
  1733   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 9.99999
       
  1734 } {abc: 10 5 (        10) :xyz}
       
  1735 do_test printf-2.4.7.1 {
       
  1736   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -0.00543
       
  1737 } {abc: (  -0.00543) :xyz}
       
  1738 do_test printf-2.4.7.2 {
       
  1739   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -0.00543
       
  1740 } {abc: (-5.43000e-03) :xyz}
       
  1741 do_test printf-2.4.7.3 {
       
  1742   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -0.00543
       
  1743 } {abc: (  -0.00543) :xyz}
       
  1744 do_test printf-2.4.7.4 {
       
  1745   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -0.00543
       
  1746 } {abc: 10 5 (-0.00543) :xyz}
       
  1747 do_test printf-2.4.7.5 {
       
  1748   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -0.00543
       
  1749 } {abc: 10 5 (-0.00543000) :xyz}
       
  1750 do_test printf-2.4.7.6 {
       
  1751   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -0.00543
       
  1752 } {abc: 10 5 (-000.00543) :xyz}
       
  1753 do_test printf-2.4.7.7 {
       
  1754   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -0.00543
       
  1755 } {abc: 10 5 (  -0.00543) :xyz}
       
  1756 do_test printf-2.4.7.8 {
       
  1757   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -0.00543
       
  1758 } {abc: 10 5 (-5.43000e-03) :xyz}
       
  1759 do_test printf-2.4.7.9 {
       
  1760   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -0.00543
       
  1761 } {abc: 10 5 (  -0.00543) :xyz}
       
  1762 do_test printf-2.4.8.1 {
       
  1763   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -1.0
       
  1764 } {abc: (  -1.00000) :xyz}
       
  1765 do_test printf-2.4.8.2 {
       
  1766   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -1.0
       
  1767 } {abc: (-1.00000e+00) :xyz}
       
  1768 do_test printf-2.4.8.3 {
       
  1769   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -1.0
       
  1770 } {abc: (        -1) :xyz}
       
  1771 do_test printf-2.4.8.4 {
       
  1772   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -1.0
       
  1773 } {abc: 10 5 (-1) :xyz}
       
  1774 do_test printf-2.4.8.5 {
       
  1775   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -1.0
       
  1776 } {abc: 10 5 (-1.00000) :xyz}
       
  1777 do_test printf-2.4.8.6 {
       
  1778   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -1.0
       
  1779 } {abc: 10 5 (-000000001) :xyz}
       
  1780 do_test printf-2.4.8.7 {
       
  1781   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -1.0
       
  1782 } {abc: 10 5 (  -1.00000) :xyz}
       
  1783 do_test printf-2.4.8.8 {
       
  1784   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -1.0
       
  1785 } {abc: 10 5 (-1.00000e+00) :xyz}
       
  1786 do_test printf-2.4.8.9 {
       
  1787   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -1.0
       
  1788 } {abc: 10 5 (        -1) :xyz}
       
  1789 do_test printf-2.4.9.1 {
       
  1790   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -99.99999
       
  1791 } {abc: ( -99.99999) :xyz}
       
  1792 do_test printf-2.4.9.2 {
       
  1793   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -99.99999
       
  1794 } {abc: (-1.00000e+02) :xyz}
       
  1795 do_test printf-2.4.9.3 {
       
  1796   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -99.99999
       
  1797 } {abc: (      -100) :xyz}
       
  1798 do_test printf-2.4.9.4 {
       
  1799   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -99.99999
       
  1800 } {abc: 10 5 (-100) :xyz}
       
  1801 do_test printf-2.4.9.5 {
       
  1802   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -99.99999
       
  1803 } {abc: 10 5 (-100.000) :xyz}
       
  1804 do_test printf-2.4.9.6 {
       
  1805   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -99.99999
       
  1806 } {abc: 10 5 (-000000100) :xyz}
       
  1807 do_test printf-2.4.9.7 {
       
  1808   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -99.99999
       
  1809 } {abc: 10 5 ( -99.99999) :xyz}
       
  1810 do_test printf-2.4.9.8 {
       
  1811   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -99.99999
       
  1812 } {abc: 10 5 (-1.00000e+02) :xyz}
       
  1813 do_test printf-2.4.9.9 {
       
  1814   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -99.99999
       
  1815 } {abc: 10 5 (      -100) :xyz}
       
  1816 do_test printf-2.4.10.1 {
       
  1817   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.14e+9
       
  1818 } {abc: (3140000000.00000) :xyz}
       
  1819 do_test printf-2.4.10.2 {
       
  1820   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.14e+9
       
  1821 } {abc: (3.14000e+09) :xyz}
       
  1822 do_test printf-2.4.10.3 {
       
  1823   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.14e+9
       
  1824 } {abc: (  3.14e+09) :xyz}
       
  1825 do_test printf-2.4.10.4 {
       
  1826   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 3.14e+9
       
  1827 } {abc: 10 5 (3.14e+09) :xyz}
       
  1828 do_test printf-2.4.10.5 {
       
  1829   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 3.14e+9
       
  1830 } {abc: 10 5 (3.14000e+09) :xyz}
       
  1831 do_test printf-2.4.10.6 {
       
  1832   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 3.14e+9
       
  1833 } {abc: 10 5 (003.14e+09) :xyz}
       
  1834 do_test printf-2.4.10.7 {
       
  1835   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 3.14e+9
       
  1836 } {abc: 10 5 (3140000000.00000) :xyz}
       
  1837 do_test printf-2.4.10.8 {
       
  1838   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 3.14e+9
       
  1839 } {abc: 10 5 (3.14000e+09) :xyz}
       
  1840 do_test printf-2.4.10.9 {
       
  1841   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 3.14e+9
       
  1842 } {abc: 10 5 (  3.14e+09) :xyz}
       
  1843 do_test printf-2.4.11.2 {
       
  1844   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -4.72732e+88
       
  1845 } {abc: (-4.72732e+88) :xyz}
       
  1846 do_test printf-2.4.11.3 {
       
  1847   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -4.72732e+88
       
  1848 } {abc: (-4.7273e+88) :xyz}
       
  1849 do_test printf-2.4.11.4 {
       
  1850   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -4.72732e+88
       
  1851 } {abc: 10 5 (-4.72732e+88) :xyz}
       
  1852 do_test printf-2.4.11.5 {
       
  1853   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -4.72732e+88
       
  1854 } {abc: 10 5 (-4.72732e+88) :xyz}
       
  1855 do_test printf-2.4.11.6 {
       
  1856   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -4.72732e+88
       
  1857 } {abc: 10 5 (-4.72732e+88) :xyz}
       
  1858 do_test printf-2.4.11.8 {
       
  1859   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -4.72732e+88
       
  1860 } {abc: 10 5 (-4.72732e+88) :xyz}
       
  1861 do_test printf-2.4.11.9 {
       
  1862   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -4.72732e+88
       
  1863 } {abc: 10 5 (-4.7273e+88) :xyz}
       
  1864 do_test printf-2.4.12.2 {
       
  1865   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.87991e+143
       
  1866 } {abc: (9.87991e+143) :xyz}
       
  1867 do_test printf-2.4.12.3 {
       
  1868   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.87991e+143
       
  1869 } {abc: (9.8799e+143) :xyz}
       
  1870 do_test printf-2.4.12.4 {
       
  1871   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 9.87991e+143
       
  1872 } {abc: 10 5 (9.87991e+143) :xyz}
       
  1873 do_test printf-2.4.12.5 {
       
  1874   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 9.87991e+143
       
  1875 } {abc: 10 5 (9.87991e+143) :xyz}
       
  1876 do_test printf-2.4.12.6 {
       
  1877   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 9.87991e+143
       
  1878 } {abc: 10 5 (9.87991e+143) :xyz}
       
  1879 do_test printf-2.4.12.8 {
       
  1880   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 9.87991e+143
       
  1881 } {abc: 10 5 (9.87991e+143) :xyz}
       
  1882 do_test printf-2.4.12.9 {
       
  1883   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 9.87991e+143
       
  1884 } {abc: 10 5 (9.8799e+143) :xyz}
       
  1885 do_test printf-2.4.13.1 {
       
  1886   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -6.287291e-9
       
  1887 } {abc: (  -0.00000) :xyz}
       
  1888 do_test printf-2.4.13.2 {
       
  1889   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -6.287291e-9
       
  1890 } {abc: (-6.28729e-09) :xyz}
       
  1891 do_test printf-2.4.13.3 {
       
  1892   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -6.287291e-9
       
  1893 } {abc: (-6.2873e-09) :xyz}
       
  1894 do_test printf-2.4.13.4 {
       
  1895   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -6.287291e-9
       
  1896 } {abc: 10 5 (-6.28729e-09) :xyz}
       
  1897 do_test printf-2.4.13.5 {
       
  1898   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -6.287291e-9
       
  1899 } {abc: 10 5 (-6.28729e-09) :xyz}
       
  1900 do_test printf-2.4.13.6 {
       
  1901   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -6.287291e-9
       
  1902 } {abc: 10 5 (-6.28729e-09) :xyz}
       
  1903 do_test printf-2.4.13.7 {
       
  1904   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -6.287291e-9
       
  1905 } {abc: 10 5 (  -0.00000) :xyz}
       
  1906 do_test printf-2.4.13.8 {
       
  1907   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -6.287291e-9
       
  1908 } {abc: 10 5 (-6.28729e-09) :xyz}
       
  1909 do_test printf-2.4.13.9 {
       
  1910   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -6.287291e-9
       
  1911 } {abc: 10 5 (-6.2873e-09) :xyz}
       
  1912 do_test printf-2.4.14.1 {
       
  1913   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.38826392e-110
       
  1914 } {abc: (   0.00000) :xyz}
       
  1915 do_test printf-2.4.14.2 {
       
  1916   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.38826392e-110
       
  1917 } {abc: (3.38826e-110) :xyz}
       
  1918 do_test printf-2.4.14.3 {
       
  1919   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.38826392e-110
       
  1920 } {abc: (3.3883e-110) :xyz}
       
  1921 do_test printf-2.4.14.4 {
       
  1922   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 3.38826392e-110
       
  1923 } {abc: 10 5 (3.38826e-110) :xyz}
       
  1924 do_test printf-2.4.14.5 {
       
  1925   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 3.38826392e-110
       
  1926 } {abc: 10 5 (3.38826e-110) :xyz}
       
  1927 do_test printf-2.4.14.6 {
       
  1928   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 3.38826392e-110
       
  1929 } {abc: 10 5 (3.38826e-110) :xyz}
       
  1930 do_test printf-2.4.14.7 {
       
  1931   sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 3.38826392e-110
       
  1932 } {abc: 10 5 (   0.00000) :xyz}
       
  1933 do_test printf-2.4.14.8 {
       
  1934   sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 3.38826392e-110
       
  1935 } {abc: 10 5 (3.38826e-110) :xyz}
       
  1936 do_test printf-2.4.14.9 {
       
  1937   sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 3.38826392e-110
       
  1938 } {abc: 10 5 (3.3883e-110) :xyz}
       
  1939 do_test printf-2.5.1.1 {
       
  1940   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.001
       
  1941 } {abc: (0.00) :xyz}
       
  1942 do_test printf-2.5.1.2 {
       
  1943   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.001
       
  1944 } {abc: (1.00e-03) :xyz}
       
  1945 do_test printf-2.5.1.3 {
       
  1946   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.001
       
  1947 } {abc: (0.001) :xyz}
       
  1948 do_test printf-2.5.1.4 {
       
  1949   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 0.001
       
  1950 } {abc: 2 2 (0.001) :xyz}
       
  1951 do_test printf-2.5.1.5 {
       
  1952   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 0.001
       
  1953 } {abc: 2 2 (0.00100000) :xyz}
       
  1954 do_test printf-2.5.1.6 {
       
  1955   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 0.001
       
  1956 } {abc: 2 2 (000000.001) :xyz}
       
  1957 do_test printf-2.5.1.7 {
       
  1958   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 0.001
       
  1959 } {abc: 2 2 (0.00) :xyz}
       
  1960 do_test printf-2.5.1.8 {
       
  1961   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 0.001
       
  1962 } {abc: 2 2 (1.00e-03) :xyz}
       
  1963 do_test printf-2.5.1.9 {
       
  1964   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 0.001
       
  1965 } {abc: 2 2 (0.001) :xyz}
       
  1966 do_test printf-2.5.2.1 {
       
  1967   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0e-20
       
  1968 } {abc: (0.00) :xyz}
       
  1969 do_test printf-2.5.2.2 {
       
  1970   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0e-20
       
  1971 } {abc: (1.00e-20) :xyz}
       
  1972 do_test printf-2.5.2.3 {
       
  1973   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0e-20
       
  1974 } {abc: (1e-20) :xyz}
       
  1975 do_test printf-2.5.2.4 {
       
  1976   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 1.0e-20
       
  1977 } {abc: 2 2 (1e-20) :xyz}
       
  1978 do_test printf-2.5.2.5 {
       
  1979   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 1.0e-20
       
  1980 } {abc: 2 2 (1.00000e-20) :xyz}
       
  1981 do_test printf-2.5.2.6 {
       
  1982   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 1.0e-20
       
  1983 } {abc: 2 2 (000001e-20) :xyz}
       
  1984 do_test printf-2.5.2.7 {
       
  1985   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 1.0e-20
       
  1986 } {abc: 2 2 (0.00) :xyz}
       
  1987 do_test printf-2.5.2.8 {
       
  1988   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 1.0e-20
       
  1989 } {abc: 2 2 (1.00e-20) :xyz}
       
  1990 do_test printf-2.5.2.9 {
       
  1991   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 1.0e-20
       
  1992 } {abc: 2 2 (1e-20) :xyz}
       
  1993 do_test printf-2.5.3.1 {
       
  1994   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0
       
  1995 } {abc: (1.00) :xyz}
       
  1996 do_test printf-2.5.3.2 {
       
  1997   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0
       
  1998 } {abc: (1.00e+00) :xyz}
       
  1999 do_test printf-2.5.3.3 {
       
  2000   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0
       
  2001 } {abc: ( 1) :xyz}
       
  2002 do_test printf-2.5.3.4 {
       
  2003   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 1.0
       
  2004 } {abc: 2 2 (1) :xyz}
       
  2005 do_test printf-2.5.3.5 {
       
  2006   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 1.0
       
  2007 } {abc: 2 2 (1.00000) :xyz}
       
  2008 do_test printf-2.5.3.6 {
       
  2009   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 1.0
       
  2010 } {abc: 2 2 (0000000001) :xyz}
       
  2011 do_test printf-2.5.3.7 {
       
  2012   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 1.0
       
  2013 } {abc: 2 2 (1.00) :xyz}
       
  2014 do_test printf-2.5.3.8 {
       
  2015   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 1.0
       
  2016 } {abc: 2 2 (1.00e+00) :xyz}
       
  2017 do_test printf-2.5.3.9 {
       
  2018   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 1.0
       
  2019 } {abc: 2 2 ( 1) :xyz}
       
  2020 do_test printf-2.5.4.1 {
       
  2021   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.0
       
  2022 } {abc: (0.00) :xyz}
       
  2023 do_test printf-2.5.4.2 {
       
  2024   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.0
       
  2025 } {abc: (0.00e+00) :xyz}
       
  2026 do_test printf-2.5.4.3 {
       
  2027   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.0
       
  2028 } {abc: ( 0) :xyz}
       
  2029 do_test printf-2.5.4.4 {
       
  2030   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 0.0
       
  2031 } {abc: 2 2 (0) :xyz}
       
  2032 do_test printf-2.5.4.5 {
       
  2033   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 0.0
       
  2034 } {abc: 2 2 (0.00000) :xyz}
       
  2035 do_test printf-2.5.4.6 {
       
  2036   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 0.0
       
  2037 } {abc: 2 2 (0000000000) :xyz}
       
  2038 do_test printf-2.5.4.7 {
       
  2039   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 0.0
       
  2040 } {abc: 2 2 (0.00) :xyz}
       
  2041 do_test printf-2.5.4.8 {
       
  2042   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 0.0
       
  2043 } {abc: 2 2 (0.00e+00) :xyz}
       
  2044 do_test printf-2.5.4.9 {
       
  2045   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 0.0
       
  2046 } {abc: 2 2 ( 0) :xyz}
       
  2047 do_test printf-2.5.5.1 {
       
  2048   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 100.0
       
  2049 } {abc: (100.00) :xyz}
       
  2050 do_test printf-2.5.5.2 {
       
  2051   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 100.0
       
  2052 } {abc: (1.00e+02) :xyz}
       
  2053 do_test printf-2.5.5.3 {
       
  2054   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 100.0
       
  2055 } {abc: (1e+02) :xyz}
       
  2056 do_test printf-2.5.5.4 {
       
  2057   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 100.0
       
  2058 } {abc: 2 2 (100) :xyz}
       
  2059 do_test printf-2.5.5.5 {
       
  2060   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 100.0
       
  2061 } {abc: 2 2 (100.000) :xyz}
       
  2062 do_test printf-2.5.5.6 {
       
  2063   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 100.0
       
  2064 } {abc: 2 2 (0000000100) :xyz}
       
  2065 do_test printf-2.5.5.7 {
       
  2066   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 100.0
       
  2067 } {abc: 2 2 (100.00) :xyz}
       
  2068 do_test printf-2.5.5.8 {
       
  2069   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 100.0
       
  2070 } {abc: 2 2 (1.00e+02) :xyz}
       
  2071 do_test printf-2.5.5.9 {
       
  2072   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 100.0
       
  2073 } {abc: 2 2 (1e+02) :xyz}
       
  2074 do_test printf-2.5.6.1 {
       
  2075   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 9.99999
       
  2076 } {abc: (10.00) :xyz}
       
  2077 do_test printf-2.5.6.2 {
       
  2078   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.99999
       
  2079 } {abc: (1.00e+01) :xyz}
       
  2080 do_test printf-2.5.6.3 {
       
  2081   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.99999
       
  2082 } {abc: (10) :xyz}
       
  2083 do_test printf-2.5.6.4 {
       
  2084   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 9.99999
       
  2085 } {abc: 2 2 (9.99999) :xyz}
       
  2086 do_test printf-2.5.6.5 {
       
  2087   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 9.99999
       
  2088 } {abc: 2 2 (9.99999) :xyz}
       
  2089 do_test printf-2.5.6.6 {
       
  2090   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 9.99999
       
  2091 } {abc: 2 2 (0009.99999) :xyz}
       
  2092 do_test printf-2.5.6.7 {
       
  2093   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 9.99999
       
  2094 } {abc: 2 2 (10.00) :xyz}
       
  2095 do_test printf-2.5.6.8 {
       
  2096   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 9.99999
       
  2097 } {abc: 2 2 (1.00e+01) :xyz}
       
  2098 do_test printf-2.5.6.9 {
       
  2099   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 9.99999
       
  2100 } {abc: 2 2 (10) :xyz}
       
  2101 do_test printf-2.5.7.1 {
       
  2102   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -0.00543
       
  2103 } {abc: (-0.01) :xyz}
       
  2104 do_test printf-2.5.7.2 {
       
  2105   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -0.00543
       
  2106 } {abc: (-5.43e-03) :xyz}
       
  2107 do_test printf-2.5.7.3 {
       
  2108   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -0.00543
       
  2109 } {abc: (-0.0054) :xyz}
       
  2110 do_test printf-2.5.7.4 {
       
  2111   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -0.00543
       
  2112 } {abc: 2 2 (-0.00543) :xyz}
       
  2113 do_test printf-2.5.7.5 {
       
  2114   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -0.00543
       
  2115 } {abc: 2 2 (-0.00543000) :xyz}
       
  2116 do_test printf-2.5.7.6 {
       
  2117   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -0.00543
       
  2118 } {abc: 2 2 (-000.00543) :xyz}
       
  2119 do_test printf-2.5.7.7 {
       
  2120   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -0.00543
       
  2121 } {abc: 2 2 (-0.01) :xyz}
       
  2122 do_test printf-2.5.7.8 {
       
  2123   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -0.00543
       
  2124 } {abc: 2 2 (-5.43e-03) :xyz}
       
  2125 do_test printf-2.5.7.9 {
       
  2126   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -0.00543
       
  2127 } {abc: 2 2 (-0.0054) :xyz}
       
  2128 do_test printf-2.5.8.1 {
       
  2129   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -1.0
       
  2130 } {abc: (-1.00) :xyz}
       
  2131 do_test printf-2.5.8.2 {
       
  2132   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -1.0
       
  2133 } {abc: (-1.00e+00) :xyz}
       
  2134 do_test printf-2.5.8.3 {
       
  2135   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -1.0
       
  2136 } {abc: (-1) :xyz}
       
  2137 do_test printf-2.5.8.4 {
       
  2138   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -1.0
       
  2139 } {abc: 2 2 (-1) :xyz}
       
  2140 do_test printf-2.5.8.5 {
       
  2141   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -1.0
       
  2142 } {abc: 2 2 (-1.00000) :xyz}
       
  2143 do_test printf-2.5.8.6 {
       
  2144   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -1.0
       
  2145 } {abc: 2 2 (-000000001) :xyz}
       
  2146 do_test printf-2.5.8.7 {
       
  2147   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -1.0
       
  2148 } {abc: 2 2 (-1.00) :xyz}
       
  2149 do_test printf-2.5.8.8 {
       
  2150   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -1.0
       
  2151 } {abc: 2 2 (-1.00e+00) :xyz}
       
  2152 do_test printf-2.5.8.9 {
       
  2153   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -1.0
       
  2154 } {abc: 2 2 (-1) :xyz}
       
  2155 do_test printf-2.5.9.1 {
       
  2156   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -99.99999
       
  2157 } {abc: (-100.00) :xyz}
       
  2158 do_test printf-2.5.9.2 {
       
  2159   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -99.99999
       
  2160 } {abc: (-1.00e+02) :xyz}
       
  2161 do_test printf-2.5.9.3 {
       
  2162   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -99.99999
       
  2163 } {abc: (-1e+02) :xyz}
       
  2164 do_test printf-2.5.9.4 {
       
  2165   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -99.99999
       
  2166 } {abc: 2 2 (-100) :xyz}
       
  2167 do_test printf-2.5.9.5 {
       
  2168   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -99.99999
       
  2169 } {abc: 2 2 (-100.000) :xyz}
       
  2170 do_test printf-2.5.9.6 {
       
  2171   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -99.99999
       
  2172 } {abc: 2 2 (-000000100) :xyz}
       
  2173 do_test printf-2.5.9.7 {
       
  2174   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -99.99999
       
  2175 } {abc: 2 2 (-100.00) :xyz}
       
  2176 do_test printf-2.5.9.8 {
       
  2177   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -99.99999
       
  2178 } {abc: 2 2 (-1.00e+02) :xyz}
       
  2179 do_test printf-2.5.9.9 {
       
  2180   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -99.99999
       
  2181 } {abc: 2 2 (-1e+02) :xyz}
       
  2182 do_test printf-2.5.10.1 {
       
  2183   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.14e+9
       
  2184 } {abc: (3140000000.00) :xyz}
       
  2185 do_test printf-2.5.10.2 {
       
  2186   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.14e+9
       
  2187 } {abc: (3.14e+09) :xyz}
       
  2188 do_test printf-2.5.10.3 {
       
  2189   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.14e+9
       
  2190 } {abc: (3.1e+09) :xyz}
       
  2191 do_test printf-2.5.10.4 {
       
  2192   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 3.14e+9
       
  2193 } {abc: 2 2 (3.14e+09) :xyz}
       
  2194 do_test printf-2.5.10.5 {
       
  2195   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 3.14e+9
       
  2196 } {abc: 2 2 (3.14000e+09) :xyz}
       
  2197 do_test printf-2.5.10.6 {
       
  2198   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 3.14e+9
       
  2199 } {abc: 2 2 (003.14e+09) :xyz}
       
  2200 do_test printf-2.5.10.7 {
       
  2201   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 3.14e+9
       
  2202 } {abc: 2 2 (3140000000.00) :xyz}
       
  2203 do_test printf-2.5.10.8 {
       
  2204   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 3.14e+9
       
  2205 } {abc: 2 2 (3.14e+09) :xyz}
       
  2206 do_test printf-2.5.10.9 {
       
  2207   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 3.14e+9
       
  2208 } {abc: 2 2 (3.1e+09) :xyz}
       
  2209 do_test printf-2.5.11.2 {
       
  2210   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -4.72732e+88
       
  2211 } {abc: (-4.73e+88) :xyz}
       
  2212 do_test printf-2.5.11.3 {
       
  2213   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -4.72732e+88
       
  2214 } {abc: (-4.7e+88) :xyz}
       
  2215 do_test printf-2.5.11.4 {
       
  2216   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -4.72732e+88
       
  2217 } {abc: 2 2 (-4.72732e+88) :xyz}
       
  2218 do_test printf-2.5.11.5 {
       
  2219   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -4.72732e+88
       
  2220 } {abc: 2 2 (-4.72732e+88) :xyz}
       
  2221 do_test printf-2.5.11.6 {
       
  2222   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -4.72732e+88
       
  2223 } {abc: 2 2 (-4.72732e+88) :xyz}
       
  2224 do_test printf-2.5.11.8 {
       
  2225   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -4.72732e+88
       
  2226 } {abc: 2 2 (-4.73e+88) :xyz}
       
  2227 do_test printf-2.5.11.9 {
       
  2228   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -4.72732e+88
       
  2229 } {abc: 2 2 (-4.7e+88) :xyz}
       
  2230 do_test printf-2.5.12.2 {
       
  2231   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.87991e+143
       
  2232 } {abc: (9.88e+143) :xyz}
       
  2233 do_test printf-2.5.12.3 {
       
  2234   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.87991e+143
       
  2235 } {abc: (9.9e+143) :xyz}
       
  2236 do_test printf-2.5.12.4 {
       
  2237   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 9.87991e+143
       
  2238 } {abc: 2 2 (9.87991e+143) :xyz}
       
  2239 do_test printf-2.5.12.5 {
       
  2240   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 9.87991e+143
       
  2241 } {abc: 2 2 (9.87991e+143) :xyz}
       
  2242 do_test printf-2.5.12.6 {
       
  2243   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 9.87991e+143
       
  2244 } {abc: 2 2 (9.87991e+143) :xyz}
       
  2245 do_test printf-2.5.12.8 {
       
  2246   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 9.87991e+143
       
  2247 } {abc: 2 2 (9.88e+143) :xyz}
       
  2248 do_test printf-2.5.12.9 {
       
  2249   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 9.87991e+143
       
  2250 } {abc: 2 2 (9.9e+143) :xyz}
       
  2251 do_test printf-2.5.13.1 {
       
  2252   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -6.287291e-9
       
  2253 } {abc: (-0.00) :xyz}
       
  2254 do_test printf-2.5.13.2 {
       
  2255   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -6.287291e-9
       
  2256 } {abc: (-6.29e-09) :xyz}
       
  2257 do_test printf-2.5.13.3 {
       
  2258   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -6.287291e-9
       
  2259 } {abc: (-6.3e-09) :xyz}
       
  2260 do_test printf-2.5.13.4 {
       
  2261   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -6.287291e-9
       
  2262 } {abc: 2 2 (-6.28729e-09) :xyz}
       
  2263 do_test printf-2.5.13.5 {
       
  2264   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -6.287291e-9
       
  2265 } {abc: 2 2 (-6.28729e-09) :xyz}
       
  2266 do_test printf-2.5.13.6 {
       
  2267   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -6.287291e-9
       
  2268 } {abc: 2 2 (-6.28729e-09) :xyz}
       
  2269 do_test printf-2.5.13.7 {
       
  2270   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -6.287291e-9
       
  2271 } {abc: 2 2 (-0.00) :xyz}
       
  2272 do_test printf-2.5.13.8 {
       
  2273   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -6.287291e-9
       
  2274 } {abc: 2 2 (-6.29e-09) :xyz}
       
  2275 do_test printf-2.5.13.9 {
       
  2276   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -6.287291e-9
       
  2277 } {abc: 2 2 (-6.3e-09) :xyz}
       
  2278 do_test printf-2.5.14.1 {
       
  2279   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.38826392e-110
       
  2280 } {abc: (0.00) :xyz}
       
  2281 do_test printf-2.5.14.2 {
       
  2282   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.38826392e-110
       
  2283 } {abc: (3.39e-110) :xyz}
       
  2284 do_test printf-2.5.14.3 {
       
  2285   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.38826392e-110
       
  2286 } {abc: (3.4e-110) :xyz}
       
  2287 do_test printf-2.5.14.4 {
       
  2288   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 3.38826392e-110
       
  2289 } {abc: 2 2 (3.38826e-110) :xyz}
       
  2290 do_test printf-2.5.14.5 {
       
  2291   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 3.38826392e-110
       
  2292 } {abc: 2 2 (3.38826e-110) :xyz}
       
  2293 do_test printf-2.5.14.6 {
       
  2294   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 3.38826392e-110
       
  2295 } {abc: 2 2 (3.38826e-110) :xyz}
       
  2296 do_test printf-2.5.14.7 {
       
  2297   sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 3.38826392e-110
       
  2298 } {abc: 2 2 (0.00) :xyz}
       
  2299 do_test printf-2.5.14.8 {
       
  2300   sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 3.38826392e-110
       
  2301 } {abc: 2 2 (3.39e-110) :xyz}
       
  2302 do_test printf-2.5.14.9 {
       
  2303   sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 3.38826392e-110
       
  2304 } {abc: 2 2 (3.4e-110) :xyz}
       
  2305 do_test printf-2.6.1.1 {
       
  2306   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.001
       
  2307 } {abc: (0.001) :xyz}
       
  2308 do_test printf-2.6.1.2 {
       
  2309   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.001
       
  2310 } {abc: (1.000e-03) :xyz}
       
  2311 do_test printf-2.6.1.3 {
       
  2312   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.001
       
  2313 } {abc: (0.001) :xyz}
       
  2314 do_test printf-2.6.1.4 {
       
  2315   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 0.001
       
  2316 } {abc: 2 3 (0.001) :xyz}
       
  2317 do_test printf-2.6.1.5 {
       
  2318   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 0.001
       
  2319 } {abc: 2 3 (0.00100000) :xyz}
       
  2320 do_test printf-2.6.1.6 {
       
  2321   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 0.001
       
  2322 } {abc: 2 3 (000000.001) :xyz}
       
  2323 do_test printf-2.6.1.7 {
       
  2324   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 0.001
       
  2325 } {abc: 2 3 (0.001) :xyz}
       
  2326 do_test printf-2.6.1.8 {
       
  2327   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 0.001
       
  2328 } {abc: 2 3 (1.000e-03) :xyz}
       
  2329 do_test printf-2.6.1.9 {
       
  2330   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 0.001
       
  2331 } {abc: 2 3 (0.001) :xyz}
       
  2332 do_test printf-2.6.2.1 {
       
  2333   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0e-20
       
  2334 } {abc: (0.000) :xyz}
       
  2335 do_test printf-2.6.2.2 {
       
  2336   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0e-20
       
  2337 } {abc: (1.000e-20) :xyz}
       
  2338 do_test printf-2.6.2.3 {
       
  2339   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0e-20
       
  2340 } {abc: (1e-20) :xyz}
       
  2341 do_test printf-2.6.2.4 {
       
  2342   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 1.0e-20
       
  2343 } {abc: 2 3 (1e-20) :xyz}
       
  2344 do_test printf-2.6.2.5 {
       
  2345   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 1.0e-20
       
  2346 } {abc: 2 3 (1.00000e-20) :xyz}
       
  2347 do_test printf-2.6.2.6 {
       
  2348   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 1.0e-20
       
  2349 } {abc: 2 3 (000001e-20) :xyz}
       
  2350 do_test printf-2.6.2.7 {
       
  2351   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 1.0e-20
       
  2352 } {abc: 2 3 (0.000) :xyz}
       
  2353 do_test printf-2.6.2.8 {
       
  2354   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 1.0e-20
       
  2355 } {abc: 2 3 (1.000e-20) :xyz}
       
  2356 do_test printf-2.6.2.9 {
       
  2357   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 1.0e-20
       
  2358 } {abc: 2 3 (1e-20) :xyz}
       
  2359 do_test printf-2.6.3.1 {
       
  2360   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0
       
  2361 } {abc: (1.000) :xyz}
       
  2362 do_test printf-2.6.3.2 {
       
  2363   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0
       
  2364 } {abc: (1.000e+00) :xyz}
       
  2365 do_test printf-2.6.3.3 {
       
  2366   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0
       
  2367 } {abc: ( 1) :xyz}
       
  2368 do_test printf-2.6.3.4 {
       
  2369   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 1.0
       
  2370 } {abc: 2 3 (1) :xyz}
       
  2371 do_test printf-2.6.3.5 {
       
  2372   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 1.0
       
  2373 } {abc: 2 3 (1.00000) :xyz}
       
  2374 do_test printf-2.6.3.6 {
       
  2375   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 1.0
       
  2376 } {abc: 2 3 (0000000001) :xyz}
       
  2377 do_test printf-2.6.3.7 {
       
  2378   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 1.0
       
  2379 } {abc: 2 3 (1.000) :xyz}
       
  2380 do_test printf-2.6.3.8 {
       
  2381   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 1.0
       
  2382 } {abc: 2 3 (1.000e+00) :xyz}
       
  2383 do_test printf-2.6.3.9 {
       
  2384   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 1.0
       
  2385 } {abc: 2 3 ( 1) :xyz}
       
  2386 do_test printf-2.6.4.1 {
       
  2387   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.0
       
  2388 } {abc: (0.000) :xyz}
       
  2389 do_test printf-2.6.4.2 {
       
  2390   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.0
       
  2391 } {abc: (0.000e+00) :xyz}
       
  2392 do_test printf-2.6.4.3 {
       
  2393   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.0
       
  2394 } {abc: ( 0) :xyz}
       
  2395 do_test printf-2.6.4.4 {
       
  2396   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 0.0
       
  2397 } {abc: 2 3 (0) :xyz}
       
  2398 do_test printf-2.6.4.5 {
       
  2399   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 0.0
       
  2400 } {abc: 2 3 (0.00000) :xyz}
       
  2401 do_test printf-2.6.4.6 {
       
  2402   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 0.0
       
  2403 } {abc: 2 3 (0000000000) :xyz}
       
  2404 do_test printf-2.6.4.7 {
       
  2405   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 0.0
       
  2406 } {abc: 2 3 (0.000) :xyz}
       
  2407 do_test printf-2.6.4.8 {
       
  2408   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 0.0
       
  2409 } {abc: 2 3 (0.000e+00) :xyz}
       
  2410 do_test printf-2.6.4.9 {
       
  2411   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 0.0
       
  2412 } {abc: 2 3 ( 0) :xyz}
       
  2413 do_test printf-2.6.5.1 {
       
  2414   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 100.0
       
  2415 } {abc: (100.000) :xyz}
       
  2416 do_test printf-2.6.5.2 {
       
  2417   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 100.0
       
  2418 } {abc: (1.000e+02) :xyz}
       
  2419 do_test printf-2.6.5.3 {
       
  2420   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 100.0
       
  2421 } {abc: (100) :xyz}
       
  2422 do_test printf-2.6.5.4 {
       
  2423   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 100.0
       
  2424 } {abc: 2 3 (100) :xyz}
       
  2425 do_test printf-2.6.5.5 {
       
  2426   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 100.0
       
  2427 } {abc: 2 3 (100.000) :xyz}
       
  2428 do_test printf-2.6.5.6 {
       
  2429   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 100.0
       
  2430 } {abc: 2 3 (0000000100) :xyz}
       
  2431 do_test printf-2.6.5.7 {
       
  2432   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 100.0
       
  2433 } {abc: 2 3 (100.000) :xyz}
       
  2434 do_test printf-2.6.5.8 {
       
  2435   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 100.0
       
  2436 } {abc: 2 3 (1.000e+02) :xyz}
       
  2437 do_test printf-2.6.5.9 {
       
  2438   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 100.0
       
  2439 } {abc: 2 3 (100) :xyz}
       
  2440 do_test printf-2.6.6.1 {
       
  2441   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 9.99999
       
  2442 } {abc: (10.000) :xyz}
       
  2443 do_test printf-2.6.6.2 {
       
  2444   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.99999
       
  2445 } {abc: (1.000e+01) :xyz}
       
  2446 do_test printf-2.6.6.3 {
       
  2447   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.99999
       
  2448 } {abc: (10) :xyz}
       
  2449 do_test printf-2.6.6.4 {
       
  2450   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 9.99999
       
  2451 } {abc: 2 3 (9.99999) :xyz}
       
  2452 do_test printf-2.6.6.5 {
       
  2453   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 9.99999
       
  2454 } {abc: 2 3 (9.99999) :xyz}
       
  2455 do_test printf-2.6.6.6 {
       
  2456   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 9.99999
       
  2457 } {abc: 2 3 (0009.99999) :xyz}
       
  2458 do_test printf-2.6.6.7 {
       
  2459   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 9.99999
       
  2460 } {abc: 2 3 (10.000) :xyz}
       
  2461 do_test printf-2.6.6.8 {
       
  2462   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 9.99999
       
  2463 } {abc: 2 3 (1.000e+01) :xyz}
       
  2464 do_test printf-2.6.6.9 {
       
  2465   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 9.99999
       
  2466 } {abc: 2 3 (10) :xyz}
       
  2467 do_test printf-2.6.7.1 {
       
  2468   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -0.00543
       
  2469 } {abc: (-0.005) :xyz}
       
  2470 do_test printf-2.6.7.2 {
       
  2471   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -0.00543
       
  2472 } {abc: (-5.430e-03) :xyz}
       
  2473 do_test printf-2.6.7.3 {
       
  2474   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -0.00543
       
  2475 } {abc: (-0.00543) :xyz}
       
  2476 do_test printf-2.6.7.4 {
       
  2477   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -0.00543
       
  2478 } {abc: 2 3 (-0.00543) :xyz}
       
  2479 do_test printf-2.6.7.5 {
       
  2480   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -0.00543
       
  2481 } {abc: 2 3 (-0.00543000) :xyz}
       
  2482 do_test printf-2.6.7.6 {
       
  2483   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -0.00543
       
  2484 } {abc: 2 3 (-000.00543) :xyz}
       
  2485 do_test printf-2.6.7.7 {
       
  2486   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -0.00543
       
  2487 } {abc: 2 3 (-0.005) :xyz}
       
  2488 do_test printf-2.6.7.8 {
       
  2489   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -0.00543
       
  2490 } {abc: 2 3 (-5.430e-03) :xyz}
       
  2491 do_test printf-2.6.7.9 {
       
  2492   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -0.00543
       
  2493 } {abc: 2 3 (-0.00543) :xyz}
       
  2494 do_test printf-2.6.8.1 {
       
  2495   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -1.0
       
  2496 } {abc: (-1.000) :xyz}
       
  2497 do_test printf-2.6.8.2 {
       
  2498   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -1.0
       
  2499 } {abc: (-1.000e+00) :xyz}
       
  2500 do_test printf-2.6.8.3 {
       
  2501   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -1.0
       
  2502 } {abc: (-1) :xyz}
       
  2503 do_test printf-2.6.8.4 {
       
  2504   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -1.0
       
  2505 } {abc: 2 3 (-1) :xyz}
       
  2506 do_test printf-2.6.8.5 {
       
  2507   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -1.0
       
  2508 } {abc: 2 3 (-1.00000) :xyz}
       
  2509 do_test printf-2.6.8.6 {
       
  2510   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -1.0
       
  2511 } {abc: 2 3 (-000000001) :xyz}
       
  2512 do_test printf-2.6.8.7 {
       
  2513   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -1.0
       
  2514 } {abc: 2 3 (-1.000) :xyz}
       
  2515 do_test printf-2.6.8.8 {
       
  2516   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -1.0
       
  2517 } {abc: 2 3 (-1.000e+00) :xyz}
       
  2518 do_test printf-2.6.8.9 {
       
  2519   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -1.0
       
  2520 } {abc: 2 3 (-1) :xyz}
       
  2521 do_test printf-2.6.9.1 {
       
  2522   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -99.99999
       
  2523 } {abc: (-100.000) :xyz}
       
  2524 do_test printf-2.6.9.2 {
       
  2525   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -99.99999
       
  2526 } {abc: (-1.000e+02) :xyz}
       
  2527 do_test printf-2.6.9.3 {
       
  2528   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -99.99999
       
  2529 } {abc: (-100) :xyz}
       
  2530 do_test printf-2.6.9.4 {
       
  2531   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -99.99999
       
  2532 } {abc: 2 3 (-100) :xyz}
       
  2533 do_test printf-2.6.9.5 {
       
  2534   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -99.99999
       
  2535 } {abc: 2 3 (-100.000) :xyz}
       
  2536 do_test printf-2.6.9.6 {
       
  2537   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -99.99999
       
  2538 } {abc: 2 3 (-000000100) :xyz}
       
  2539 do_test printf-2.6.9.7 {
       
  2540   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -99.99999
       
  2541 } {abc: 2 3 (-100.000) :xyz}
       
  2542 do_test printf-2.6.9.8 {
       
  2543   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -99.99999
       
  2544 } {abc: 2 3 (-1.000e+02) :xyz}
       
  2545 do_test printf-2.6.9.9 {
       
  2546   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -99.99999
       
  2547 } {abc: 2 3 (-100) :xyz}
       
  2548 do_test printf-2.6.10.1 {
       
  2549   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.14e+9
       
  2550 } {abc: (3140000000.000) :xyz}
       
  2551 do_test printf-2.6.10.2 {
       
  2552   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.14e+9
       
  2553 } {abc: (3.140e+09) :xyz}
       
  2554 do_test printf-2.6.10.3 {
       
  2555   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.14e+9
       
  2556 } {abc: (3.14e+09) :xyz}
       
  2557 do_test printf-2.6.10.4 {
       
  2558   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 3.14e+9
       
  2559 } {abc: 2 3 (3.14e+09) :xyz}
       
  2560 do_test printf-2.6.10.5 {
       
  2561   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 3.14e+9
       
  2562 } {abc: 2 3 (3.14000e+09) :xyz}
       
  2563 do_test printf-2.6.10.6 {
       
  2564   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 3.14e+9
       
  2565 } {abc: 2 3 (003.14e+09) :xyz}
       
  2566 do_test printf-2.6.10.7 {
       
  2567   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 3.14e+9
       
  2568 } {abc: 2 3 (3140000000.000) :xyz}
       
  2569 do_test printf-2.6.10.8 {
       
  2570   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 3.14e+9
       
  2571 } {abc: 2 3 (3.140e+09) :xyz}
       
  2572 do_test printf-2.6.10.9 {
       
  2573   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 3.14e+9
       
  2574 } {abc: 2 3 (3.14e+09) :xyz}
       
  2575 do_test printf-2.6.11.2 {
       
  2576   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -4.72732e+88
       
  2577 } {abc: (-4.727e+88) :xyz}
       
  2578 do_test printf-2.6.11.3 {
       
  2579   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -4.72732e+88
       
  2580 } {abc: (-4.73e+88) :xyz}
       
  2581 do_test printf-2.6.11.4 {
       
  2582   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -4.72732e+88
       
  2583 } {abc: 2 3 (-4.72732e+88) :xyz}
       
  2584 do_test printf-2.6.11.5 {
       
  2585   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -4.72732e+88
       
  2586 } {abc: 2 3 (-4.72732e+88) :xyz}
       
  2587 do_test printf-2.6.11.6 {
       
  2588   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -4.72732e+88
       
  2589 } {abc: 2 3 (-4.72732e+88) :xyz}
       
  2590 do_test printf-2.6.11.8 {
       
  2591   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -4.72732e+88
       
  2592 } {abc: 2 3 (-4.727e+88) :xyz}
       
  2593 do_test printf-2.6.11.9 {
       
  2594   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -4.72732e+88
       
  2595 } {abc: 2 3 (-4.73e+88) :xyz}
       
  2596 do_test printf-2.6.12.2 {
       
  2597   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.87991e+143
       
  2598 } {abc: (9.880e+143) :xyz}
       
  2599 do_test printf-2.6.12.3 {
       
  2600   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.87991e+143
       
  2601 } {abc: (9.88e+143) :xyz}
       
  2602 do_test printf-2.6.12.4 {
       
  2603   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 9.87991e+143
       
  2604 } {abc: 2 3 (9.87991e+143) :xyz}
       
  2605 do_test printf-2.6.12.5 {
       
  2606   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 9.87991e+143
       
  2607 } {abc: 2 3 (9.87991e+143) :xyz}
       
  2608 do_test printf-2.6.12.6 {
       
  2609   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 9.87991e+143
       
  2610 } {abc: 2 3 (9.87991e+143) :xyz}
       
  2611 do_test printf-2.6.12.8 {
       
  2612   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 9.87991e+143
       
  2613 } {abc: 2 3 (9.880e+143) :xyz}
       
  2614 do_test printf-2.6.12.9 {
       
  2615   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 9.87991e+143
       
  2616 } {abc: 2 3 (9.88e+143) :xyz}
       
  2617 do_test printf-2.6.13.1 {
       
  2618   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -6.287291e-9
       
  2619 } {abc: (-0.000) :xyz}
       
  2620 do_test printf-2.6.13.2 {
       
  2621   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -6.287291e-9
       
  2622 } {abc: (-6.287e-09) :xyz}
       
  2623 do_test printf-2.6.13.3 {
       
  2624   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -6.287291e-9
       
  2625 } {abc: (-6.29e-09) :xyz}
       
  2626 do_test printf-2.6.13.4 {
       
  2627   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -6.287291e-9
       
  2628 } {abc: 2 3 (-6.28729e-09) :xyz}
       
  2629 do_test printf-2.6.13.5 {
       
  2630   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -6.287291e-9
       
  2631 } {abc: 2 3 (-6.28729e-09) :xyz}
       
  2632 do_test printf-2.6.13.6 {
       
  2633   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -6.287291e-9
       
  2634 } {abc: 2 3 (-6.28729e-09) :xyz}
       
  2635 do_test printf-2.6.13.7 {
       
  2636   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -6.287291e-9
       
  2637 } {abc: 2 3 (-0.000) :xyz}
       
  2638 do_test printf-2.6.13.8 {
       
  2639   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -6.287291e-9
       
  2640 } {abc: 2 3 (-6.287e-09) :xyz}
       
  2641 do_test printf-2.6.13.9 {
       
  2642   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -6.287291e-9
       
  2643 } {abc: 2 3 (-6.29e-09) :xyz}
       
  2644 do_test printf-2.6.14.1 {
       
  2645   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.38826392e-110
       
  2646 } {abc: (0.000) :xyz}
       
  2647 do_test printf-2.6.14.2 {
       
  2648   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.38826392e-110
       
  2649 } {abc: (3.388e-110) :xyz}
       
  2650 do_test printf-2.6.14.3 {
       
  2651   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.38826392e-110
       
  2652 } {abc: (3.39e-110) :xyz}
       
  2653 do_test printf-2.6.14.4 {
       
  2654   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 3.38826392e-110
       
  2655 } {abc: 2 3 (3.38826e-110) :xyz}
       
  2656 do_test printf-2.6.14.5 {
       
  2657   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 3.38826392e-110
       
  2658 } {abc: 2 3 (3.38826e-110) :xyz}
       
  2659 do_test printf-2.6.14.6 {
       
  2660   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 3.38826392e-110
       
  2661 } {abc: 2 3 (3.38826e-110) :xyz}
       
  2662 do_test printf-2.6.14.7 {
       
  2663   sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 3.38826392e-110
       
  2664 } {abc: 2 3 (0.000) :xyz}
       
  2665 do_test printf-2.6.14.8 {
       
  2666   sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 3.38826392e-110
       
  2667 } {abc: 2 3 (3.388e-110) :xyz}
       
  2668 do_test printf-2.6.14.9 {
       
  2669   sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 3.38826392e-110
       
  2670 } {abc: 2 3 (3.39e-110) :xyz}
       
  2671 do_test printf-2.7.1.1 {
       
  2672   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.001
       
  2673 } {abc: (0.001) :xyz}
       
  2674 do_test printf-2.7.1.2 {
       
  2675   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.001
       
  2676 } {abc: (1.000e-03) :xyz}
       
  2677 do_test printf-2.7.1.3 {
       
  2678   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.001
       
  2679 } {abc: (0.001) :xyz}
       
  2680 do_test printf-2.7.1.4 {
       
  2681   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 0.001
       
  2682 } {abc: 3 3 (0.001) :xyz}
       
  2683 do_test printf-2.7.1.5 {
       
  2684   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 0.001
       
  2685 } {abc: 3 3 (0.00100000) :xyz}
       
  2686 do_test printf-2.7.1.6 {
       
  2687   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 0.001
       
  2688 } {abc: 3 3 (000000.001) :xyz}
       
  2689 do_test printf-2.7.1.7 {
       
  2690   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 0.001
       
  2691 } {abc: 3 3 (0.001) :xyz}
       
  2692 do_test printf-2.7.1.8 {
       
  2693   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 0.001
       
  2694 } {abc: 3 3 (1.000e-03) :xyz}
       
  2695 do_test printf-2.7.1.9 {
       
  2696   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 0.001
       
  2697 } {abc: 3 3 (0.001) :xyz}
       
  2698 do_test printf-2.7.2.1 {
       
  2699   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0e-20
       
  2700 } {abc: (0.000) :xyz}
       
  2701 do_test printf-2.7.2.2 {
       
  2702   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0e-20
       
  2703 } {abc: (1.000e-20) :xyz}
       
  2704 do_test printf-2.7.2.3 {
       
  2705   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0e-20
       
  2706 } {abc: (1e-20) :xyz}
       
  2707 do_test printf-2.7.2.4 {
       
  2708   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 1.0e-20
       
  2709 } {abc: 3 3 (1e-20) :xyz}
       
  2710 do_test printf-2.7.2.5 {
       
  2711   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 1.0e-20
       
  2712 } {abc: 3 3 (1.00000e-20) :xyz}
       
  2713 do_test printf-2.7.2.6 {
       
  2714   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 1.0e-20
       
  2715 } {abc: 3 3 (000001e-20) :xyz}
       
  2716 do_test printf-2.7.2.7 {
       
  2717   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 1.0e-20
       
  2718 } {abc: 3 3 (0.000) :xyz}
       
  2719 do_test printf-2.7.2.8 {
       
  2720   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 1.0e-20
       
  2721 } {abc: 3 3 (1.000e-20) :xyz}
       
  2722 do_test printf-2.7.2.9 {
       
  2723   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 1.0e-20
       
  2724 } {abc: 3 3 (1e-20) :xyz}
       
  2725 do_test printf-2.7.3.1 {
       
  2726   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0
       
  2727 } {abc: (1.000) :xyz}
       
  2728 do_test printf-2.7.3.2 {
       
  2729   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0
       
  2730 } {abc: (1.000e+00) :xyz}
       
  2731 do_test printf-2.7.3.3 {
       
  2732   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0
       
  2733 } {abc: (  1) :xyz}
       
  2734 do_test printf-2.7.3.4 {
       
  2735   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 1.0
       
  2736 } {abc: 3 3 (1) :xyz}
       
  2737 do_test printf-2.7.3.5 {
       
  2738   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 1.0
       
  2739 } {abc: 3 3 (1.00000) :xyz}
       
  2740 do_test printf-2.7.3.6 {
       
  2741   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 1.0
       
  2742 } {abc: 3 3 (0000000001) :xyz}
       
  2743 do_test printf-2.7.3.7 {
       
  2744   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 1.0
       
  2745 } {abc: 3 3 (1.000) :xyz}
       
  2746 do_test printf-2.7.3.8 {
       
  2747   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 1.0
       
  2748 } {abc: 3 3 (1.000e+00) :xyz}
       
  2749 do_test printf-2.7.3.9 {
       
  2750   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 1.0
       
  2751 } {abc: 3 3 (  1) :xyz}
       
  2752 do_test printf-2.7.4.1 {
       
  2753   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.0
       
  2754 } {abc: (0.000) :xyz}
       
  2755 do_test printf-2.7.4.2 {
       
  2756   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.0
       
  2757 } {abc: (0.000e+00) :xyz}
       
  2758 do_test printf-2.7.4.3 {
       
  2759   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.0
       
  2760 } {abc: (  0) :xyz}
       
  2761 do_test printf-2.7.4.4 {
       
  2762   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 0.0
       
  2763 } {abc: 3 3 (0) :xyz}
       
  2764 do_test printf-2.7.4.5 {
       
  2765   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 0.0
       
  2766 } {abc: 3 3 (0.00000) :xyz}
       
  2767 do_test printf-2.7.4.6 {
       
  2768   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 0.0
       
  2769 } {abc: 3 3 (0000000000) :xyz}
       
  2770 do_test printf-2.7.4.7 {
       
  2771   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 0.0
       
  2772 } {abc: 3 3 (0.000) :xyz}
       
  2773 do_test printf-2.7.4.8 {
       
  2774   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 0.0
       
  2775 } {abc: 3 3 (0.000e+00) :xyz}
       
  2776 do_test printf-2.7.4.9 {
       
  2777   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 0.0
       
  2778 } {abc: 3 3 (  0) :xyz}
       
  2779 do_test printf-2.7.5.1 {
       
  2780   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 100.0
       
  2781 } {abc: (100.000) :xyz}
       
  2782 do_test printf-2.7.5.2 {
       
  2783   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 100.0
       
  2784 } {abc: (1.000e+02) :xyz}
       
  2785 do_test printf-2.7.5.3 {
       
  2786   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 100.0
       
  2787 } {abc: (100) :xyz}
       
  2788 do_test printf-2.7.5.4 {
       
  2789   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 100.0
       
  2790 } {abc: 3 3 (100) :xyz}
       
  2791 do_test printf-2.7.5.5 {
       
  2792   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 100.0
       
  2793 } {abc: 3 3 (100.000) :xyz}
       
  2794 do_test printf-2.7.5.6 {
       
  2795   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 100.0
       
  2796 } {abc: 3 3 (0000000100) :xyz}
       
  2797 do_test printf-2.7.5.7 {
       
  2798   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 100.0
       
  2799 } {abc: 3 3 (100.000) :xyz}
       
  2800 do_test printf-2.7.5.8 {
       
  2801   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 100.0
       
  2802 } {abc: 3 3 (1.000e+02) :xyz}
       
  2803 do_test printf-2.7.5.9 {
       
  2804   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 100.0
       
  2805 } {abc: 3 3 (100) :xyz}
       
  2806 do_test printf-2.7.6.1 {
       
  2807   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 9.99999
       
  2808 } {abc: (10.000) :xyz}
       
  2809 do_test printf-2.7.6.2 {
       
  2810   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.99999
       
  2811 } {abc: (1.000e+01) :xyz}
       
  2812 do_test printf-2.7.6.3 {
       
  2813   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.99999
       
  2814 } {abc: ( 10) :xyz}
       
  2815 do_test printf-2.7.6.4 {
       
  2816   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 9.99999
       
  2817 } {abc: 3 3 (9.99999) :xyz}
       
  2818 do_test printf-2.7.6.5 {
       
  2819   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 9.99999
       
  2820 } {abc: 3 3 (9.99999) :xyz}
       
  2821 do_test printf-2.7.6.6 {
       
  2822   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 9.99999
       
  2823 } {abc: 3 3 (0009.99999) :xyz}
       
  2824 do_test printf-2.7.6.7 {
       
  2825   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 9.99999
       
  2826 } {abc: 3 3 (10.000) :xyz}
       
  2827 do_test printf-2.7.6.8 {
       
  2828   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 9.99999
       
  2829 } {abc: 3 3 (1.000e+01) :xyz}
       
  2830 do_test printf-2.7.6.9 {
       
  2831   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 9.99999
       
  2832 } {abc: 3 3 ( 10) :xyz}
       
  2833 do_test printf-2.7.7.1 {
       
  2834   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -0.00543
       
  2835 } {abc: (-0.005) :xyz}
       
  2836 do_test printf-2.7.7.2 {
       
  2837   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -0.00543
       
  2838 } {abc: (-5.430e-03) :xyz}
       
  2839 do_test printf-2.7.7.3 {
       
  2840   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -0.00543
       
  2841 } {abc: (-0.00543) :xyz}
       
  2842 do_test printf-2.7.7.4 {
       
  2843   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -0.00543
       
  2844 } {abc: 3 3 (-0.00543) :xyz}
       
  2845 do_test printf-2.7.7.5 {
       
  2846   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -0.00543
       
  2847 } {abc: 3 3 (-0.00543000) :xyz}
       
  2848 do_test printf-2.7.7.6 {
       
  2849   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -0.00543
       
  2850 } {abc: 3 3 (-000.00543) :xyz}
       
  2851 do_test printf-2.7.7.7 {
       
  2852   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -0.00543
       
  2853 } {abc: 3 3 (-0.005) :xyz}
       
  2854 do_test printf-2.7.7.8 {
       
  2855   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -0.00543
       
  2856 } {abc: 3 3 (-5.430e-03) :xyz}
       
  2857 do_test printf-2.7.7.9 {
       
  2858   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -0.00543
       
  2859 } {abc: 3 3 (-0.00543) :xyz}
       
  2860 do_test printf-2.7.8.1 {
       
  2861   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -1.0
       
  2862 } {abc: (-1.000) :xyz}
       
  2863 do_test printf-2.7.8.2 {
       
  2864   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -1.0
       
  2865 } {abc: (-1.000e+00) :xyz}
       
  2866 do_test printf-2.7.8.3 {
       
  2867   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -1.0
       
  2868 } {abc: ( -1) :xyz}
       
  2869 do_test printf-2.7.8.4 {
       
  2870   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -1.0
       
  2871 } {abc: 3 3 (-1) :xyz}
       
  2872 do_test printf-2.7.8.5 {
       
  2873   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -1.0
       
  2874 } {abc: 3 3 (-1.00000) :xyz}
       
  2875 do_test printf-2.7.8.6 {
       
  2876   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -1.0
       
  2877 } {abc: 3 3 (-000000001) :xyz}
       
  2878 do_test printf-2.7.8.7 {
       
  2879   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -1.0
       
  2880 } {abc: 3 3 (-1.000) :xyz}
       
  2881 do_test printf-2.7.8.8 {
       
  2882   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -1.0
       
  2883 } {abc: 3 3 (-1.000e+00) :xyz}
       
  2884 do_test printf-2.7.8.9 {
       
  2885   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -1.0
       
  2886 } {abc: 3 3 ( -1) :xyz}
       
  2887 do_test printf-2.7.9.1 {
       
  2888   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -99.99999
       
  2889 } {abc: (-100.000) :xyz}
       
  2890 do_test printf-2.7.9.2 {
       
  2891   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -99.99999
       
  2892 } {abc: (-1.000e+02) :xyz}
       
  2893 do_test printf-2.7.9.3 {
       
  2894   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -99.99999
       
  2895 } {abc: (-100) :xyz}
       
  2896 do_test printf-2.7.9.4 {
       
  2897   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -99.99999
       
  2898 } {abc: 3 3 (-100) :xyz}
       
  2899 do_test printf-2.7.9.5 {
       
  2900   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -99.99999
       
  2901 } {abc: 3 3 (-100.000) :xyz}
       
  2902 do_test printf-2.7.9.6 {
       
  2903   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -99.99999
       
  2904 } {abc: 3 3 (-000000100) :xyz}
       
  2905 do_test printf-2.7.9.7 {
       
  2906   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -99.99999
       
  2907 } {abc: 3 3 (-100.000) :xyz}
       
  2908 do_test printf-2.7.9.8 {
       
  2909   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -99.99999
       
  2910 } {abc: 3 3 (-1.000e+02) :xyz}
       
  2911 do_test printf-2.7.9.9 {
       
  2912   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -99.99999
       
  2913 } {abc: 3 3 (-100) :xyz}
       
  2914 do_test printf-2.7.10.1 {
       
  2915   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.14e+9
       
  2916 } {abc: (3140000000.000) :xyz}
       
  2917 do_test printf-2.7.10.2 {
       
  2918   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.14e+9
       
  2919 } {abc: (3.140e+09) :xyz}
       
  2920 do_test printf-2.7.10.3 {
       
  2921   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.14e+9
       
  2922 } {abc: (3.14e+09) :xyz}
       
  2923 do_test printf-2.7.10.4 {
       
  2924   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 3.14e+9
       
  2925 } {abc: 3 3 (3.14e+09) :xyz}
       
  2926 do_test printf-2.7.10.5 {
       
  2927   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 3.14e+9
       
  2928 } {abc: 3 3 (3.14000e+09) :xyz}
       
  2929 do_test printf-2.7.10.6 {
       
  2930   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 3.14e+9
       
  2931 } {abc: 3 3 (003.14e+09) :xyz}
       
  2932 do_test printf-2.7.10.7 {
       
  2933   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 3.14e+9
       
  2934 } {abc: 3 3 (3140000000.000) :xyz}
       
  2935 do_test printf-2.7.10.8 {
       
  2936   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 3.14e+9
       
  2937 } {abc: 3 3 (3.140e+09) :xyz}
       
  2938 do_test printf-2.7.10.9 {
       
  2939   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 3.14e+9
       
  2940 } {abc: 3 3 (3.14e+09) :xyz}
       
  2941 do_test printf-2.7.11.2 {
       
  2942   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -4.72732e+88
       
  2943 } {abc: (-4.727e+88) :xyz}
       
  2944 do_test printf-2.7.11.3 {
       
  2945   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -4.72732e+88
       
  2946 } {abc: (-4.73e+88) :xyz}
       
  2947 do_test printf-2.7.11.4 {
       
  2948   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -4.72732e+88
       
  2949 } {abc: 3 3 (-4.72732e+88) :xyz}
       
  2950 do_test printf-2.7.11.5 {
       
  2951   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -4.72732e+88
       
  2952 } {abc: 3 3 (-4.72732e+88) :xyz}
       
  2953 do_test printf-2.7.11.6 {
       
  2954   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -4.72732e+88
       
  2955 } {abc: 3 3 (-4.72732e+88) :xyz}
       
  2956 do_test printf-2.7.11.8 {
       
  2957   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -4.72732e+88
       
  2958 } {abc: 3 3 (-4.727e+88) :xyz}
       
  2959 do_test printf-2.7.11.9 {
       
  2960   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -4.72732e+88
       
  2961 } {abc: 3 3 (-4.73e+88) :xyz}
       
  2962 do_test printf-2.7.12.2 {
       
  2963   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.87991e+143
       
  2964 } {abc: (9.880e+143) :xyz}
       
  2965 do_test printf-2.7.12.3 {
       
  2966   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.87991e+143
       
  2967 } {abc: (9.88e+143) :xyz}
       
  2968 do_test printf-2.7.12.4 {
       
  2969   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 9.87991e+143
       
  2970 } {abc: 3 3 (9.87991e+143) :xyz}
       
  2971 do_test printf-2.7.12.5 {
       
  2972   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 9.87991e+143
       
  2973 } {abc: 3 3 (9.87991e+143) :xyz}
       
  2974 do_test printf-2.7.12.6 {
       
  2975   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 9.87991e+143
       
  2976 } {abc: 3 3 (9.87991e+143) :xyz}
       
  2977 do_test printf-2.7.12.8 {
       
  2978   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 9.87991e+143
       
  2979 } {abc: 3 3 (9.880e+143) :xyz}
       
  2980 do_test printf-2.7.12.9 {
       
  2981   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 9.87991e+143
       
  2982 } {abc: 3 3 (9.88e+143) :xyz}
       
  2983 do_test printf-2.7.13.1 {
       
  2984   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -6.287291e-9
       
  2985 } {abc: (-0.000) :xyz}
       
  2986 do_test printf-2.7.13.2 {
       
  2987   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -6.287291e-9
       
  2988 } {abc: (-6.287e-09) :xyz}
       
  2989 do_test printf-2.7.13.3 {
       
  2990   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -6.287291e-9
       
  2991 } {abc: (-6.29e-09) :xyz}
       
  2992 do_test printf-2.7.13.4 {
       
  2993   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -6.287291e-9
       
  2994 } {abc: 3 3 (-6.28729e-09) :xyz}
       
  2995 do_test printf-2.7.13.5 {
       
  2996   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -6.287291e-9
       
  2997 } {abc: 3 3 (-6.28729e-09) :xyz}
       
  2998 do_test printf-2.7.13.6 {
       
  2999   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -6.287291e-9
       
  3000 } {abc: 3 3 (-6.28729e-09) :xyz}
       
  3001 do_test printf-2.7.13.7 {
       
  3002   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -6.287291e-9
       
  3003 } {abc: 3 3 (-0.000) :xyz}
       
  3004 do_test printf-2.7.13.8 {
       
  3005   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -6.287291e-9
       
  3006 } {abc: 3 3 (-6.287e-09) :xyz}
       
  3007 do_test printf-2.7.13.9 {
       
  3008   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -6.287291e-9
       
  3009 } {abc: 3 3 (-6.29e-09) :xyz}
       
  3010 do_test printf-2.7.14.1 {
       
  3011   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.38826392e-110
       
  3012 } {abc: (0.000) :xyz}
       
  3013 do_test printf-2.7.14.2 {
       
  3014   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.38826392e-110
       
  3015 } {abc: (3.388e-110) :xyz}
       
  3016 do_test printf-2.7.14.3 {
       
  3017   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.38826392e-110
       
  3018 } {abc: (3.39e-110) :xyz}
       
  3019 do_test printf-2.7.14.4 {
       
  3020   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 3.38826392e-110
       
  3021 } {abc: 3 3 (3.38826e-110) :xyz}
       
  3022 do_test printf-2.7.14.5 {
       
  3023   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 3.38826392e-110
       
  3024 } {abc: 3 3 (3.38826e-110) :xyz}
       
  3025 do_test printf-2.7.14.6 {
       
  3026   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 3.38826392e-110
       
  3027 } {abc: 3 3 (3.38826e-110) :xyz}
       
  3028 do_test printf-2.7.14.7 {
       
  3029   sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 3.38826392e-110
       
  3030 } {abc: 3 3 (0.000) :xyz}
       
  3031 do_test printf-2.7.14.8 {
       
  3032   sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 3.38826392e-110
       
  3033 } {abc: 3 3 (3.388e-110) :xyz}
       
  3034 do_test printf-2.7.14.9 {
       
  3035   sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 3.38826392e-110
       
  3036 } {abc: 3 3 (3.39e-110) :xyz}
       
  3037 do_test printf-2.8.1.1 {
       
  3038   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.001
       
  3039 } {abc: (0.00) :xyz}
       
  3040 do_test printf-2.8.1.2 {
       
  3041   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.001
       
  3042 } {abc: (1.00e-03) :xyz}
       
  3043 do_test printf-2.8.1.3 {
       
  3044   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.001
       
  3045 } {abc: (0.001) :xyz}
       
  3046 do_test printf-2.8.1.4 {
       
  3047   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 0.001
       
  3048 } {abc: 3 2 (0.001) :xyz}
       
  3049 do_test printf-2.8.1.5 {
       
  3050   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 0.001
       
  3051 } {abc: 3 2 (0.00100000) :xyz}
       
  3052 do_test printf-2.8.1.6 {
       
  3053   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 0.001
       
  3054 } {abc: 3 2 (000000.001) :xyz}
       
  3055 do_test printf-2.8.1.7 {
       
  3056   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 0.001
       
  3057 } {abc: 3 2 (0.00) :xyz}
       
  3058 do_test printf-2.8.1.8 {
       
  3059   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 0.001
       
  3060 } {abc: 3 2 (1.00e-03) :xyz}
       
  3061 do_test printf-2.8.1.9 {
       
  3062   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 0.001
       
  3063 } {abc: 3 2 (0.001) :xyz}
       
  3064 do_test printf-2.8.2.1 {
       
  3065   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0e-20
       
  3066 } {abc: (0.00) :xyz}
       
  3067 do_test printf-2.8.2.2 {
       
  3068   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0e-20
       
  3069 } {abc: (1.00e-20) :xyz}
       
  3070 do_test printf-2.8.2.3 {
       
  3071   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0e-20
       
  3072 } {abc: (1e-20) :xyz}
       
  3073 do_test printf-2.8.2.4 {
       
  3074   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 1.0e-20
       
  3075 } {abc: 3 2 (1e-20) :xyz}
       
  3076 do_test printf-2.8.2.5 {
       
  3077   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 1.0e-20
       
  3078 } {abc: 3 2 (1.00000e-20) :xyz}
       
  3079 do_test printf-2.8.2.6 {
       
  3080   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 1.0e-20
       
  3081 } {abc: 3 2 (000001e-20) :xyz}
       
  3082 do_test printf-2.8.2.7 {
       
  3083   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 1.0e-20
       
  3084 } {abc: 3 2 (0.00) :xyz}
       
  3085 do_test printf-2.8.2.8 {
       
  3086   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 1.0e-20
       
  3087 } {abc: 3 2 (1.00e-20) :xyz}
       
  3088 do_test printf-2.8.2.9 {
       
  3089   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 1.0e-20
       
  3090 } {abc: 3 2 (1e-20) :xyz}
       
  3091 do_test printf-2.8.3.1 {
       
  3092   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0
       
  3093 } {abc: (1.00) :xyz}
       
  3094 do_test printf-2.8.3.2 {
       
  3095   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0
       
  3096 } {abc: (1.00e+00) :xyz}
       
  3097 do_test printf-2.8.3.3 {
       
  3098   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0
       
  3099 } {abc: (  1) :xyz}
       
  3100 do_test printf-2.8.3.4 {
       
  3101   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 1.0
       
  3102 } {abc: 3 2 (1) :xyz}
       
  3103 do_test printf-2.8.3.5 {
       
  3104   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 1.0
       
  3105 } {abc: 3 2 (1.00000) :xyz}
       
  3106 do_test printf-2.8.3.6 {
       
  3107   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 1.0
       
  3108 } {abc: 3 2 (0000000001) :xyz}
       
  3109 do_test printf-2.8.3.7 {
       
  3110   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 1.0
       
  3111 } {abc: 3 2 (1.00) :xyz}
       
  3112 do_test printf-2.8.3.8 {
       
  3113   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 1.0
       
  3114 } {abc: 3 2 (1.00e+00) :xyz}
       
  3115 do_test printf-2.8.3.9 {
       
  3116   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 1.0
       
  3117 } {abc: 3 2 (  1) :xyz}
       
  3118 do_test printf-2.8.4.1 {
       
  3119   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.0
       
  3120 } {abc: (0.00) :xyz}
       
  3121 do_test printf-2.8.4.2 {
       
  3122   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.0
       
  3123 } {abc: (0.00e+00) :xyz}
       
  3124 do_test printf-2.8.4.3 {
       
  3125   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.0
       
  3126 } {abc: (  0) :xyz}
       
  3127 do_test printf-2.8.4.4 {
       
  3128   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 0.0
       
  3129 } {abc: 3 2 (0) :xyz}
       
  3130 do_test printf-2.8.4.5 {
       
  3131   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 0.0
       
  3132 } {abc: 3 2 (0.00000) :xyz}
       
  3133 do_test printf-2.8.4.6 {
       
  3134   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 0.0
       
  3135 } {abc: 3 2 (0000000000) :xyz}
       
  3136 do_test printf-2.8.4.7 {
       
  3137   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 0.0
       
  3138 } {abc: 3 2 (0.00) :xyz}
       
  3139 do_test printf-2.8.4.8 {
       
  3140   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 0.0
       
  3141 } {abc: 3 2 (0.00e+00) :xyz}
       
  3142 do_test printf-2.8.4.9 {
       
  3143   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 0.0
       
  3144 } {abc: 3 2 (  0) :xyz}
       
  3145 do_test printf-2.8.5.1 {
       
  3146   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 100.0
       
  3147 } {abc: (100.00) :xyz}
       
  3148 do_test printf-2.8.5.2 {
       
  3149   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 100.0
       
  3150 } {abc: (1.00e+02) :xyz}
       
  3151 do_test printf-2.8.5.3 {
       
  3152   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 100.0
       
  3153 } {abc: (1e+02) :xyz}
       
  3154 do_test printf-2.8.5.4 {
       
  3155   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 100.0
       
  3156 } {abc: 3 2 (100) :xyz}
       
  3157 do_test printf-2.8.5.5 {
       
  3158   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 100.0
       
  3159 } {abc: 3 2 (100.000) :xyz}
       
  3160 do_test printf-2.8.5.6 {
       
  3161   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 100.0
       
  3162 } {abc: 3 2 (0000000100) :xyz}
       
  3163 do_test printf-2.8.5.7 {
       
  3164   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 100.0
       
  3165 } {abc: 3 2 (100.00) :xyz}
       
  3166 do_test printf-2.8.5.8 {
       
  3167   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 100.0
       
  3168 } {abc: 3 2 (1.00e+02) :xyz}
       
  3169 do_test printf-2.8.5.9 {
       
  3170   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 100.0
       
  3171 } {abc: 3 2 (1e+02) :xyz}
       
  3172 do_test printf-2.8.6.1 {
       
  3173   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 9.99999
       
  3174 } {abc: (10.00) :xyz}
       
  3175 do_test printf-2.8.6.2 {
       
  3176   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.99999
       
  3177 } {abc: (1.00e+01) :xyz}
       
  3178 do_test printf-2.8.6.3 {
       
  3179   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.99999
       
  3180 } {abc: ( 10) :xyz}
       
  3181 do_test printf-2.8.6.4 {
       
  3182   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 9.99999
       
  3183 } {abc: 3 2 (9.99999) :xyz}
       
  3184 do_test printf-2.8.6.5 {
       
  3185   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 9.99999
       
  3186 } {abc: 3 2 (9.99999) :xyz}
       
  3187 do_test printf-2.8.6.6 {
       
  3188   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 9.99999
       
  3189 } {abc: 3 2 (0009.99999) :xyz}
       
  3190 do_test printf-2.8.6.7 {
       
  3191   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 9.99999
       
  3192 } {abc: 3 2 (10.00) :xyz}
       
  3193 do_test printf-2.8.6.8 {
       
  3194   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 9.99999
       
  3195 } {abc: 3 2 (1.00e+01) :xyz}
       
  3196 do_test printf-2.8.6.9 {
       
  3197   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 9.99999
       
  3198 } {abc: 3 2 ( 10) :xyz}
       
  3199 do_test printf-2.8.7.1 {
       
  3200   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -0.00543
       
  3201 } {abc: (-0.01) :xyz}
       
  3202 do_test printf-2.8.7.2 {
       
  3203   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -0.00543
       
  3204 } {abc: (-5.43e-03) :xyz}
       
  3205 do_test printf-2.8.7.3 {
       
  3206   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -0.00543
       
  3207 } {abc: (-0.0054) :xyz}
       
  3208 do_test printf-2.8.7.4 {
       
  3209   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -0.00543
       
  3210 } {abc: 3 2 (-0.00543) :xyz}
       
  3211 do_test printf-2.8.7.5 {
       
  3212   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -0.00543
       
  3213 } {abc: 3 2 (-0.00543000) :xyz}
       
  3214 do_test printf-2.8.7.6 {
       
  3215   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -0.00543
       
  3216 } {abc: 3 2 (-000.00543) :xyz}
       
  3217 do_test printf-2.8.7.7 {
       
  3218   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -0.00543
       
  3219 } {abc: 3 2 (-0.01) :xyz}
       
  3220 do_test printf-2.8.7.8 {
       
  3221   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -0.00543
       
  3222 } {abc: 3 2 (-5.43e-03) :xyz}
       
  3223 do_test printf-2.8.7.9 {
       
  3224   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -0.00543
       
  3225 } {abc: 3 2 (-0.0054) :xyz}
       
  3226 do_test printf-2.8.8.1 {
       
  3227   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -1.0
       
  3228 } {abc: (-1.00) :xyz}
       
  3229 do_test printf-2.8.8.2 {
       
  3230   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -1.0
       
  3231 } {abc: (-1.00e+00) :xyz}
       
  3232 do_test printf-2.8.8.3 {
       
  3233   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -1.0
       
  3234 } {abc: ( -1) :xyz}
       
  3235 do_test printf-2.8.8.4 {
       
  3236   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -1.0
       
  3237 } {abc: 3 2 (-1) :xyz}
       
  3238 do_test printf-2.8.8.5 {
       
  3239   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -1.0
       
  3240 } {abc: 3 2 (-1.00000) :xyz}
       
  3241 do_test printf-2.8.8.6 {
       
  3242   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -1.0
       
  3243 } {abc: 3 2 (-000000001) :xyz}
       
  3244 do_test printf-2.8.8.7 {
       
  3245   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -1.0
       
  3246 } {abc: 3 2 (-1.00) :xyz}
       
  3247 do_test printf-2.8.8.8 {
       
  3248   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -1.0
       
  3249 } {abc: 3 2 (-1.00e+00) :xyz}
       
  3250 do_test printf-2.8.8.9 {
       
  3251   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -1.0
       
  3252 } {abc: 3 2 ( -1) :xyz}
       
  3253 do_test printf-2.8.9.1 {
       
  3254   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -99.99999
       
  3255 } {abc: (-100.00) :xyz}
       
  3256 do_test printf-2.8.9.2 {
       
  3257   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -99.99999
       
  3258 } {abc: (-1.00e+02) :xyz}
       
  3259 do_test printf-2.8.9.3 {
       
  3260   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -99.99999
       
  3261 } {abc: (-1e+02) :xyz}
       
  3262 do_test printf-2.8.9.4 {
       
  3263   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -99.99999
       
  3264 } {abc: 3 2 (-100) :xyz}
       
  3265 do_test printf-2.8.9.5 {
       
  3266   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -99.99999
       
  3267 } {abc: 3 2 (-100.000) :xyz}
       
  3268 do_test printf-2.8.9.6 {
       
  3269   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -99.99999
       
  3270 } {abc: 3 2 (-000000100) :xyz}
       
  3271 do_test printf-2.8.9.7 {
       
  3272   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -99.99999
       
  3273 } {abc: 3 2 (-100.00) :xyz}
       
  3274 do_test printf-2.8.9.8 {
       
  3275   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -99.99999
       
  3276 } {abc: 3 2 (-1.00e+02) :xyz}
       
  3277 do_test printf-2.8.9.9 {
       
  3278   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -99.99999
       
  3279 } {abc: 3 2 (-1e+02) :xyz}
       
  3280 do_test printf-2.8.10.1 {
       
  3281   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.14e+9
       
  3282 } {abc: (3140000000.00) :xyz}
       
  3283 do_test printf-2.8.10.2 {
       
  3284   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.14e+9
       
  3285 } {abc: (3.14e+09) :xyz}
       
  3286 do_test printf-2.8.10.3 {
       
  3287   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.14e+9
       
  3288 } {abc: (3.1e+09) :xyz}
       
  3289 do_test printf-2.8.10.4 {
       
  3290   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 3.14e+9
       
  3291 } {abc: 3 2 (3.14e+09) :xyz}
       
  3292 do_test printf-2.8.10.5 {
       
  3293   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 3.14e+9
       
  3294 } {abc: 3 2 (3.14000e+09) :xyz}
       
  3295 do_test printf-2.8.10.6 {
       
  3296   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 3.14e+9
       
  3297 } {abc: 3 2 (003.14e+09) :xyz}
       
  3298 do_test printf-2.8.10.7 {
       
  3299   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 3.14e+9
       
  3300 } {abc: 3 2 (3140000000.00) :xyz}
       
  3301 do_test printf-2.8.10.8 {
       
  3302   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 3.14e+9
       
  3303 } {abc: 3 2 (3.14e+09) :xyz}
       
  3304 do_test printf-2.8.10.9 {
       
  3305   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 3.14e+9
       
  3306 } {abc: 3 2 (3.1e+09) :xyz}
       
  3307 do_test printf-2.8.11.2 {
       
  3308   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -4.72732e+88
       
  3309 } {abc: (-4.73e+88) :xyz}
       
  3310 do_test printf-2.8.11.3 {
       
  3311   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -4.72732e+88
       
  3312 } {abc: (-4.7e+88) :xyz}
       
  3313 do_test printf-2.8.11.4 {
       
  3314   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -4.72732e+88
       
  3315 } {abc: 3 2 (-4.72732e+88) :xyz}
       
  3316 do_test printf-2.8.11.5 {
       
  3317   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -4.72732e+88
       
  3318 } {abc: 3 2 (-4.72732e+88) :xyz}
       
  3319 do_test printf-2.8.11.6 {
       
  3320   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -4.72732e+88
       
  3321 } {abc: 3 2 (-4.72732e+88) :xyz}
       
  3322 do_test printf-2.8.11.8 {
       
  3323   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -4.72732e+88
       
  3324 } {abc: 3 2 (-4.73e+88) :xyz}
       
  3325 do_test printf-2.8.11.9 {
       
  3326   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -4.72732e+88
       
  3327 } {abc: 3 2 (-4.7e+88) :xyz}
       
  3328 do_test printf-2.8.12.2 {
       
  3329   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.87991e+143
       
  3330 } {abc: (9.88e+143) :xyz}
       
  3331 do_test printf-2.8.12.3 {
       
  3332   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.87991e+143
       
  3333 } {abc: (9.9e+143) :xyz}
       
  3334 do_test printf-2.8.12.4 {
       
  3335   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 9.87991e+143
       
  3336 } {abc: 3 2 (9.87991e+143) :xyz}
       
  3337 do_test printf-2.8.12.5 {
       
  3338   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 9.87991e+143
       
  3339 } {abc: 3 2 (9.87991e+143) :xyz}
       
  3340 do_test printf-2.8.12.6 {
       
  3341   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 9.87991e+143
       
  3342 } {abc: 3 2 (9.87991e+143) :xyz}
       
  3343 do_test printf-2.8.12.8 {
       
  3344   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 9.87991e+143
       
  3345 } {abc: 3 2 (9.88e+143) :xyz}
       
  3346 do_test printf-2.8.12.9 {
       
  3347   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 9.87991e+143
       
  3348 } {abc: 3 2 (9.9e+143) :xyz}
       
  3349 do_test printf-2.8.13.1 {
       
  3350   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -6.287291e-9
       
  3351 } {abc: (-0.00) :xyz}
       
  3352 do_test printf-2.8.13.2 {
       
  3353   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -6.287291e-9
       
  3354 } {abc: (-6.29e-09) :xyz}
       
  3355 do_test printf-2.8.13.3 {
       
  3356   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -6.287291e-9
       
  3357 } {abc: (-6.3e-09) :xyz}
       
  3358 do_test printf-2.8.13.4 {
       
  3359   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -6.287291e-9
       
  3360 } {abc: 3 2 (-6.28729e-09) :xyz}
       
  3361 do_test printf-2.8.13.5 {
       
  3362   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -6.287291e-9
       
  3363 } {abc: 3 2 (-6.28729e-09) :xyz}
       
  3364 do_test printf-2.8.13.6 {
       
  3365   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -6.287291e-9
       
  3366 } {abc: 3 2 (-6.28729e-09) :xyz}
       
  3367 do_test printf-2.8.13.7 {
       
  3368   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -6.287291e-9
       
  3369 } {abc: 3 2 (-0.00) :xyz}
       
  3370 do_test printf-2.8.13.8 {
       
  3371   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -6.287291e-9
       
  3372 } {abc: 3 2 (-6.29e-09) :xyz}
       
  3373 do_test printf-2.8.13.9 {
       
  3374   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -6.287291e-9
       
  3375 } {abc: 3 2 (-6.3e-09) :xyz}
       
  3376 do_test printf-2.8.14.1 {
       
  3377   sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.38826392e-110
       
  3378 } {abc: (0.00) :xyz}
       
  3379 do_test printf-2.8.14.2 {
       
  3380   sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.38826392e-110
       
  3381 } {abc: (3.39e-110) :xyz}
       
  3382 do_test printf-2.8.14.3 {
       
  3383   sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.38826392e-110
       
  3384 } {abc: (3.4e-110) :xyz}
       
  3385 do_test printf-2.8.14.4 {
       
  3386   sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 3.38826392e-110
       
  3387 } {abc: 3 2 (3.38826e-110) :xyz}
       
  3388 do_test printf-2.8.14.5 {
       
  3389   sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 3.38826392e-110
       
  3390 } {abc: 3 2 (3.38826e-110) :xyz}
       
  3391 do_test printf-2.8.14.6 {
       
  3392   sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 3.38826392e-110
       
  3393 } {abc: 3 2 (3.38826e-110) :xyz}
       
  3394 do_test printf-2.8.14.7 {
       
  3395   sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 3.38826392e-110
       
  3396 } {abc: 3 2 (0.00) :xyz}
       
  3397 do_test printf-2.8.14.8 {
       
  3398   sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 3.38826392e-110
       
  3399 } {abc: 3 2 (3.39e-110) :xyz}
       
  3400 do_test printf-2.8.14.9 {
       
  3401   sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 3.38826392e-110
       
  3402 } {abc: 3 2 (3.4e-110) :xyz}
       
  3403 do_test printf-2.8.15.1 {
       
  3404   sqlite3_mprintf_double {abc: (% *.*f) :xyz} 3 2 3.38826392e-110
       
  3405 } {abc: ( 0.00) :xyz}
       
  3406 do_test printf-2.8.15.2 {
       
  3407   sqlite3_mprintf_double {abc: (% *.*e) :xyz} 3 2 3.38826392e-110
       
  3408 } {abc: ( 3.39e-110) :xyz}
       
  3409 do_test printf-2.8.15.3 {
       
  3410   sqlite3_mprintf_double {abc: (% *.*g) :xyz} 3 2 3.38826392e-110
       
  3411 } {abc: ( 3.4e-110) :xyz}
       
  3412 do_test printf-2.8.15.4 {
       
  3413   sqlite3_mprintf_double {abc: %d %d (% g) :xyz} 3 2 3.38826392e-110
       
  3414 } {abc: 3 2 ( 3.38826e-110) :xyz}
       
  3415 do_test printf-2.8.15.5 {
       
  3416   sqlite3_mprintf_double {abc: %d %d (% #g) :xyz} 3 2 3.38826392e-110
       
  3417 } {abc: 3 2 ( 3.38826e-110) :xyz}
       
  3418 do_test printf-2.8.15.6 {
       
  3419   sqlite3_mprintf_double {abc: %d %d (%0 10g) :xyz} 3 2 3.38826392e-110
       
  3420 } {abc: 3 2 ( 3.38826e-110) :xyz}
       
  3421 do_test printf-2.8.15.7 {
       
  3422   sqlite3_mprintf_double {abc: %d %d (% 3.2f) :xyz} 3 2 3.38826392e-110
       
  3423 } {abc: 3 2 ( 0.00) :xyz}
       
  3424 do_test printf-2.8.15.8 {
       
  3425   sqlite3_mprintf_double {abc: %d %d (% 3.2e) :xyz} 3 2 3.38826392e-110
       
  3426 } {abc: 3 2 ( 3.39e-110) :xyz}
       
  3427 do_test printf-2.8.15.9 {
       
  3428   sqlite3_mprintf_double {abc: %d %d (% 3.2g) :xyz} 3 2 3.38826392e-110
       
  3429 } {abc: 3 2 ( 3.4e-110) :xyz}
       
  3430 
       
  3431 do_test printf-2.9.1 {
       
  3432   sqlite3_mprintf_double {abc: %d %d (%5.0g) :xyz} 0 0 1.234
       
  3433 } {abc: 0 0 (    1) :xyz}
       
  3434 do_test printf-2.9.2 {
       
  3435   sqlite3_mprintf_double {abc: %d %d (%+5.0g) :xyz} 0 0 1.234
       
  3436 } {abc: 0 0 (   +1) :xyz}
       
  3437 do_test printf-2.9.3 {
       
  3438   sqlite3_mprintf_double {abc: %d %d (%+-5.0g) :xyz} 0 0 1.234
       
  3439 } {abc: 0 0 (+1   ) :xyz}
       
  3440 
       
  3441 do_test printf-2.10.1 {
       
  3442   sqlite3_mprintf_double {abc: %d %d (%-010.5f) :xyz} 0 0 1.234
       
  3443 } {abc: 0 0 (1.23400   ) :xyz}
       
  3444 do_test printf-2.10.2 {
       
  3445   sqlite3_mprintf_double {abc: %d %d (%010.5f) :xyz} 0 0 1.234
       
  3446 } {abc: 0 0 (0001.23400) :xyz}
       
  3447 do_test printf-2.10.3 {
       
  3448   sqlite3_mprintf_double {abc: %d %d (%+010.5f) :xyz} 0 0 1.234
       
  3449 } {abc: 0 0 (+001.23400) :xyz}
       
  3450 
       
  3451 do_test printf-3.1 {
       
  3452   sqlite3_mprintf_str {A String: (%*.*s)} 10 10 {This is the string}
       
  3453 } [format {A String: (%*.*s)} 10 10 {This is the string}]
       
  3454 do_test printf-3.2 {
       
  3455   sqlite3_mprintf_str {A String: (%*.*s)} 10 5 {This is the string}
       
  3456 } [format {A String: (%*.*s)} 10 5 {This is the string}]
       
  3457 do_test printf-3.3 {
       
  3458   sqlite3_mprintf_str {A String: (%*.*s)} -10 5 {This is the string}
       
  3459 } [format {A String: (%*.*s)} -10 5 {This is the string}]
       
  3460 do_test printf-3.4 {
       
  3461   sqlite3_mprintf_str {%d %d A String: (%s)} 1 2 {This is the string}
       
  3462 } [format {%d %d A String: (%s)} 1 2 {This is the string}]
       
  3463 do_test printf-3.5 {
       
  3464   sqlite3_mprintf_str {%d %d A String: (%30s)} 1 2 {This is the string}
       
  3465 } [format {%d %d A String: (%30s)} 1 2 {This is the string}]
       
  3466 do_test printf-3.6 {
       
  3467   sqlite3_mprintf_str {%d %d A String: (%-30s)} 1 2 {This is the string}
       
  3468 } [format {%d %d A String: (%-30s)} 1 2 {This is the string}]
       
  3469 do_test snprintf-3.11 {
       
  3470   sqlite3_snprintf_str 2 {x%d %d %s} 10 10 {This is the string}
       
  3471 } {x}
       
  3472 do_test snprintf-3.12 {
       
  3473   sqlite3_snprintf_str 3 {x%d %d %s} 10 10 {This is the string}
       
  3474 } {x1}
       
  3475 do_test snprintf-3.13 {
       
  3476   sqlite3_snprintf_str 4 {x%d %d %s} 10 10 {This is the string}
       
  3477 } {x10}
       
  3478 do_test snprintf-3.14 {
       
  3479   sqlite3_snprintf_str 5 {x%d %d %s} 10 10 {This is the string}
       
  3480 } {x10 }
       
  3481 do_test snprintf-3.15 {
       
  3482   sqlite3_snprintf_str 6 {x%d %d %s} 10 10 {This is the string}
       
  3483 } {x10 1}
       
  3484 do_test snprintf-3.16 {
       
  3485   sqlite3_snprintf_str 7 {x%d %d %s} 10 10 {This is the string}
       
  3486 } {x10 10}
       
  3487 do_test snprintf-3.17 {
       
  3488   sqlite3_snprintf_str 8 {x%d %d %s} 10 10 {This is the string}
       
  3489 } {x10 10 }
       
  3490 do_test snprintf-3.18 {
       
  3491   sqlite3_snprintf_str 9 {x%d %d %s} 10 10 {This is the string}
       
  3492 } {x10 10 T}
       
  3493 do_test snprintf-3.19 {
       
  3494   sqlite3_snprintf_str 100 {x%d %d %s} 10 10 {This is the string}
       
  3495 } {x10 10 This is the string}
       
  3496 
       
  3497 do_test printf-4.1 {
       
  3498   sqlite3_mprintf_str {%d %d A quoted string: '%q'} 1 2 {Hi Y'all}
       
  3499 } {1 2 A quoted string: 'Hi Y''all'}
       
  3500 do_test printf-4.2 {
       
  3501   sqlite3_mprintf_str {%d %d A NULL pointer in %%q: '%q'} 1 2
       
  3502 } {1 2 A NULL pointer in %q: '(NULL)'}
       
  3503 do_test printf-4.3 {
       
  3504   sqlite3_mprintf_str {%d %d A quoted string: %Q} 1 2 {Hi Y'all}
       
  3505 } {1 2 A quoted string: 'Hi Y''all'}
       
  3506 do_test printf-4.4 {
       
  3507   sqlite3_mprintf_str {%d %d A NULL pointer in %%Q: %Q} 1 2
       
  3508 } {1 2 A NULL pointer in %Q: NULL}
       
  3509 
       
  3510 do_test printf-5.1 {
       
  3511   set x [sqlite3_mprintf_str {%d %d %100000s} 0 0 {Hello}]
       
  3512   string length $x
       
  3513 } {344}
       
  3514 do_test printf-5.2 {
       
  3515   sqlite3_mprintf_str {%d %d (%-10.10s) %} -9 -10 {HelloHelloHello}
       
  3516 } {-9 -10 (HelloHello) %}
       
  3517 
       
  3518 do_test printf-6.1 {
       
  3519   sqlite3_mprintf_z_test , one two three four five six
       
  3520 } {,one,two,three,four,five,six}
       
  3521 
       
  3522 
       
  3523 do_test printf-7.1 {
       
  3524   sqlite3_mprintf_scaled {A double: %g} 1.0e307 1.0
       
  3525 } {A double: 1e+307}
       
  3526 do_test printf-7.2 {
       
  3527   sqlite3_mprintf_scaled {A double: %g} 1.0e307 10.0
       
  3528 } {A double: 1e+308}
       
  3529 do_test printf-7.3 {
       
  3530   sqlite3_mprintf_scaled {A double: %g} 1.0e307 100.0
       
  3531 } {A double: Inf}
       
  3532 do_test printf-7.4 {
       
  3533   sqlite3_mprintf_scaled {A double: %g} -1.0e307 100.0
       
  3534 } {A double: -Inf}
       
  3535 do_test printf-7.5 {
       
  3536   sqlite3_mprintf_scaled {A double: %+g} 1.0e307 100.0
       
  3537 } {A double: +Inf}
       
  3538 
       
  3539 do_test printf-8.1 {
       
  3540   sqlite3_mprintf_int {%u %u %u} 0x7fffffff 0x80000000 0xffffffff
       
  3541 } {2147483647 2147483648 4294967295}
       
  3542 do_test printf-8.2 {
       
  3543   sqlite3_mprintf_int {%lu %lu %lu} 0x7fffffff 0x80000000 0xffffffff
       
  3544 } {2147483647 2147483648 4294967295}
       
  3545 do_test printf-8.3 {
       
  3546   sqlite3_mprintf_int64 {%llu %llu %llu} 2147483647 2147483648 4294967296
       
  3547 } {2147483647 2147483648 4294967296}
       
  3548 do_test printf-8.4 {
       
  3549   sqlite3_mprintf_int64 {%lld %lld %lld} 2147483647 2147483648 4294967296
       
  3550 } {2147483647 2147483648 4294967296}
       
  3551 do_test printf-8.5 {
       
  3552   sqlite3_mprintf_int64 {%llx %llx %llx} 2147483647 2147483648 4294967296
       
  3553 } {7fffffff 80000000 100000000}
       
  3554 do_test printf-8.6 {
       
  3555   sqlite3_mprintf_int64 {%llx %llo %lld} -1 -1 -1
       
  3556 } {ffffffffffffffff 1777777777777777777777 -1}
       
  3557 do_test printf-8.7 {
       
  3558   sqlite3_mprintf_int64 {%llx %llx %llx} +2147483647 +2147483648 +4294967296
       
  3559 } {7fffffff 80000000 100000000}
       
  3560 
       
  3561 do_test printf-9.1 {
       
  3562   sqlite3_mprintf_int {%*.*c} 4 4 65
       
  3563 } {AAAA}
       
  3564 do_test printf-9.2 {
       
  3565   sqlite3_mprintf_int {%*.*c} -4 1 66
       
  3566 } {B   }
       
  3567 do_test printf-9.3 {
       
  3568   sqlite3_mprintf_int {%*.*c} 4 1 67
       
  3569 } {   C}
       
  3570 do_test printf-9.4 {
       
  3571   sqlite3_mprintf_int {%d %d %c} 4 1 67
       
  3572 } {4 1 C}
       
  3573 set ten {          }
       
  3574 set fifty $ten$ten$ten$ten$ten
       
  3575 do_test printf-9.5 {
       
  3576   sqlite3_mprintf_int {%d %*c} 1 -201 67
       
  3577 } "1 C$fifty$fifty$fifty$fifty"
       
  3578 do_test printf-9.6 {
       
  3579   sqlite3_mprintf_int {hi%12345.12346yhello} 0 0 0
       
  3580 } {hi}
       
  3581 
       
  3582 # Ticket #812
       
  3583 #
       
  3584 do_test printf-10.1 {
       
  3585   sqlite3_mprintf_stronly %s {}
       
  3586 } {}
       
  3587 
       
  3588 # Ticket #831
       
  3589 #
       
  3590 do_test printf-10.2 {
       
  3591   sqlite3_mprintf_stronly %q {}
       
  3592 } {}
       
  3593 
       
  3594 # Ticket #1340:  Test for loss of precision on large positive exponents
       
  3595 #
       
  3596 do_test printf-10.3 {
       
  3597   sqlite3_mprintf_double {%d %d %f} 1 1 1e300
       
  3598 } {1 1 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000}
       
  3599 
       
  3600 # The non-standard '!' flag on a 'g' conversion forces a decimal point
       
  3601 # and at least one digit on either side of the decimal point.
       
  3602 #
       
  3603 do_test printf-11.1 {
       
  3604   sqlite3_mprintf_double {%d %d %!g} 1 1 1
       
  3605 } {1 1 1.0}
       
  3606 do_test printf-11.2 {
       
  3607   sqlite3_mprintf_double {%d %d %!g} 1 1 123
       
  3608 } {1 1 123.0}
       
  3609 do_test printf-11.3 {
       
  3610   sqlite3_mprintf_double {%d %d %!g} 1 1 12.3
       
  3611 } {1 1 12.3}
       
  3612 do_test printf-11.4 {
       
  3613   sqlite3_mprintf_double {%d %d %!g} 1 1 0.123
       
  3614 } {1 1 0.123}
       
  3615 do_test printf-11.5 {
       
  3616   sqlite3_mprintf_double {%d %d %!.15g} 1 1 1
       
  3617 } {1 1 1.0}
       
  3618 do_test printf-11.6 {
       
  3619   sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e10
       
  3620 } {1 1 10000000000.0}
       
  3621 do_test printf-11.7 {
       
  3622   sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e300
       
  3623 } {1 1 1.0e+300}
       
  3624 
       
  3625 # Additional tests for coverage
       
  3626 #
       
  3627 do_test printf-12.1 {
       
  3628   sqlite3_mprintf_double {%d %d %.2000g} 1 1 1.0
       
  3629 } {1 1 1}
       
  3630 
       
  3631 # Floating point boundary cases
       
  3632 #
       
  3633 do_test printf-13.1 {
       
  3634   sqlite3_mprintf_hexdouble %.20f 4024000000000000
       
  3635 } {10.00000000000000000000}
       
  3636 do_test printf-13.2 {
       
  3637   sqlite3_mprintf_hexdouble %.20f 4197d78400000000
       
  3638 } {100000000.00000000000000000000}
       
  3639 do_test printf-13.3 {
       
  3640   sqlite3_mprintf_hexdouble %.20f 4693b8b5b5056e17
       
  3641 } {100000000000000000000000000000000.00000000000000000000}
       
  3642 do_test printf-13.4 {
       
  3643   sqlite3_mprintf_hexdouble %.20f 7ff0000000000000
       
  3644 } {Inf}
       
  3645 do_test printf-13.5 {
       
  3646   sqlite3_mprintf_hexdouble %.20f fff0000000000000
       
  3647 } {-Inf}
       
  3648 do_test printf-13.6 {
       
  3649   sqlite3_mprintf_hexdouble %.20f fff8000000000000
       
  3650 } {NaN}
       
  3651 
       
  3652 do_test printf-14.1 {
       
  3653   sqlite3_mprintf_str {abc-%y-123} 0 0 {not used}
       
  3654 } {abc-}
       
  3655 do_test printf-14.2 {
       
  3656   sqlite3_mprintf_n_test {xyzzy}
       
  3657 } 5
       
  3658 do_test printf-14.3 {
       
  3659   sqlite3_mprintf_str {abc-%T-123} 0 0 {not used}
       
  3660 } {abc-}
       
  3661 do_test printf-14.4 {
       
  3662   sqlite3_mprintf_str {abc-%#} 0 0 {not used}
       
  3663 } {abc-}
       
  3664 do_test printf-14.5 {
       
  3665   sqlite3_mprintf_str {abc-%*.*s-xyz} 10 -10 {a_very_long_string}
       
  3666 } {abc-a_very_lon-xyz}
       
  3667 do_test printf-14.6 {
       
  3668   sqlite3_mprintf_str {abc-%5.10/} 0 0 {not used}
       
  3669 } {abc-}
       
  3670 do_test printf-14.7 {
       
  3671   sqlite3_mprintf_str {abc-%05.5d} 123 0 {not used}
       
  3672 } {abc-00123}
       
  3673 do_test printf-14.8 {
       
  3674   sqlite3_mprintf_str {abc-%05.5d} 1234567 0 {not used}
       
  3675 } {abc-1234567}
       
  3676 
       
  3677 for {set i 2} {$i<200} {incr i} {
       
  3678   set res [string repeat { } [expr {$i-1}]]x
       
  3679   do_test printf-14.90.$i "
       
  3680     sqlite3_mprintf_str {%*.*s} $i 500 x
       
  3681   " $res
       
  3682 }
       
  3683 
       
  3684 do_test printf-15.1 {
       
  3685   sqlite3_snprintf_int 5 {12345} 0
       
  3686 } {1234}
       
  3687 do_test printf-15.2 {
       
  3688   sqlite3_snprintf_int 5 {} 0
       
  3689 } {}
       
  3690 do_test printf-15.3 {
       
  3691   sqlite3_snprintf_int 0 {} 0
       
  3692 } {abcdefghijklmnopqrstuvwxyz}
       
  3693 
       
  3694 # Now test malloc() failure within a sqlite3_mprintf():
       
  3695 #
       
  3696 ifcapable memdebug {
       
  3697   foreach var {a b c d} {
       
  3698     set $var [string repeat $var 400]
       
  3699   }
       
  3700   set str1 "[string repeat A 360]%d%d%s"
       
  3701   set str2 [string repeat B 5000]
       
  3702   set zSuccess "[string repeat A 360]11[string repeat B 5000]"
       
  3703   foreach ::iRepeat {0 1} {
       
  3704     set nTestNum 1
       
  3705     while {1} {
       
  3706       sqlite3_memdebug_fail $nTestNum -repeat $::iRepeat
       
  3707       set z [sqlite3_mprintf_str $str1 1 1 $str2]
       
  3708       set nFail [sqlite3_memdebug_fail -1 -benign nBenign]
       
  3709       do_test printf-malloc-$::iRepeat.$nTestNum {
       
  3710         expr {($nFail>0 && $z eq "") || ($nFail==$nBenign && $z eq $zSuccess)}
       
  3711       } {1}
       
  3712       if {$nFail == 0} break
       
  3713       incr nTestNum
       
  3714     }
       
  3715   }
       
  3716 }
       
  3717 
       
  3718 finish_test