PageRenderTime 44ms CodeModel.GetById 10ms app.highlight 21ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/src/sqlite/test/printf.test

#
Unknown | 3755 lines | 3730 code | 25 blank | 0 comment | 0 complexity | 4e9b81831e3368581a54224f96408596 MD5 | raw file
Possible License(s): BSD-3-Clause
   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.31 2009/02/01 00:21:10 drh Exp $
  15
  16set testdir [file dirname $argv0]
  17source $testdir/tester.tcl
  18
  19
  20do_test printf-1.1.1 {
  21  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
  22       1 1 1
  23} {abc: 1 1 1 :xyz}
  24do_test printf-1.1.2 {
  25  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
  26       1 1 1
  27} {abc: (     1) (     1) (     1) :xyz}
  28do_test printf-1.1.3 {
  29  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
  30       1 1 1
  31} {abc: (1     ) (1     ) (1     ) :xyz}
  32do_test printf-1.1.4 {
  33  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
  34       1 1 1
  35} {abc: (    +1) (     1) (     1) :xyz}
  36do_test printf-1.1.5 {
  37  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
  38       1 1 1
  39} {abc: (000001) (000001) (000001) :xyz}
  40do_test printf-1.1.6 {
  41  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
  42       1 1 1
  43} {abc: (     1) (     1) (     1) :xyz}
  44do_test printf-1.1.7 {
  45  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
  46       1 1 1
  47} {abc: (     1) (   0x1) (    01) :xyz}
  48do_test printf-1.2.1 {
  49  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
  50       2 2 2
  51} {abc: 2 2 2 :xyz}
  52do_test printf-1.2.2 {
  53  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
  54       2 2 2
  55} {abc: (     2) (     2) (     2) :xyz}
  56do_test printf-1.2.3 {
  57  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
  58       2 2 2
  59} {abc: (2     ) (2     ) (2     ) :xyz}
  60do_test printf-1.2.4 {
  61  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
  62       2 2 2
  63} {abc: (    +2) (     2) (     2) :xyz}
  64do_test printf-1.2.5 {
  65  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
  66       2 2 2
  67} {abc: (000002) (000002) (000002) :xyz}
  68do_test printf-1.2.6 {
  69  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
  70       2 2 2
  71} {abc: (     2) (     2) (     2) :xyz}
  72do_test printf-1.2.7 {
  73  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
  74       2 2 2
  75} {abc: (     2) (   0x2) (    02) :xyz}
  76do_test printf-1.3.1 {
  77  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
  78       5 5 5
  79} {abc: 5 5 5 :xyz}
  80do_test printf-1.3.2 {
  81  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
  82       5 5 5
  83} {abc: (     5) (     5) (     5) :xyz}
  84do_test printf-1.3.3 {
  85  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
  86       5 5 5
  87} {abc: (5     ) (5     ) (5     ) :xyz}
  88do_test printf-1.3.4 {
  89  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
  90       5 5 5
  91} {abc: (    +5) (     5) (     5) :xyz}
  92do_test printf-1.3.5 {
  93  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
  94       5 5 5
  95} {abc: (000005) (000005) (000005) :xyz}
  96do_test printf-1.3.6 {
  97  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
  98       5 5 5
  99} {abc: (     5) (     5) (     5) :xyz}
 100do_test printf-1.3.7 {
 101  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 102       5 5 5
 103} {abc: (     5) (   0x5) (    05) :xyz}
 104do_test printf-1.4.1 {
 105  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 106       10 10 10
 107} {abc: 10 a 12 :xyz}
 108do_test printf-1.4.2 {
 109  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 110       10 10 10
 111} {abc: (    10) (     a) (    12) :xyz}
 112do_test printf-1.4.3 {
 113  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 114       10 10 10
 115} {abc: (10    ) (a     ) (12    ) :xyz}
 116do_test printf-1.4.4 {
 117  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 118       10 10 10
 119} {abc: (   +10) (     a) (    12) :xyz}
 120do_test printf-1.4.5 {
 121  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 122       10 10 10
 123} {abc: (000010) (00000a) (000012) :xyz}
 124do_test printf-1.4.6 {
 125  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 126       10 10 10
 127} {abc: (    10) (     a) (    12) :xyz}
 128do_test printf-1.4.7 {
 129  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 130       10 10 10
 131} {abc: (    10) (   0xa) (   012) :xyz}
 132do_test printf-1.5.1 {
 133  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 134       99 99 99
 135} {abc: 99 63 143 :xyz}
 136do_test printf-1.5.2 {
 137  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 138       99 99 99
 139} {abc: (    99) (    63) (   143) :xyz}
 140do_test printf-1.5.3 {
 141  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 142       99 99 99
 143} {abc: (99    ) (63    ) (143   ) :xyz}
 144do_test printf-1.5.4 {
 145  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 146       99 99 99
 147} {abc: (   +99) (    63) (   143) :xyz}
 148do_test printf-1.5.5 {
 149  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 150       99 99 99
 151} {abc: (000099) (000063) (000143) :xyz}
 152do_test printf-1.5.6 {
 153  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 154       99 99 99
 155} {abc: (    99) (    63) (   143) :xyz}
 156do_test printf-1.5.7 {
 157  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 158       99 99 99
 159} {abc: (    99) (  0x63) (  0143) :xyz}
 160do_test printf-1.6.1 {
 161  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 162       100 100 100
 163} {abc: 100 64 144 :xyz}
 164do_test printf-1.6.2 {
 165  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 166       100 100 100
 167} {abc: (   100) (    64) (   144) :xyz}
 168do_test printf-1.6.3 {
 169  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 170       100 100 100
 171} {abc: (100   ) (64    ) (144   ) :xyz}
 172do_test printf-1.6.4 {
 173  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 174       100 100 100
 175} {abc: (  +100) (    64) (   144) :xyz}
 176do_test printf-1.6.5 {
 177  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 178       100 100 100
 179} {abc: (000100) (000064) (000144) :xyz}
 180do_test printf-1.6.6 {
 181  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 182       100 100 100
 183} {abc: (   100) (    64) (   144) :xyz}
 184do_test printf-1.6.7 {
 185  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 186       100 100 100
 187} {abc: (   100) (  0x64) (  0144) :xyz}
 188do_test printf-1.7.1 {
 189  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 190       1000000 1000000 1000000
 191} {abc: 1000000 f4240 3641100 :xyz}
 192do_test printf-1.7.2 {
 193  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 194       1000000 1000000 1000000
 195} {abc: (1000000) ( f4240) (3641100) :xyz}
 196do_test printf-1.7.3 {
 197  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 198       1000000 1000000 1000000
 199} {abc: (1000000) (f4240 ) (3641100) :xyz}
 200do_test printf-1.7.4 {
 201  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 202       1000000 1000000 1000000
 203} {abc: (+1000000) ( f4240) (3641100) :xyz}
 204do_test printf-1.7.5 {
 205  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 206       1000000 1000000 1000000
 207} {abc: (1000000) (0f4240) (3641100) :xyz}
 208do_test printf-1.7.6 {
 209  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 210       1000000 1000000 1000000
 211} {abc: ( 1000000) ( f4240) (3641100) :xyz}
 212do_test printf-1.7.7 {
 213  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 214       1000000 1000000 1000000
 215} {abc: (1000000) (0xf4240) (03641100) :xyz}
 216do_test printf-1.8.1 {
 217  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 218       999999999 999999999 999999999
 219} {abc: 999999999 3b9ac9ff 7346544777 :xyz}
 220do_test printf-1.8.2 {
 221  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 222       999999999 999999999 999999999
 223} {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
 224do_test printf-1.8.3 {
 225  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 226       999999999 999999999 999999999
 227} {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
 228do_test printf-1.8.4 {
 229  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 230       999999999 999999999 999999999
 231} {abc: (+999999999) (3b9ac9ff) (7346544777) :xyz}
 232do_test printf-1.8.5 {
 233  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 234       999999999 999999999 999999999
 235} {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
 236do_test printf-1.8.6 {
 237  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 238       999999999 999999999 999999999
 239} {abc: ( 999999999) (3b9ac9ff) (7346544777) :xyz}
 240do_test printf-1.8.7 {
 241  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 242       999999999 999999999 999999999
 243} {abc: (999999999) (0x3b9ac9ff) (07346544777) :xyz}
 244do_test printf-1.9.1 {
 245  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 246       0 0 0
 247} {abc: 0 0 0 :xyz}
 248do_test printf-1.9.2 {
 249  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 250       0 0 0
 251} {abc: (     0) (     0) (     0) :xyz}
 252do_test printf-1.9.3 {
 253  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 254       0 0 0
 255} {abc: (0     ) (0     ) (0     ) :xyz}
 256do_test printf-1.9.4 {
 257  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 258       0 0 0
 259} {abc: (    +0) (     0) (     0) :xyz}
 260do_test printf-1.9.5 {
 261  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 262       0 0 0
 263} {abc: (000000) (000000) (000000) :xyz}
 264do_test printf-1.9.6 {
 265  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 266       0 0 0
 267} {abc: (     0) (     0) (     0) :xyz}
 268do_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
 273do_test printf-1.10.1 {
 274  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 275       0xffffffff 0xffffffff 0xffffffff
 276} {abc: -1 ffffffff 37777777777 :xyz}
 277do_test printf-1.10.2 {
 278  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 279       0xffffffff 0xffffffff 0xffffffff
 280} {abc: (    -1) (ffffffff) (37777777777) :xyz}
 281do_test printf-1.10.3 {
 282  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 283       0xffffffff 0xffffffff 0xffffffff
 284} {abc: (-1    ) (ffffffff) (37777777777) :xyz}
 285do_test printf-1.10.4 {
 286  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 287       0xffffffff 0xffffffff 0xffffffff
 288} {abc: (    -1) (ffffffff) (37777777777) :xyz}
 289do_test printf-1.10.5 {
 290  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 291       0xffffffff 0xffffffff 0xffffffff
 292} {abc: (-00001) (ffffffff) (37777777777) :xyz}
 293do_test printf-1.10.6 {
 294  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 295       0xffffffff 0xffffffff 0xffffffff
 296} {abc: (    -1) (ffffffff) (37777777777) :xyz}
 297do_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
 302do_test printf-1.11.1 {
 303  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 304       0xfffffffe 0xfffffffe 0xfffffffe
 305} {abc: -2 fffffffe 37777777776 :xyz}
 306do_test printf-1.11.2 {
 307  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 308       0xfffffffe 0xfffffffe 0xfffffffe
 309} {abc: (    -2) (fffffffe) (37777777776) :xyz}
 310do_test printf-1.11.3 {
 311  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 312       0xfffffffe 0xfffffffe 0xfffffffe
 313} {abc: (-2    ) (fffffffe) (37777777776) :xyz}
 314do_test printf-1.11.4 {
 315  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 316       0xfffffffe 0xfffffffe 0xfffffffe
 317} {abc: (    -2) (fffffffe) (37777777776) :xyz}
 318do_test printf-1.11.5 {
 319  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 320       0xfffffffe 0xfffffffe 0xfffffffe
 321} {abc: (-00002) (fffffffe) (37777777776) :xyz}
 322do_test printf-1.11.6 {
 323  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 324       0xfffffffe 0xfffffffe 0xfffffffe
 325} {abc: (    -2) (fffffffe) (37777777776) :xyz}
 326do_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
 331do_test printf-1.12.1 {
 332  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 333       0xfffffffb 0xfffffffb 0xfffffffb
 334} {abc: -5 fffffffb 37777777773 :xyz}
 335do_test printf-1.12.2 {
 336  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 337       0xfffffffb 0xfffffffb 0xfffffffb
 338} {abc: (    -5) (fffffffb) (37777777773) :xyz}
 339do_test printf-1.12.3 {
 340  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 341       0xfffffffb 0xfffffffb 0xfffffffb
 342} {abc: (-5    ) (fffffffb) (37777777773) :xyz}
 343do_test printf-1.12.4 {
 344  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 345       0xfffffffb 0xfffffffb 0xfffffffb
 346} {abc: (    -5) (fffffffb) (37777777773) :xyz}
 347do_test printf-1.12.5 {
 348  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 349       0xfffffffb 0xfffffffb 0xfffffffb
 350} {abc: (-00005) (fffffffb) (37777777773) :xyz}
 351do_test printf-1.12.6 {
 352  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 353       0xfffffffb 0xfffffffb 0xfffffffb
 354} {abc: (    -5) (fffffffb) (37777777773) :xyz}
 355do_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
 360do_test printf-1.13.1 {
 361  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 362       0xfffffff6 0xfffffff6 0xfffffff6
 363} {abc: -10 fffffff6 37777777766 :xyz}
 364do_test printf-1.13.2 {
 365  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 366       0xfffffff6 0xfffffff6 0xfffffff6
 367} {abc: (   -10) (fffffff6) (37777777766) :xyz}
 368do_test printf-1.13.3 {
 369  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 370       0xfffffff6 0xfffffff6 0xfffffff6
 371} {abc: (-10   ) (fffffff6) (37777777766) :xyz}
 372do_test printf-1.13.4 {
 373  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 374       0xfffffff6 0xfffffff6 0xfffffff6
 375} {abc: (   -10) (fffffff6) (37777777766) :xyz}
 376do_test printf-1.13.5 {
 377  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 378       0xfffffff6 0xfffffff6 0xfffffff6
 379} {abc: (-00010) (fffffff6) (37777777766) :xyz}
 380do_test printf-1.13.6 {
 381  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 382       0xfffffff6 0xfffffff6 0xfffffff6
 383} {abc: (   -10) (fffffff6) (37777777766) :xyz}
 384do_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
 389do_test printf-1.14.1 {
 390  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 391       0xffffff9d 0xffffff9d 0xffffff9d
 392} {abc: -99 ffffff9d 37777777635 :xyz}
 393do_test printf-1.14.2 {
 394  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 395       0xffffff9d 0xffffff9d 0xffffff9d
 396} {abc: (   -99) (ffffff9d) (37777777635) :xyz}
 397do_test printf-1.14.3 {
 398  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 399       0xffffff9d 0xffffff9d 0xffffff9d
 400} {abc: (-99   ) (ffffff9d) (37777777635) :xyz}
 401do_test printf-1.14.4 {
 402  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 403       0xffffff9d 0xffffff9d 0xffffff9d
 404} {abc: (   -99) (ffffff9d) (37777777635) :xyz}
 405do_test printf-1.14.5 {
 406  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 407       0xffffff9d 0xffffff9d 0xffffff9d
 408} {abc: (-00099) (ffffff9d) (37777777635) :xyz}
 409do_test printf-1.14.6 {
 410  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 411       0xffffff9d 0xffffff9d 0xffffff9d
 412} {abc: (   -99) (ffffff9d) (37777777635) :xyz}
 413do_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
 418do_test printf-1.15.1 {
 419  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 420       0xffffff9c 0xffffff9c 0xffffff9c
 421} {abc: -100 ffffff9c 37777777634 :xyz}
 422do_test printf-1.15.2 {
 423  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 424       0xffffff9c 0xffffff9c 0xffffff9c
 425} {abc: (  -100) (ffffff9c) (37777777634) :xyz}
 426do_test printf-1.15.3 {
 427  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 428       0xffffff9c 0xffffff9c 0xffffff9c
 429} {abc: (-100  ) (ffffff9c) (37777777634) :xyz}
 430do_test printf-1.15.4 {
 431  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 432       0xffffff9c 0xffffff9c 0xffffff9c
 433} {abc: (  -100) (ffffff9c) (37777777634) :xyz}
 434do_test printf-1.15.5 {
 435  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 436       0xffffff9c 0xffffff9c 0xffffff9c
 437} {abc: (-00100) (ffffff9c) (37777777634) :xyz}
 438do_test printf-1.15.6 {
 439  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 440       0xffffff9c 0xffffff9c 0xffffff9c
 441} {abc: (  -100) (ffffff9c) (37777777634) :xyz}
 442do_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
 447do_test printf-1.16.1 {
 448  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
 449       0xff676981 0xff676981 0xff676981
 450} {abc: -9999999 ff676981 37731664601 :xyz}
 451do_test printf-1.16.2 {
 452  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
 453       0xff676981 0xff676981 0xff676981
 454} {abc: (-9999999) (ff676981) (37731664601) :xyz}
 455do_test printf-1.16.3 {
 456  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
 457       0xff676981 0xff676981 0xff676981
 458} {abc: (-9999999) (ff676981) (37731664601) :xyz}
 459do_test printf-1.16.4 {
 460  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
 461       0xff676981 0xff676981 0xff676981
 462} {abc: (-9999999) (ff676981) (37731664601) :xyz}
 463do_test printf-1.16.5 {
 464  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
 465       0xff676981 0xff676981 0xff676981
 466} {abc: (-9999999) (ff676981) (37731664601) :xyz}
 467do_test printf-1.16.6 {
 468  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
 469       0xff676981 0xff676981 0xff676981
 470} {abc: (-9999999) (ff676981) (37731664601) :xyz}
 471do_test printf-1.16.7 {
 472  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
 473       0xff676981 0xff676981 0xff676981
 474} {abc: (-9999999) (0xff676981) (037731664601) :xyz}
 475do_test printf-2.1.1.1 {
 476  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.001
 477} {abc: (0.0) :xyz}
 478do_test printf-2.1.1.2 {
 479  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.001
 480} {abc: (1.0e-03) :xyz}
 481do_test printf-2.1.1.3 {
 482  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.001
 483} {abc: (0.001) :xyz}
 484do_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}
 487do_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}
 490do_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}
 493do_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}
 496do_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}
 499do_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}
 502do_test printf-2.1.2.1 {
 503  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0e-20
 504} {abc: (0.0) :xyz}
 505do_test printf-2.1.2.2 {
 506  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0e-20
 507} {abc: (1.0e-20) :xyz}
 508do_test printf-2.1.2.3 {
 509  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0e-20
 510} {abc: (1e-20) :xyz}
 511do_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}
 514do_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}
 517do_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}
 520do_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}
 523do_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}
 526do_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}
 529do_test printf-2.1.3.1 {
 530  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0
 531} {abc: (1.0) :xyz}
 532do_test printf-2.1.3.2 {
 533  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0
 534} {abc: (1.0e+00) :xyz}
 535do_test printf-2.1.3.3 {
 536  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0
 537} {abc: (1) :xyz}
 538do_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}
 541do_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}
 544do_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}
 547do_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}
 550do_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}
 553do_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}
 556do_test printf-2.1.4.1 {
 557  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.0
 558} {abc: (0.0) :xyz}
 559do_test printf-2.1.4.2 {
 560  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.0
 561} {abc: (0.0e+00) :xyz}
 562do_test printf-2.1.4.3 {
 563  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.0
 564} {abc: (0) :xyz}
 565do_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}
 568do_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}
 571do_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}
 574do_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}
 577do_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}
 580do_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}
 583do_test printf-2.1.5.1 {
 584  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 100.0
 585} {abc: (100.0) :xyz}
 586do_test printf-2.1.5.2 {
 587  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 100.0
 588} {abc: (1.0e+02) :xyz}
 589do_test printf-2.1.5.3 {
 590  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 100.0
 591} {abc: (1e+02) :xyz}
 592do_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}
 595do_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}
 598do_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}
 601do_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}
 604do_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}
 607do_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}
 610do_test printf-2.1.6.1 {
 611  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 9.99999
 612} {abc: (10.0) :xyz}
 613do_test printf-2.1.6.2 {
 614  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.99999
 615} {abc: (1.0e+01) :xyz}
 616do_test printf-2.1.6.3 {
 617  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.99999
 618} {abc: (1e+01) :xyz}
 619do_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}
 622do_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}
 625do_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}
 628do_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}
 631do_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}
 634do_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}
 637do_test printf-2.1.7.1 {
 638  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -0.00543
 639} {abc: (-0.0) :xyz}
 640do_test printf-2.1.7.2 {
 641  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -0.00543
 642} {abc: (-5.4e-03) :xyz}
 643do_test printf-2.1.7.3 {
 644  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -0.00543
 645} {abc: (-0.005) :xyz}
 646do_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}
 649do_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}
 652do_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}
 655do_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}
 658do_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}
 661do_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}
 664do_test printf-2.1.8.1 {
 665  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -1.0
 666} {abc: (-1.0) :xyz}
 667do_test printf-2.1.8.2 {
 668  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -1.0
 669} {abc: (-1.0e+00) :xyz}
 670do_test printf-2.1.8.3 {
 671  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -1.0
 672} {abc: (-1) :xyz}
 673do_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}
 676do_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}
 679do_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}
 682do_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}
 685do_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}
 688do_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}
 691do_test printf-2.1.9.1 {
 692  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -99.99999
 693} {abc: (-100.0) :xyz}
 694do_test printf-2.1.9.2 {
 695  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -99.99999
 696} {abc: (-1.0e+02) :xyz}
 697do_test printf-2.1.9.3 {
 698  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -99.99999
 699} {abc: (-1e+02) :xyz}
 700do_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}
 703do_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}
 706do_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}
 709do_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}
 712do_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}
 715do_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}
 718do_test printf-2.1.10.1 {
 719  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.14e+9
 720} {abc: (3140000000.0) :xyz}
 721do_test printf-2.1.10.2 {
 722  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.14e+9
 723} {abc: (3.1e+09) :xyz}
 724do_test printf-2.1.10.3 {
 725  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.14e+9
 726} {abc: (3e+09) :xyz}
 727do_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}
 730do_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}
 733do_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}
 736do_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}
 739do_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}
 742do_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}
 745do_test printf-2.1.11.2 {
 746  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -4.72732e+88
 747} {abc: (-4.7e+88) :xyz}
 748do_test printf-2.1.11.3 {
 749  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -4.72732e+88
 750} {abc: (-5e+88) :xyz}
 751do_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}
 754do_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}
 757do_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}
 760do_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}
 763do_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}
 766do_test printf-2.1.12.2 {
 767  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.87991e+143
 768} {abc: (9.9e+143) :xyz}
 769do_test printf-2.1.12.3 {
 770  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.87991e+143
 771} {abc: (1e+144) :xyz}
 772do_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}
 775do_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}
 778do_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}
 781do_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}
 784do_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}
 787do_test printf-2.1.13.1 {
 788  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -6.287291e-9
 789} {abc: (-0.0) :xyz}
 790do_test printf-2.1.13.2 {
 791  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -6.287291e-9
 792} {abc: (-6.3e-09) :xyz}
 793do_test printf-2.1.13.3 {
 794  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -6.287291e-9
 795} {abc: (-6e-09) :xyz}
 796do_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}
 799do_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}
 802do_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}
 805do_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}
 808do_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}
 811do_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}
 814do_test printf-2.1.14.1 {
 815  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.38826392e-110
 816} {abc: (0.0) :xyz}
 817do_test printf-2.1.14.2 {
 818  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.38826392e-110
 819} {abc: (3.4e-110) :xyz}
 820do_test printf-2.1.14.3 {
 821  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.38826392e-110
 822} {abc: (3e-110) :xyz}
 823do_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}
 826do_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}
 829do_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}
 832do_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}
 835do_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}
 838do_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}
 841do_test printf-2.2.1.1 {
 842  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.001
 843} {abc: (0.00100) :xyz}
 844do_test printf-2.2.1.2 {
 845  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.001
 846} {abc: (1.00000e-03) :xyz}
 847do_test printf-2.2.1.3 {
 848  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.001
 849} {abc: (0.001) :xyz}
 850do_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}
 853do_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}
 856do_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}
 859do_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}
 862do_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}
 865do_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}
 868do_test printf-2.2.2.1 {
 869  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0e-20
 870} {abc: (0.00000) :xyz}
 871do_test printf-2.2.2.2 {
 872  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0e-20
 873} {abc: (1.00000e-20) :xyz}
 874do_test printf-2.2.2.3 {
 875  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0e-20
 876} {abc: (1e-20) :xyz}
 877do_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}
 880do_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}
 883do_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}
 886do_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}
 889do_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}
 892do_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}
 895do_test printf-2.2.3.1 {
 896  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0
 897} {abc: (1.00000) :xyz}
 898do_test printf-2.2.3.2 {
 899  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0
 900} {abc: (1.00000e+00) :xyz}
 901do_test printf-2.2.3.3 {
 902  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0
 903} {abc: (    1) :xyz}
 904do_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}
 907do_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}
 910do_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}
 913do_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}
 916do_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}
 919do_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}
 922do_test printf-2.2.4.1 {
 923  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.0
 924} {abc: (0.00000) :xyz}
 925do_test printf-2.2.4.2 {
 926  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.0
 927} {abc: (0.00000e+00) :xyz}
 928do_test printf-2.2.4.3 {
 929  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.0
 930} {abc: (    0) :xyz}
 931do_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}
 934do_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}
 937do_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}
 940do_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}
 943do_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}
 946do_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}
 949do_test printf-2.2.5.1 {
 950  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 100.0
 951} {abc: (100.00000) :xyz}
 952do_test printf-2.2.5.2 {
 953  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 100.0
 954} {abc: (1.00000e+02) :xyz}
 955do_test printf-2.2.5.3 {
 956  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 100.0
 957} {abc: (  100) :xyz}
 958do_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}
 961do_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}
 964do_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}
 967do_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}
 970do_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}
 973do_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}
 976do_test printf-2.2.6.1 {
 977  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 9.99999
 978} {abc: (9.99999) :xyz}
 979do_test printf-2.2.6.2 {
 980  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.99999
 981} {abc: (9.99999e+00) :xyz}
 982do_test printf-2.2.6.3 {
 983  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.99999
 984} {abc: (   10) :xyz}
 985do_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}
 988do_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}
 991do_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}
 994do_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}
 997do_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}
1000do_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}
1003do_test printf-2.2.7.1 {
1004  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -0.00543
1005} {abc: (-0.00543) :xyz}
1006do_test printf-2.2.7.2 {
1007  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -0.00543
1008} {abc: (-5.43000e-03) :xyz}
1009do_test printf-2.2.7.3 {
1010  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -0.00543
1011} {abc: (-0.00543) :xyz}
1012do_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}
1015do_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}
1018do_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}
1021do_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}
1024do_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}
1027do_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}
1030do_test printf-2.2.8.1 {
1031  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -1.0
1032} {abc: (-1.00000) :xyz}
1033do_test printf-2.2.8.2 {
1034  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -1.0
1035} {abc: (-1.00000e+00) :xyz}
1036do_test printf-2.2.8.3 {
1037  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -1.0
1038} {abc: (   -1) :xyz}
1039do_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}
1042do_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}
1045do_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}
1048do_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}
1051do_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}
1054do_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}
1057do_test printf-2.2.9.1 {
1058  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -99.99999
1059} {abc: (-99.99999) :xyz}
1060do_test printf-2.2.9.2 {
1061  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -99.99999
1062} {abc: (-1.00000e+02) :xyz}
1063do_test printf-2.2.9.3 {
1064  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -99.99999
1065} {abc: ( -100) :xyz}
1066do_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}
1069do_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}
1072do_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}
1075do_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}
1078do_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}
1081do_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}
1084do_test printf-2.2.10.1 {
1085  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.14e+9
1086} {abc: (3140000000.00000) :xyz}
1087do_test printf-2.2.10.2 {
1088  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.14e+9
1089} {abc: (3.14000e+09) :xyz}
1090do_test printf-2.2.10.3 {
1091  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.14e+9
1092} {abc: (3.14e+09) :xyz}
1093do_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}
1096do_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}
1099do_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}
1102do_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}
1105do_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}
1108do_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}
1111do_test printf-2.2.11.2 {
1112  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -4.72732e+88
1113} {abc: (-4.72732e+88) :xyz}
1114do_test printf-2.2.11.3 {
1115  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -4.72732e+88
1116} {abc: (-4.7273e+88) :xyz}
1117do_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}
1120do_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}
1123do_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}
1126do_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}
1129do_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}
1132do_test printf-2.2.12.2 {
1133  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.87991e+143
1134} {abc: (9.87991e+143) :xyz}
1135do_test printf-2.2.12.3 {
1136  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.87991e+143
1137} {abc: (9.8799e+143) :xyz}
1138do_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}
1141do_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}
1144do_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}
1147do_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}
1150do_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}
1153do_test printf-2.2.13.1 {
1154  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -6.287291e-9
1155} {abc: (-0.00000) :xyz}
1156do_test printf-2.2.13.2 {
1157  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -6.287291e-9
1158} {abc: (-6.28729e-09) :xyz}
1159do_test printf-2.2.13.3 {
1160  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -6.287291e-9
1161} {abc: (-6.2873e-09) :xyz}
1162do_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}
1165do_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}
1168do_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}
1171do_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}
1174do_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}
1177do_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}
1180do_test printf-2.2.14.1 {
1181  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.38826392e-110
1182} {abc: (0.00000) :xyz}
1183do_test printf-2.2.14.2 {
1184  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.38826392e-110
1185} {abc: (3.38826e-110) :xyz}
1186do_test printf-2.2.14.3 {
1187  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.38826392e-110
1188} {abc: (3.3883e-110) :xyz}
1189do_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}
1192do_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}
1195do_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}
1198do_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}
1201do_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}
1204do_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}
1207do_test printf-2.3.1.1 {
1208  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.001
1209} {abc: (0.0010000000) :xyz}
1210do_test printf-2.3.1.2 {
1211  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.001
1212} {abc: (1.0000000000e-03) :xyz}
1213do_test printf-2.3.1.3 {
1214  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.001
1215} {abc: (     0.001) :xyz}
1216do_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}
1219do_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}
1222do_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}
1225do_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}
1228do_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}
1231do_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}
1234do_test printf-2.3.2.1 {
1235  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0e-20
1236} {abc: (0.0000000000) :xyz}
1237do_test printf-2.3.2.2 {
1238  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0e-20
1239} {abc: (1.0000000000e-20) :xyz}
1240do_test printf-2.3.2.3 {
1241  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0e-20
1242} {abc: (     1e-20) :xyz}
1243do_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}
1246do_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}
1249do_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}
1252do_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}
1255do_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}
1258do_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}
1261do_test printf-2.3.3.1 {
1262  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0
1263} {abc: (1.0000000000) :xyz}
1264do_test printf-2.3.3.2 {
1265  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0
1266} {abc: (1.0000000000e+00) :xyz}
1267do_test printf-2.3.3.3 {
1268  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0
1269} {abc: (         1) :xyz}
1270do_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}
1273do_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}
1276do_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}
1279do_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}
1282do_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}
1285do_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}
1288do_test printf-2.3.4.1 {
1289  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.0
1290} {abc: (0.0000000000) :xyz}
1291do_test printf-2.3.4.2 {
1292  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.0
1293} {abc: (0.0000000000e+00) :xyz}
1294do_test printf-2.3.4.3 {
1295  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.0
1296} {abc: (         0) :xyz}
1297do_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}
1300do_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}
1303do_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}
1306do_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}
1309do_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}
1312do_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}
1315do_test printf-2.3.5.1 {
1316  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 100.0
1317} {abc: (100.0000000000) :xyz}
1318do_test printf-2.3.5.2 {
1319  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 100.0
1320} {abc: (1.0000000000e+02) :xyz}
1321do_test printf-2.3.5.3 {
1322  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 100.0
1323} {abc: (       100) :xyz}
1324do_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}
1327do_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}
1330do_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}
1333do_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}
1336do_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}
1339do_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}
1342do_test printf-2.3.6.1 {
1343  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 9.99999
1344} {abc: (9.9999900000) :xyz}
1345do_test printf-2.3.6.2 {
1346  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.99999
1347} {abc: (9.9999900000e+00) :xyz}
1348do_test printf-2.3.6.3 {
1349  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.99999
1350} {abc: (   9.99999) :xyz}
1351do_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}
1354do_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}
1357do_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}
1360do_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}
1363do_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}
1366do_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}
1369do_test printf-2.3.7.1 {
1370  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -0.00543
1371} {abc: (-0.0054300000) :xyz}
1372do_test printf-2.3.7.2 {
1373  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -0.00543
1374} {abc: (-5.4300000000e-03) :xyz}
1375do_test printf-2.3.7.3 {
1376  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -0.00543
1377} {abc: (  -0.00543) :xyz}
1378do_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}
1381do_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}
1384do_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}
1387do_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}
1390do_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}
1393do_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}
1396do_test printf-2.3.8.1 {
1397  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -1.0
1398} {abc: (-1.0000000000) :xyz}
1399do_test printf-2.3.8.2 {
1400  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -1.0
1401} {abc: (-1.0000000000e+00) :xyz}
1402do_test printf-2.3.8.3 {
1403  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -1.0
1404} {abc: (        -1) :xyz}
1405do_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}
1408do_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}
1411do_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}
1414do_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}
1417do_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}
1420do_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}
1423do_test printf-2.3.9.1 {
1424  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -99.99999
1425} {abc: (-99.9999900000) :xyz}
1426do_test printf-2.3.9.2 {
1427  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -99.99999
1428} {abc: (-9.9999990000e+01) :xyz}
1429do_test printf-2.3.9.3 {
1430  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -99.99999
1431} {abc: ( -99.99999) :xyz}
1432do_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}
1435do_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}
1438do_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}
1441do_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}
1444do_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}
1447do_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}
1450do_test printf-2.3.10.1 {
1451  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.14e+9
1452} {abc: (3140000000.0000000000) :xyz}
1453do_test printf-2.3.10.2 {
1454  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.14e+9
1455} {abc: (3.1400000000e+09) :xyz}
1456do_test printf-2.3.10.3 {
1457  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.14e+9
1458} {abc: (3140000000) :xyz}
1459do_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}
1462do_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}
1465do_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}
1468do_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}
1471do_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}
1474do_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}
1477do_test printf-2.3.11.2 {
1478  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -4.72732e+88
1479} {abc: (-4.7273200000e+88) :xyz}
1480do_test printf-2.3.11.3 {
1481  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -4.72732e+88
1482} {abc: (-4.72732e+88) :xyz}
1483do_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}
1486do_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}
1489do_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}
1492do_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}
1495do_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}
1498do_test printf-2.3.12.2 {
1499  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.87991e+143
1500} {abc: (9.8799100000e+143) :xyz}
1501do_test printf-2.3.12.3 {
1502  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.87991e+143
1503} {abc: (9.87991e+143) :xyz}
1504do_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}
1507do_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}
1510do_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}
1513do_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}
1516do_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}
1519do_test printf-2.3.13.1 {
1520  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -6.287291e-9
1521} {abc: (-0.0000000063) :xyz}
1522do_test printf-2.3.13.2 {
1523  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -6.287291e-9
1524} {abc: (-6.2872910000e-09) :xyz}
1525do_test printf-2.3.13.3 {
1526  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -6.287291e-9
1527} {abc: (-6.287291e-09) :xyz}
1528do_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}
1531do_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}
1534do_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}
1537do_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}
1540do_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}
1543do_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}
1546do_test printf-2.3.14.1 {
1547  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.38826392e-110
1548} {abc: (0.0000000000) :xyz}
1549do_test printf-2.3.14.2 {
1550  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.38826392e-110
1551} {abc: (3.3882639200e-110) :xyz}
1552do_test printf-2.3.14.3 {
1553  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.38826392e-110
1554} {abc: (3.38826392e-110) :xyz}
1555do_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}
1558do_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}
1561do_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}
1564do_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}
1567do_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}
1570do_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}
1573do_test printf-2.4.1.1 {
1574  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.001
1575} {abc: (   0.00100) :xyz}
1576do_test printf-2.4.1.2 {
1577  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.001
1578} {abc: (1.00000e-03) :xyz}
1579do_test printf-2.4.1.3 {
1580  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.001
1581} {abc: (     0.001) :xyz}
1582do_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}
1585do_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}
1588do_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}
1591do_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}
1594do_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}
1597do_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}
1600do_test printf-2.4.2.1 {
1601  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0e-20
1602} {abc: (   0.00000) :xyz}
1603do_test printf-2.4.2.2 {
1604  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0e-20
1605} {abc: (1.00000e-20) :xyz}
1606do_test printf-2.4.2.3 {
1607  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0e-20
1608} {abc: (     1e-20) :xyz}
1609do_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}
1612do_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}
1615do_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}
1618do_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}
1621do_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}
1624do_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}
1627do_test printf-2.4.3.1 {
1628  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0
1629} {abc: (   1.00000) :xyz}
1630do_test printf-2.4.3.2 {
1631  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0
1632} {abc: (1.00000e+00) :xyz}
1633do_test printf-2.4.3.3 {
1634  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0
1635} {abc: (         1) :xyz}
1636do_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}
1639do_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}
1642do_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}
1645do_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}
1648do_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}
1651do_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}
1654do_test printf-2.4.4.1 {
1655  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.0
1656} {abc: (   0.00000) :xyz}
1657do_test printf-2.4.4.2 {
1658  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.0
1659} {abc: (0.00000e+00) :xyz}
1660do_test printf-2.4.4.3 {
1661  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.0
1662} {abc: (         0) :xyz}
1663do_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}
1666do_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}
1669do_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}
1672do_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}
1675do_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}
1678do_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}
1681do_test printf-2.4.5.1 {
1682  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 100.0
1683} {abc: ( 100.00000) :xyz}
1684do_test printf-2.4.5.2 {
1685  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 100.0
1686} {abc: (1.00000e+02) :xyz}
1687do_test printf-2.4.5.3 {
1688  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 100.0
1689} {abc: (       100) :xyz}
1690do_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}
1693do_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}
1696do_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}
1699do_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}
1702do_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}
1705do_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}
1708do_test printf-2.4.6.1 {
1709  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 9.99999
1710} {abc: (   9.99999) :xyz}
1711do_test printf-2.4.6.2 {
1712  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.99999
1713} {abc: (9.99999e+00) :xyz}
1714do_test printf-2.4.6.3 {
1715  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.99999
1716} {abc: (        10) :xyz}
1717do_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}
1720do_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}
1723do_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}
1726do_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}
1729do_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}
1732do_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}
1735do_test printf-2.4.7.1 {
1736  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -0.00543
1737} {abc: (  -0.00543) :xyz}
1738do_test printf-2.4.7.2 {
1739  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -0.00543
1740} {abc: (-5.43000e-03) :xyz}
1741do_test printf-2.4.7.3 {
1742  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -0.00543
1743} {abc: (  -0.00543) :xyz}
1744do_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}
1747do_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}
1750do_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}
1753do_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}
1756do_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}
1759do_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}
1762do_test printf-2.4.8.1 {
1763  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -1.0
1764} {abc: (  -1.00000) :xyz}
1765do_test printf-2.4.8.2 {
1766  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -1.0
1767} {abc: (-1.00000e+00) :xyz}
1768do_test printf-2.4.8.3 {
1769  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -1.0
1770} {abc: (        -1) :xyz}
1771do_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}
1774do_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}
1777do_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}
1780do_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}
1783do_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}
1786do_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}
1789do_test printf-2.4.9.1 {
1790  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -99.99999
1791} {abc: ( -99.99999) :xyz}
1792do_test printf-2.4.9.2 {
1793  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -99.99999
1794} {abc: (-1.00000e+02) :xyz}
1795do_test printf-2.4.9.3 {
1796  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -99.99999
1797} {abc: (      -100) :xyz}
1798do_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}
1801do_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}
1804do_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}
1807do_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}
1810do_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}
1813do_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}
1816do_test printf-2.4.10.1 {
1817  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.14e+9
1818} {abc: (3140000000.00000) :xyz}
1819do_test printf-2.4.10.2 {
1820  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.14e+9
1821} {abc: (3.14000e+09) :xyz}
1822do_test printf-2.4.10.3 {
1823  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.14e+9
1824} {abc: (  3.14e+09) :xyz}
1825do_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}
1828do_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}
1831do_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}
1834do_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}
1837do_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}
1840do_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}
1843do_test printf-2.4.11.2 {
1844  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -4.72732e+88
1845} {abc: (-4.72732e+88) :xyz}
1846do_test printf-2.4.11.3 {
1847  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -4.72732e+88
1848} {abc: (-4.7273e+88) :xyz}
1849do_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}
1852do_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}
1855do_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}
1858do_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}
1861do_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}
1864do_test printf-2.4.12.2 {
1865  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.87991e+143
1866} {abc: (9.87991e+143) :xyz}
1867do_test printf-2.4.12.3 {
1868  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.87991e+143
1869} {abc: (9.8799e+143) :xyz}
1870do_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}
1873do_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}
1876do_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}
1879do_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}
1882do_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}
1885do_test printf-2.4.13.1 {
1886  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -6.287291e-9
1887} {abc: (  -0.00000) :xyz}
1888do_test printf-2.4.13.2 {
1889  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -6.287291e-9
1890} {abc: (-6.28729e-09) :xyz}
1891do_test printf-2.4.13.3 {
1892  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -6.287291e-9
1893} {abc: (-6.2873e-09) :xyz}
1894do_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}
1897do_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}
1900do_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}
1903do_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}
1906do_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}
1909do_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}
1912do_test printf-2.4.14.1 {
1913  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.38826392e-110
1914} {abc: (   0.00000) :xyz}
1915do_test printf-2.4.14.2 {
1916  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.38826392e-110
1917} {abc: (3.38826e-110) :xyz}
1918do_test printf-2.4.14.3 {
1919  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.38826392e-110
1920} {abc: (3.3883e-110) :xyz}
1921do_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}
1924do_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}
1927do_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}
1930do_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}
1933do_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}
1936do_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}
1939do_test printf-2.5.1.1 {
1940  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.001
1941} {abc: (0.00) :xyz}
1942do_test printf-2.5.1.2 {
1943  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.001
1944} {abc: (1.00e-03) :xyz}
1945do_test printf-2.5.1.3 {
1946  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.001
1947} {abc: (0.001) :xyz}
1948do_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}
1951do_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}
1954do_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}
1957do_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}
1960do_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}
1963do_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}
1966do_test printf-2.5.2.1 {
1967  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0e-20
1968} {abc: (0.00) :xyz}
1969do_test printf-2.5.2.2 {
1970  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0e-20
1971} {abc: (1.00e-20) :xyz}
1972do_test printf-2.5.2.3 {
1973  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0e-20
1974} {abc: (1e-20) :xyz}
1975do_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}
1978do_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}
1981do_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}
1984do_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}
1987do_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}
1990do_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}
1993do_test printf-2.5.3.1 {
1994  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0
1995} {abc: (1.00) :xyz}
1996do_test printf-2.5.3.2 {
1997  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0
1998} {abc: (1.00e+00) :xyz}
1999do_test printf-2.5.3.3 {
2000  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0
2001} {abc: ( 1) :xyz}
2002do_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}
2005do_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}
2008do_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}
2011do_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}
2014do_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}
2017do_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}
2020do_test printf-2.5.4.1 {
2021  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.0
2022} {abc: (0.00) :xyz}
2023do_test printf-2.5.4.2 {
2024  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.0
2025} {abc: (0.00e+00) :xyz}
2026do_test printf-2.5.4.3 {
2027  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.0
2028} {abc: ( 0) :xyz}
2029do_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}
2032do_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}
2035do_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}
2038do_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}
2041do_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}
2044do_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}
2047do_test printf-2.5.5.1 {
2048  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 100.0
2049} {abc: (100.00) :xyz}
2050do_test printf-2.5.5.2 {
2051  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 100.0
2052} {abc: (1.00e+02) :xyz}
2053do_test printf-2.5.5.3 {
2054  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 100.0
2055} {abc: (1e+02) :xyz}
2056do_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}
2059do_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}
2062do_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}
2065do_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}
2068do_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}
2071do_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}
2074do_test printf-2.5.6.1 {
2075  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 9.99999
2076} {abc: (10.00) :xyz}
2077do_test printf-2.5.6.2 {
2078  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.99999
2079} {abc: (1.00e+01) :xyz}
2080do_test printf-2.5.6.3 {
2081  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.99999
2082} {abc: (10) :xyz}
2083do_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}
2086do_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}
2089do_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}
2092do_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}
2095do_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}
2098do_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}
2101do_test printf-2.5.7.1 {
2102  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -0.00543
2103} {abc: (-0.01) :xyz}
2104do_test printf-2.5.7.2 {
2105  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -0.00543
2106} {abc: (-5.43e-03) :xyz}
2107do_test printf-2.5.7.3 {
2108  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -0.00543
2109} {abc: (-0.0054) :xyz}
2110do_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}
2113do_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}
2116do_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}
2119do_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}
2122do_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}
2125do_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}
2128do_test printf-2.5.8.1 {
2129  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -1.0
2130} {abc: (-1.00) :xyz}
2131do_test printf-2.5.8.2 {
2132  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -1.0
2133} {abc: (-1.00e+00) :xyz}
2134do_test printf-2.5.8.3 {
2135  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -1.0
2136} {abc: (-1) :xyz}
2137do_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}
2140do_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}
2143do_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}
2146do_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}
2149do_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}
2152do_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}
2155do_test printf-2.5.9.1 {
2156  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -99.99999
2157} {abc: (-100.00) :xyz}
2158do_test printf-2.5.9.2 {
2159  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -99.99999
2160} {abc: (-1.00e+02) :xyz}
2161do_test printf-2.5.9.3 {
2162  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -99.99999
2163} {abc: (-1e+02) :xyz}
2164do_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}
2167do_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}
2170do_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}
2173do_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}
2176do_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}
2179do_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}
2182do_test printf-2.5.10.1 {
2183  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.14e+9
2184} {abc: (3140000000.00) :xyz}
2185do_test printf-2.5.10.2 {
2186  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.14e+9
2187} {abc: (3.14e+09) :xyz}
2188do_test printf-2.5.10.3 {
2189  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.14e+9
2190} {abc: (3.1e+09) :xyz}
2191do_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}
2194do_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}
2197do_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}
2200do_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}
2203do_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}
2206do_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}
2209do_test printf-2.5.11.2 {
2210  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -4.72732e+88
2211} {abc: (-4.73e+88) :xyz}
2212do_test printf-2.5.11.3 {
2213  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -4.72732e+88
2214} {abc: (-4.7e+88) :xyz}
2215do_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}
2218do_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}
2221do_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}
2224do_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}
2227do_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}
2230do_test printf-2.5.12.2 {
2231  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.87991e+143
2232} {abc: (9.88e+143) :xyz}
2233do_test printf-2.5.12.3 {
2234  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.87991e+143
2235} {abc: (9.9e+143) :xyz}
2236do_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}
2239do_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}
2242do_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}
2245do_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}
2248do_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}
2251do_test printf-2.5.13.1 {
2252  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -6.287291e-9
2253} {abc: (-0.00) :xyz}
2254do_test printf-2.5.13.2 {
2255  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -6.287291e-9
2256} {abc: (-6.29e-09) :xyz}
2257do_test printf-2.5.13.3 {
2258  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -6.287291e-9
2259} {abc: (-6.3e-09) :xyz}
2260do_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}
2263do_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}
2266do_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}
2269do_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}
2272do_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}
2275do_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}
2278do_test printf-2.5.14.1 {
2279  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.38826392e-110
2280} {abc: (0.00) :xyz}
2281do_test printf-2.5.14.2 {
2282  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.38826392e-110
2283} {abc: (3.39e-110) :xyz}
2284do_test printf-2.5.14.3 {
2285  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.38826392e-110
2286} {abc: (3.4e-110) :xyz}
2287do_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}
2290do_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}
2293do_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}
2296do_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}
2299do_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}
2302do_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}
2305do_test printf-2.6.1.1 {
2306  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.001
2307} {abc: (0.001) :xyz}
2308do_test printf-2.6.1.2 {
2309  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.001
2310} {abc: (1.000e-03) :xyz}
2311do_test printf-2.6.1.3 {
2312  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.001
2313} {abc: (0.001) :xyz}
2314do_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}
2317do_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}
2320do_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}
2323do_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}
2326do_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}
2329do_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}
2332do_test printf-2.6.2.1 {
2333  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0e-20
2334} {abc: (0.000) :xyz}
2335do_test printf-2.6.2.2 {
2336  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0e-20
2337} {abc: (1.000e-20) :xyz}
2338do_test printf-2.6.2.3 {
2339  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0e-20
2340} {abc: (1e-20) :xyz}
2341do_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}
2344do_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}
2347do_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}
2350do_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}
2353do_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}
2356do_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}
2359do_test printf-2.6.3.1 {
2360  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0
2361} {abc: (1.000) :xyz}
2362do_test printf-2.6.3.2 {
2363  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0
2364} {abc: (1.000e+00) :xyz}
2365do_test printf-2.6.3.3 {
2366  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0
2367} {abc: ( 1) :xyz}
2368do_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}
2371do_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}
2374do_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}
2377do_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}
2380do_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}
2383do_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}
2386do_test printf-2.6.4.1 {
2387  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.0
2388} {abc: (0.000) :xyz}
2389do_test printf-2.6.4.2 {
2390  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.0
2391} {abc: (0.000e+00) :xyz}
2392do_test printf-2.6.4.3 {
2393  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.0
2394} {abc: ( 0) :xyz}
2395do_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}
2398do_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}
2401do_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}
2404do_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}
2407do_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}
2410do_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}
2413do_test printf-2.6.5.1 {
2414  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 100.0
2415} {abc: (100.000) :xyz}
2416do_test printf-2.6.5.2 {
2417  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 100.0
2418} {abc: (1.000e+02) :xyz}
2419do_test printf-2.6.5.3 {
2420  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 100.0
2421} {abc: (100) :xyz}
2422do_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}
2425do_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}
2428do_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}
2431do_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}
2434do_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}
2437do_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}
2440do_test printf-2.6.6.1 {
2441  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 9.99999
2442} {abc: (10.000) :xyz}
2443do_test printf-2.6.6.2 {
2444  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.99999
2445} {abc: (1.000e+01) :xyz}
2446do_test printf-2.6.6.3 {
2447  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.99999
2448} {abc: (10) :xyz}
2449do_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}
2452do_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}
2455do_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}
2458do_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}
2461do_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}
2464do_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}
2467do_test printf-2.6.7.1 {
2468  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -0.00543
2469} {abc: (-0.005) :xyz}
2470do_test printf-2.6.7.2 {
2471  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -0.00543
2472} {abc: (-5.430e-03) :xyz}
2473do_test printf-2.6.7.3 {
2474  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -0.00543
2475} {abc: (-0.00543) :xyz}
2476do_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}
2479do_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}
2482do_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}
2485do_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}
2488do_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}
2491do_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}
2494do_test printf-2.6.8.1 {
2495  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -1.0
2496} {abc: (-1.000) :xyz}
2497do_test printf-2.6.8.2 {
2498  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -1.0
2499} {abc: (-1.000e+00) :xyz}
2500do_test printf-2.6.8.3 {
2501  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -1.0
2502} {abc: (-1) :xyz}
2503do_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}
2506do_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}
2509do_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}
2512do_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}
2515do_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}
2518do_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}
2521do_test printf-2.6.9.1 {
2522  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -99.99999
2523} {abc: (-100.000) :xyz}
2524do_test printf-2.6.9.2 {
2525  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -99.99999
2526} {abc: (-1.000e+02) :xyz}
2527do_test printf-2.6.9.3 {
2528  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -99.99999
2529} {abc: (-100) :xyz}
2530do_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}
2533do_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}
2536do_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}
2539do_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}
2542do_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}
2545do_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}
2548do_test printf-2.6.10.1 {
2549  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.14e+9
2550} {abc: (3140000000.000) :xyz}
2551do_test printf-2.6.10.2 {
2552  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.14e+9
2553} {abc: (3.140e+09) :xyz}
2554do_test printf-2.6.10.3 {
2555  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.14e+9
2556} {abc: (3.14e+09) :xyz}
2557do_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}
2560do_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}
2563do_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}
2566do_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}
2569do_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}
2572do_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}
2575do_test printf-2.6.11.2 {
2576  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -4.72732e+88
2577} {abc: (-4.727e+88) :xyz}
2578do_test printf-2.6.11.3 {
2579  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -4.72732e+88
2580} {abc: (-4.73e+88) :xyz}
2581do_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}
2584do_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}
2587do_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}
2590do_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}
2593do_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}
2596do_test printf-2.6.12.2 {
2597  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.87991e+143
2598} {abc: (9.880e+143) :xyz}
2599do_test printf-2.6.12.3 {
2600  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.87991e+143
2601} {abc: (9.88e+143) :xyz}
2602do_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}
2605do_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}
2608do_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}
2611do_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}
2614do_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}
2617do_test printf-2.6.13.1 {
2618  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -6.287291e-9
2619} {abc: (-0.000) :xyz}
2620do_test printf-2.6.13.2 {
2621  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -6.287291e-9
2622} {abc: (-6.287e-09) :xyz}
2623do_test printf-2.6.13.3 {
2624  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -6.287291e-9
2625} {abc: (-6.29e-09) :xyz}
2626do_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}
2629do_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}
2632do_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}
2635do_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}
2638do_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}
2641do_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}
2644do_test printf-2.6.14.1 {
2645  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.38826392e-110
2646} {abc: (0.000) :xyz}
2647do_test printf-2.6.14.2 {
2648  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.38826392e-110
2649} {abc: (3.388e-110) :xyz}
2650do_test printf-2.6.14.3 {
2651  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.38826392e-110
2652} {abc: (3.39e-110) :xyz}
2653do_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}
2656do_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}
2659do_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}
2662do_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}
2665do_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}
2668do_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}
2671do_test printf-2.7.1.1 {
2672  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.001
2673} {abc: (0.001) :xyz}
2674do_test printf-2.7.1.2 {
2675  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.001
2676} {abc: (1.000e-03) :xyz}
2677do_test printf-2.7.1.3 {
2678  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.001
2679} {abc: (0.001) :xyz}
2680do_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}
2683do_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}
2686do_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}
2689do_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}
2692do_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}
2695do_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}
2698do_test printf-2.7.2.1 {
2699  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0e-20
2700} {abc: (0.000) :xyz}
2701do_test printf-2.7.2.2 {
2702  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0e-20
2703} {abc: (1.000e-20) :xyz}
2704do_test printf-2.7.2.3 {
2705  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0e-20
2706} {abc: (1e-20) :xyz}
2707do_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}
2710do_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}
2713do_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}
2716do_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}
2719do_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}
2722do_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}
2725do_test printf-2.7.3.1 {
2726  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0
2727} {abc: (1.000) :xyz}
2728do_test printf-2.7.3.2 {
2729  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0
2730} {abc: (1.000e+00) :xyz}
2731do_test printf-2.7.3.3 {
2732  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0
2733} {abc: (  1) :xyz}
2734do_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}
2737do_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}
2740do_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}
2743do_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}
2746do_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}
2749do_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}
2752do_test printf-2.7.4.1 {
2753  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.0
2754} {abc: (0.000) :xyz}
2755do_test printf-2.7.4.2 {
2756  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.0
2757} {abc: (0.000e+00) :xyz}
2758do_test printf-2.7.4.3 {
2759  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.0
2760} {abc: (  0) :xyz}
2761do_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}
2764do_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}
2767do_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}
2770do_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}
2773do_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}
2776do_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}
2779do_test printf-2.7.5.1 {
2780  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 100.0
2781} {abc: (100.000) :xyz}
2782do_test printf-2.7.5.2 {
2783  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 100.0
2784} {abc: (1.000e+02) :xyz}
2785do_test printf-2.7.5.3 {
2786  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 100.0
2787} {abc: (100) :xyz}
2788do_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}
2791do_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}
2794do_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}
2797do_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}
2800do_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}
2803do_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}
2806do_test printf-2.7.6.1 {
2807  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 9.99999
2808} {abc: (10.000) :xyz}
2809do_test printf-2.7.6.2 {
2810  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.99999
2811} {abc: (1.000e+01) :xyz}
2812do_test printf-2.7.6.3 {
2813  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.99999
2814} {abc: ( 10) :xyz}
2815do_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}
2818do_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}
2821do_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}
2824do_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}
2827do_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}
2830do_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}
2833do_test printf-2.7.7.1 {
2834  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -0.00543
2835} {abc: (-0.005) :xyz}
2836do_test printf-2.7.7.2 {
2837  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -0.00543
2838} {abc: (-5.430e-03) :xyz}
2839do_test printf-2.7.7.3 {
2840  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -0.00543
2841} {abc: (-0.00543) :xyz}
2842do_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}
2845do_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}
2848do_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}
2851do_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}
2854do_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}
2857do_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}
2860do_test printf-2.7.8.1 {
2861  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -1.0
2862} {abc: (-1.000) :xyz}
2863do_test printf-2.7.8.2 {
2864  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -1.0
2865} {abc: (-1.000e+00) :xyz}
2866do_test printf-2.7.8.3 {
2867  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -1.0
2868} {abc: ( -1) :xyz}
2869do_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}
2872do_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}
2875do_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}
2878do_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}
2881do_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}
2884do_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}
2887do_test printf-2.7.9.1 {
2888  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -99.99999
2889} {abc: (-100.000) :xyz}
2890do_test printf-2.7.9.2 {
2891  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -99.99999
2892} {abc: (-1.000e+02) :xyz}
2893do_test printf-2.7.9.3 {
2894  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -99.99999
2895} {abc: (-100) :xyz}
2896do_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}
2899do_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}
2902do_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}
2905do_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}
2908do_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}
2911do_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}
2914do_test printf-2.7.10.1 {
2915  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.14e+9
2916} {abc: (3140000000.000) :xyz}
2917do_test printf-2.7.10.2 {
2918  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.14e+9
2919} {abc: (3.140e+09) :xyz}
2920do_test printf-2.7.10.3 {
2921  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.14e+9
2922} {abc: (3.14e+09) :xyz}
2923do_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}
2926do_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}
2929do_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}
2932do_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}
2935do_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}
2938do_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}
2941do_test printf-2.7.11.2 {
2942  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -4.72732e+88
2943} {abc: (-4.727e+88) :xyz}
2944do_test printf-2.7.11.3 {
2945  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -4.72732e+88
2946} {abc: (-4.73e+88) :xyz}
2947do_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}
2950do_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}
2953do_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}
2956do_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}
2959do_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}
2962do_test printf-2.7.12.2 {
2963  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.87991e+143
2964} {abc: (9.880e+143) :xyz}
2965do_test printf-2.7.12.3 {
2966  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.87991e+143
2967} {abc: (9.88e+143) :xyz}
2968do_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}
2971do_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}
2974do_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}
2977do_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}
2980do_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}
2983do_test printf-2.7.13.1 {
2984  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -6.287291e-9
2985} {abc: (-0.000) :xyz}
2986do_test printf-2.7.13.2 {
2987  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -6.287291e-9
2988} {abc: (-6.287e-09) :xyz}
2989do_test printf-2.7.13.3 {
2990  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -6.287291e-9
2991} {abc: (-6.29e-09) :xyz}
2992do_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}
2995do_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}
2998do_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}
3001do_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}
3004do_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}
3007do_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}
3010do_test printf-2.7.14.1 {
3011  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.38826392e-110
3012} {abc: (0.000) :xyz}
3013do_test printf-2.7.14.2 {
3014  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.38826392e-110
3015} {abc: (3.388e-110) :xyz}
3016do_test printf-2.7.14.3 {
3017  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.38826392e-110
3018} {abc: (3.39e-110) :xyz}
3019do_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}
3022do_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}
3025do_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}
3028do_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}
3031do_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}
3034do_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}
3037do_test printf-2.8.1.1 {
3038  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.001
3039} {abc: (0.00) :xyz}
3040do_test printf-2.8.1.2 {
3041  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.001
3042} {abc: (1.00e-03) :xyz}
3043do_test printf-2.8.1.3 {
3044  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.001
3045} {abc: (0.001) :xyz}
3046do_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}
3049do_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}
3052do_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}
3055do_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}
3058do_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}
3061do_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}
3064do_test printf-2.8.2.1 {
3065  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0e-20
3066} {abc: (0.00) :xyz}
3067do_test printf-2.8.2.2 {
3068  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0e-20
3069} {abc: (1.00e-20) :xyz}
3070do_test printf-2.8.2.3 {
3071  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0e-20
3072} {abc: (1e-20) :xyz}
3073do_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}
3076do_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}
3079do_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}
3082do_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}
3085do_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}
3088do_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}
3091do_test printf-2.8.3.1 {
3092  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0
3093} {abc: (1.00) :xyz}
3094do_test printf-2.8.3.2 {
3095  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0
3096} {abc: (1.00e+00) :xyz}
3097do_test printf-2.8.3.3 {
3098  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0
3099} {abc: (  1) :xyz}
3100do_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}
3103do_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}
3106do_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}
3109do_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}
3112do_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}
3115do_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}
3118do_test printf-2.8.4.1 {
3119  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.0
3120} {abc: (0.00) :xyz}
3121do_test printf-2.8.4.2 {
3122  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.0
3123} {abc: (0.00e+00) :xyz}
3124do_test printf-2.8.4.3 {
3125  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.0
3126} {abc: (  0) :xyz}
3127do_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}
3130do_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}
3133do_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}
3136do_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}
3139do_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}
3142do_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}
3145do_test printf-2.8.5.1 {
3146  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 100.0
3147} {abc: (100.00) :xyz}
3148do_test printf-2.8.5.2 {
3149  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 100.0
3150} {abc: (1.00e+02) :xyz}
3151do_test printf-2.8.5.3 {
3152  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 100.0
3153} {abc: (1e+02) :xyz}
3154do_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}
3157do_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}
3160do_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}
3163do_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}
3166do_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}
3169do_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}
3172do_test printf-2.8.6.1 {
3173  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 9.99999
3174} {abc: (10.00) :xyz}
3175do_test printf-2.8.6.2 {
3176  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.99999
3177} {abc: (1.00e+01) :xyz}
3178do_test printf-2.8.6.3 {
3179  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.99999
3180} {abc: ( 10) :xyz}
3181do_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}
3184do_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}
3187do_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}
3190do_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}
3193do_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}
3196do_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}
3199do_test printf-2.8.7.1 {
3200  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -0.00543
3201} {abc: (-0.01) :xyz}
3202do_test printf-2.8.7.2 {
3203  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -0.00543
3204} {abc: (-5.43e-03) :xyz}
3205do_test printf-2.8.7.3 {
3206  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -0.00543
3207} {abc: (-0.0054) :xyz}
3208do_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}
3211do_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}
3214do_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}
3217do_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}
3220do_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}
3223do_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}
3226do_test printf-2.8.8.1 {
3227  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -1.0
3228} {abc: (-1.00) :xyz}
3229do_test printf-2.8.8.2 {
3230  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -1.0
3231} {abc: (-1.00e+00) :xyz}
3232do_test printf-2.8.8.3 {
3233  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -1.0
3234} {abc: ( -1) :xyz}
3235do_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}
3238do_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}
3241do_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}
3244do_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}
3247do_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}
3250do_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}
3253do_test printf-2.8.9.1 {
3254  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -99.99999
3255} {abc: (-100.00) :xyz}
3256do_test printf-2.8.9.2 {
3257  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -99.99999
3258} {abc: (-1.00e+02) :xyz}
3259do_test printf-2.8.9.3 {
3260  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -99.99999
3261} {abc: (-1e+02) :xyz}
3262do_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}
3265do_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}
3268do_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}
3271do_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}
3274do_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}
3277do_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}
3280do_test printf-2.8.10.1 {
3281  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.14e+9
3282} {abc: (3140000000.00) :xyz}
3283do_test printf-2.8.10.2 {
3284  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.14e+9
3285} {abc: (3.14e+09) :xyz}
3286do_test printf-2.8.10.3 {
3287  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.14e+9
3288} {abc: (3.1e+09) :xyz}
3289do_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}
3292do_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}
3295do_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}
3298do_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}
3301do_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}
3304do_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}
3307do_test printf-2.8.11.2 {
3308  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -4.72732e+88
3309} {abc: (-4.73e+88) :xyz}
3310do_test printf-2.8.11.3 {
3311  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -4.72732e+88
3312} {abc: (-4.7e+88) :xyz}
3313do_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}
3316do_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}
3319do_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}
3322do_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}
3325do_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}
3328do_test printf-2.8.12.2 {
3329  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.87991e+143
3330} {abc: (9.88e+143) :xyz}
3331do_test printf-2.8.12.3 {
3332  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.87991e+143
3333} {abc: (9.9e+143) :xyz}
3334do_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}
3337do_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}
3340do_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}
3343do_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}
3346do_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}
3349do_test printf-2.8.13.1 {
3350  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -6.287291e-9
3351} {abc: (-0.00) :xyz}
3352do_test printf-2.8.13.2 {
3353  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -6.287291e-9
3354} {abc: (-6.29e-09) :xyz}
3355do_test printf-2.8.13.3 {
3356  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -6.287291e-9
3357} {abc: (-6.3e-09) :xyz}
3358do_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}
3361do_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}
3364do_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}
3367do_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}
3370do_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}
3373do_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}
3376do_test printf-2.8.14.1 {
3377  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.38826392e-110
3378} {abc: (0.00) :xyz}
3379do_test printf-2.8.14.2 {
3380  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.38826392e-110
3381} {abc: (3.39e-110) :xyz}
3382do_test printf-2.8.14.3 {
3383  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.38826392e-110
3384} {abc: (3.4e-110) :xyz}
3385do_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}
3388do_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}
3391do_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}
3394do_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}
3397do_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}
3400do_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}
3403do_test printf-2.8.15.1 {
3404  sqlite3_mprintf_double {abc: (% *.*f) :xyz} 3 2 3.38826392e-110
3405} {abc: ( 0.00) :xyz}
3406do_test printf-2.8.15.2 {
3407  sqlite3_mprintf_double {abc: (% *.*e) :xyz} 3 2 3.38826392e-110
3408} {abc: ( 3.39e-110) :xyz}
3409do_test printf-2.8.15.3 {
3410  sqlite3_mprintf_double {abc: (% *.*g) :xyz} 3 2 3.38826392e-110
3411} {abc: ( 3.4e-110) :xyz}
3412do_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}
3415do_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}
3418do_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}
3421do_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}
3424do_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}
3427do_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
3431do_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}
3434do_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}
3437do_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
3441do_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}
3444do_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}
3447do_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
3451do_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}]
3454do_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}]
3457do_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}]
3460do_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}]
3463do_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}]
3466do_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}]
3469do_test snprintf-3.11 {
3470  sqlite3_snprintf_str 2 {x%d %d %s} 10 10 {This is the string}
3471} {x}
3472do_test snprintf-3.12 {
3473  sqlite3_snprintf_str 3 {x%d %d %s} 10 10 {This is the string}
3474} {x1}
3475do_test snprintf-3.13 {
3476  sqlite3_snprintf_str 4 {x%d %d %s} 10 10 {This is the string}
3477} {x10}
3478do_test snprintf-3.14 {
3479  sqlite3_snprintf_str 5 {x%d %d %s} 10 10 {This is the string}
3480} {x10 }
3481do_test snprintf-3.15 {
3482  sqlite3_snprintf_str 6 {x%d %d %s} 10 10 {This is the string}
3483} {x10 1}
3484do_test snprintf-3.16 {
3485  sqlite3_snprintf_str 7 {x%d %d %s} 10 10 {This is the string}
3486} {x10 10}
3487do_test snprintf-3.17 {
3488  sqlite3_snprintf_str 8 {x%d %d %s} 10 10 {This is the string}
3489} {x10 10 }
3490do_test snprintf-3.18 {
3491  sqlite3_snprintf_str 9 {x%d %d %s} 10 10 {This is the string}
3492} {x10 10 T}
3493do_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
3497do_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'}
3500do_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)'}
3503do_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'}
3506do_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}
3509do_test printf-4.5 {
3510  sqlite3_mprintf_str {%d %d A quoted string: '%.10q'} 1 2 {Hi Y'all}
3511} {1 2 A quoted string: 'Hi Y''all'}
3512do_test printf-4.6 {
3513  sqlite3_mprintf_str {%d %d A quoted string: '%.9q'} 1 2 {Hi Y'all}
3514} {1 2 A quoted string: 'Hi Y''all'}
3515do_test printf-4.7 {
3516  sqlite3_mprintf_str {%d %d A quoted string: '%.8q'} 1 2 {Hi Y'all}
3517} {1 2 A quoted string: 'Hi Y''all'}
3518do_test printf-4.8 {
3519  sqlite3_mprintf_str {%d %d A quoted string: '%.7q'} 1 2 {Hi Y'all}
3520} {1 2 A quoted string: 'Hi Y''al'}
3521do_test printf-4.9 {
3522  sqlite3_mprintf_str {%d %d A quoted string: '%.6q'} 1 2 {Hi Y'all}
3523} {1 2 A quoted string: 'Hi Y''a'}
3524do_test printf-4.10 {
3525  sqlite3_mprintf_str {%d %d A quoted string: '%.5q'} 1 2 {Hi Y'all}
3526} {1 2 A quoted string: 'Hi Y'''}
3527do_test printf-4.11 {
3528  sqlite3_mprintf_str {%d %d A quoted string: '%.4q'} 1 2 {Hi Y'all}
3529} {1 2 A quoted string: 'Hi Y'}
3530do_test printf-4.12 {
3531  sqlite3_mprintf_str {%d %d A quoted string: '%.3q'} 1 2 {Hi Y'all}
3532} {1 2 A quoted string: 'Hi '}
3533do_test printf-4.13 {
3534  sqlite3_mprintf_str {%d %d A quoted string: '%.2q'} 1 2 {Hi Y'all}
3535} {1 2 A quoted string: 'Hi'}
3536do_test printf-4.14 {
3537  sqlite3_mprintf_str {%d %d A quoted string: '%.1q'} 1 2 {Hi Y'all}
3538} {1 2 A quoted string: 'H'}
3539do_test printf-4.15 {
3540  sqlite3_mprintf_str {%d %d A quoted string: '%.0q'} 1 2 {Hi Y'all}
3541} {1 2 A quoted string: ''}
3542do_test printf-4.16 {
3543  sqlite3_mprintf_str {%d A quoted string: '%.*q'} 1 6 {Hi Y'all}
3544} {1 A quoted string: 'Hi Y''a'}
3545
3546
3547do_test printf-5.1 {
3548  set x [sqlite3_mprintf_str {%d %d %100000s} 0 0 {Hello}]
3549  string length $x
3550} {344}
3551do_test printf-5.2 {
3552  sqlite3_mprintf_str {%d %d (%-10.10s) %} -9 -10 {HelloHelloHello}
3553} {-9 -10 (HelloHello) %}
3554
3555do_test printf-6.1 {
3556  sqlite3_mprintf_z_test , one two three four five six
3557} {,one,two,three,four,five,six}
3558
3559
3560do_test printf-7.1 {
3561  sqlite3_mprintf_scaled {A double: %g} 1.0e307 1.0
3562} {A double: 1e+307}
3563do_test printf-7.2 {
3564  sqlite3_mprintf_scaled {A double: %g} 1.0e307 10.0
3565} {A double: 1e+308}
3566do_test printf-7.3 {
3567  sqlite3_mprintf_scaled {A double: %g} 1.0e307 100.0
3568} {A double: Inf}
3569do_test printf-7.4 {
3570  sqlite3_mprintf_scaled {A double: %g} -1.0e307 100.0
3571} {A double: -Inf}
3572do_test printf-7.5 {
3573  sqlite3_mprintf_scaled {A double: %+g} 1.0e307 100.0
3574} {A double: +Inf}
3575
3576do_test printf-8.1 {
3577  sqlite3_mprintf_int {%u %u %u} 0x7fffffff 0x80000000 0xffffffff
3578} {2147483647 2147483648 4294967295}
3579do_test printf-8.2 {
3580  sqlite3_mprintf_long {%lu %lu %lu} 0x7fffffff 0x80000000 0xffffffff
3581} {2147483647 2147483648 4294967295}
3582do_test printf-8.3 {
3583  sqlite3_mprintf_int64 {%llu %llu %llu} 2147483647 2147483648 4294967296
3584} {2147483647 2147483648 4294967296}
3585do_test printf-8.4 {
3586  sqlite3_mprintf_int64 {%lld %lld %lld} 2147483647 2147483648 4294967296
3587} {2147483647 2147483648 4294967296}
3588do_test printf-8.5 {
3589  sqlite3_mprintf_int64 {%llx %llx %llx} 2147483647 2147483648 4294967296
3590} {7fffffff 80000000 100000000}
3591do_test printf-8.6 {
3592  sqlite3_mprintf_int64 {%llx %llo %lld} -1 -1 -1
3593} {ffffffffffffffff 1777777777777777777777 -1}
3594do_test printf-8.7 {
3595  sqlite3_mprintf_int64 {%llx %llx %llx} +2147483647 +2147483648 +4294967296
3596} {7fffffff 80000000 100000000}
3597
3598do_test printf-9.1 {
3599  sqlite3_mprintf_int {%*.*c} 4 4 65
3600} {AAAA}
3601do_test printf-9.2 {
3602  sqlite3_mprintf_int {%*.*c} -4 1 66
3603} {B   }
3604do_test printf-9.3 {
3605  sqlite3_mprintf_int {%*.*c} 4 1 67
3606} {   C}
3607do_test printf-9.4 {
3608  sqlite3_mprintf_int {%d %d %c} 4 1 67
3609} {4 1 C}
3610set ten {          }
3611set fifty $ten$ten$ten$ten$ten
3612do_test printf-9.5 {
3613  sqlite3_mprintf_int {%d %*c} 1 -201 67
3614} "1 C$fifty$fifty$fifty$fifty"
3615do_test printf-9.6 {
3616  sqlite3_mprintf_int {hi%12345.12346yhello} 0 0 0
3617} {hi}
3618
3619# Ticket #812
3620#
3621do_test printf-10.1 {
3622  sqlite3_mprintf_stronly %s {}
3623} {}
3624
3625# Ticket #831
3626#
3627do_test printf-10.2 {
3628  sqlite3_mprintf_stronly %q {}
3629} {}
3630
3631# Ticket #1340:  Test for loss of precision on large positive exponents
3632#
3633do_test printf-10.3 {
3634  sqlite3_mprintf_double {%d %d %f} 1 1 1e300
3635} {1 1 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000}
3636
3637# The non-standard '!' flag on a 'g' conversion forces a decimal point
3638# and at least one digit on either side of the decimal point.
3639#
3640do_test printf-11.1 {
3641  sqlite3_mprintf_double {%d %d %!g} 1 1 1
3642} {1 1 1.0}
3643do_test printf-11.2 {
3644  sqlite3_mprintf_double {%d %d %!g} 1 1 123
3645} {1 1 123.0}
3646do_test printf-11.3 {
3647  sqlite3_mprintf_double {%d %d %!g} 1 1 12.3
3648} {1 1 12.3}
3649do_test printf-11.4 {
3650  sqlite3_mprintf_double {%d %d %!g} 1 1 0.123
3651} {1 1 0.123}
3652do_test printf-11.5 {
3653  sqlite3_mprintf_double {%d %d %!.15g} 1 1 1
3654} {1 1 1.0}
3655do_test printf-11.6 {
3656  sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e10
3657} {1 1 10000000000.0}
3658do_test printf-11.7 {
3659  sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e300
3660} {1 1 1.0e+300}
3661
3662# Additional tests for coverage
3663#
3664do_test printf-12.1 {
3665  sqlite3_mprintf_double {%d %d %.2000g} 1 1 1.0
3666} {1 1 1}
3667
3668# Floating point boundary cases
3669#
3670do_test printf-13.1 {
3671  sqlite3_mprintf_hexdouble %.20f 4024000000000000
3672} {10.00000000000000000000}
3673do_test printf-13.2 {
3674  sqlite3_mprintf_hexdouble %.20f 4197d78400000000
3675} {100000000.00000000000000000000}
3676do_test printf-13.3 {
3677  sqlite3_mprintf_hexdouble %.20f 4693b8b5b5056e17
3678} {100000000000000000000000000000000.00000000000000000000}
3679do_test printf-13.4 {
3680  sqlite3_mprintf_hexdouble %.20f 7ff0000000000000
3681} {Inf}
3682do_test printf-13.5 {
3683  sqlite3_mprintf_hexdouble %.20f fff0000000000000
3684} {-Inf}
3685do_test printf-13.6 {
3686  sqlite3_mprintf_hexdouble %.20f fff8000000000000
3687} {NaN}
3688
3689do_test printf-14.1 {
3690  sqlite3_mprintf_str {abc-%y-123} 0 0 {not used}
3691} {abc-}
3692do_test printf-14.2 {
3693  sqlite3_mprintf_n_test {xyzzy}
3694} 5
3695do_test printf-14.3 {
3696  sqlite3_mprintf_str {abc-%T-123} 0 0 {not used}
3697} {abc-}
3698do_test printf-14.4 {
3699  sqlite3_mprintf_str {abc-%#} 0 0 {not used}
3700} {abc-}
3701do_test printf-14.5 {
3702  sqlite3_mprintf_str {abc-%*.*s-xyz} 10 -10 {a_very_long_string}
3703} {abc-a_very_lon-xyz}
3704do_test printf-14.6 {
3705  sqlite3_mprintf_str {abc-%5.10/} 0 0 {not used}
3706} {abc-}
3707do_test printf-14.7 {
3708  sqlite3_mprintf_str {abc-%05.5d} 123 0 {not used}
3709} {abc-00123}
3710do_test printf-14.8 {
3711  sqlite3_mprintf_str {abc-%05.5d} 1234567 0 {not used}
3712} {abc-1234567}
3713
3714for {set i 2} {$i<200} {incr i} {
3715  set res [string repeat { } [expr {$i-1}]]x
3716  do_test printf-14.90.$i "
3717    sqlite3_mprintf_str {%*.*s} $i 500 x
3718  " $res
3719}
3720
3721do_test printf-15.1 {
3722  sqlite3_snprintf_int 5 {12345} 0
3723} {1234}
3724do_test printf-15.2 {
3725  sqlite3_snprintf_int 5 {} 0
3726} {}
3727do_test printf-15.3 {
3728  sqlite3_snprintf_int 0 {} 0
3729} {abcdefghijklmnopqrstuvwxyz}
3730
3731# Now test malloc() failure within a sqlite3_mprintf():
3732#
3733ifcapable memdebug {
3734  foreach var {a b c d} {
3735    set $var [string repeat $var 400]
3736  }
3737  set str1 "[string repeat A 360]%d%d%s"
3738  set str2 [string repeat B 5000]
3739  set zSuccess "[string repeat A 360]11[string repeat B 5000]"
3740  foreach ::iRepeat {0 1} {
3741    set nTestNum 1
3742    while {1} {
3743      sqlite3_memdebug_fail $nTestNum -repeat $::iRepeat
3744      set z [sqlite3_mprintf_str $str1 1 1 $str2]
3745      set nFail [sqlite3_memdebug_fail -1 -benign nBenign]
3746      do_test printf-malloc-$::iRepeat.$nTestNum {
3747        expr {($nFail>0 && $z eq "") || ($nFail==$nBenign && $z eq $zSuccess)}
3748      } {1}
3749      if {$nFail == 0} break
3750      incr nTestNum
3751    }
3752  }
3753}
3754
3755finish_test