os/persistentdata/persistentstorage/sqlite3api/TEST/TclScript/printf.test
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/persistentdata/persistentstorage/sqlite3api/TEST/TclScript/printf.test	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,3718 @@
     1.4 +# 2001 September 15
     1.5 +#
     1.6 +# The author disclaims copyright to this source code.  In place of
     1.7 +# a legal notice, here is a blessing:
     1.8 +#
     1.9 +#    May you do good and not evil.
    1.10 +#    May you find forgiveness for yourself and forgive others.
    1.11 +#    May you share freely, never taking more than you give.
    1.12 +#
    1.13 +#***********************************************************************
    1.14 +# This file implements regression tests for SQLite library.  The
    1.15 +# focus of this file is testing the sqlite_*_printf() interface.
    1.16 +#
    1.17 +# $Id: printf.test,v 1.30 2008/07/09 16:51:52 drh Exp $
    1.18 +
    1.19 +set testdir [file dirname $argv0]
    1.20 +source $testdir/tester.tcl
    1.21 +
    1.22 +
    1.23 +do_test printf-1.1.1 {
    1.24 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
    1.25 +       1 1 1
    1.26 +} {abc: 1 1 1 :xyz}
    1.27 +do_test printf-1.1.2 {
    1.28 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
    1.29 +       1 1 1
    1.30 +} {abc: (     1) (     1) (     1) :xyz}
    1.31 +do_test printf-1.1.3 {
    1.32 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
    1.33 +       1 1 1
    1.34 +} {abc: (1     ) (1     ) (1     ) :xyz}
    1.35 +do_test printf-1.1.4 {
    1.36 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
    1.37 +       1 1 1
    1.38 +} {abc: (    +1) (     1) (     1) :xyz}
    1.39 +do_test printf-1.1.5 {
    1.40 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
    1.41 +       1 1 1
    1.42 +} {abc: (000001) (000001) (000001) :xyz}
    1.43 +do_test printf-1.1.6 {
    1.44 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
    1.45 +       1 1 1
    1.46 +} {abc: (     1) (     1) (     1) :xyz}
    1.47 +do_test printf-1.1.7 {
    1.48 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
    1.49 +       1 1 1
    1.50 +} {abc: (     1) (   0x1) (    01) :xyz}
    1.51 +do_test printf-1.2.1 {
    1.52 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
    1.53 +       2 2 2
    1.54 +} {abc: 2 2 2 :xyz}
    1.55 +do_test printf-1.2.2 {
    1.56 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
    1.57 +       2 2 2
    1.58 +} {abc: (     2) (     2) (     2) :xyz}
    1.59 +do_test printf-1.2.3 {
    1.60 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
    1.61 +       2 2 2
    1.62 +} {abc: (2     ) (2     ) (2     ) :xyz}
    1.63 +do_test printf-1.2.4 {
    1.64 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
    1.65 +       2 2 2
    1.66 +} {abc: (    +2) (     2) (     2) :xyz}
    1.67 +do_test printf-1.2.5 {
    1.68 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
    1.69 +       2 2 2
    1.70 +} {abc: (000002) (000002) (000002) :xyz}
    1.71 +do_test printf-1.2.6 {
    1.72 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
    1.73 +       2 2 2
    1.74 +} {abc: (     2) (     2) (     2) :xyz}
    1.75 +do_test printf-1.2.7 {
    1.76 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
    1.77 +       2 2 2
    1.78 +} {abc: (     2) (   0x2) (    02) :xyz}
    1.79 +do_test printf-1.3.1 {
    1.80 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
    1.81 +       5 5 5
    1.82 +} {abc: 5 5 5 :xyz}
    1.83 +do_test printf-1.3.2 {
    1.84 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
    1.85 +       5 5 5
    1.86 +} {abc: (     5) (     5) (     5) :xyz}
    1.87 +do_test printf-1.3.3 {
    1.88 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
    1.89 +       5 5 5
    1.90 +} {abc: (5     ) (5     ) (5     ) :xyz}
    1.91 +do_test printf-1.3.4 {
    1.92 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
    1.93 +       5 5 5
    1.94 +} {abc: (    +5) (     5) (     5) :xyz}
    1.95 +do_test printf-1.3.5 {
    1.96 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
    1.97 +       5 5 5
    1.98 +} {abc: (000005) (000005) (000005) :xyz}
    1.99 +do_test printf-1.3.6 {
   1.100 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.101 +       5 5 5
   1.102 +} {abc: (     5) (     5) (     5) :xyz}
   1.103 +do_test printf-1.3.7 {
   1.104 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.105 +       5 5 5
   1.106 +} {abc: (     5) (   0x5) (    05) :xyz}
   1.107 +do_test printf-1.4.1 {
   1.108 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.109 +       10 10 10
   1.110 +} {abc: 10 a 12 :xyz}
   1.111 +do_test printf-1.4.2 {
   1.112 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.113 +       10 10 10
   1.114 +} {abc: (    10) (     a) (    12) :xyz}
   1.115 +do_test printf-1.4.3 {
   1.116 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.117 +       10 10 10
   1.118 +} {abc: (10    ) (a     ) (12    ) :xyz}
   1.119 +do_test printf-1.4.4 {
   1.120 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.121 +       10 10 10
   1.122 +} {abc: (   +10) (     a) (    12) :xyz}
   1.123 +do_test printf-1.4.5 {
   1.124 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.125 +       10 10 10
   1.126 +} {abc: (000010) (00000a) (000012) :xyz}
   1.127 +do_test printf-1.4.6 {
   1.128 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.129 +       10 10 10
   1.130 +} {abc: (    10) (     a) (    12) :xyz}
   1.131 +do_test printf-1.4.7 {
   1.132 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.133 +       10 10 10
   1.134 +} {abc: (    10) (   0xa) (   012) :xyz}
   1.135 +do_test printf-1.5.1 {
   1.136 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.137 +       99 99 99
   1.138 +} {abc: 99 63 143 :xyz}
   1.139 +do_test printf-1.5.2 {
   1.140 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.141 +       99 99 99
   1.142 +} {abc: (    99) (    63) (   143) :xyz}
   1.143 +do_test printf-1.5.3 {
   1.144 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.145 +       99 99 99
   1.146 +} {abc: (99    ) (63    ) (143   ) :xyz}
   1.147 +do_test printf-1.5.4 {
   1.148 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.149 +       99 99 99
   1.150 +} {abc: (   +99) (    63) (   143) :xyz}
   1.151 +do_test printf-1.5.5 {
   1.152 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.153 +       99 99 99
   1.154 +} {abc: (000099) (000063) (000143) :xyz}
   1.155 +do_test printf-1.5.6 {
   1.156 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.157 +       99 99 99
   1.158 +} {abc: (    99) (    63) (   143) :xyz}
   1.159 +do_test printf-1.5.7 {
   1.160 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.161 +       99 99 99
   1.162 +} {abc: (    99) (  0x63) (  0143) :xyz}
   1.163 +do_test printf-1.6.1 {
   1.164 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.165 +       100 100 100
   1.166 +} {abc: 100 64 144 :xyz}
   1.167 +do_test printf-1.6.2 {
   1.168 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.169 +       100 100 100
   1.170 +} {abc: (   100) (    64) (   144) :xyz}
   1.171 +do_test printf-1.6.3 {
   1.172 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.173 +       100 100 100
   1.174 +} {abc: (100   ) (64    ) (144   ) :xyz}
   1.175 +do_test printf-1.6.4 {
   1.176 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.177 +       100 100 100
   1.178 +} {abc: (  +100) (    64) (   144) :xyz}
   1.179 +do_test printf-1.6.5 {
   1.180 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.181 +       100 100 100
   1.182 +} {abc: (000100) (000064) (000144) :xyz}
   1.183 +do_test printf-1.6.6 {
   1.184 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.185 +       100 100 100
   1.186 +} {abc: (   100) (    64) (   144) :xyz}
   1.187 +do_test printf-1.6.7 {
   1.188 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.189 +       100 100 100
   1.190 +} {abc: (   100) (  0x64) (  0144) :xyz}
   1.191 +do_test printf-1.7.1 {
   1.192 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.193 +       1000000 1000000 1000000
   1.194 +} {abc: 1000000 f4240 3641100 :xyz}
   1.195 +do_test printf-1.7.2 {
   1.196 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.197 +       1000000 1000000 1000000
   1.198 +} {abc: (1000000) ( f4240) (3641100) :xyz}
   1.199 +do_test printf-1.7.3 {
   1.200 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.201 +       1000000 1000000 1000000
   1.202 +} {abc: (1000000) (f4240 ) (3641100) :xyz}
   1.203 +do_test printf-1.7.4 {
   1.204 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.205 +       1000000 1000000 1000000
   1.206 +} {abc: (+1000000) ( f4240) (3641100) :xyz}
   1.207 +do_test printf-1.7.5 {
   1.208 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.209 +       1000000 1000000 1000000
   1.210 +} {abc: (1000000) (0f4240) (3641100) :xyz}
   1.211 +do_test printf-1.7.6 {
   1.212 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.213 +       1000000 1000000 1000000
   1.214 +} {abc: ( 1000000) ( f4240) (3641100) :xyz}
   1.215 +do_test printf-1.7.7 {
   1.216 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.217 +       1000000 1000000 1000000
   1.218 +} {abc: (1000000) (0xf4240) (03641100) :xyz}
   1.219 +do_test printf-1.8.1 {
   1.220 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.221 +       999999999 999999999 999999999
   1.222 +} {abc: 999999999 3b9ac9ff 7346544777 :xyz}
   1.223 +do_test printf-1.8.2 {
   1.224 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.225 +       999999999 999999999 999999999
   1.226 +} {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
   1.227 +do_test printf-1.8.3 {
   1.228 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.229 +       999999999 999999999 999999999
   1.230 +} {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
   1.231 +do_test printf-1.8.4 {
   1.232 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.233 +       999999999 999999999 999999999
   1.234 +} {abc: (+999999999) (3b9ac9ff) (7346544777) :xyz}
   1.235 +do_test printf-1.8.5 {
   1.236 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.237 +       999999999 999999999 999999999
   1.238 +} {abc: (999999999) (3b9ac9ff) (7346544777) :xyz}
   1.239 +do_test printf-1.8.6 {
   1.240 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.241 +       999999999 999999999 999999999
   1.242 +} {abc: ( 999999999) (3b9ac9ff) (7346544777) :xyz}
   1.243 +do_test printf-1.8.7 {
   1.244 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.245 +       999999999 999999999 999999999
   1.246 +} {abc: (999999999) (0x3b9ac9ff) (07346544777) :xyz}
   1.247 +do_test printf-1.9.1 {
   1.248 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.249 +       0 0 0
   1.250 +} {abc: 0 0 0 :xyz}
   1.251 +do_test printf-1.9.2 {
   1.252 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.253 +       0 0 0
   1.254 +} {abc: (     0) (     0) (     0) :xyz}
   1.255 +do_test printf-1.9.3 {
   1.256 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.257 +       0 0 0
   1.258 +} {abc: (0     ) (0     ) (0     ) :xyz}
   1.259 +do_test printf-1.9.4 {
   1.260 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.261 +       0 0 0
   1.262 +} {abc: (    +0) (     0) (     0) :xyz}
   1.263 +do_test printf-1.9.5 {
   1.264 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.265 +       0 0 0
   1.266 +} {abc: (000000) (000000) (000000) :xyz}
   1.267 +do_test printf-1.9.6 {
   1.268 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.269 +       0 0 0
   1.270 +} {abc: (     0) (     0) (     0) :xyz}
   1.271 +do_test printf-1.9.7 {
   1.272 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.273 +       0 0 0
   1.274 +} {abc: (     0) (     0) (     0) :xyz}
   1.275 +# 0xffffffff == -1
   1.276 +do_test printf-1.10.1 {
   1.277 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.278 +       0xffffffff 0xffffffff 0xffffffff
   1.279 +} {abc: -1 ffffffff 37777777777 :xyz}
   1.280 +do_test printf-1.10.2 {
   1.281 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.282 +       0xffffffff 0xffffffff 0xffffffff
   1.283 +} {abc: (    -1) (ffffffff) (37777777777) :xyz}
   1.284 +do_test printf-1.10.3 {
   1.285 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.286 +       0xffffffff 0xffffffff 0xffffffff
   1.287 +} {abc: (-1    ) (ffffffff) (37777777777) :xyz}
   1.288 +do_test printf-1.10.4 {
   1.289 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.290 +       0xffffffff 0xffffffff 0xffffffff
   1.291 +} {abc: (    -1) (ffffffff) (37777777777) :xyz}
   1.292 +do_test printf-1.10.5 {
   1.293 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.294 +       0xffffffff 0xffffffff 0xffffffff
   1.295 +} {abc: (-00001) (ffffffff) (37777777777) :xyz}
   1.296 +do_test printf-1.10.6 {
   1.297 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.298 +       0xffffffff 0xffffffff 0xffffffff
   1.299 +} {abc: (    -1) (ffffffff) (37777777777) :xyz}
   1.300 +do_test printf-1.10.7 {
   1.301 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.302 +       0xffffffff 0xffffffff 0xffffffff
   1.303 +} {abc: (    -1) (0xffffffff) (037777777777) :xyz}
   1.304 +# 0xfffffffe == -2
   1.305 +do_test printf-1.11.1 {
   1.306 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.307 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.308 +} {abc: -2 fffffffe 37777777776 :xyz}
   1.309 +do_test printf-1.11.2 {
   1.310 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.311 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.312 +} {abc: (    -2) (fffffffe) (37777777776) :xyz}
   1.313 +do_test printf-1.11.3 {
   1.314 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.315 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.316 +} {abc: (-2    ) (fffffffe) (37777777776) :xyz}
   1.317 +do_test printf-1.11.4 {
   1.318 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.319 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.320 +} {abc: (    -2) (fffffffe) (37777777776) :xyz}
   1.321 +do_test printf-1.11.5 {
   1.322 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.323 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.324 +} {abc: (-00002) (fffffffe) (37777777776) :xyz}
   1.325 +do_test printf-1.11.6 {
   1.326 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.327 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.328 +} {abc: (    -2) (fffffffe) (37777777776) :xyz}
   1.329 +do_test printf-1.11.7 {
   1.330 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.331 +       0xfffffffe 0xfffffffe 0xfffffffe
   1.332 +} {abc: (    -2) (0xfffffffe) (037777777776) :xyz}
   1.333 +# 0xfffffffb == -5
   1.334 +do_test printf-1.12.1 {
   1.335 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.336 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.337 +} {abc: -5 fffffffb 37777777773 :xyz}
   1.338 +do_test printf-1.12.2 {
   1.339 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.340 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.341 +} {abc: (    -5) (fffffffb) (37777777773) :xyz}
   1.342 +do_test printf-1.12.3 {
   1.343 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.344 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.345 +} {abc: (-5    ) (fffffffb) (37777777773) :xyz}
   1.346 +do_test printf-1.12.4 {
   1.347 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.348 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.349 +} {abc: (    -5) (fffffffb) (37777777773) :xyz}
   1.350 +do_test printf-1.12.5 {
   1.351 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.352 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.353 +} {abc: (-00005) (fffffffb) (37777777773) :xyz}
   1.354 +do_test printf-1.12.6 {
   1.355 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.356 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.357 +} {abc: (    -5) (fffffffb) (37777777773) :xyz}
   1.358 +do_test printf-1.12.7 {
   1.359 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.360 +       0xfffffffb 0xfffffffb 0xfffffffb
   1.361 +} {abc: (    -5) (0xfffffffb) (037777777773) :xyz}
   1.362 +# 0xfffffff6 == -10
   1.363 +do_test printf-1.13.1 {
   1.364 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.365 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.366 +} {abc: -10 fffffff6 37777777766 :xyz}
   1.367 +do_test printf-1.13.2 {
   1.368 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.369 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.370 +} {abc: (   -10) (fffffff6) (37777777766) :xyz}
   1.371 +do_test printf-1.13.3 {
   1.372 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.373 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.374 +} {abc: (-10   ) (fffffff6) (37777777766) :xyz}
   1.375 +do_test printf-1.13.4 {
   1.376 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.377 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.378 +} {abc: (   -10) (fffffff6) (37777777766) :xyz}
   1.379 +do_test printf-1.13.5 {
   1.380 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.381 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.382 +} {abc: (-00010) (fffffff6) (37777777766) :xyz}
   1.383 +do_test printf-1.13.6 {
   1.384 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.385 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.386 +} {abc: (   -10) (fffffff6) (37777777766) :xyz}
   1.387 +do_test printf-1.13.7 {
   1.388 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.389 +       0xfffffff6 0xfffffff6 0xfffffff6
   1.390 +} {abc: (   -10) (0xfffffff6) (037777777766) :xyz}
   1.391 +# 0xffffff9d == -99
   1.392 +do_test printf-1.14.1 {
   1.393 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.394 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.395 +} {abc: -99 ffffff9d 37777777635 :xyz}
   1.396 +do_test printf-1.14.2 {
   1.397 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.398 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.399 +} {abc: (   -99) (ffffff9d) (37777777635) :xyz}
   1.400 +do_test printf-1.14.3 {
   1.401 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.402 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.403 +} {abc: (-99   ) (ffffff9d) (37777777635) :xyz}
   1.404 +do_test printf-1.14.4 {
   1.405 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.406 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.407 +} {abc: (   -99) (ffffff9d) (37777777635) :xyz}
   1.408 +do_test printf-1.14.5 {
   1.409 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.410 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.411 +} {abc: (-00099) (ffffff9d) (37777777635) :xyz}
   1.412 +do_test printf-1.14.6 {
   1.413 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.414 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.415 +} {abc: (   -99) (ffffff9d) (37777777635) :xyz}
   1.416 +do_test printf-1.14.7 {
   1.417 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.418 +       0xffffff9d 0xffffff9d 0xffffff9d
   1.419 +} {abc: (   -99) (0xffffff9d) (037777777635) :xyz}
   1.420 +# 0xffffff9c == -100
   1.421 +do_test printf-1.15.1 {
   1.422 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.423 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.424 +} {abc: -100 ffffff9c 37777777634 :xyz}
   1.425 +do_test printf-1.15.2 {
   1.426 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.427 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.428 +} {abc: (  -100) (ffffff9c) (37777777634) :xyz}
   1.429 +do_test printf-1.15.3 {
   1.430 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.431 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.432 +} {abc: (-100  ) (ffffff9c) (37777777634) :xyz}
   1.433 +do_test printf-1.15.4 {
   1.434 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.435 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.436 +} {abc: (  -100) (ffffff9c) (37777777634) :xyz}
   1.437 +do_test printf-1.15.5 {
   1.438 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.439 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.440 +} {abc: (-00100) (ffffff9c) (37777777634) :xyz}
   1.441 +do_test printf-1.15.6 {
   1.442 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.443 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.444 +} {abc: (  -100) (ffffff9c) (37777777634) :xyz}
   1.445 +do_test printf-1.15.7 {
   1.446 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.447 +       0xffffff9c 0xffffff9c 0xffffff9c
   1.448 +} {abc: (  -100) (0xffffff9c) (037777777634) :xyz}
   1.449 +# 0xff676981 == -9999999
   1.450 +do_test printf-1.16.1 {
   1.451 +  sqlite3_mprintf_int {abc: %d %x %o :xyz}\
   1.452 +       0xff676981 0xff676981 0xff676981
   1.453 +} {abc: -9999999 ff676981 37731664601 :xyz}
   1.454 +do_test printf-1.16.2 {
   1.455 +  sqlite3_mprintf_int {abc: (%6d) (%6x) (%6o) :xyz}\
   1.456 +       0xff676981 0xff676981 0xff676981
   1.457 +} {abc: (-9999999) (ff676981) (37731664601) :xyz}
   1.458 +do_test printf-1.16.3 {
   1.459 +  sqlite3_mprintf_int {abc: (%-6d) (%-6x) (%-6o) :xyz}\
   1.460 +       0xff676981 0xff676981 0xff676981
   1.461 +} {abc: (-9999999) (ff676981) (37731664601) :xyz}
   1.462 +do_test printf-1.16.4 {
   1.463 +  sqlite3_mprintf_int {abc: (%+6d) (%+6x) (%+6o) :xyz}\
   1.464 +       0xff676981 0xff676981 0xff676981
   1.465 +} {abc: (-9999999) (ff676981) (37731664601) :xyz}
   1.466 +do_test printf-1.16.5 {
   1.467 +  sqlite3_mprintf_int {abc: (%06d) (%06x) (%06o) :xyz}\
   1.468 +       0xff676981 0xff676981 0xff676981
   1.469 +} {abc: (-9999999) (ff676981) (37731664601) :xyz}
   1.470 +do_test printf-1.16.6 {
   1.471 +  sqlite3_mprintf_int {abc: (% 6d) (% 6x) (% 6o) :xyz}\
   1.472 +       0xff676981 0xff676981 0xff676981
   1.473 +} {abc: (-9999999) (ff676981) (37731664601) :xyz}
   1.474 +do_test printf-1.16.7 {
   1.475 +  sqlite3_mprintf_int {abc: (%#6d) (%#6x) (%#6o) :xyz}\
   1.476 +       0xff676981 0xff676981 0xff676981
   1.477 +} {abc: (-9999999) (0xff676981) (037731664601) :xyz}
   1.478 +do_test printf-2.1.1.1 {
   1.479 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.001
   1.480 +} {abc: (0.0) :xyz}
   1.481 +do_test printf-2.1.1.2 {
   1.482 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.001
   1.483 +} {abc: (1.0e-03) :xyz}
   1.484 +do_test printf-2.1.1.3 {
   1.485 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.001
   1.486 +} {abc: (0.001) :xyz}
   1.487 +do_test printf-2.1.1.4 {
   1.488 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 0.001
   1.489 +} {abc: 1 1 (0.001) :xyz}
   1.490 +do_test printf-2.1.1.5 {
   1.491 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 0.001
   1.492 +} {abc: 1 1 (0.00100000) :xyz}
   1.493 +do_test printf-2.1.1.6 {
   1.494 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 0.001
   1.495 +} {abc: 1 1 (000000.001) :xyz}
   1.496 +do_test printf-2.1.1.7 {
   1.497 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 0.001
   1.498 +} {abc: 1 1 (0.0) :xyz}
   1.499 +do_test printf-2.1.1.8 {
   1.500 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 0.001
   1.501 +} {abc: 1 1 (1.0e-03) :xyz}
   1.502 +do_test printf-2.1.1.9 {
   1.503 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 0.001
   1.504 +} {abc: 1 1 (0.001) :xyz}
   1.505 +do_test printf-2.1.2.1 {
   1.506 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0e-20
   1.507 +} {abc: (0.0) :xyz}
   1.508 +do_test printf-2.1.2.2 {
   1.509 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0e-20
   1.510 +} {abc: (1.0e-20) :xyz}
   1.511 +do_test printf-2.1.2.3 {
   1.512 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0e-20
   1.513 +} {abc: (1e-20) :xyz}
   1.514 +do_test printf-2.1.2.4 {
   1.515 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 1.0e-20
   1.516 +} {abc: 1 1 (1e-20) :xyz}
   1.517 +do_test printf-2.1.2.5 {
   1.518 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 1.0e-20
   1.519 +} {abc: 1 1 (1.00000e-20) :xyz}
   1.520 +do_test printf-2.1.2.6 {
   1.521 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 1.0e-20
   1.522 +} {abc: 1 1 (000001e-20) :xyz}
   1.523 +do_test printf-2.1.2.7 {
   1.524 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 1.0e-20
   1.525 +} {abc: 1 1 (0.0) :xyz}
   1.526 +do_test printf-2.1.2.8 {
   1.527 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 1.0e-20
   1.528 +} {abc: 1 1 (1.0e-20) :xyz}
   1.529 +do_test printf-2.1.2.9 {
   1.530 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0e-20
   1.531 +} {abc: 1 1 (1e-20) :xyz}
   1.532 +do_test printf-2.1.3.1 {
   1.533 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 1.0
   1.534 +} {abc: (1.0) :xyz}
   1.535 +do_test printf-2.1.3.2 {
   1.536 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 1.0
   1.537 +} {abc: (1.0e+00) :xyz}
   1.538 +do_test printf-2.1.3.3 {
   1.539 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 1.0
   1.540 +} {abc: (1) :xyz}
   1.541 +do_test printf-2.1.3.4 {
   1.542 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 1.0
   1.543 +} {abc: 1 1 (1) :xyz}
   1.544 +do_test printf-2.1.3.5 {
   1.545 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 1.0
   1.546 +} {abc: 1 1 (1.00000) :xyz}
   1.547 +do_test printf-2.1.3.6 {
   1.548 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 1.0
   1.549 +} {abc: 1 1 (0000000001) :xyz}
   1.550 +do_test printf-2.1.3.7 {
   1.551 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 1.0
   1.552 +} {abc: 1 1 (1.0) :xyz}
   1.553 +do_test printf-2.1.3.8 {
   1.554 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 1.0
   1.555 +} {abc: 1 1 (1.0e+00) :xyz}
   1.556 +do_test printf-2.1.3.9 {
   1.557 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 1.0
   1.558 +} {abc: 1 1 (1) :xyz}
   1.559 +do_test printf-2.1.4.1 {
   1.560 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 0.0
   1.561 +} {abc: (0.0) :xyz}
   1.562 +do_test printf-2.1.4.2 {
   1.563 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 0.0
   1.564 +} {abc: (0.0e+00) :xyz}
   1.565 +do_test printf-2.1.4.3 {
   1.566 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 0.0
   1.567 +} {abc: (0) :xyz}
   1.568 +do_test printf-2.1.4.4 {
   1.569 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 0.0
   1.570 +} {abc: 1 1 (0) :xyz}
   1.571 +do_test printf-2.1.4.5 {
   1.572 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 0.0
   1.573 +} {abc: 1 1 (0.00000) :xyz}
   1.574 +do_test printf-2.1.4.6 {
   1.575 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 0.0
   1.576 +} {abc: 1 1 (0000000000) :xyz}
   1.577 +do_test printf-2.1.4.7 {
   1.578 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 0.0
   1.579 +} {abc: 1 1 (0.0) :xyz}
   1.580 +do_test printf-2.1.4.8 {
   1.581 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 0.0
   1.582 +} {abc: 1 1 (0.0e+00) :xyz}
   1.583 +do_test printf-2.1.4.9 {
   1.584 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 0.0
   1.585 +} {abc: 1 1 (0) :xyz}
   1.586 +do_test printf-2.1.5.1 {
   1.587 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 100.0
   1.588 +} {abc: (100.0) :xyz}
   1.589 +do_test printf-2.1.5.2 {
   1.590 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 100.0
   1.591 +} {abc: (1.0e+02) :xyz}
   1.592 +do_test printf-2.1.5.3 {
   1.593 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 100.0
   1.594 +} {abc: (1e+02) :xyz}
   1.595 +do_test printf-2.1.5.4 {
   1.596 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 100.0
   1.597 +} {abc: 1 1 (100) :xyz}
   1.598 +do_test printf-2.1.5.5 {
   1.599 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 100.0
   1.600 +} {abc: 1 1 (100.000) :xyz}
   1.601 +do_test printf-2.1.5.6 {
   1.602 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 100.0
   1.603 +} {abc: 1 1 (0000000100) :xyz}
   1.604 +do_test printf-2.1.5.7 {
   1.605 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 100.0
   1.606 +} {abc: 1 1 (100.0) :xyz}
   1.607 +do_test printf-2.1.5.8 {
   1.608 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 100.0
   1.609 +} {abc: 1 1 (1.0e+02) :xyz}
   1.610 +do_test printf-2.1.5.9 {
   1.611 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 100.0
   1.612 +} {abc: 1 1 (1e+02) :xyz}
   1.613 +do_test printf-2.1.6.1 {
   1.614 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 9.99999
   1.615 +} {abc: (10.0) :xyz}
   1.616 +do_test printf-2.1.6.2 {
   1.617 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.99999
   1.618 +} {abc: (1.0e+01) :xyz}
   1.619 +do_test printf-2.1.6.3 {
   1.620 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.99999
   1.621 +} {abc: (1e+01) :xyz}
   1.622 +do_test printf-2.1.6.4 {
   1.623 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 9.99999
   1.624 +} {abc: 1 1 (9.99999) :xyz}
   1.625 +do_test printf-2.1.6.5 {
   1.626 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 9.99999
   1.627 +} {abc: 1 1 (9.99999) :xyz}
   1.628 +do_test printf-2.1.6.6 {
   1.629 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 9.99999
   1.630 +} {abc: 1 1 (0009.99999) :xyz}
   1.631 +do_test printf-2.1.6.7 {
   1.632 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 9.99999
   1.633 +} {abc: 1 1 (10.0) :xyz}
   1.634 +do_test printf-2.1.6.8 {
   1.635 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 9.99999
   1.636 +} {abc: 1 1 (1.0e+01) :xyz}
   1.637 +do_test printf-2.1.6.9 {
   1.638 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 9.99999
   1.639 +} {abc: 1 1 (1e+01) :xyz}
   1.640 +do_test printf-2.1.7.1 {
   1.641 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -0.00543
   1.642 +} {abc: (-0.0) :xyz}
   1.643 +do_test printf-2.1.7.2 {
   1.644 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -0.00543
   1.645 +} {abc: (-5.4e-03) :xyz}
   1.646 +do_test printf-2.1.7.3 {
   1.647 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -0.00543
   1.648 +} {abc: (-0.005) :xyz}
   1.649 +do_test printf-2.1.7.4 {
   1.650 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -0.00543
   1.651 +} {abc: 1 1 (-0.00543) :xyz}
   1.652 +do_test printf-2.1.7.5 {
   1.653 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -0.00543
   1.654 +} {abc: 1 1 (-0.00543000) :xyz}
   1.655 +do_test printf-2.1.7.6 {
   1.656 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -0.00543
   1.657 +} {abc: 1 1 (-000.00543) :xyz}
   1.658 +do_test printf-2.1.7.7 {
   1.659 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -0.00543
   1.660 +} {abc: 1 1 (-0.0) :xyz}
   1.661 +do_test printf-2.1.7.8 {
   1.662 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -0.00543
   1.663 +} {abc: 1 1 (-5.4e-03) :xyz}
   1.664 +do_test printf-2.1.7.9 {
   1.665 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -0.00543
   1.666 +} {abc: 1 1 (-0.005) :xyz}
   1.667 +do_test printf-2.1.8.1 {
   1.668 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -1.0
   1.669 +} {abc: (-1.0) :xyz}
   1.670 +do_test printf-2.1.8.2 {
   1.671 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -1.0
   1.672 +} {abc: (-1.0e+00) :xyz}
   1.673 +do_test printf-2.1.8.3 {
   1.674 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -1.0
   1.675 +} {abc: (-1) :xyz}
   1.676 +do_test printf-2.1.8.4 {
   1.677 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -1.0
   1.678 +} {abc: 1 1 (-1) :xyz}
   1.679 +do_test printf-2.1.8.5 {
   1.680 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -1.0
   1.681 +} {abc: 1 1 (-1.00000) :xyz}
   1.682 +do_test printf-2.1.8.6 {
   1.683 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -1.0
   1.684 +} {abc: 1 1 (-000000001) :xyz}
   1.685 +do_test printf-2.1.8.7 {
   1.686 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -1.0
   1.687 +} {abc: 1 1 (-1.0) :xyz}
   1.688 +do_test printf-2.1.8.8 {
   1.689 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -1.0
   1.690 +} {abc: 1 1 (-1.0e+00) :xyz}
   1.691 +do_test printf-2.1.8.9 {
   1.692 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -1.0
   1.693 +} {abc: 1 1 (-1) :xyz}
   1.694 +do_test printf-2.1.9.1 {
   1.695 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -99.99999
   1.696 +} {abc: (-100.0) :xyz}
   1.697 +do_test printf-2.1.9.2 {
   1.698 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -99.99999
   1.699 +} {abc: (-1.0e+02) :xyz}
   1.700 +do_test printf-2.1.9.3 {
   1.701 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -99.99999
   1.702 +} {abc: (-1e+02) :xyz}
   1.703 +do_test printf-2.1.9.4 {
   1.704 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -99.99999
   1.705 +} {abc: 1 1 (-100) :xyz}
   1.706 +do_test printf-2.1.9.5 {
   1.707 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -99.99999
   1.708 +} {abc: 1 1 (-100.000) :xyz}
   1.709 +do_test printf-2.1.9.6 {
   1.710 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -99.99999
   1.711 +} {abc: 1 1 (-000000100) :xyz}
   1.712 +do_test printf-2.1.9.7 {
   1.713 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -99.99999
   1.714 +} {abc: 1 1 (-100.0) :xyz}
   1.715 +do_test printf-2.1.9.8 {
   1.716 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -99.99999
   1.717 +} {abc: 1 1 (-1.0e+02) :xyz}
   1.718 +do_test printf-2.1.9.9 {
   1.719 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -99.99999
   1.720 +} {abc: 1 1 (-1e+02) :xyz}
   1.721 +do_test printf-2.1.10.1 {
   1.722 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.14e+9
   1.723 +} {abc: (3140000000.0) :xyz}
   1.724 +do_test printf-2.1.10.2 {
   1.725 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.14e+9
   1.726 +} {abc: (3.1e+09) :xyz}
   1.727 +do_test printf-2.1.10.3 {
   1.728 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.14e+9
   1.729 +} {abc: (3e+09) :xyz}
   1.730 +do_test printf-2.1.10.4 {
   1.731 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 3.14e+9
   1.732 +} {abc: 1 1 (3.14e+09) :xyz}
   1.733 +do_test printf-2.1.10.5 {
   1.734 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 3.14e+9
   1.735 +} {abc: 1 1 (3.14000e+09) :xyz}
   1.736 +do_test printf-2.1.10.6 {
   1.737 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 3.14e+9
   1.738 +} {abc: 1 1 (003.14e+09) :xyz}
   1.739 +do_test printf-2.1.10.7 {
   1.740 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 3.14e+9
   1.741 +} {abc: 1 1 (3140000000.0) :xyz}
   1.742 +do_test printf-2.1.10.8 {
   1.743 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 3.14e+9
   1.744 +} {abc: 1 1 (3.1e+09) :xyz}
   1.745 +do_test printf-2.1.10.9 {
   1.746 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 3.14e+9
   1.747 +} {abc: 1 1 (3e+09) :xyz}
   1.748 +do_test printf-2.1.11.2 {
   1.749 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -4.72732e+88
   1.750 +} {abc: (-4.7e+88) :xyz}
   1.751 +do_test printf-2.1.11.3 {
   1.752 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -4.72732e+88
   1.753 +} {abc: (-5e+88) :xyz}
   1.754 +do_test printf-2.1.11.4 {
   1.755 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -4.72732e+88
   1.756 +} {abc: 1 1 (-4.72732e+88) :xyz}
   1.757 +do_test printf-2.1.11.5 {
   1.758 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -4.72732e+88
   1.759 +} {abc: 1 1 (-4.72732e+88) :xyz}
   1.760 +do_test printf-2.1.11.6 {
   1.761 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -4.72732e+88
   1.762 +} {abc: 1 1 (-4.72732e+88) :xyz}
   1.763 +do_test printf-2.1.11.8 {
   1.764 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -4.72732e+88
   1.765 +} {abc: 1 1 (-4.7e+88) :xyz}
   1.766 +do_test printf-2.1.11.9 {
   1.767 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -4.72732e+88
   1.768 +} {abc: 1 1 (-5e+88) :xyz}
   1.769 +do_test printf-2.1.12.2 {
   1.770 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 9.87991e+143
   1.771 +} {abc: (9.9e+143) :xyz}
   1.772 +do_test printf-2.1.12.3 {
   1.773 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 9.87991e+143
   1.774 +} {abc: (1e+144) :xyz}
   1.775 +do_test printf-2.1.12.4 {
   1.776 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 9.87991e+143
   1.777 +} {abc: 1 1 (9.87991e+143) :xyz}
   1.778 +do_test printf-2.1.12.5 {
   1.779 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 9.87991e+143
   1.780 +} {abc: 1 1 (9.87991e+143) :xyz}
   1.781 +do_test printf-2.1.12.6 {
   1.782 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 9.87991e+143
   1.783 +} {abc: 1 1 (9.87991e+143) :xyz}
   1.784 +do_test printf-2.1.12.8 {
   1.785 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 9.87991e+143
   1.786 +} {abc: 1 1 (9.9e+143) :xyz}
   1.787 +do_test printf-2.1.12.9 {
   1.788 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 9.87991e+143
   1.789 +} {abc: 1 1 (1e+144) :xyz}
   1.790 +do_test printf-2.1.13.1 {
   1.791 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 -6.287291e-9
   1.792 +} {abc: (-0.0) :xyz}
   1.793 +do_test printf-2.1.13.2 {
   1.794 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 -6.287291e-9
   1.795 +} {abc: (-6.3e-09) :xyz}
   1.796 +do_test printf-2.1.13.3 {
   1.797 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 -6.287291e-9
   1.798 +} {abc: (-6e-09) :xyz}
   1.799 +do_test printf-2.1.13.4 {
   1.800 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 -6.287291e-9
   1.801 +} {abc: 1 1 (-6.28729e-09) :xyz}
   1.802 +do_test printf-2.1.13.5 {
   1.803 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 -6.287291e-9
   1.804 +} {abc: 1 1 (-6.28729e-09) :xyz}
   1.805 +do_test printf-2.1.13.6 {
   1.806 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 -6.287291e-9
   1.807 +} {abc: 1 1 (-6.28729e-09) :xyz}
   1.808 +do_test printf-2.1.13.7 {
   1.809 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 -6.287291e-9
   1.810 +} {abc: 1 1 (-0.0) :xyz}
   1.811 +do_test printf-2.1.13.8 {
   1.812 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 -6.287291e-9
   1.813 +} {abc: 1 1 (-6.3e-09) :xyz}
   1.814 +do_test printf-2.1.13.9 {
   1.815 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 -6.287291e-9
   1.816 +} {abc: 1 1 (-6e-09) :xyz}
   1.817 +do_test printf-2.1.14.1 {
   1.818 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 1 1 3.38826392e-110
   1.819 +} {abc: (0.0) :xyz}
   1.820 +do_test printf-2.1.14.2 {
   1.821 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 1 1 3.38826392e-110
   1.822 +} {abc: (3.4e-110) :xyz}
   1.823 +do_test printf-2.1.14.3 {
   1.824 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 1 1 3.38826392e-110
   1.825 +} {abc: (3e-110) :xyz}
   1.826 +do_test printf-2.1.14.4 {
   1.827 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 1 1 3.38826392e-110
   1.828 +} {abc: 1 1 (3.38826e-110) :xyz}
   1.829 +do_test printf-2.1.14.5 {
   1.830 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 1 1 3.38826392e-110
   1.831 +} {abc: 1 1 (3.38826e-110) :xyz}
   1.832 +do_test printf-2.1.14.6 {
   1.833 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 1 1 3.38826392e-110
   1.834 +} {abc: 1 1 (3.38826e-110) :xyz}
   1.835 +do_test printf-2.1.14.7 {
   1.836 +  sqlite3_mprintf_double {abc: %d %d (%1.1f) :xyz} 1 1 3.38826392e-110
   1.837 +} {abc: 1 1 (0.0) :xyz}
   1.838 +do_test printf-2.1.14.8 {
   1.839 +  sqlite3_mprintf_double {abc: %d %d (%1.1e) :xyz} 1 1 3.38826392e-110
   1.840 +} {abc: 1 1 (3.4e-110) :xyz}
   1.841 +do_test printf-2.1.14.9 {
   1.842 +  sqlite3_mprintf_double {abc: %d %d (%1.1g) :xyz} 1 1 3.38826392e-110
   1.843 +} {abc: 1 1 (3e-110) :xyz}
   1.844 +do_test printf-2.2.1.1 {
   1.845 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.001
   1.846 +} {abc: (0.00100) :xyz}
   1.847 +do_test printf-2.2.1.2 {
   1.848 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.001
   1.849 +} {abc: (1.00000e-03) :xyz}
   1.850 +do_test printf-2.2.1.3 {
   1.851 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.001
   1.852 +} {abc: (0.001) :xyz}
   1.853 +do_test printf-2.2.1.4 {
   1.854 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 0.001
   1.855 +} {abc: 5 5 (0.001) :xyz}
   1.856 +do_test printf-2.2.1.5 {
   1.857 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 0.001
   1.858 +} {abc: 5 5 (0.00100000) :xyz}
   1.859 +do_test printf-2.2.1.6 {
   1.860 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 0.001
   1.861 +} {abc: 5 5 (000000.001) :xyz}
   1.862 +do_test printf-2.2.1.7 {
   1.863 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 0.001
   1.864 +} {abc: 5 5 (0.00100) :xyz}
   1.865 +do_test printf-2.2.1.8 {
   1.866 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 0.001
   1.867 +} {abc: 5 5 (1.00000e-03) :xyz}
   1.868 +do_test printf-2.2.1.9 {
   1.869 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 0.001
   1.870 +} {abc: 5 5 (0.001) :xyz}
   1.871 +do_test printf-2.2.2.1 {
   1.872 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0e-20
   1.873 +} {abc: (0.00000) :xyz}
   1.874 +do_test printf-2.2.2.2 {
   1.875 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0e-20
   1.876 +} {abc: (1.00000e-20) :xyz}
   1.877 +do_test printf-2.2.2.3 {
   1.878 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0e-20
   1.879 +} {abc: (1e-20) :xyz}
   1.880 +do_test printf-2.2.2.4 {
   1.881 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 1.0e-20
   1.882 +} {abc: 5 5 (1e-20) :xyz}
   1.883 +do_test printf-2.2.2.5 {
   1.884 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 1.0e-20
   1.885 +} {abc: 5 5 (1.00000e-20) :xyz}
   1.886 +do_test printf-2.2.2.6 {
   1.887 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 1.0e-20
   1.888 +} {abc: 5 5 (000001e-20) :xyz}
   1.889 +do_test printf-2.2.2.7 {
   1.890 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 1.0e-20
   1.891 +} {abc: 5 5 (0.00000) :xyz}
   1.892 +do_test printf-2.2.2.8 {
   1.893 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 1.0e-20
   1.894 +} {abc: 5 5 (1.00000e-20) :xyz}
   1.895 +do_test printf-2.2.2.9 {
   1.896 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 1.0e-20
   1.897 +} {abc: 5 5 (1e-20) :xyz}
   1.898 +do_test printf-2.2.3.1 {
   1.899 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 1.0
   1.900 +} {abc: (1.00000) :xyz}
   1.901 +do_test printf-2.2.3.2 {
   1.902 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 1.0
   1.903 +} {abc: (1.00000e+00) :xyz}
   1.904 +do_test printf-2.2.3.3 {
   1.905 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 1.0
   1.906 +} {abc: (    1) :xyz}
   1.907 +do_test printf-2.2.3.4 {
   1.908 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 1.0
   1.909 +} {abc: 5 5 (1) :xyz}
   1.910 +do_test printf-2.2.3.5 {
   1.911 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 1.0
   1.912 +} {abc: 5 5 (1.00000) :xyz}
   1.913 +do_test printf-2.2.3.6 {
   1.914 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 1.0
   1.915 +} {abc: 5 5 (0000000001) :xyz}
   1.916 +do_test printf-2.2.3.7 {
   1.917 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 1.0
   1.918 +} {abc: 5 5 (1.00000) :xyz}
   1.919 +do_test printf-2.2.3.8 {
   1.920 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 1.0
   1.921 +} {abc: 5 5 (1.00000e+00) :xyz}
   1.922 +do_test printf-2.2.3.9 {
   1.923 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 1.0
   1.924 +} {abc: 5 5 (    1) :xyz}
   1.925 +do_test printf-2.2.4.1 {
   1.926 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 0.0
   1.927 +} {abc: (0.00000) :xyz}
   1.928 +do_test printf-2.2.4.2 {
   1.929 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 0.0
   1.930 +} {abc: (0.00000e+00) :xyz}
   1.931 +do_test printf-2.2.4.3 {
   1.932 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 0.0
   1.933 +} {abc: (    0) :xyz}
   1.934 +do_test printf-2.2.4.4 {
   1.935 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 0.0
   1.936 +} {abc: 5 5 (0) :xyz}
   1.937 +do_test printf-2.2.4.5 {
   1.938 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 0.0
   1.939 +} {abc: 5 5 (0.00000) :xyz}
   1.940 +do_test printf-2.2.4.6 {
   1.941 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 0.0
   1.942 +} {abc: 5 5 (0000000000) :xyz}
   1.943 +do_test printf-2.2.4.7 {
   1.944 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 0.0
   1.945 +} {abc: 5 5 (0.00000) :xyz}
   1.946 +do_test printf-2.2.4.8 {
   1.947 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 0.0
   1.948 +} {abc: 5 5 (0.00000e+00) :xyz}
   1.949 +do_test printf-2.2.4.9 {
   1.950 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 0.0
   1.951 +} {abc: 5 5 (    0) :xyz}
   1.952 +do_test printf-2.2.5.1 {
   1.953 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 100.0
   1.954 +} {abc: (100.00000) :xyz}
   1.955 +do_test printf-2.2.5.2 {
   1.956 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 100.0
   1.957 +} {abc: (1.00000e+02) :xyz}
   1.958 +do_test printf-2.2.5.3 {
   1.959 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 100.0
   1.960 +} {abc: (  100) :xyz}
   1.961 +do_test printf-2.2.5.4 {
   1.962 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 100.0
   1.963 +} {abc: 5 5 (100) :xyz}
   1.964 +do_test printf-2.2.5.5 {
   1.965 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 100.0
   1.966 +} {abc: 5 5 (100.000) :xyz}
   1.967 +do_test printf-2.2.5.6 {
   1.968 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 100.0
   1.969 +} {abc: 5 5 (0000000100) :xyz}
   1.970 +do_test printf-2.2.5.7 {
   1.971 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 100.0
   1.972 +} {abc: 5 5 (100.00000) :xyz}
   1.973 +do_test printf-2.2.5.8 {
   1.974 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 100.0
   1.975 +} {abc: 5 5 (1.00000e+02) :xyz}
   1.976 +do_test printf-2.2.5.9 {
   1.977 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 100.0
   1.978 +} {abc: 5 5 (  100) :xyz}
   1.979 +do_test printf-2.2.6.1 {
   1.980 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 9.99999
   1.981 +} {abc: (9.99999) :xyz}
   1.982 +do_test printf-2.2.6.2 {
   1.983 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.99999
   1.984 +} {abc: (9.99999e+00) :xyz}
   1.985 +do_test printf-2.2.6.3 {
   1.986 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.99999
   1.987 +} {abc: (   10) :xyz}
   1.988 +do_test printf-2.2.6.4 {
   1.989 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 9.99999
   1.990 +} {abc: 5 5 (9.99999) :xyz}
   1.991 +do_test printf-2.2.6.5 {
   1.992 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 9.99999
   1.993 +} {abc: 5 5 (9.99999) :xyz}
   1.994 +do_test printf-2.2.6.6 {
   1.995 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 9.99999
   1.996 +} {abc: 5 5 (0009.99999) :xyz}
   1.997 +do_test printf-2.2.6.7 {
   1.998 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 9.99999
   1.999 +} {abc: 5 5 (9.99999) :xyz}
  1.1000 +do_test printf-2.2.6.8 {
  1.1001 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 9.99999
  1.1002 +} {abc: 5 5 (9.99999e+00) :xyz}
  1.1003 +do_test printf-2.2.6.9 {
  1.1004 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 9.99999
  1.1005 +} {abc: 5 5 (   10) :xyz}
  1.1006 +do_test printf-2.2.7.1 {
  1.1007 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -0.00543
  1.1008 +} {abc: (-0.00543) :xyz}
  1.1009 +do_test printf-2.2.7.2 {
  1.1010 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -0.00543
  1.1011 +} {abc: (-5.43000e-03) :xyz}
  1.1012 +do_test printf-2.2.7.3 {
  1.1013 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -0.00543
  1.1014 +} {abc: (-0.00543) :xyz}
  1.1015 +do_test printf-2.2.7.4 {
  1.1016 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -0.00543
  1.1017 +} {abc: 5 5 (-0.00543) :xyz}
  1.1018 +do_test printf-2.2.7.5 {
  1.1019 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -0.00543
  1.1020 +} {abc: 5 5 (-0.00543000) :xyz}
  1.1021 +do_test printf-2.2.7.6 {
  1.1022 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -0.00543
  1.1023 +} {abc: 5 5 (-000.00543) :xyz}
  1.1024 +do_test printf-2.2.7.7 {
  1.1025 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -0.00543
  1.1026 +} {abc: 5 5 (-0.00543) :xyz}
  1.1027 +do_test printf-2.2.7.8 {
  1.1028 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -0.00543
  1.1029 +} {abc: 5 5 (-5.43000e-03) :xyz}
  1.1030 +do_test printf-2.2.7.9 {
  1.1031 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -0.00543
  1.1032 +} {abc: 5 5 (-0.00543) :xyz}
  1.1033 +do_test printf-2.2.8.1 {
  1.1034 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -1.0
  1.1035 +} {abc: (-1.00000) :xyz}
  1.1036 +do_test printf-2.2.8.2 {
  1.1037 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -1.0
  1.1038 +} {abc: (-1.00000e+00) :xyz}
  1.1039 +do_test printf-2.2.8.3 {
  1.1040 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -1.0
  1.1041 +} {abc: (   -1) :xyz}
  1.1042 +do_test printf-2.2.8.4 {
  1.1043 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -1.0
  1.1044 +} {abc: 5 5 (-1) :xyz}
  1.1045 +do_test printf-2.2.8.5 {
  1.1046 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -1.0
  1.1047 +} {abc: 5 5 (-1.00000) :xyz}
  1.1048 +do_test printf-2.2.8.6 {
  1.1049 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -1.0
  1.1050 +} {abc: 5 5 (-000000001) :xyz}
  1.1051 +do_test printf-2.2.8.7 {
  1.1052 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -1.0
  1.1053 +} {abc: 5 5 (-1.00000) :xyz}
  1.1054 +do_test printf-2.2.8.8 {
  1.1055 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -1.0
  1.1056 +} {abc: 5 5 (-1.00000e+00) :xyz}
  1.1057 +do_test printf-2.2.8.9 {
  1.1058 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -1.0
  1.1059 +} {abc: 5 5 (   -1) :xyz}
  1.1060 +do_test printf-2.2.9.1 {
  1.1061 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -99.99999
  1.1062 +} {abc: (-99.99999) :xyz}
  1.1063 +do_test printf-2.2.9.2 {
  1.1064 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -99.99999
  1.1065 +} {abc: (-1.00000e+02) :xyz}
  1.1066 +do_test printf-2.2.9.3 {
  1.1067 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -99.99999
  1.1068 +} {abc: ( -100) :xyz}
  1.1069 +do_test printf-2.2.9.4 {
  1.1070 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -99.99999
  1.1071 +} {abc: 5 5 (-100) :xyz}
  1.1072 +do_test printf-2.2.9.5 {
  1.1073 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -99.99999
  1.1074 +} {abc: 5 5 (-100.000) :xyz}
  1.1075 +do_test printf-2.2.9.6 {
  1.1076 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -99.99999
  1.1077 +} {abc: 5 5 (-000000100) :xyz}
  1.1078 +do_test printf-2.2.9.7 {
  1.1079 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -99.99999
  1.1080 +} {abc: 5 5 (-99.99999) :xyz}
  1.1081 +do_test printf-2.2.9.8 {
  1.1082 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -99.99999
  1.1083 +} {abc: 5 5 (-1.00000e+02) :xyz}
  1.1084 +do_test printf-2.2.9.9 {
  1.1085 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -99.99999
  1.1086 +} {abc: 5 5 ( -100) :xyz}
  1.1087 +do_test printf-2.2.10.1 {
  1.1088 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.14e+9
  1.1089 +} {abc: (3140000000.00000) :xyz}
  1.1090 +do_test printf-2.2.10.2 {
  1.1091 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.14e+9
  1.1092 +} {abc: (3.14000e+09) :xyz}
  1.1093 +do_test printf-2.2.10.3 {
  1.1094 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.14e+9
  1.1095 +} {abc: (3.14e+09) :xyz}
  1.1096 +do_test printf-2.2.10.4 {
  1.1097 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 3.14e+9
  1.1098 +} {abc: 5 5 (3.14e+09) :xyz}
  1.1099 +do_test printf-2.2.10.5 {
  1.1100 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 3.14e+9
  1.1101 +} {abc: 5 5 (3.14000e+09) :xyz}
  1.1102 +do_test printf-2.2.10.6 {
  1.1103 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 3.14e+9
  1.1104 +} {abc: 5 5 (003.14e+09) :xyz}
  1.1105 +do_test printf-2.2.10.7 {
  1.1106 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 3.14e+9
  1.1107 +} {abc: 5 5 (3140000000.00000) :xyz}
  1.1108 +do_test printf-2.2.10.8 {
  1.1109 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 3.14e+9
  1.1110 +} {abc: 5 5 (3.14000e+09) :xyz}
  1.1111 +do_test printf-2.2.10.9 {
  1.1112 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 3.14e+9
  1.1113 +} {abc: 5 5 (3.14e+09) :xyz}
  1.1114 +do_test printf-2.2.11.2 {
  1.1115 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -4.72732e+88
  1.1116 +} {abc: (-4.72732e+88) :xyz}
  1.1117 +do_test printf-2.2.11.3 {
  1.1118 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -4.72732e+88
  1.1119 +} {abc: (-4.7273e+88) :xyz}
  1.1120 +do_test printf-2.2.11.4 {
  1.1121 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -4.72732e+88
  1.1122 +} {abc: 5 5 (-4.72732e+88) :xyz}
  1.1123 +do_test printf-2.2.11.5 {
  1.1124 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -4.72732e+88
  1.1125 +} {abc: 5 5 (-4.72732e+88) :xyz}
  1.1126 +do_test printf-2.2.11.6 {
  1.1127 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -4.72732e+88
  1.1128 +} {abc: 5 5 (-4.72732e+88) :xyz}
  1.1129 +do_test printf-2.2.11.8 {
  1.1130 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -4.72732e+88
  1.1131 +} {abc: 5 5 (-4.72732e+88) :xyz}
  1.1132 +do_test printf-2.2.11.9 {
  1.1133 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -4.72732e+88
  1.1134 +} {abc: 5 5 (-4.7273e+88) :xyz}
  1.1135 +do_test printf-2.2.12.2 {
  1.1136 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 9.87991e+143
  1.1137 +} {abc: (9.87991e+143) :xyz}
  1.1138 +do_test printf-2.2.12.3 {
  1.1139 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 9.87991e+143
  1.1140 +} {abc: (9.8799e+143) :xyz}
  1.1141 +do_test printf-2.2.12.4 {
  1.1142 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 9.87991e+143
  1.1143 +} {abc: 5 5 (9.87991e+143) :xyz}
  1.1144 +do_test printf-2.2.12.5 {
  1.1145 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 9.87991e+143
  1.1146 +} {abc: 5 5 (9.87991e+143) :xyz}
  1.1147 +do_test printf-2.2.12.6 {
  1.1148 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 9.87991e+143
  1.1149 +} {abc: 5 5 (9.87991e+143) :xyz}
  1.1150 +do_test printf-2.2.12.8 {
  1.1151 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 9.87991e+143
  1.1152 +} {abc: 5 5 (9.87991e+143) :xyz}
  1.1153 +do_test printf-2.2.12.9 {
  1.1154 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 9.87991e+143
  1.1155 +} {abc: 5 5 (9.8799e+143) :xyz}
  1.1156 +do_test printf-2.2.13.1 {
  1.1157 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 -6.287291e-9
  1.1158 +} {abc: (-0.00000) :xyz}
  1.1159 +do_test printf-2.2.13.2 {
  1.1160 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 -6.287291e-9
  1.1161 +} {abc: (-6.28729e-09) :xyz}
  1.1162 +do_test printf-2.2.13.3 {
  1.1163 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 -6.287291e-9
  1.1164 +} {abc: (-6.2873e-09) :xyz}
  1.1165 +do_test printf-2.2.13.4 {
  1.1166 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 -6.287291e-9
  1.1167 +} {abc: 5 5 (-6.28729e-09) :xyz}
  1.1168 +do_test printf-2.2.13.5 {
  1.1169 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 -6.287291e-9
  1.1170 +} {abc: 5 5 (-6.28729e-09) :xyz}
  1.1171 +do_test printf-2.2.13.6 {
  1.1172 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 -6.287291e-9
  1.1173 +} {abc: 5 5 (-6.28729e-09) :xyz}
  1.1174 +do_test printf-2.2.13.7 {
  1.1175 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 -6.287291e-9
  1.1176 +} {abc: 5 5 (-0.00000) :xyz}
  1.1177 +do_test printf-2.2.13.8 {
  1.1178 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 -6.287291e-9
  1.1179 +} {abc: 5 5 (-6.28729e-09) :xyz}
  1.1180 +do_test printf-2.2.13.9 {
  1.1181 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 -6.287291e-9
  1.1182 +} {abc: 5 5 (-6.2873e-09) :xyz}
  1.1183 +do_test printf-2.2.14.1 {
  1.1184 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 5 5 3.38826392e-110
  1.1185 +} {abc: (0.00000) :xyz}
  1.1186 +do_test printf-2.2.14.2 {
  1.1187 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 5 5 3.38826392e-110
  1.1188 +} {abc: (3.38826e-110) :xyz}
  1.1189 +do_test printf-2.2.14.3 {
  1.1190 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 5 5 3.38826392e-110
  1.1191 +} {abc: (3.3883e-110) :xyz}
  1.1192 +do_test printf-2.2.14.4 {
  1.1193 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 5 5 3.38826392e-110
  1.1194 +} {abc: 5 5 (3.38826e-110) :xyz}
  1.1195 +do_test printf-2.2.14.5 {
  1.1196 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 5 5 3.38826392e-110
  1.1197 +} {abc: 5 5 (3.38826e-110) :xyz}
  1.1198 +do_test printf-2.2.14.6 {
  1.1199 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 5 5 3.38826392e-110
  1.1200 +} {abc: 5 5 (3.38826e-110) :xyz}
  1.1201 +do_test printf-2.2.14.7 {
  1.1202 +  sqlite3_mprintf_double {abc: %d %d (%5.5f) :xyz} 5 5 3.38826392e-110
  1.1203 +} {abc: 5 5 (0.00000) :xyz}
  1.1204 +do_test printf-2.2.14.8 {
  1.1205 +  sqlite3_mprintf_double {abc: %d %d (%5.5e) :xyz} 5 5 3.38826392e-110
  1.1206 +} {abc: 5 5 (3.38826e-110) :xyz}
  1.1207 +do_test printf-2.2.14.9 {
  1.1208 +  sqlite3_mprintf_double {abc: %d %d (%5.5g) :xyz} 5 5 3.38826392e-110
  1.1209 +} {abc: 5 5 (3.3883e-110) :xyz}
  1.1210 +do_test printf-2.3.1.1 {
  1.1211 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.001
  1.1212 +} {abc: (0.0010000000) :xyz}
  1.1213 +do_test printf-2.3.1.2 {
  1.1214 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.001
  1.1215 +} {abc: (1.0000000000e-03) :xyz}
  1.1216 +do_test printf-2.3.1.3 {
  1.1217 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.001
  1.1218 +} {abc: (     0.001) :xyz}
  1.1219 +do_test printf-2.3.1.4 {
  1.1220 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 0.001
  1.1221 +} {abc: 10 10 (0.001) :xyz}
  1.1222 +do_test printf-2.3.1.5 {
  1.1223 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 0.001
  1.1224 +} {abc: 10 10 (0.00100000) :xyz}
  1.1225 +do_test printf-2.3.1.6 {
  1.1226 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 0.001
  1.1227 +} {abc: 10 10 (000000.001) :xyz}
  1.1228 +do_test printf-2.3.1.7 {
  1.1229 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 0.001
  1.1230 +} {abc: 10 10 (0.0010000000) :xyz}
  1.1231 +do_test printf-2.3.1.8 {
  1.1232 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 0.001
  1.1233 +} {abc: 10 10 (1.0000000000e-03) :xyz}
  1.1234 +do_test printf-2.3.1.9 {
  1.1235 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 0.001
  1.1236 +} {abc: 10 10 (     0.001) :xyz}
  1.1237 +do_test printf-2.3.2.1 {
  1.1238 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0e-20
  1.1239 +} {abc: (0.0000000000) :xyz}
  1.1240 +do_test printf-2.3.2.2 {
  1.1241 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0e-20
  1.1242 +} {abc: (1.0000000000e-20) :xyz}
  1.1243 +do_test printf-2.3.2.3 {
  1.1244 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0e-20
  1.1245 +} {abc: (     1e-20) :xyz}
  1.1246 +do_test printf-2.3.2.4 {
  1.1247 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 1.0e-20
  1.1248 +} {abc: 10 10 (1e-20) :xyz}
  1.1249 +do_test printf-2.3.2.5 {
  1.1250 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 1.0e-20
  1.1251 +} {abc: 10 10 (1.00000e-20) :xyz}
  1.1252 +do_test printf-2.3.2.6 {
  1.1253 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 1.0e-20
  1.1254 +} {abc: 10 10 (000001e-20) :xyz}
  1.1255 +do_test printf-2.3.2.7 {
  1.1256 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 1.0e-20
  1.1257 +} {abc: 10 10 (0.0000000000) :xyz}
  1.1258 +do_test printf-2.3.2.8 {
  1.1259 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 1.0e-20
  1.1260 +} {abc: 10 10 (1.0000000000e-20) :xyz}
  1.1261 +do_test printf-2.3.2.9 {
  1.1262 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 1.0e-20
  1.1263 +} {abc: 10 10 (     1e-20) :xyz}
  1.1264 +do_test printf-2.3.3.1 {
  1.1265 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 1.0
  1.1266 +} {abc: (1.0000000000) :xyz}
  1.1267 +do_test printf-2.3.3.2 {
  1.1268 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 1.0
  1.1269 +} {abc: (1.0000000000e+00) :xyz}
  1.1270 +do_test printf-2.3.3.3 {
  1.1271 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 1.0
  1.1272 +} {abc: (         1) :xyz}
  1.1273 +do_test printf-2.3.3.4 {
  1.1274 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 1.0
  1.1275 +} {abc: 10 10 (1) :xyz}
  1.1276 +do_test printf-2.3.3.5 {
  1.1277 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 1.0
  1.1278 +} {abc: 10 10 (1.00000) :xyz}
  1.1279 +do_test printf-2.3.3.6 {
  1.1280 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 1.0
  1.1281 +} {abc: 10 10 (0000000001) :xyz}
  1.1282 +do_test printf-2.3.3.7 {
  1.1283 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 1.0
  1.1284 +} {abc: 10 10 (1.0000000000) :xyz}
  1.1285 +do_test printf-2.3.3.8 {
  1.1286 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 1.0
  1.1287 +} {abc: 10 10 (1.0000000000e+00) :xyz}
  1.1288 +do_test printf-2.3.3.9 {
  1.1289 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 1.0
  1.1290 +} {abc: 10 10 (         1) :xyz}
  1.1291 +do_test printf-2.3.4.1 {
  1.1292 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 0.0
  1.1293 +} {abc: (0.0000000000) :xyz}
  1.1294 +do_test printf-2.3.4.2 {
  1.1295 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 0.0
  1.1296 +} {abc: (0.0000000000e+00) :xyz}
  1.1297 +do_test printf-2.3.4.3 {
  1.1298 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 0.0
  1.1299 +} {abc: (         0) :xyz}
  1.1300 +do_test printf-2.3.4.4 {
  1.1301 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 0.0
  1.1302 +} {abc: 10 10 (0) :xyz}
  1.1303 +do_test printf-2.3.4.5 {
  1.1304 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 0.0
  1.1305 +} {abc: 10 10 (0.00000) :xyz}
  1.1306 +do_test printf-2.3.4.6 {
  1.1307 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 0.0
  1.1308 +} {abc: 10 10 (0000000000) :xyz}
  1.1309 +do_test printf-2.3.4.7 {
  1.1310 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 0.0
  1.1311 +} {abc: 10 10 (0.0000000000) :xyz}
  1.1312 +do_test printf-2.3.4.8 {
  1.1313 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 0.0
  1.1314 +} {abc: 10 10 (0.0000000000e+00) :xyz}
  1.1315 +do_test printf-2.3.4.9 {
  1.1316 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 0.0
  1.1317 +} {abc: 10 10 (         0) :xyz}
  1.1318 +do_test printf-2.3.5.1 {
  1.1319 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 100.0
  1.1320 +} {abc: (100.0000000000) :xyz}
  1.1321 +do_test printf-2.3.5.2 {
  1.1322 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 100.0
  1.1323 +} {abc: (1.0000000000e+02) :xyz}
  1.1324 +do_test printf-2.3.5.3 {
  1.1325 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 100.0
  1.1326 +} {abc: (       100) :xyz}
  1.1327 +do_test printf-2.3.5.4 {
  1.1328 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 100.0
  1.1329 +} {abc: 10 10 (100) :xyz}
  1.1330 +do_test printf-2.3.5.5 {
  1.1331 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 100.0
  1.1332 +} {abc: 10 10 (100.000) :xyz}
  1.1333 +do_test printf-2.3.5.6 {
  1.1334 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 100.0
  1.1335 +} {abc: 10 10 (0000000100) :xyz}
  1.1336 +do_test printf-2.3.5.7 {
  1.1337 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 100.0
  1.1338 +} {abc: 10 10 (100.0000000000) :xyz}
  1.1339 +do_test printf-2.3.5.8 {
  1.1340 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 100.0
  1.1341 +} {abc: 10 10 (1.0000000000e+02) :xyz}
  1.1342 +do_test printf-2.3.5.9 {
  1.1343 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 100.0
  1.1344 +} {abc: 10 10 (       100) :xyz}
  1.1345 +do_test printf-2.3.6.1 {
  1.1346 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 9.99999
  1.1347 +} {abc: (9.9999900000) :xyz}
  1.1348 +do_test printf-2.3.6.2 {
  1.1349 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.99999
  1.1350 +} {abc: (9.9999900000e+00) :xyz}
  1.1351 +do_test printf-2.3.6.3 {
  1.1352 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.99999
  1.1353 +} {abc: (   9.99999) :xyz}
  1.1354 +do_test printf-2.3.6.4 {
  1.1355 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 9.99999
  1.1356 +} {abc: 10 10 (9.99999) :xyz}
  1.1357 +do_test printf-2.3.6.5 {
  1.1358 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 9.99999
  1.1359 +} {abc: 10 10 (9.99999) :xyz}
  1.1360 +do_test printf-2.3.6.6 {
  1.1361 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 9.99999
  1.1362 +} {abc: 10 10 (0009.99999) :xyz}
  1.1363 +do_test printf-2.3.6.7 {
  1.1364 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 9.99999
  1.1365 +} {abc: 10 10 (9.9999900000) :xyz}
  1.1366 +do_test printf-2.3.6.8 {
  1.1367 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 9.99999
  1.1368 +} {abc: 10 10 (9.9999900000e+00) :xyz}
  1.1369 +do_test printf-2.3.6.9 {
  1.1370 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 9.99999
  1.1371 +} {abc: 10 10 (   9.99999) :xyz}
  1.1372 +do_test printf-2.3.7.1 {
  1.1373 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -0.00543
  1.1374 +} {abc: (-0.0054300000) :xyz}
  1.1375 +do_test printf-2.3.7.2 {
  1.1376 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -0.00543
  1.1377 +} {abc: (-5.4300000000e-03) :xyz}
  1.1378 +do_test printf-2.3.7.3 {
  1.1379 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -0.00543
  1.1380 +} {abc: (  -0.00543) :xyz}
  1.1381 +do_test printf-2.3.7.4 {
  1.1382 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -0.00543
  1.1383 +} {abc: 10 10 (-0.00543) :xyz}
  1.1384 +do_test printf-2.3.7.5 {
  1.1385 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -0.00543
  1.1386 +} {abc: 10 10 (-0.00543000) :xyz}
  1.1387 +do_test printf-2.3.7.6 {
  1.1388 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -0.00543
  1.1389 +} {abc: 10 10 (-000.00543) :xyz}
  1.1390 +do_test printf-2.3.7.7 {
  1.1391 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -0.00543
  1.1392 +} {abc: 10 10 (-0.0054300000) :xyz}
  1.1393 +do_test printf-2.3.7.8 {
  1.1394 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -0.00543
  1.1395 +} {abc: 10 10 (-5.4300000000e-03) :xyz}
  1.1396 +do_test printf-2.3.7.9 {
  1.1397 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -0.00543
  1.1398 +} {abc: 10 10 (  -0.00543) :xyz}
  1.1399 +do_test printf-2.3.8.1 {
  1.1400 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -1.0
  1.1401 +} {abc: (-1.0000000000) :xyz}
  1.1402 +do_test printf-2.3.8.2 {
  1.1403 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -1.0
  1.1404 +} {abc: (-1.0000000000e+00) :xyz}
  1.1405 +do_test printf-2.3.8.3 {
  1.1406 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -1.0
  1.1407 +} {abc: (        -1) :xyz}
  1.1408 +do_test printf-2.3.8.4 {
  1.1409 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -1.0
  1.1410 +} {abc: 10 10 (-1) :xyz}
  1.1411 +do_test printf-2.3.8.5 {
  1.1412 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -1.0
  1.1413 +} {abc: 10 10 (-1.00000) :xyz}
  1.1414 +do_test printf-2.3.8.6 {
  1.1415 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -1.0
  1.1416 +} {abc: 10 10 (-000000001) :xyz}
  1.1417 +do_test printf-2.3.8.7 {
  1.1418 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -1.0
  1.1419 +} {abc: 10 10 (-1.0000000000) :xyz}
  1.1420 +do_test printf-2.3.8.8 {
  1.1421 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -1.0
  1.1422 +} {abc: 10 10 (-1.0000000000e+00) :xyz}
  1.1423 +do_test printf-2.3.8.9 {
  1.1424 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -1.0
  1.1425 +} {abc: 10 10 (        -1) :xyz}
  1.1426 +do_test printf-2.3.9.1 {
  1.1427 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -99.99999
  1.1428 +} {abc: (-99.9999900000) :xyz}
  1.1429 +do_test printf-2.3.9.2 {
  1.1430 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -99.99999
  1.1431 +} {abc: (-9.9999990000e+01) :xyz}
  1.1432 +do_test printf-2.3.9.3 {
  1.1433 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -99.99999
  1.1434 +} {abc: ( -99.99999) :xyz}
  1.1435 +do_test printf-2.3.9.4 {
  1.1436 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -99.99999
  1.1437 +} {abc: 10 10 (-100) :xyz}
  1.1438 +do_test printf-2.3.9.5 {
  1.1439 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -99.99999
  1.1440 +} {abc: 10 10 (-100.000) :xyz}
  1.1441 +do_test printf-2.3.9.6 {
  1.1442 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -99.99999
  1.1443 +} {abc: 10 10 (-000000100) :xyz}
  1.1444 +do_test printf-2.3.9.7 {
  1.1445 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -99.99999
  1.1446 +} {abc: 10 10 (-99.9999900000) :xyz}
  1.1447 +do_test printf-2.3.9.8 {
  1.1448 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -99.99999
  1.1449 +} {abc: 10 10 (-9.9999990000e+01) :xyz}
  1.1450 +do_test printf-2.3.9.9 {
  1.1451 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -99.99999
  1.1452 +} {abc: 10 10 ( -99.99999) :xyz}
  1.1453 +do_test printf-2.3.10.1 {
  1.1454 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.14e+9
  1.1455 +} {abc: (3140000000.0000000000) :xyz}
  1.1456 +do_test printf-2.3.10.2 {
  1.1457 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.14e+9
  1.1458 +} {abc: (3.1400000000e+09) :xyz}
  1.1459 +do_test printf-2.3.10.3 {
  1.1460 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.14e+9
  1.1461 +} {abc: (3140000000) :xyz}
  1.1462 +do_test printf-2.3.10.4 {
  1.1463 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 3.14e+9
  1.1464 +} {abc: 10 10 (3.14e+09) :xyz}
  1.1465 +do_test printf-2.3.10.5 {
  1.1466 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 3.14e+9
  1.1467 +} {abc: 10 10 (3.14000e+09) :xyz}
  1.1468 +do_test printf-2.3.10.6 {
  1.1469 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 3.14e+9
  1.1470 +} {abc: 10 10 (003.14e+09) :xyz}
  1.1471 +do_test printf-2.3.10.7 {
  1.1472 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 3.14e+9
  1.1473 +} {abc: 10 10 (3140000000.0000000000) :xyz}
  1.1474 +do_test printf-2.3.10.8 {
  1.1475 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 3.14e+9
  1.1476 +} {abc: 10 10 (3.1400000000e+09) :xyz}
  1.1477 +do_test printf-2.3.10.9 {
  1.1478 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 3.14e+9
  1.1479 +} {abc: 10 10 (3140000000) :xyz}
  1.1480 +do_test printf-2.3.11.2 {
  1.1481 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -4.72732e+88
  1.1482 +} {abc: (-4.7273200000e+88) :xyz}
  1.1483 +do_test printf-2.3.11.3 {
  1.1484 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -4.72732e+88
  1.1485 +} {abc: (-4.72732e+88) :xyz}
  1.1486 +do_test printf-2.3.11.4 {
  1.1487 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -4.72732e+88
  1.1488 +} {abc: 10 10 (-4.72732e+88) :xyz}
  1.1489 +do_test printf-2.3.11.5 {
  1.1490 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -4.72732e+88
  1.1491 +} {abc: 10 10 (-4.72732e+88) :xyz}
  1.1492 +do_test printf-2.3.11.6 {
  1.1493 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -4.72732e+88
  1.1494 +} {abc: 10 10 (-4.72732e+88) :xyz}
  1.1495 +do_test printf-2.3.11.8 {
  1.1496 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -4.72732e+88
  1.1497 +} {abc: 10 10 (-4.7273200000e+88) :xyz}
  1.1498 +do_test printf-2.3.11.9 {
  1.1499 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -4.72732e+88
  1.1500 +} {abc: 10 10 (-4.72732e+88) :xyz}
  1.1501 +do_test printf-2.3.12.2 {
  1.1502 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 9.87991e+143
  1.1503 +} {abc: (9.8799100000e+143) :xyz}
  1.1504 +do_test printf-2.3.12.3 {
  1.1505 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 9.87991e+143
  1.1506 +} {abc: (9.87991e+143) :xyz}
  1.1507 +do_test printf-2.3.12.4 {
  1.1508 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 9.87991e+143
  1.1509 +} {abc: 10 10 (9.87991e+143) :xyz}
  1.1510 +do_test printf-2.3.12.5 {
  1.1511 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 9.87991e+143
  1.1512 +} {abc: 10 10 (9.87991e+143) :xyz}
  1.1513 +do_test printf-2.3.12.6 {
  1.1514 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 9.87991e+143
  1.1515 +} {abc: 10 10 (9.87991e+143) :xyz}
  1.1516 +do_test printf-2.3.12.8 {
  1.1517 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 9.87991e+143
  1.1518 +} {abc: 10 10 (9.8799100000e+143) :xyz}
  1.1519 +do_test printf-2.3.12.9 {
  1.1520 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 9.87991e+143
  1.1521 +} {abc: 10 10 (9.87991e+143) :xyz}
  1.1522 +do_test printf-2.3.13.1 {
  1.1523 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 -6.287291e-9
  1.1524 +} {abc: (-0.0000000063) :xyz}
  1.1525 +do_test printf-2.3.13.2 {
  1.1526 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 -6.287291e-9
  1.1527 +} {abc: (-6.2872910000e-09) :xyz}
  1.1528 +do_test printf-2.3.13.3 {
  1.1529 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 -6.287291e-9
  1.1530 +} {abc: (-6.287291e-09) :xyz}
  1.1531 +do_test printf-2.3.13.4 {
  1.1532 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 -6.287291e-9
  1.1533 +} {abc: 10 10 (-6.28729e-09) :xyz}
  1.1534 +do_test printf-2.3.13.5 {
  1.1535 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 -6.287291e-9
  1.1536 +} {abc: 10 10 (-6.28729e-09) :xyz}
  1.1537 +do_test printf-2.3.13.6 {
  1.1538 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 -6.287291e-9
  1.1539 +} {abc: 10 10 (-6.28729e-09) :xyz}
  1.1540 +do_test printf-2.3.13.7 {
  1.1541 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 -6.287291e-9
  1.1542 +} {abc: 10 10 (-0.0000000063) :xyz}
  1.1543 +do_test printf-2.3.13.8 {
  1.1544 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 -6.287291e-9
  1.1545 +} {abc: 10 10 (-6.2872910000e-09) :xyz}
  1.1546 +do_test printf-2.3.13.9 {
  1.1547 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 -6.287291e-9
  1.1548 +} {abc: 10 10 (-6.287291e-09) :xyz}
  1.1549 +do_test printf-2.3.14.1 {
  1.1550 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 10 3.38826392e-110
  1.1551 +} {abc: (0.0000000000) :xyz}
  1.1552 +do_test printf-2.3.14.2 {
  1.1553 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 10 3.38826392e-110
  1.1554 +} {abc: (3.3882639200e-110) :xyz}
  1.1555 +do_test printf-2.3.14.3 {
  1.1556 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 10 3.38826392e-110
  1.1557 +} {abc: (3.38826392e-110) :xyz}
  1.1558 +do_test printf-2.3.14.4 {
  1.1559 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 10 3.38826392e-110
  1.1560 +} {abc: 10 10 (3.38826e-110) :xyz}
  1.1561 +do_test printf-2.3.14.5 {
  1.1562 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 10 3.38826392e-110
  1.1563 +} {abc: 10 10 (3.38826e-110) :xyz}
  1.1564 +do_test printf-2.3.14.6 {
  1.1565 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 10 3.38826392e-110
  1.1566 +} {abc: 10 10 (3.38826e-110) :xyz}
  1.1567 +do_test printf-2.3.14.7 {
  1.1568 +  sqlite3_mprintf_double {abc: %d %d (%10.10f) :xyz} 10 10 3.38826392e-110
  1.1569 +} {abc: 10 10 (0.0000000000) :xyz}
  1.1570 +do_test printf-2.3.14.8 {
  1.1571 +  sqlite3_mprintf_double {abc: %d %d (%10.10e) :xyz} 10 10 3.38826392e-110
  1.1572 +} {abc: 10 10 (3.3882639200e-110) :xyz}
  1.1573 +do_test printf-2.3.14.9 {
  1.1574 +  sqlite3_mprintf_double {abc: %d %d (%10.10g) :xyz} 10 10 3.38826392e-110
  1.1575 +} {abc: 10 10 (3.38826392e-110) :xyz}
  1.1576 +do_test printf-2.4.1.1 {
  1.1577 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.001
  1.1578 +} {abc: (   0.00100) :xyz}
  1.1579 +do_test printf-2.4.1.2 {
  1.1580 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.001
  1.1581 +} {abc: (1.00000e-03) :xyz}
  1.1582 +do_test printf-2.4.1.3 {
  1.1583 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.001
  1.1584 +} {abc: (     0.001) :xyz}
  1.1585 +do_test printf-2.4.1.4 {
  1.1586 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 0.001
  1.1587 +} {abc: 10 5 (0.001) :xyz}
  1.1588 +do_test printf-2.4.1.5 {
  1.1589 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 0.001
  1.1590 +} {abc: 10 5 (0.00100000) :xyz}
  1.1591 +do_test printf-2.4.1.6 {
  1.1592 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 0.001
  1.1593 +} {abc: 10 5 (000000.001) :xyz}
  1.1594 +do_test printf-2.4.1.7 {
  1.1595 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 0.001
  1.1596 +} {abc: 10 5 (   0.00100) :xyz}
  1.1597 +do_test printf-2.4.1.8 {
  1.1598 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 0.001
  1.1599 +} {abc: 10 5 (1.00000e-03) :xyz}
  1.1600 +do_test printf-2.4.1.9 {
  1.1601 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 0.001
  1.1602 +} {abc: 10 5 (     0.001) :xyz}
  1.1603 +do_test printf-2.4.2.1 {
  1.1604 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0e-20
  1.1605 +} {abc: (   0.00000) :xyz}
  1.1606 +do_test printf-2.4.2.2 {
  1.1607 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0e-20
  1.1608 +} {abc: (1.00000e-20) :xyz}
  1.1609 +do_test printf-2.4.2.3 {
  1.1610 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0e-20
  1.1611 +} {abc: (     1e-20) :xyz}
  1.1612 +do_test printf-2.4.2.4 {
  1.1613 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 1.0e-20
  1.1614 +} {abc: 10 5 (1e-20) :xyz}
  1.1615 +do_test printf-2.4.2.5 {
  1.1616 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 1.0e-20
  1.1617 +} {abc: 10 5 (1.00000e-20) :xyz}
  1.1618 +do_test printf-2.4.2.6 {
  1.1619 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 1.0e-20
  1.1620 +} {abc: 10 5 (000001e-20) :xyz}
  1.1621 +do_test printf-2.4.2.7 {
  1.1622 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 1.0e-20
  1.1623 +} {abc: 10 5 (   0.00000) :xyz}
  1.1624 +do_test printf-2.4.2.8 {
  1.1625 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 1.0e-20
  1.1626 +} {abc: 10 5 (1.00000e-20) :xyz}
  1.1627 +do_test printf-2.4.2.9 {
  1.1628 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 1.0e-20
  1.1629 +} {abc: 10 5 (     1e-20) :xyz}
  1.1630 +do_test printf-2.4.3.1 {
  1.1631 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 1.0
  1.1632 +} {abc: (   1.00000) :xyz}
  1.1633 +do_test printf-2.4.3.2 {
  1.1634 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 1.0
  1.1635 +} {abc: (1.00000e+00) :xyz}
  1.1636 +do_test printf-2.4.3.3 {
  1.1637 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 1.0
  1.1638 +} {abc: (         1) :xyz}
  1.1639 +do_test printf-2.4.3.4 {
  1.1640 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 1.0
  1.1641 +} {abc: 10 5 (1) :xyz}
  1.1642 +do_test printf-2.4.3.5 {
  1.1643 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 1.0
  1.1644 +} {abc: 10 5 (1.00000) :xyz}
  1.1645 +do_test printf-2.4.3.6 {
  1.1646 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 1.0
  1.1647 +} {abc: 10 5 (0000000001) :xyz}
  1.1648 +do_test printf-2.4.3.7 {
  1.1649 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 1.0
  1.1650 +} {abc: 10 5 (   1.00000) :xyz}
  1.1651 +do_test printf-2.4.3.8 {
  1.1652 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 1.0
  1.1653 +} {abc: 10 5 (1.00000e+00) :xyz}
  1.1654 +do_test printf-2.4.3.9 {
  1.1655 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 1.0
  1.1656 +} {abc: 10 5 (         1) :xyz}
  1.1657 +do_test printf-2.4.4.1 {
  1.1658 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 0.0
  1.1659 +} {abc: (   0.00000) :xyz}
  1.1660 +do_test printf-2.4.4.2 {
  1.1661 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 0.0
  1.1662 +} {abc: (0.00000e+00) :xyz}
  1.1663 +do_test printf-2.4.4.3 {
  1.1664 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 0.0
  1.1665 +} {abc: (         0) :xyz}
  1.1666 +do_test printf-2.4.4.4 {
  1.1667 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 0.0
  1.1668 +} {abc: 10 5 (0) :xyz}
  1.1669 +do_test printf-2.4.4.5 {
  1.1670 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 0.0
  1.1671 +} {abc: 10 5 (0.00000) :xyz}
  1.1672 +do_test printf-2.4.4.6 {
  1.1673 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 0.0
  1.1674 +} {abc: 10 5 (0000000000) :xyz}
  1.1675 +do_test printf-2.4.4.7 {
  1.1676 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 0.0
  1.1677 +} {abc: 10 5 (   0.00000) :xyz}
  1.1678 +do_test printf-2.4.4.8 {
  1.1679 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 0.0
  1.1680 +} {abc: 10 5 (0.00000e+00) :xyz}
  1.1681 +do_test printf-2.4.4.9 {
  1.1682 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 0.0
  1.1683 +} {abc: 10 5 (         0) :xyz}
  1.1684 +do_test printf-2.4.5.1 {
  1.1685 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 100.0
  1.1686 +} {abc: ( 100.00000) :xyz}
  1.1687 +do_test printf-2.4.5.2 {
  1.1688 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 100.0
  1.1689 +} {abc: (1.00000e+02) :xyz}
  1.1690 +do_test printf-2.4.5.3 {
  1.1691 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 100.0
  1.1692 +} {abc: (       100) :xyz}
  1.1693 +do_test printf-2.4.5.4 {
  1.1694 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 100.0
  1.1695 +} {abc: 10 5 (100) :xyz}
  1.1696 +do_test printf-2.4.5.5 {
  1.1697 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 100.0
  1.1698 +} {abc: 10 5 (100.000) :xyz}
  1.1699 +do_test printf-2.4.5.6 {
  1.1700 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 100.0
  1.1701 +} {abc: 10 5 (0000000100) :xyz}
  1.1702 +do_test printf-2.4.5.7 {
  1.1703 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 100.0
  1.1704 +} {abc: 10 5 ( 100.00000) :xyz}
  1.1705 +do_test printf-2.4.5.8 {
  1.1706 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 100.0
  1.1707 +} {abc: 10 5 (1.00000e+02) :xyz}
  1.1708 +do_test printf-2.4.5.9 {
  1.1709 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 100.0
  1.1710 +} {abc: 10 5 (       100) :xyz}
  1.1711 +do_test printf-2.4.6.1 {
  1.1712 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 9.99999
  1.1713 +} {abc: (   9.99999) :xyz}
  1.1714 +do_test printf-2.4.6.2 {
  1.1715 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.99999
  1.1716 +} {abc: (9.99999e+00) :xyz}
  1.1717 +do_test printf-2.4.6.3 {
  1.1718 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.99999
  1.1719 +} {abc: (        10) :xyz}
  1.1720 +do_test printf-2.4.6.4 {
  1.1721 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 9.99999
  1.1722 +} {abc: 10 5 (9.99999) :xyz}
  1.1723 +do_test printf-2.4.6.5 {
  1.1724 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 9.99999
  1.1725 +} {abc: 10 5 (9.99999) :xyz}
  1.1726 +do_test printf-2.4.6.6 {
  1.1727 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 9.99999
  1.1728 +} {abc: 10 5 (0009.99999) :xyz}
  1.1729 +do_test printf-2.4.6.7 {
  1.1730 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 9.99999
  1.1731 +} {abc: 10 5 (   9.99999) :xyz}
  1.1732 +do_test printf-2.4.6.8 {
  1.1733 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 9.99999
  1.1734 +} {abc: 10 5 (9.99999e+00) :xyz}
  1.1735 +do_test printf-2.4.6.9 {
  1.1736 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 9.99999
  1.1737 +} {abc: 10 5 (        10) :xyz}
  1.1738 +do_test printf-2.4.7.1 {
  1.1739 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -0.00543
  1.1740 +} {abc: (  -0.00543) :xyz}
  1.1741 +do_test printf-2.4.7.2 {
  1.1742 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -0.00543
  1.1743 +} {abc: (-5.43000e-03) :xyz}
  1.1744 +do_test printf-2.4.7.3 {
  1.1745 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -0.00543
  1.1746 +} {abc: (  -0.00543) :xyz}
  1.1747 +do_test printf-2.4.7.4 {
  1.1748 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -0.00543
  1.1749 +} {abc: 10 5 (-0.00543) :xyz}
  1.1750 +do_test printf-2.4.7.5 {
  1.1751 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -0.00543
  1.1752 +} {abc: 10 5 (-0.00543000) :xyz}
  1.1753 +do_test printf-2.4.7.6 {
  1.1754 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -0.00543
  1.1755 +} {abc: 10 5 (-000.00543) :xyz}
  1.1756 +do_test printf-2.4.7.7 {
  1.1757 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -0.00543
  1.1758 +} {abc: 10 5 (  -0.00543) :xyz}
  1.1759 +do_test printf-2.4.7.8 {
  1.1760 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -0.00543
  1.1761 +} {abc: 10 5 (-5.43000e-03) :xyz}
  1.1762 +do_test printf-2.4.7.9 {
  1.1763 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -0.00543
  1.1764 +} {abc: 10 5 (  -0.00543) :xyz}
  1.1765 +do_test printf-2.4.8.1 {
  1.1766 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -1.0
  1.1767 +} {abc: (  -1.00000) :xyz}
  1.1768 +do_test printf-2.4.8.2 {
  1.1769 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -1.0
  1.1770 +} {abc: (-1.00000e+00) :xyz}
  1.1771 +do_test printf-2.4.8.3 {
  1.1772 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -1.0
  1.1773 +} {abc: (        -1) :xyz}
  1.1774 +do_test printf-2.4.8.4 {
  1.1775 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -1.0
  1.1776 +} {abc: 10 5 (-1) :xyz}
  1.1777 +do_test printf-2.4.8.5 {
  1.1778 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -1.0
  1.1779 +} {abc: 10 5 (-1.00000) :xyz}
  1.1780 +do_test printf-2.4.8.6 {
  1.1781 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -1.0
  1.1782 +} {abc: 10 5 (-000000001) :xyz}
  1.1783 +do_test printf-2.4.8.7 {
  1.1784 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -1.0
  1.1785 +} {abc: 10 5 (  -1.00000) :xyz}
  1.1786 +do_test printf-2.4.8.8 {
  1.1787 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -1.0
  1.1788 +} {abc: 10 5 (-1.00000e+00) :xyz}
  1.1789 +do_test printf-2.4.8.9 {
  1.1790 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -1.0
  1.1791 +} {abc: 10 5 (        -1) :xyz}
  1.1792 +do_test printf-2.4.9.1 {
  1.1793 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -99.99999
  1.1794 +} {abc: ( -99.99999) :xyz}
  1.1795 +do_test printf-2.4.9.2 {
  1.1796 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -99.99999
  1.1797 +} {abc: (-1.00000e+02) :xyz}
  1.1798 +do_test printf-2.4.9.3 {
  1.1799 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -99.99999
  1.1800 +} {abc: (      -100) :xyz}
  1.1801 +do_test printf-2.4.9.4 {
  1.1802 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -99.99999
  1.1803 +} {abc: 10 5 (-100) :xyz}
  1.1804 +do_test printf-2.4.9.5 {
  1.1805 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -99.99999
  1.1806 +} {abc: 10 5 (-100.000) :xyz}
  1.1807 +do_test printf-2.4.9.6 {
  1.1808 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -99.99999
  1.1809 +} {abc: 10 5 (-000000100) :xyz}
  1.1810 +do_test printf-2.4.9.7 {
  1.1811 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -99.99999
  1.1812 +} {abc: 10 5 ( -99.99999) :xyz}
  1.1813 +do_test printf-2.4.9.8 {
  1.1814 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -99.99999
  1.1815 +} {abc: 10 5 (-1.00000e+02) :xyz}
  1.1816 +do_test printf-2.4.9.9 {
  1.1817 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -99.99999
  1.1818 +} {abc: 10 5 (      -100) :xyz}
  1.1819 +do_test printf-2.4.10.1 {
  1.1820 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.14e+9
  1.1821 +} {abc: (3140000000.00000) :xyz}
  1.1822 +do_test printf-2.4.10.2 {
  1.1823 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.14e+9
  1.1824 +} {abc: (3.14000e+09) :xyz}
  1.1825 +do_test printf-2.4.10.3 {
  1.1826 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.14e+9
  1.1827 +} {abc: (  3.14e+09) :xyz}
  1.1828 +do_test printf-2.4.10.4 {
  1.1829 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 3.14e+9
  1.1830 +} {abc: 10 5 (3.14e+09) :xyz}
  1.1831 +do_test printf-2.4.10.5 {
  1.1832 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 3.14e+9
  1.1833 +} {abc: 10 5 (3.14000e+09) :xyz}
  1.1834 +do_test printf-2.4.10.6 {
  1.1835 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 3.14e+9
  1.1836 +} {abc: 10 5 (003.14e+09) :xyz}
  1.1837 +do_test printf-2.4.10.7 {
  1.1838 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 3.14e+9
  1.1839 +} {abc: 10 5 (3140000000.00000) :xyz}
  1.1840 +do_test printf-2.4.10.8 {
  1.1841 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 3.14e+9
  1.1842 +} {abc: 10 5 (3.14000e+09) :xyz}
  1.1843 +do_test printf-2.4.10.9 {
  1.1844 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 3.14e+9
  1.1845 +} {abc: 10 5 (  3.14e+09) :xyz}
  1.1846 +do_test printf-2.4.11.2 {
  1.1847 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -4.72732e+88
  1.1848 +} {abc: (-4.72732e+88) :xyz}
  1.1849 +do_test printf-2.4.11.3 {
  1.1850 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -4.72732e+88
  1.1851 +} {abc: (-4.7273e+88) :xyz}
  1.1852 +do_test printf-2.4.11.4 {
  1.1853 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -4.72732e+88
  1.1854 +} {abc: 10 5 (-4.72732e+88) :xyz}
  1.1855 +do_test printf-2.4.11.5 {
  1.1856 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -4.72732e+88
  1.1857 +} {abc: 10 5 (-4.72732e+88) :xyz}
  1.1858 +do_test printf-2.4.11.6 {
  1.1859 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -4.72732e+88
  1.1860 +} {abc: 10 5 (-4.72732e+88) :xyz}
  1.1861 +do_test printf-2.4.11.8 {
  1.1862 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -4.72732e+88
  1.1863 +} {abc: 10 5 (-4.72732e+88) :xyz}
  1.1864 +do_test printf-2.4.11.9 {
  1.1865 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -4.72732e+88
  1.1866 +} {abc: 10 5 (-4.7273e+88) :xyz}
  1.1867 +do_test printf-2.4.12.2 {
  1.1868 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 9.87991e+143
  1.1869 +} {abc: (9.87991e+143) :xyz}
  1.1870 +do_test printf-2.4.12.3 {
  1.1871 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 9.87991e+143
  1.1872 +} {abc: (9.8799e+143) :xyz}
  1.1873 +do_test printf-2.4.12.4 {
  1.1874 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 9.87991e+143
  1.1875 +} {abc: 10 5 (9.87991e+143) :xyz}
  1.1876 +do_test printf-2.4.12.5 {
  1.1877 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 9.87991e+143
  1.1878 +} {abc: 10 5 (9.87991e+143) :xyz}
  1.1879 +do_test printf-2.4.12.6 {
  1.1880 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 9.87991e+143
  1.1881 +} {abc: 10 5 (9.87991e+143) :xyz}
  1.1882 +do_test printf-2.4.12.8 {
  1.1883 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 9.87991e+143
  1.1884 +} {abc: 10 5 (9.87991e+143) :xyz}
  1.1885 +do_test printf-2.4.12.9 {
  1.1886 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 9.87991e+143
  1.1887 +} {abc: 10 5 (9.8799e+143) :xyz}
  1.1888 +do_test printf-2.4.13.1 {
  1.1889 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 -6.287291e-9
  1.1890 +} {abc: (  -0.00000) :xyz}
  1.1891 +do_test printf-2.4.13.2 {
  1.1892 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 -6.287291e-9
  1.1893 +} {abc: (-6.28729e-09) :xyz}
  1.1894 +do_test printf-2.4.13.3 {
  1.1895 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 -6.287291e-9
  1.1896 +} {abc: (-6.2873e-09) :xyz}
  1.1897 +do_test printf-2.4.13.4 {
  1.1898 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 -6.287291e-9
  1.1899 +} {abc: 10 5 (-6.28729e-09) :xyz}
  1.1900 +do_test printf-2.4.13.5 {
  1.1901 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 -6.287291e-9
  1.1902 +} {abc: 10 5 (-6.28729e-09) :xyz}
  1.1903 +do_test printf-2.4.13.6 {
  1.1904 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 -6.287291e-9
  1.1905 +} {abc: 10 5 (-6.28729e-09) :xyz}
  1.1906 +do_test printf-2.4.13.7 {
  1.1907 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 -6.287291e-9
  1.1908 +} {abc: 10 5 (  -0.00000) :xyz}
  1.1909 +do_test printf-2.4.13.8 {
  1.1910 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 -6.287291e-9
  1.1911 +} {abc: 10 5 (-6.28729e-09) :xyz}
  1.1912 +do_test printf-2.4.13.9 {
  1.1913 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 -6.287291e-9
  1.1914 +} {abc: 10 5 (-6.2873e-09) :xyz}
  1.1915 +do_test printf-2.4.14.1 {
  1.1916 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 10 5 3.38826392e-110
  1.1917 +} {abc: (   0.00000) :xyz}
  1.1918 +do_test printf-2.4.14.2 {
  1.1919 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 10 5 3.38826392e-110
  1.1920 +} {abc: (3.38826e-110) :xyz}
  1.1921 +do_test printf-2.4.14.3 {
  1.1922 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 10 5 3.38826392e-110
  1.1923 +} {abc: (3.3883e-110) :xyz}
  1.1924 +do_test printf-2.4.14.4 {
  1.1925 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 10 5 3.38826392e-110
  1.1926 +} {abc: 10 5 (3.38826e-110) :xyz}
  1.1927 +do_test printf-2.4.14.5 {
  1.1928 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 10 5 3.38826392e-110
  1.1929 +} {abc: 10 5 (3.38826e-110) :xyz}
  1.1930 +do_test printf-2.4.14.6 {
  1.1931 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 10 5 3.38826392e-110
  1.1932 +} {abc: 10 5 (3.38826e-110) :xyz}
  1.1933 +do_test printf-2.4.14.7 {
  1.1934 +  sqlite3_mprintf_double {abc: %d %d (%10.5f) :xyz} 10 5 3.38826392e-110
  1.1935 +} {abc: 10 5 (   0.00000) :xyz}
  1.1936 +do_test printf-2.4.14.8 {
  1.1937 +  sqlite3_mprintf_double {abc: %d %d (%10.5e) :xyz} 10 5 3.38826392e-110
  1.1938 +} {abc: 10 5 (3.38826e-110) :xyz}
  1.1939 +do_test printf-2.4.14.9 {
  1.1940 +  sqlite3_mprintf_double {abc: %d %d (%10.5g) :xyz} 10 5 3.38826392e-110
  1.1941 +} {abc: 10 5 (3.3883e-110) :xyz}
  1.1942 +do_test printf-2.5.1.1 {
  1.1943 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.001
  1.1944 +} {abc: (0.00) :xyz}
  1.1945 +do_test printf-2.5.1.2 {
  1.1946 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.001
  1.1947 +} {abc: (1.00e-03) :xyz}
  1.1948 +do_test printf-2.5.1.3 {
  1.1949 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.001
  1.1950 +} {abc: (0.001) :xyz}
  1.1951 +do_test printf-2.5.1.4 {
  1.1952 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 0.001
  1.1953 +} {abc: 2 2 (0.001) :xyz}
  1.1954 +do_test printf-2.5.1.5 {
  1.1955 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 0.001
  1.1956 +} {abc: 2 2 (0.00100000) :xyz}
  1.1957 +do_test printf-2.5.1.6 {
  1.1958 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 0.001
  1.1959 +} {abc: 2 2 (000000.001) :xyz}
  1.1960 +do_test printf-2.5.1.7 {
  1.1961 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 0.001
  1.1962 +} {abc: 2 2 (0.00) :xyz}
  1.1963 +do_test printf-2.5.1.8 {
  1.1964 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 0.001
  1.1965 +} {abc: 2 2 (1.00e-03) :xyz}
  1.1966 +do_test printf-2.5.1.9 {
  1.1967 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 0.001
  1.1968 +} {abc: 2 2 (0.001) :xyz}
  1.1969 +do_test printf-2.5.2.1 {
  1.1970 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0e-20
  1.1971 +} {abc: (0.00) :xyz}
  1.1972 +do_test printf-2.5.2.2 {
  1.1973 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0e-20
  1.1974 +} {abc: (1.00e-20) :xyz}
  1.1975 +do_test printf-2.5.2.3 {
  1.1976 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0e-20
  1.1977 +} {abc: (1e-20) :xyz}
  1.1978 +do_test printf-2.5.2.4 {
  1.1979 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 1.0e-20
  1.1980 +} {abc: 2 2 (1e-20) :xyz}
  1.1981 +do_test printf-2.5.2.5 {
  1.1982 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 1.0e-20
  1.1983 +} {abc: 2 2 (1.00000e-20) :xyz}
  1.1984 +do_test printf-2.5.2.6 {
  1.1985 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 1.0e-20
  1.1986 +} {abc: 2 2 (000001e-20) :xyz}
  1.1987 +do_test printf-2.5.2.7 {
  1.1988 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 1.0e-20
  1.1989 +} {abc: 2 2 (0.00) :xyz}
  1.1990 +do_test printf-2.5.2.8 {
  1.1991 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 1.0e-20
  1.1992 +} {abc: 2 2 (1.00e-20) :xyz}
  1.1993 +do_test printf-2.5.2.9 {
  1.1994 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 1.0e-20
  1.1995 +} {abc: 2 2 (1e-20) :xyz}
  1.1996 +do_test printf-2.5.3.1 {
  1.1997 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 1.0
  1.1998 +} {abc: (1.00) :xyz}
  1.1999 +do_test printf-2.5.3.2 {
  1.2000 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 1.0
  1.2001 +} {abc: (1.00e+00) :xyz}
  1.2002 +do_test printf-2.5.3.3 {
  1.2003 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 1.0
  1.2004 +} {abc: ( 1) :xyz}
  1.2005 +do_test printf-2.5.3.4 {
  1.2006 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 1.0
  1.2007 +} {abc: 2 2 (1) :xyz}
  1.2008 +do_test printf-2.5.3.5 {
  1.2009 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 1.0
  1.2010 +} {abc: 2 2 (1.00000) :xyz}
  1.2011 +do_test printf-2.5.3.6 {
  1.2012 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 1.0
  1.2013 +} {abc: 2 2 (0000000001) :xyz}
  1.2014 +do_test printf-2.5.3.7 {
  1.2015 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 1.0
  1.2016 +} {abc: 2 2 (1.00) :xyz}
  1.2017 +do_test printf-2.5.3.8 {
  1.2018 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 1.0
  1.2019 +} {abc: 2 2 (1.00e+00) :xyz}
  1.2020 +do_test printf-2.5.3.9 {
  1.2021 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 1.0
  1.2022 +} {abc: 2 2 ( 1) :xyz}
  1.2023 +do_test printf-2.5.4.1 {
  1.2024 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 0.0
  1.2025 +} {abc: (0.00) :xyz}
  1.2026 +do_test printf-2.5.4.2 {
  1.2027 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 0.0
  1.2028 +} {abc: (0.00e+00) :xyz}
  1.2029 +do_test printf-2.5.4.3 {
  1.2030 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 0.0
  1.2031 +} {abc: ( 0) :xyz}
  1.2032 +do_test printf-2.5.4.4 {
  1.2033 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 0.0
  1.2034 +} {abc: 2 2 (0) :xyz}
  1.2035 +do_test printf-2.5.4.5 {
  1.2036 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 0.0
  1.2037 +} {abc: 2 2 (0.00000) :xyz}
  1.2038 +do_test printf-2.5.4.6 {
  1.2039 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 0.0
  1.2040 +} {abc: 2 2 (0000000000) :xyz}
  1.2041 +do_test printf-2.5.4.7 {
  1.2042 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 0.0
  1.2043 +} {abc: 2 2 (0.00) :xyz}
  1.2044 +do_test printf-2.5.4.8 {
  1.2045 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 0.0
  1.2046 +} {abc: 2 2 (0.00e+00) :xyz}
  1.2047 +do_test printf-2.5.4.9 {
  1.2048 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 0.0
  1.2049 +} {abc: 2 2 ( 0) :xyz}
  1.2050 +do_test printf-2.5.5.1 {
  1.2051 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 100.0
  1.2052 +} {abc: (100.00) :xyz}
  1.2053 +do_test printf-2.5.5.2 {
  1.2054 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 100.0
  1.2055 +} {abc: (1.00e+02) :xyz}
  1.2056 +do_test printf-2.5.5.3 {
  1.2057 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 100.0
  1.2058 +} {abc: (1e+02) :xyz}
  1.2059 +do_test printf-2.5.5.4 {
  1.2060 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 100.0
  1.2061 +} {abc: 2 2 (100) :xyz}
  1.2062 +do_test printf-2.5.5.5 {
  1.2063 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 100.0
  1.2064 +} {abc: 2 2 (100.000) :xyz}
  1.2065 +do_test printf-2.5.5.6 {
  1.2066 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 100.0
  1.2067 +} {abc: 2 2 (0000000100) :xyz}
  1.2068 +do_test printf-2.5.5.7 {
  1.2069 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 100.0
  1.2070 +} {abc: 2 2 (100.00) :xyz}
  1.2071 +do_test printf-2.5.5.8 {
  1.2072 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 100.0
  1.2073 +} {abc: 2 2 (1.00e+02) :xyz}
  1.2074 +do_test printf-2.5.5.9 {
  1.2075 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 100.0
  1.2076 +} {abc: 2 2 (1e+02) :xyz}
  1.2077 +do_test printf-2.5.6.1 {
  1.2078 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 9.99999
  1.2079 +} {abc: (10.00) :xyz}
  1.2080 +do_test printf-2.5.6.2 {
  1.2081 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.99999
  1.2082 +} {abc: (1.00e+01) :xyz}
  1.2083 +do_test printf-2.5.6.3 {
  1.2084 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.99999
  1.2085 +} {abc: (10) :xyz}
  1.2086 +do_test printf-2.5.6.4 {
  1.2087 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 9.99999
  1.2088 +} {abc: 2 2 (9.99999) :xyz}
  1.2089 +do_test printf-2.5.6.5 {
  1.2090 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 9.99999
  1.2091 +} {abc: 2 2 (9.99999) :xyz}
  1.2092 +do_test printf-2.5.6.6 {
  1.2093 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 9.99999
  1.2094 +} {abc: 2 2 (0009.99999) :xyz}
  1.2095 +do_test printf-2.5.6.7 {
  1.2096 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 9.99999
  1.2097 +} {abc: 2 2 (10.00) :xyz}
  1.2098 +do_test printf-2.5.6.8 {
  1.2099 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 9.99999
  1.2100 +} {abc: 2 2 (1.00e+01) :xyz}
  1.2101 +do_test printf-2.5.6.9 {
  1.2102 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 9.99999
  1.2103 +} {abc: 2 2 (10) :xyz}
  1.2104 +do_test printf-2.5.7.1 {
  1.2105 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -0.00543
  1.2106 +} {abc: (-0.01) :xyz}
  1.2107 +do_test printf-2.5.7.2 {
  1.2108 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -0.00543
  1.2109 +} {abc: (-5.43e-03) :xyz}
  1.2110 +do_test printf-2.5.7.3 {
  1.2111 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -0.00543
  1.2112 +} {abc: (-0.0054) :xyz}
  1.2113 +do_test printf-2.5.7.4 {
  1.2114 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -0.00543
  1.2115 +} {abc: 2 2 (-0.00543) :xyz}
  1.2116 +do_test printf-2.5.7.5 {
  1.2117 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -0.00543
  1.2118 +} {abc: 2 2 (-0.00543000) :xyz}
  1.2119 +do_test printf-2.5.7.6 {
  1.2120 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -0.00543
  1.2121 +} {abc: 2 2 (-000.00543) :xyz}
  1.2122 +do_test printf-2.5.7.7 {
  1.2123 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -0.00543
  1.2124 +} {abc: 2 2 (-0.01) :xyz}
  1.2125 +do_test printf-2.5.7.8 {
  1.2126 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -0.00543
  1.2127 +} {abc: 2 2 (-5.43e-03) :xyz}
  1.2128 +do_test printf-2.5.7.9 {
  1.2129 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -0.00543
  1.2130 +} {abc: 2 2 (-0.0054) :xyz}
  1.2131 +do_test printf-2.5.8.1 {
  1.2132 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -1.0
  1.2133 +} {abc: (-1.00) :xyz}
  1.2134 +do_test printf-2.5.8.2 {
  1.2135 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -1.0
  1.2136 +} {abc: (-1.00e+00) :xyz}
  1.2137 +do_test printf-2.5.8.3 {
  1.2138 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -1.0
  1.2139 +} {abc: (-1) :xyz}
  1.2140 +do_test printf-2.5.8.4 {
  1.2141 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -1.0
  1.2142 +} {abc: 2 2 (-1) :xyz}
  1.2143 +do_test printf-2.5.8.5 {
  1.2144 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -1.0
  1.2145 +} {abc: 2 2 (-1.00000) :xyz}
  1.2146 +do_test printf-2.5.8.6 {
  1.2147 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -1.0
  1.2148 +} {abc: 2 2 (-000000001) :xyz}
  1.2149 +do_test printf-2.5.8.7 {
  1.2150 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -1.0
  1.2151 +} {abc: 2 2 (-1.00) :xyz}
  1.2152 +do_test printf-2.5.8.8 {
  1.2153 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -1.0
  1.2154 +} {abc: 2 2 (-1.00e+00) :xyz}
  1.2155 +do_test printf-2.5.8.9 {
  1.2156 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -1.0
  1.2157 +} {abc: 2 2 (-1) :xyz}
  1.2158 +do_test printf-2.5.9.1 {
  1.2159 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -99.99999
  1.2160 +} {abc: (-100.00) :xyz}
  1.2161 +do_test printf-2.5.9.2 {
  1.2162 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -99.99999
  1.2163 +} {abc: (-1.00e+02) :xyz}
  1.2164 +do_test printf-2.5.9.3 {
  1.2165 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -99.99999
  1.2166 +} {abc: (-1e+02) :xyz}
  1.2167 +do_test printf-2.5.9.4 {
  1.2168 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -99.99999
  1.2169 +} {abc: 2 2 (-100) :xyz}
  1.2170 +do_test printf-2.5.9.5 {
  1.2171 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -99.99999
  1.2172 +} {abc: 2 2 (-100.000) :xyz}
  1.2173 +do_test printf-2.5.9.6 {
  1.2174 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -99.99999
  1.2175 +} {abc: 2 2 (-000000100) :xyz}
  1.2176 +do_test printf-2.5.9.7 {
  1.2177 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -99.99999
  1.2178 +} {abc: 2 2 (-100.00) :xyz}
  1.2179 +do_test printf-2.5.9.8 {
  1.2180 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -99.99999
  1.2181 +} {abc: 2 2 (-1.00e+02) :xyz}
  1.2182 +do_test printf-2.5.9.9 {
  1.2183 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -99.99999
  1.2184 +} {abc: 2 2 (-1e+02) :xyz}
  1.2185 +do_test printf-2.5.10.1 {
  1.2186 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.14e+9
  1.2187 +} {abc: (3140000000.00) :xyz}
  1.2188 +do_test printf-2.5.10.2 {
  1.2189 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.14e+9
  1.2190 +} {abc: (3.14e+09) :xyz}
  1.2191 +do_test printf-2.5.10.3 {
  1.2192 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.14e+9
  1.2193 +} {abc: (3.1e+09) :xyz}
  1.2194 +do_test printf-2.5.10.4 {
  1.2195 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 3.14e+9
  1.2196 +} {abc: 2 2 (3.14e+09) :xyz}
  1.2197 +do_test printf-2.5.10.5 {
  1.2198 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 3.14e+9
  1.2199 +} {abc: 2 2 (3.14000e+09) :xyz}
  1.2200 +do_test printf-2.5.10.6 {
  1.2201 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 3.14e+9
  1.2202 +} {abc: 2 2 (003.14e+09) :xyz}
  1.2203 +do_test printf-2.5.10.7 {
  1.2204 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 3.14e+9
  1.2205 +} {abc: 2 2 (3140000000.00) :xyz}
  1.2206 +do_test printf-2.5.10.8 {
  1.2207 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 3.14e+9
  1.2208 +} {abc: 2 2 (3.14e+09) :xyz}
  1.2209 +do_test printf-2.5.10.9 {
  1.2210 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 3.14e+9
  1.2211 +} {abc: 2 2 (3.1e+09) :xyz}
  1.2212 +do_test printf-2.5.11.2 {
  1.2213 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -4.72732e+88
  1.2214 +} {abc: (-4.73e+88) :xyz}
  1.2215 +do_test printf-2.5.11.3 {
  1.2216 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -4.72732e+88
  1.2217 +} {abc: (-4.7e+88) :xyz}
  1.2218 +do_test printf-2.5.11.4 {
  1.2219 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -4.72732e+88
  1.2220 +} {abc: 2 2 (-4.72732e+88) :xyz}
  1.2221 +do_test printf-2.5.11.5 {
  1.2222 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -4.72732e+88
  1.2223 +} {abc: 2 2 (-4.72732e+88) :xyz}
  1.2224 +do_test printf-2.5.11.6 {
  1.2225 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -4.72732e+88
  1.2226 +} {abc: 2 2 (-4.72732e+88) :xyz}
  1.2227 +do_test printf-2.5.11.8 {
  1.2228 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -4.72732e+88
  1.2229 +} {abc: 2 2 (-4.73e+88) :xyz}
  1.2230 +do_test printf-2.5.11.9 {
  1.2231 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -4.72732e+88
  1.2232 +} {abc: 2 2 (-4.7e+88) :xyz}
  1.2233 +do_test printf-2.5.12.2 {
  1.2234 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 9.87991e+143
  1.2235 +} {abc: (9.88e+143) :xyz}
  1.2236 +do_test printf-2.5.12.3 {
  1.2237 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 9.87991e+143
  1.2238 +} {abc: (9.9e+143) :xyz}
  1.2239 +do_test printf-2.5.12.4 {
  1.2240 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 9.87991e+143
  1.2241 +} {abc: 2 2 (9.87991e+143) :xyz}
  1.2242 +do_test printf-2.5.12.5 {
  1.2243 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 9.87991e+143
  1.2244 +} {abc: 2 2 (9.87991e+143) :xyz}
  1.2245 +do_test printf-2.5.12.6 {
  1.2246 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 9.87991e+143
  1.2247 +} {abc: 2 2 (9.87991e+143) :xyz}
  1.2248 +do_test printf-2.5.12.8 {
  1.2249 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 9.87991e+143
  1.2250 +} {abc: 2 2 (9.88e+143) :xyz}
  1.2251 +do_test printf-2.5.12.9 {
  1.2252 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 9.87991e+143
  1.2253 +} {abc: 2 2 (9.9e+143) :xyz}
  1.2254 +do_test printf-2.5.13.1 {
  1.2255 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 -6.287291e-9
  1.2256 +} {abc: (-0.00) :xyz}
  1.2257 +do_test printf-2.5.13.2 {
  1.2258 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 -6.287291e-9
  1.2259 +} {abc: (-6.29e-09) :xyz}
  1.2260 +do_test printf-2.5.13.3 {
  1.2261 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 -6.287291e-9
  1.2262 +} {abc: (-6.3e-09) :xyz}
  1.2263 +do_test printf-2.5.13.4 {
  1.2264 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 -6.287291e-9
  1.2265 +} {abc: 2 2 (-6.28729e-09) :xyz}
  1.2266 +do_test printf-2.5.13.5 {
  1.2267 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 -6.287291e-9
  1.2268 +} {abc: 2 2 (-6.28729e-09) :xyz}
  1.2269 +do_test printf-2.5.13.6 {
  1.2270 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 -6.287291e-9
  1.2271 +} {abc: 2 2 (-6.28729e-09) :xyz}
  1.2272 +do_test printf-2.5.13.7 {
  1.2273 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 -6.287291e-9
  1.2274 +} {abc: 2 2 (-0.00) :xyz}
  1.2275 +do_test printf-2.5.13.8 {
  1.2276 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 -6.287291e-9
  1.2277 +} {abc: 2 2 (-6.29e-09) :xyz}
  1.2278 +do_test printf-2.5.13.9 {
  1.2279 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 -6.287291e-9
  1.2280 +} {abc: 2 2 (-6.3e-09) :xyz}
  1.2281 +do_test printf-2.5.14.1 {
  1.2282 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 2 3.38826392e-110
  1.2283 +} {abc: (0.00) :xyz}
  1.2284 +do_test printf-2.5.14.2 {
  1.2285 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 2 3.38826392e-110
  1.2286 +} {abc: (3.39e-110) :xyz}
  1.2287 +do_test printf-2.5.14.3 {
  1.2288 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 2 3.38826392e-110
  1.2289 +} {abc: (3.4e-110) :xyz}
  1.2290 +do_test printf-2.5.14.4 {
  1.2291 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 2 3.38826392e-110
  1.2292 +} {abc: 2 2 (3.38826e-110) :xyz}
  1.2293 +do_test printf-2.5.14.5 {
  1.2294 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 2 3.38826392e-110
  1.2295 +} {abc: 2 2 (3.38826e-110) :xyz}
  1.2296 +do_test printf-2.5.14.6 {
  1.2297 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 2 3.38826392e-110
  1.2298 +} {abc: 2 2 (3.38826e-110) :xyz}
  1.2299 +do_test printf-2.5.14.7 {
  1.2300 +  sqlite3_mprintf_double {abc: %d %d (%2.2f) :xyz} 2 2 3.38826392e-110
  1.2301 +} {abc: 2 2 (0.00) :xyz}
  1.2302 +do_test printf-2.5.14.8 {
  1.2303 +  sqlite3_mprintf_double {abc: %d %d (%2.2e) :xyz} 2 2 3.38826392e-110
  1.2304 +} {abc: 2 2 (3.39e-110) :xyz}
  1.2305 +do_test printf-2.5.14.9 {
  1.2306 +  sqlite3_mprintf_double {abc: %d %d (%2.2g) :xyz} 2 2 3.38826392e-110
  1.2307 +} {abc: 2 2 (3.4e-110) :xyz}
  1.2308 +do_test printf-2.6.1.1 {
  1.2309 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.001
  1.2310 +} {abc: (0.001) :xyz}
  1.2311 +do_test printf-2.6.1.2 {
  1.2312 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.001
  1.2313 +} {abc: (1.000e-03) :xyz}
  1.2314 +do_test printf-2.6.1.3 {
  1.2315 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.001
  1.2316 +} {abc: (0.001) :xyz}
  1.2317 +do_test printf-2.6.1.4 {
  1.2318 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 0.001
  1.2319 +} {abc: 2 3 (0.001) :xyz}
  1.2320 +do_test printf-2.6.1.5 {
  1.2321 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 0.001
  1.2322 +} {abc: 2 3 (0.00100000) :xyz}
  1.2323 +do_test printf-2.6.1.6 {
  1.2324 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 0.001
  1.2325 +} {abc: 2 3 (000000.001) :xyz}
  1.2326 +do_test printf-2.6.1.7 {
  1.2327 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 0.001
  1.2328 +} {abc: 2 3 (0.001) :xyz}
  1.2329 +do_test printf-2.6.1.8 {
  1.2330 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 0.001
  1.2331 +} {abc: 2 3 (1.000e-03) :xyz}
  1.2332 +do_test printf-2.6.1.9 {
  1.2333 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 0.001
  1.2334 +} {abc: 2 3 (0.001) :xyz}
  1.2335 +do_test printf-2.6.2.1 {
  1.2336 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0e-20
  1.2337 +} {abc: (0.000) :xyz}
  1.2338 +do_test printf-2.6.2.2 {
  1.2339 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0e-20
  1.2340 +} {abc: (1.000e-20) :xyz}
  1.2341 +do_test printf-2.6.2.3 {
  1.2342 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0e-20
  1.2343 +} {abc: (1e-20) :xyz}
  1.2344 +do_test printf-2.6.2.4 {
  1.2345 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 1.0e-20
  1.2346 +} {abc: 2 3 (1e-20) :xyz}
  1.2347 +do_test printf-2.6.2.5 {
  1.2348 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 1.0e-20
  1.2349 +} {abc: 2 3 (1.00000e-20) :xyz}
  1.2350 +do_test printf-2.6.2.6 {
  1.2351 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 1.0e-20
  1.2352 +} {abc: 2 3 (000001e-20) :xyz}
  1.2353 +do_test printf-2.6.2.7 {
  1.2354 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 1.0e-20
  1.2355 +} {abc: 2 3 (0.000) :xyz}
  1.2356 +do_test printf-2.6.2.8 {
  1.2357 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 1.0e-20
  1.2358 +} {abc: 2 3 (1.000e-20) :xyz}
  1.2359 +do_test printf-2.6.2.9 {
  1.2360 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 1.0e-20
  1.2361 +} {abc: 2 3 (1e-20) :xyz}
  1.2362 +do_test printf-2.6.3.1 {
  1.2363 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 1.0
  1.2364 +} {abc: (1.000) :xyz}
  1.2365 +do_test printf-2.6.3.2 {
  1.2366 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 1.0
  1.2367 +} {abc: (1.000e+00) :xyz}
  1.2368 +do_test printf-2.6.3.3 {
  1.2369 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 1.0
  1.2370 +} {abc: ( 1) :xyz}
  1.2371 +do_test printf-2.6.3.4 {
  1.2372 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 1.0
  1.2373 +} {abc: 2 3 (1) :xyz}
  1.2374 +do_test printf-2.6.3.5 {
  1.2375 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 1.0
  1.2376 +} {abc: 2 3 (1.00000) :xyz}
  1.2377 +do_test printf-2.6.3.6 {
  1.2378 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 1.0
  1.2379 +} {abc: 2 3 (0000000001) :xyz}
  1.2380 +do_test printf-2.6.3.7 {
  1.2381 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 1.0
  1.2382 +} {abc: 2 3 (1.000) :xyz}
  1.2383 +do_test printf-2.6.3.8 {
  1.2384 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 1.0
  1.2385 +} {abc: 2 3 (1.000e+00) :xyz}
  1.2386 +do_test printf-2.6.3.9 {
  1.2387 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 1.0
  1.2388 +} {abc: 2 3 ( 1) :xyz}
  1.2389 +do_test printf-2.6.4.1 {
  1.2390 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 0.0
  1.2391 +} {abc: (0.000) :xyz}
  1.2392 +do_test printf-2.6.4.2 {
  1.2393 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 0.0
  1.2394 +} {abc: (0.000e+00) :xyz}
  1.2395 +do_test printf-2.6.4.3 {
  1.2396 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 0.0
  1.2397 +} {abc: ( 0) :xyz}
  1.2398 +do_test printf-2.6.4.4 {
  1.2399 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 0.0
  1.2400 +} {abc: 2 3 (0) :xyz}
  1.2401 +do_test printf-2.6.4.5 {
  1.2402 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 0.0
  1.2403 +} {abc: 2 3 (0.00000) :xyz}
  1.2404 +do_test printf-2.6.4.6 {
  1.2405 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 0.0
  1.2406 +} {abc: 2 3 (0000000000) :xyz}
  1.2407 +do_test printf-2.6.4.7 {
  1.2408 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 0.0
  1.2409 +} {abc: 2 3 (0.000) :xyz}
  1.2410 +do_test printf-2.6.4.8 {
  1.2411 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 0.0
  1.2412 +} {abc: 2 3 (0.000e+00) :xyz}
  1.2413 +do_test printf-2.6.4.9 {
  1.2414 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 0.0
  1.2415 +} {abc: 2 3 ( 0) :xyz}
  1.2416 +do_test printf-2.6.5.1 {
  1.2417 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 100.0
  1.2418 +} {abc: (100.000) :xyz}
  1.2419 +do_test printf-2.6.5.2 {
  1.2420 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 100.0
  1.2421 +} {abc: (1.000e+02) :xyz}
  1.2422 +do_test printf-2.6.5.3 {
  1.2423 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 100.0
  1.2424 +} {abc: (100) :xyz}
  1.2425 +do_test printf-2.6.5.4 {
  1.2426 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 100.0
  1.2427 +} {abc: 2 3 (100) :xyz}
  1.2428 +do_test printf-2.6.5.5 {
  1.2429 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 100.0
  1.2430 +} {abc: 2 3 (100.000) :xyz}
  1.2431 +do_test printf-2.6.5.6 {
  1.2432 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 100.0
  1.2433 +} {abc: 2 3 (0000000100) :xyz}
  1.2434 +do_test printf-2.6.5.7 {
  1.2435 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 100.0
  1.2436 +} {abc: 2 3 (100.000) :xyz}
  1.2437 +do_test printf-2.6.5.8 {
  1.2438 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 100.0
  1.2439 +} {abc: 2 3 (1.000e+02) :xyz}
  1.2440 +do_test printf-2.6.5.9 {
  1.2441 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 100.0
  1.2442 +} {abc: 2 3 (100) :xyz}
  1.2443 +do_test printf-2.6.6.1 {
  1.2444 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 9.99999
  1.2445 +} {abc: (10.000) :xyz}
  1.2446 +do_test printf-2.6.6.2 {
  1.2447 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.99999
  1.2448 +} {abc: (1.000e+01) :xyz}
  1.2449 +do_test printf-2.6.6.3 {
  1.2450 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.99999
  1.2451 +} {abc: (10) :xyz}
  1.2452 +do_test printf-2.6.6.4 {
  1.2453 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 9.99999
  1.2454 +} {abc: 2 3 (9.99999) :xyz}
  1.2455 +do_test printf-2.6.6.5 {
  1.2456 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 9.99999
  1.2457 +} {abc: 2 3 (9.99999) :xyz}
  1.2458 +do_test printf-2.6.6.6 {
  1.2459 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 9.99999
  1.2460 +} {abc: 2 3 (0009.99999) :xyz}
  1.2461 +do_test printf-2.6.6.7 {
  1.2462 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 9.99999
  1.2463 +} {abc: 2 3 (10.000) :xyz}
  1.2464 +do_test printf-2.6.6.8 {
  1.2465 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 9.99999
  1.2466 +} {abc: 2 3 (1.000e+01) :xyz}
  1.2467 +do_test printf-2.6.6.9 {
  1.2468 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 9.99999
  1.2469 +} {abc: 2 3 (10) :xyz}
  1.2470 +do_test printf-2.6.7.1 {
  1.2471 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -0.00543
  1.2472 +} {abc: (-0.005) :xyz}
  1.2473 +do_test printf-2.6.7.2 {
  1.2474 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -0.00543
  1.2475 +} {abc: (-5.430e-03) :xyz}
  1.2476 +do_test printf-2.6.7.3 {
  1.2477 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -0.00543
  1.2478 +} {abc: (-0.00543) :xyz}
  1.2479 +do_test printf-2.6.7.4 {
  1.2480 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -0.00543
  1.2481 +} {abc: 2 3 (-0.00543) :xyz}
  1.2482 +do_test printf-2.6.7.5 {
  1.2483 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -0.00543
  1.2484 +} {abc: 2 3 (-0.00543000) :xyz}
  1.2485 +do_test printf-2.6.7.6 {
  1.2486 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -0.00543
  1.2487 +} {abc: 2 3 (-000.00543) :xyz}
  1.2488 +do_test printf-2.6.7.7 {
  1.2489 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -0.00543
  1.2490 +} {abc: 2 3 (-0.005) :xyz}
  1.2491 +do_test printf-2.6.7.8 {
  1.2492 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -0.00543
  1.2493 +} {abc: 2 3 (-5.430e-03) :xyz}
  1.2494 +do_test printf-2.6.7.9 {
  1.2495 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -0.00543
  1.2496 +} {abc: 2 3 (-0.00543) :xyz}
  1.2497 +do_test printf-2.6.8.1 {
  1.2498 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -1.0
  1.2499 +} {abc: (-1.000) :xyz}
  1.2500 +do_test printf-2.6.8.2 {
  1.2501 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -1.0
  1.2502 +} {abc: (-1.000e+00) :xyz}
  1.2503 +do_test printf-2.6.8.3 {
  1.2504 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -1.0
  1.2505 +} {abc: (-1) :xyz}
  1.2506 +do_test printf-2.6.8.4 {
  1.2507 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -1.0
  1.2508 +} {abc: 2 3 (-1) :xyz}
  1.2509 +do_test printf-2.6.8.5 {
  1.2510 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -1.0
  1.2511 +} {abc: 2 3 (-1.00000) :xyz}
  1.2512 +do_test printf-2.6.8.6 {
  1.2513 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -1.0
  1.2514 +} {abc: 2 3 (-000000001) :xyz}
  1.2515 +do_test printf-2.6.8.7 {
  1.2516 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -1.0
  1.2517 +} {abc: 2 3 (-1.000) :xyz}
  1.2518 +do_test printf-2.6.8.8 {
  1.2519 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -1.0
  1.2520 +} {abc: 2 3 (-1.000e+00) :xyz}
  1.2521 +do_test printf-2.6.8.9 {
  1.2522 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -1.0
  1.2523 +} {abc: 2 3 (-1) :xyz}
  1.2524 +do_test printf-2.6.9.1 {
  1.2525 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -99.99999
  1.2526 +} {abc: (-100.000) :xyz}
  1.2527 +do_test printf-2.6.9.2 {
  1.2528 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -99.99999
  1.2529 +} {abc: (-1.000e+02) :xyz}
  1.2530 +do_test printf-2.6.9.3 {
  1.2531 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -99.99999
  1.2532 +} {abc: (-100) :xyz}
  1.2533 +do_test printf-2.6.9.4 {
  1.2534 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -99.99999
  1.2535 +} {abc: 2 3 (-100) :xyz}
  1.2536 +do_test printf-2.6.9.5 {
  1.2537 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -99.99999
  1.2538 +} {abc: 2 3 (-100.000) :xyz}
  1.2539 +do_test printf-2.6.9.6 {
  1.2540 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -99.99999
  1.2541 +} {abc: 2 3 (-000000100) :xyz}
  1.2542 +do_test printf-2.6.9.7 {
  1.2543 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -99.99999
  1.2544 +} {abc: 2 3 (-100.000) :xyz}
  1.2545 +do_test printf-2.6.9.8 {
  1.2546 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -99.99999
  1.2547 +} {abc: 2 3 (-1.000e+02) :xyz}
  1.2548 +do_test printf-2.6.9.9 {
  1.2549 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -99.99999
  1.2550 +} {abc: 2 3 (-100) :xyz}
  1.2551 +do_test printf-2.6.10.1 {
  1.2552 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.14e+9
  1.2553 +} {abc: (3140000000.000) :xyz}
  1.2554 +do_test printf-2.6.10.2 {
  1.2555 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.14e+9
  1.2556 +} {abc: (3.140e+09) :xyz}
  1.2557 +do_test printf-2.6.10.3 {
  1.2558 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.14e+9
  1.2559 +} {abc: (3.14e+09) :xyz}
  1.2560 +do_test printf-2.6.10.4 {
  1.2561 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 3.14e+9
  1.2562 +} {abc: 2 3 (3.14e+09) :xyz}
  1.2563 +do_test printf-2.6.10.5 {
  1.2564 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 3.14e+9
  1.2565 +} {abc: 2 3 (3.14000e+09) :xyz}
  1.2566 +do_test printf-2.6.10.6 {
  1.2567 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 3.14e+9
  1.2568 +} {abc: 2 3 (003.14e+09) :xyz}
  1.2569 +do_test printf-2.6.10.7 {
  1.2570 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 3.14e+9
  1.2571 +} {abc: 2 3 (3140000000.000) :xyz}
  1.2572 +do_test printf-2.6.10.8 {
  1.2573 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 3.14e+9
  1.2574 +} {abc: 2 3 (3.140e+09) :xyz}
  1.2575 +do_test printf-2.6.10.9 {
  1.2576 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 3.14e+9
  1.2577 +} {abc: 2 3 (3.14e+09) :xyz}
  1.2578 +do_test printf-2.6.11.2 {
  1.2579 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -4.72732e+88
  1.2580 +} {abc: (-4.727e+88) :xyz}
  1.2581 +do_test printf-2.6.11.3 {
  1.2582 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -4.72732e+88
  1.2583 +} {abc: (-4.73e+88) :xyz}
  1.2584 +do_test printf-2.6.11.4 {
  1.2585 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -4.72732e+88
  1.2586 +} {abc: 2 3 (-4.72732e+88) :xyz}
  1.2587 +do_test printf-2.6.11.5 {
  1.2588 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -4.72732e+88
  1.2589 +} {abc: 2 3 (-4.72732e+88) :xyz}
  1.2590 +do_test printf-2.6.11.6 {
  1.2591 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -4.72732e+88
  1.2592 +} {abc: 2 3 (-4.72732e+88) :xyz}
  1.2593 +do_test printf-2.6.11.8 {
  1.2594 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -4.72732e+88
  1.2595 +} {abc: 2 3 (-4.727e+88) :xyz}
  1.2596 +do_test printf-2.6.11.9 {
  1.2597 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -4.72732e+88
  1.2598 +} {abc: 2 3 (-4.73e+88) :xyz}
  1.2599 +do_test printf-2.6.12.2 {
  1.2600 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 9.87991e+143
  1.2601 +} {abc: (9.880e+143) :xyz}
  1.2602 +do_test printf-2.6.12.3 {
  1.2603 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 9.87991e+143
  1.2604 +} {abc: (9.88e+143) :xyz}
  1.2605 +do_test printf-2.6.12.4 {
  1.2606 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 9.87991e+143
  1.2607 +} {abc: 2 3 (9.87991e+143) :xyz}
  1.2608 +do_test printf-2.6.12.5 {
  1.2609 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 9.87991e+143
  1.2610 +} {abc: 2 3 (9.87991e+143) :xyz}
  1.2611 +do_test printf-2.6.12.6 {
  1.2612 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 9.87991e+143
  1.2613 +} {abc: 2 3 (9.87991e+143) :xyz}
  1.2614 +do_test printf-2.6.12.8 {
  1.2615 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 9.87991e+143
  1.2616 +} {abc: 2 3 (9.880e+143) :xyz}
  1.2617 +do_test printf-2.6.12.9 {
  1.2618 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 9.87991e+143
  1.2619 +} {abc: 2 3 (9.88e+143) :xyz}
  1.2620 +do_test printf-2.6.13.1 {
  1.2621 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 -6.287291e-9
  1.2622 +} {abc: (-0.000) :xyz}
  1.2623 +do_test printf-2.6.13.2 {
  1.2624 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 -6.287291e-9
  1.2625 +} {abc: (-6.287e-09) :xyz}
  1.2626 +do_test printf-2.6.13.3 {
  1.2627 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 -6.287291e-9
  1.2628 +} {abc: (-6.29e-09) :xyz}
  1.2629 +do_test printf-2.6.13.4 {
  1.2630 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 -6.287291e-9
  1.2631 +} {abc: 2 3 (-6.28729e-09) :xyz}
  1.2632 +do_test printf-2.6.13.5 {
  1.2633 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 -6.287291e-9
  1.2634 +} {abc: 2 3 (-6.28729e-09) :xyz}
  1.2635 +do_test printf-2.6.13.6 {
  1.2636 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 -6.287291e-9
  1.2637 +} {abc: 2 3 (-6.28729e-09) :xyz}
  1.2638 +do_test printf-2.6.13.7 {
  1.2639 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 -6.287291e-9
  1.2640 +} {abc: 2 3 (-0.000) :xyz}
  1.2641 +do_test printf-2.6.13.8 {
  1.2642 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 -6.287291e-9
  1.2643 +} {abc: 2 3 (-6.287e-09) :xyz}
  1.2644 +do_test printf-2.6.13.9 {
  1.2645 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 -6.287291e-9
  1.2646 +} {abc: 2 3 (-6.29e-09) :xyz}
  1.2647 +do_test printf-2.6.14.1 {
  1.2648 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 2 3 3.38826392e-110
  1.2649 +} {abc: (0.000) :xyz}
  1.2650 +do_test printf-2.6.14.2 {
  1.2651 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 2 3 3.38826392e-110
  1.2652 +} {abc: (3.388e-110) :xyz}
  1.2653 +do_test printf-2.6.14.3 {
  1.2654 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 2 3 3.38826392e-110
  1.2655 +} {abc: (3.39e-110) :xyz}
  1.2656 +do_test printf-2.6.14.4 {
  1.2657 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 2 3 3.38826392e-110
  1.2658 +} {abc: 2 3 (3.38826e-110) :xyz}
  1.2659 +do_test printf-2.6.14.5 {
  1.2660 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 2 3 3.38826392e-110
  1.2661 +} {abc: 2 3 (3.38826e-110) :xyz}
  1.2662 +do_test printf-2.6.14.6 {
  1.2663 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 2 3 3.38826392e-110
  1.2664 +} {abc: 2 3 (3.38826e-110) :xyz}
  1.2665 +do_test printf-2.6.14.7 {
  1.2666 +  sqlite3_mprintf_double {abc: %d %d (%2.3f) :xyz} 2 3 3.38826392e-110
  1.2667 +} {abc: 2 3 (0.000) :xyz}
  1.2668 +do_test printf-2.6.14.8 {
  1.2669 +  sqlite3_mprintf_double {abc: %d %d (%2.3e) :xyz} 2 3 3.38826392e-110
  1.2670 +} {abc: 2 3 (3.388e-110) :xyz}
  1.2671 +do_test printf-2.6.14.9 {
  1.2672 +  sqlite3_mprintf_double {abc: %d %d (%2.3g) :xyz} 2 3 3.38826392e-110
  1.2673 +} {abc: 2 3 (3.39e-110) :xyz}
  1.2674 +do_test printf-2.7.1.1 {
  1.2675 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.001
  1.2676 +} {abc: (0.001) :xyz}
  1.2677 +do_test printf-2.7.1.2 {
  1.2678 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.001
  1.2679 +} {abc: (1.000e-03) :xyz}
  1.2680 +do_test printf-2.7.1.3 {
  1.2681 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.001
  1.2682 +} {abc: (0.001) :xyz}
  1.2683 +do_test printf-2.7.1.4 {
  1.2684 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 0.001
  1.2685 +} {abc: 3 3 (0.001) :xyz}
  1.2686 +do_test printf-2.7.1.5 {
  1.2687 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 0.001
  1.2688 +} {abc: 3 3 (0.00100000) :xyz}
  1.2689 +do_test printf-2.7.1.6 {
  1.2690 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 0.001
  1.2691 +} {abc: 3 3 (000000.001) :xyz}
  1.2692 +do_test printf-2.7.1.7 {
  1.2693 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 0.001
  1.2694 +} {abc: 3 3 (0.001) :xyz}
  1.2695 +do_test printf-2.7.1.8 {
  1.2696 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 0.001
  1.2697 +} {abc: 3 3 (1.000e-03) :xyz}
  1.2698 +do_test printf-2.7.1.9 {
  1.2699 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 0.001
  1.2700 +} {abc: 3 3 (0.001) :xyz}
  1.2701 +do_test printf-2.7.2.1 {
  1.2702 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0e-20
  1.2703 +} {abc: (0.000) :xyz}
  1.2704 +do_test printf-2.7.2.2 {
  1.2705 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0e-20
  1.2706 +} {abc: (1.000e-20) :xyz}
  1.2707 +do_test printf-2.7.2.3 {
  1.2708 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0e-20
  1.2709 +} {abc: (1e-20) :xyz}
  1.2710 +do_test printf-2.7.2.4 {
  1.2711 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 1.0e-20
  1.2712 +} {abc: 3 3 (1e-20) :xyz}
  1.2713 +do_test printf-2.7.2.5 {
  1.2714 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 1.0e-20
  1.2715 +} {abc: 3 3 (1.00000e-20) :xyz}
  1.2716 +do_test printf-2.7.2.6 {
  1.2717 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 1.0e-20
  1.2718 +} {abc: 3 3 (000001e-20) :xyz}
  1.2719 +do_test printf-2.7.2.7 {
  1.2720 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 1.0e-20
  1.2721 +} {abc: 3 3 (0.000) :xyz}
  1.2722 +do_test printf-2.7.2.8 {
  1.2723 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 1.0e-20
  1.2724 +} {abc: 3 3 (1.000e-20) :xyz}
  1.2725 +do_test printf-2.7.2.9 {
  1.2726 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 1.0e-20
  1.2727 +} {abc: 3 3 (1e-20) :xyz}
  1.2728 +do_test printf-2.7.3.1 {
  1.2729 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 1.0
  1.2730 +} {abc: (1.000) :xyz}
  1.2731 +do_test printf-2.7.3.2 {
  1.2732 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 1.0
  1.2733 +} {abc: (1.000e+00) :xyz}
  1.2734 +do_test printf-2.7.3.3 {
  1.2735 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 1.0
  1.2736 +} {abc: (  1) :xyz}
  1.2737 +do_test printf-2.7.3.4 {
  1.2738 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 1.0
  1.2739 +} {abc: 3 3 (1) :xyz}
  1.2740 +do_test printf-2.7.3.5 {
  1.2741 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 1.0
  1.2742 +} {abc: 3 3 (1.00000) :xyz}
  1.2743 +do_test printf-2.7.3.6 {
  1.2744 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 1.0
  1.2745 +} {abc: 3 3 (0000000001) :xyz}
  1.2746 +do_test printf-2.7.3.7 {
  1.2747 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 1.0
  1.2748 +} {abc: 3 3 (1.000) :xyz}
  1.2749 +do_test printf-2.7.3.8 {
  1.2750 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 1.0
  1.2751 +} {abc: 3 3 (1.000e+00) :xyz}
  1.2752 +do_test printf-2.7.3.9 {
  1.2753 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 1.0
  1.2754 +} {abc: 3 3 (  1) :xyz}
  1.2755 +do_test printf-2.7.4.1 {
  1.2756 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 0.0
  1.2757 +} {abc: (0.000) :xyz}
  1.2758 +do_test printf-2.7.4.2 {
  1.2759 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 0.0
  1.2760 +} {abc: (0.000e+00) :xyz}
  1.2761 +do_test printf-2.7.4.3 {
  1.2762 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 0.0
  1.2763 +} {abc: (  0) :xyz}
  1.2764 +do_test printf-2.7.4.4 {
  1.2765 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 0.0
  1.2766 +} {abc: 3 3 (0) :xyz}
  1.2767 +do_test printf-2.7.4.5 {
  1.2768 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 0.0
  1.2769 +} {abc: 3 3 (0.00000) :xyz}
  1.2770 +do_test printf-2.7.4.6 {
  1.2771 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 0.0
  1.2772 +} {abc: 3 3 (0000000000) :xyz}
  1.2773 +do_test printf-2.7.4.7 {
  1.2774 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 0.0
  1.2775 +} {abc: 3 3 (0.000) :xyz}
  1.2776 +do_test printf-2.7.4.8 {
  1.2777 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 0.0
  1.2778 +} {abc: 3 3 (0.000e+00) :xyz}
  1.2779 +do_test printf-2.7.4.9 {
  1.2780 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 0.0
  1.2781 +} {abc: 3 3 (  0) :xyz}
  1.2782 +do_test printf-2.7.5.1 {
  1.2783 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 100.0
  1.2784 +} {abc: (100.000) :xyz}
  1.2785 +do_test printf-2.7.5.2 {
  1.2786 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 100.0
  1.2787 +} {abc: (1.000e+02) :xyz}
  1.2788 +do_test printf-2.7.5.3 {
  1.2789 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 100.0
  1.2790 +} {abc: (100) :xyz}
  1.2791 +do_test printf-2.7.5.4 {
  1.2792 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 100.0
  1.2793 +} {abc: 3 3 (100) :xyz}
  1.2794 +do_test printf-2.7.5.5 {
  1.2795 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 100.0
  1.2796 +} {abc: 3 3 (100.000) :xyz}
  1.2797 +do_test printf-2.7.5.6 {
  1.2798 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 100.0
  1.2799 +} {abc: 3 3 (0000000100) :xyz}
  1.2800 +do_test printf-2.7.5.7 {
  1.2801 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 100.0
  1.2802 +} {abc: 3 3 (100.000) :xyz}
  1.2803 +do_test printf-2.7.5.8 {
  1.2804 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 100.0
  1.2805 +} {abc: 3 3 (1.000e+02) :xyz}
  1.2806 +do_test printf-2.7.5.9 {
  1.2807 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 100.0
  1.2808 +} {abc: 3 3 (100) :xyz}
  1.2809 +do_test printf-2.7.6.1 {
  1.2810 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 9.99999
  1.2811 +} {abc: (10.000) :xyz}
  1.2812 +do_test printf-2.7.6.2 {
  1.2813 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.99999
  1.2814 +} {abc: (1.000e+01) :xyz}
  1.2815 +do_test printf-2.7.6.3 {
  1.2816 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.99999
  1.2817 +} {abc: ( 10) :xyz}
  1.2818 +do_test printf-2.7.6.4 {
  1.2819 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 9.99999
  1.2820 +} {abc: 3 3 (9.99999) :xyz}
  1.2821 +do_test printf-2.7.6.5 {
  1.2822 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 9.99999
  1.2823 +} {abc: 3 3 (9.99999) :xyz}
  1.2824 +do_test printf-2.7.6.6 {
  1.2825 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 9.99999
  1.2826 +} {abc: 3 3 (0009.99999) :xyz}
  1.2827 +do_test printf-2.7.6.7 {
  1.2828 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 9.99999
  1.2829 +} {abc: 3 3 (10.000) :xyz}
  1.2830 +do_test printf-2.7.6.8 {
  1.2831 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 9.99999
  1.2832 +} {abc: 3 3 (1.000e+01) :xyz}
  1.2833 +do_test printf-2.7.6.9 {
  1.2834 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 9.99999
  1.2835 +} {abc: 3 3 ( 10) :xyz}
  1.2836 +do_test printf-2.7.7.1 {
  1.2837 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -0.00543
  1.2838 +} {abc: (-0.005) :xyz}
  1.2839 +do_test printf-2.7.7.2 {
  1.2840 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -0.00543
  1.2841 +} {abc: (-5.430e-03) :xyz}
  1.2842 +do_test printf-2.7.7.3 {
  1.2843 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -0.00543
  1.2844 +} {abc: (-0.00543) :xyz}
  1.2845 +do_test printf-2.7.7.4 {
  1.2846 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -0.00543
  1.2847 +} {abc: 3 3 (-0.00543) :xyz}
  1.2848 +do_test printf-2.7.7.5 {
  1.2849 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -0.00543
  1.2850 +} {abc: 3 3 (-0.00543000) :xyz}
  1.2851 +do_test printf-2.7.7.6 {
  1.2852 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -0.00543
  1.2853 +} {abc: 3 3 (-000.00543) :xyz}
  1.2854 +do_test printf-2.7.7.7 {
  1.2855 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -0.00543
  1.2856 +} {abc: 3 3 (-0.005) :xyz}
  1.2857 +do_test printf-2.7.7.8 {
  1.2858 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -0.00543
  1.2859 +} {abc: 3 3 (-5.430e-03) :xyz}
  1.2860 +do_test printf-2.7.7.9 {
  1.2861 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -0.00543
  1.2862 +} {abc: 3 3 (-0.00543) :xyz}
  1.2863 +do_test printf-2.7.8.1 {
  1.2864 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -1.0
  1.2865 +} {abc: (-1.000) :xyz}
  1.2866 +do_test printf-2.7.8.2 {
  1.2867 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -1.0
  1.2868 +} {abc: (-1.000e+00) :xyz}
  1.2869 +do_test printf-2.7.8.3 {
  1.2870 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -1.0
  1.2871 +} {abc: ( -1) :xyz}
  1.2872 +do_test printf-2.7.8.4 {
  1.2873 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -1.0
  1.2874 +} {abc: 3 3 (-1) :xyz}
  1.2875 +do_test printf-2.7.8.5 {
  1.2876 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -1.0
  1.2877 +} {abc: 3 3 (-1.00000) :xyz}
  1.2878 +do_test printf-2.7.8.6 {
  1.2879 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -1.0
  1.2880 +} {abc: 3 3 (-000000001) :xyz}
  1.2881 +do_test printf-2.7.8.7 {
  1.2882 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -1.0
  1.2883 +} {abc: 3 3 (-1.000) :xyz}
  1.2884 +do_test printf-2.7.8.8 {
  1.2885 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -1.0
  1.2886 +} {abc: 3 3 (-1.000e+00) :xyz}
  1.2887 +do_test printf-2.7.8.9 {
  1.2888 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -1.0
  1.2889 +} {abc: 3 3 ( -1) :xyz}
  1.2890 +do_test printf-2.7.9.1 {
  1.2891 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -99.99999
  1.2892 +} {abc: (-100.000) :xyz}
  1.2893 +do_test printf-2.7.9.2 {
  1.2894 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -99.99999
  1.2895 +} {abc: (-1.000e+02) :xyz}
  1.2896 +do_test printf-2.7.9.3 {
  1.2897 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -99.99999
  1.2898 +} {abc: (-100) :xyz}
  1.2899 +do_test printf-2.7.9.4 {
  1.2900 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -99.99999
  1.2901 +} {abc: 3 3 (-100) :xyz}
  1.2902 +do_test printf-2.7.9.5 {
  1.2903 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -99.99999
  1.2904 +} {abc: 3 3 (-100.000) :xyz}
  1.2905 +do_test printf-2.7.9.6 {
  1.2906 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -99.99999
  1.2907 +} {abc: 3 3 (-000000100) :xyz}
  1.2908 +do_test printf-2.7.9.7 {
  1.2909 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -99.99999
  1.2910 +} {abc: 3 3 (-100.000) :xyz}
  1.2911 +do_test printf-2.7.9.8 {
  1.2912 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -99.99999
  1.2913 +} {abc: 3 3 (-1.000e+02) :xyz}
  1.2914 +do_test printf-2.7.9.9 {
  1.2915 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -99.99999
  1.2916 +} {abc: 3 3 (-100) :xyz}
  1.2917 +do_test printf-2.7.10.1 {
  1.2918 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.14e+9
  1.2919 +} {abc: (3140000000.000) :xyz}
  1.2920 +do_test printf-2.7.10.2 {
  1.2921 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.14e+9
  1.2922 +} {abc: (3.140e+09) :xyz}
  1.2923 +do_test printf-2.7.10.3 {
  1.2924 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.14e+9
  1.2925 +} {abc: (3.14e+09) :xyz}
  1.2926 +do_test printf-2.7.10.4 {
  1.2927 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 3.14e+9
  1.2928 +} {abc: 3 3 (3.14e+09) :xyz}
  1.2929 +do_test printf-2.7.10.5 {
  1.2930 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 3.14e+9
  1.2931 +} {abc: 3 3 (3.14000e+09) :xyz}
  1.2932 +do_test printf-2.7.10.6 {
  1.2933 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 3.14e+9
  1.2934 +} {abc: 3 3 (003.14e+09) :xyz}
  1.2935 +do_test printf-2.7.10.7 {
  1.2936 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 3.14e+9
  1.2937 +} {abc: 3 3 (3140000000.000) :xyz}
  1.2938 +do_test printf-2.7.10.8 {
  1.2939 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 3.14e+9
  1.2940 +} {abc: 3 3 (3.140e+09) :xyz}
  1.2941 +do_test printf-2.7.10.9 {
  1.2942 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 3.14e+9
  1.2943 +} {abc: 3 3 (3.14e+09) :xyz}
  1.2944 +do_test printf-2.7.11.2 {
  1.2945 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -4.72732e+88
  1.2946 +} {abc: (-4.727e+88) :xyz}
  1.2947 +do_test printf-2.7.11.3 {
  1.2948 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -4.72732e+88
  1.2949 +} {abc: (-4.73e+88) :xyz}
  1.2950 +do_test printf-2.7.11.4 {
  1.2951 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -4.72732e+88
  1.2952 +} {abc: 3 3 (-4.72732e+88) :xyz}
  1.2953 +do_test printf-2.7.11.5 {
  1.2954 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -4.72732e+88
  1.2955 +} {abc: 3 3 (-4.72732e+88) :xyz}
  1.2956 +do_test printf-2.7.11.6 {
  1.2957 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -4.72732e+88
  1.2958 +} {abc: 3 3 (-4.72732e+88) :xyz}
  1.2959 +do_test printf-2.7.11.8 {
  1.2960 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -4.72732e+88
  1.2961 +} {abc: 3 3 (-4.727e+88) :xyz}
  1.2962 +do_test printf-2.7.11.9 {
  1.2963 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -4.72732e+88
  1.2964 +} {abc: 3 3 (-4.73e+88) :xyz}
  1.2965 +do_test printf-2.7.12.2 {
  1.2966 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 9.87991e+143
  1.2967 +} {abc: (9.880e+143) :xyz}
  1.2968 +do_test printf-2.7.12.3 {
  1.2969 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 9.87991e+143
  1.2970 +} {abc: (9.88e+143) :xyz}
  1.2971 +do_test printf-2.7.12.4 {
  1.2972 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 9.87991e+143
  1.2973 +} {abc: 3 3 (9.87991e+143) :xyz}
  1.2974 +do_test printf-2.7.12.5 {
  1.2975 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 9.87991e+143
  1.2976 +} {abc: 3 3 (9.87991e+143) :xyz}
  1.2977 +do_test printf-2.7.12.6 {
  1.2978 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 9.87991e+143
  1.2979 +} {abc: 3 3 (9.87991e+143) :xyz}
  1.2980 +do_test printf-2.7.12.8 {
  1.2981 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 9.87991e+143
  1.2982 +} {abc: 3 3 (9.880e+143) :xyz}
  1.2983 +do_test printf-2.7.12.9 {
  1.2984 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 9.87991e+143
  1.2985 +} {abc: 3 3 (9.88e+143) :xyz}
  1.2986 +do_test printf-2.7.13.1 {
  1.2987 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 -6.287291e-9
  1.2988 +} {abc: (-0.000) :xyz}
  1.2989 +do_test printf-2.7.13.2 {
  1.2990 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 -6.287291e-9
  1.2991 +} {abc: (-6.287e-09) :xyz}
  1.2992 +do_test printf-2.7.13.3 {
  1.2993 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 -6.287291e-9
  1.2994 +} {abc: (-6.29e-09) :xyz}
  1.2995 +do_test printf-2.7.13.4 {
  1.2996 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 -6.287291e-9
  1.2997 +} {abc: 3 3 (-6.28729e-09) :xyz}
  1.2998 +do_test printf-2.7.13.5 {
  1.2999 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 -6.287291e-9
  1.3000 +} {abc: 3 3 (-6.28729e-09) :xyz}
  1.3001 +do_test printf-2.7.13.6 {
  1.3002 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 -6.287291e-9
  1.3003 +} {abc: 3 3 (-6.28729e-09) :xyz}
  1.3004 +do_test printf-2.7.13.7 {
  1.3005 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 -6.287291e-9
  1.3006 +} {abc: 3 3 (-0.000) :xyz}
  1.3007 +do_test printf-2.7.13.8 {
  1.3008 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 -6.287291e-9
  1.3009 +} {abc: 3 3 (-6.287e-09) :xyz}
  1.3010 +do_test printf-2.7.13.9 {
  1.3011 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 -6.287291e-9
  1.3012 +} {abc: 3 3 (-6.29e-09) :xyz}
  1.3013 +do_test printf-2.7.14.1 {
  1.3014 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 3 3.38826392e-110
  1.3015 +} {abc: (0.000) :xyz}
  1.3016 +do_test printf-2.7.14.2 {
  1.3017 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 3 3.38826392e-110
  1.3018 +} {abc: (3.388e-110) :xyz}
  1.3019 +do_test printf-2.7.14.3 {
  1.3020 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 3 3.38826392e-110
  1.3021 +} {abc: (3.39e-110) :xyz}
  1.3022 +do_test printf-2.7.14.4 {
  1.3023 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 3 3.38826392e-110
  1.3024 +} {abc: 3 3 (3.38826e-110) :xyz}
  1.3025 +do_test printf-2.7.14.5 {
  1.3026 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 3 3.38826392e-110
  1.3027 +} {abc: 3 3 (3.38826e-110) :xyz}
  1.3028 +do_test printf-2.7.14.6 {
  1.3029 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 3 3.38826392e-110
  1.3030 +} {abc: 3 3 (3.38826e-110) :xyz}
  1.3031 +do_test printf-2.7.14.7 {
  1.3032 +  sqlite3_mprintf_double {abc: %d %d (%3.3f) :xyz} 3 3 3.38826392e-110
  1.3033 +} {abc: 3 3 (0.000) :xyz}
  1.3034 +do_test printf-2.7.14.8 {
  1.3035 +  sqlite3_mprintf_double {abc: %d %d (%3.3e) :xyz} 3 3 3.38826392e-110
  1.3036 +} {abc: 3 3 (3.388e-110) :xyz}
  1.3037 +do_test printf-2.7.14.9 {
  1.3038 +  sqlite3_mprintf_double {abc: %d %d (%3.3g) :xyz} 3 3 3.38826392e-110
  1.3039 +} {abc: 3 3 (3.39e-110) :xyz}
  1.3040 +do_test printf-2.8.1.1 {
  1.3041 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.001
  1.3042 +} {abc: (0.00) :xyz}
  1.3043 +do_test printf-2.8.1.2 {
  1.3044 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.001
  1.3045 +} {abc: (1.00e-03) :xyz}
  1.3046 +do_test printf-2.8.1.3 {
  1.3047 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.001
  1.3048 +} {abc: (0.001) :xyz}
  1.3049 +do_test printf-2.8.1.4 {
  1.3050 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 0.001
  1.3051 +} {abc: 3 2 (0.001) :xyz}
  1.3052 +do_test printf-2.8.1.5 {
  1.3053 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 0.001
  1.3054 +} {abc: 3 2 (0.00100000) :xyz}
  1.3055 +do_test printf-2.8.1.6 {
  1.3056 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 0.001
  1.3057 +} {abc: 3 2 (000000.001) :xyz}
  1.3058 +do_test printf-2.8.1.7 {
  1.3059 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 0.001
  1.3060 +} {abc: 3 2 (0.00) :xyz}
  1.3061 +do_test printf-2.8.1.8 {
  1.3062 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 0.001
  1.3063 +} {abc: 3 2 (1.00e-03) :xyz}
  1.3064 +do_test printf-2.8.1.9 {
  1.3065 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 0.001
  1.3066 +} {abc: 3 2 (0.001) :xyz}
  1.3067 +do_test printf-2.8.2.1 {
  1.3068 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0e-20
  1.3069 +} {abc: (0.00) :xyz}
  1.3070 +do_test printf-2.8.2.2 {
  1.3071 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0e-20
  1.3072 +} {abc: (1.00e-20) :xyz}
  1.3073 +do_test printf-2.8.2.3 {
  1.3074 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0e-20
  1.3075 +} {abc: (1e-20) :xyz}
  1.3076 +do_test printf-2.8.2.4 {
  1.3077 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 1.0e-20
  1.3078 +} {abc: 3 2 (1e-20) :xyz}
  1.3079 +do_test printf-2.8.2.5 {
  1.3080 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 1.0e-20
  1.3081 +} {abc: 3 2 (1.00000e-20) :xyz}
  1.3082 +do_test printf-2.8.2.6 {
  1.3083 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 1.0e-20
  1.3084 +} {abc: 3 2 (000001e-20) :xyz}
  1.3085 +do_test printf-2.8.2.7 {
  1.3086 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 1.0e-20
  1.3087 +} {abc: 3 2 (0.00) :xyz}
  1.3088 +do_test printf-2.8.2.8 {
  1.3089 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 1.0e-20
  1.3090 +} {abc: 3 2 (1.00e-20) :xyz}
  1.3091 +do_test printf-2.8.2.9 {
  1.3092 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 1.0e-20
  1.3093 +} {abc: 3 2 (1e-20) :xyz}
  1.3094 +do_test printf-2.8.3.1 {
  1.3095 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 1.0
  1.3096 +} {abc: (1.00) :xyz}
  1.3097 +do_test printf-2.8.3.2 {
  1.3098 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 1.0
  1.3099 +} {abc: (1.00e+00) :xyz}
  1.3100 +do_test printf-2.8.3.3 {
  1.3101 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 1.0
  1.3102 +} {abc: (  1) :xyz}
  1.3103 +do_test printf-2.8.3.4 {
  1.3104 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 1.0
  1.3105 +} {abc: 3 2 (1) :xyz}
  1.3106 +do_test printf-2.8.3.5 {
  1.3107 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 1.0
  1.3108 +} {abc: 3 2 (1.00000) :xyz}
  1.3109 +do_test printf-2.8.3.6 {
  1.3110 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 1.0
  1.3111 +} {abc: 3 2 (0000000001) :xyz}
  1.3112 +do_test printf-2.8.3.7 {
  1.3113 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 1.0
  1.3114 +} {abc: 3 2 (1.00) :xyz}
  1.3115 +do_test printf-2.8.3.8 {
  1.3116 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 1.0
  1.3117 +} {abc: 3 2 (1.00e+00) :xyz}
  1.3118 +do_test printf-2.8.3.9 {
  1.3119 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 1.0
  1.3120 +} {abc: 3 2 (  1) :xyz}
  1.3121 +do_test printf-2.8.4.1 {
  1.3122 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 0.0
  1.3123 +} {abc: (0.00) :xyz}
  1.3124 +do_test printf-2.8.4.2 {
  1.3125 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 0.0
  1.3126 +} {abc: (0.00e+00) :xyz}
  1.3127 +do_test printf-2.8.4.3 {
  1.3128 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 0.0
  1.3129 +} {abc: (  0) :xyz}
  1.3130 +do_test printf-2.8.4.4 {
  1.3131 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 0.0
  1.3132 +} {abc: 3 2 (0) :xyz}
  1.3133 +do_test printf-2.8.4.5 {
  1.3134 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 0.0
  1.3135 +} {abc: 3 2 (0.00000) :xyz}
  1.3136 +do_test printf-2.8.4.6 {
  1.3137 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 0.0
  1.3138 +} {abc: 3 2 (0000000000) :xyz}
  1.3139 +do_test printf-2.8.4.7 {
  1.3140 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 0.0
  1.3141 +} {abc: 3 2 (0.00) :xyz}
  1.3142 +do_test printf-2.8.4.8 {
  1.3143 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 0.0
  1.3144 +} {abc: 3 2 (0.00e+00) :xyz}
  1.3145 +do_test printf-2.8.4.9 {
  1.3146 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 0.0
  1.3147 +} {abc: 3 2 (  0) :xyz}
  1.3148 +do_test printf-2.8.5.1 {
  1.3149 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 100.0
  1.3150 +} {abc: (100.00) :xyz}
  1.3151 +do_test printf-2.8.5.2 {
  1.3152 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 100.0
  1.3153 +} {abc: (1.00e+02) :xyz}
  1.3154 +do_test printf-2.8.5.3 {
  1.3155 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 100.0
  1.3156 +} {abc: (1e+02) :xyz}
  1.3157 +do_test printf-2.8.5.4 {
  1.3158 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 100.0
  1.3159 +} {abc: 3 2 (100) :xyz}
  1.3160 +do_test printf-2.8.5.5 {
  1.3161 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 100.0
  1.3162 +} {abc: 3 2 (100.000) :xyz}
  1.3163 +do_test printf-2.8.5.6 {
  1.3164 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 100.0
  1.3165 +} {abc: 3 2 (0000000100) :xyz}
  1.3166 +do_test printf-2.8.5.7 {
  1.3167 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 100.0
  1.3168 +} {abc: 3 2 (100.00) :xyz}
  1.3169 +do_test printf-2.8.5.8 {
  1.3170 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 100.0
  1.3171 +} {abc: 3 2 (1.00e+02) :xyz}
  1.3172 +do_test printf-2.8.5.9 {
  1.3173 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 100.0
  1.3174 +} {abc: 3 2 (1e+02) :xyz}
  1.3175 +do_test printf-2.8.6.1 {
  1.3176 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 9.99999
  1.3177 +} {abc: (10.00) :xyz}
  1.3178 +do_test printf-2.8.6.2 {
  1.3179 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.99999
  1.3180 +} {abc: (1.00e+01) :xyz}
  1.3181 +do_test printf-2.8.6.3 {
  1.3182 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.99999
  1.3183 +} {abc: ( 10) :xyz}
  1.3184 +do_test printf-2.8.6.4 {
  1.3185 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 9.99999
  1.3186 +} {abc: 3 2 (9.99999) :xyz}
  1.3187 +do_test printf-2.8.6.5 {
  1.3188 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 9.99999
  1.3189 +} {abc: 3 2 (9.99999) :xyz}
  1.3190 +do_test printf-2.8.6.6 {
  1.3191 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 9.99999
  1.3192 +} {abc: 3 2 (0009.99999) :xyz}
  1.3193 +do_test printf-2.8.6.7 {
  1.3194 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 9.99999
  1.3195 +} {abc: 3 2 (10.00) :xyz}
  1.3196 +do_test printf-2.8.6.8 {
  1.3197 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 9.99999
  1.3198 +} {abc: 3 2 (1.00e+01) :xyz}
  1.3199 +do_test printf-2.8.6.9 {
  1.3200 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 9.99999
  1.3201 +} {abc: 3 2 ( 10) :xyz}
  1.3202 +do_test printf-2.8.7.1 {
  1.3203 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -0.00543
  1.3204 +} {abc: (-0.01) :xyz}
  1.3205 +do_test printf-2.8.7.2 {
  1.3206 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -0.00543
  1.3207 +} {abc: (-5.43e-03) :xyz}
  1.3208 +do_test printf-2.8.7.3 {
  1.3209 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -0.00543
  1.3210 +} {abc: (-0.0054) :xyz}
  1.3211 +do_test printf-2.8.7.4 {
  1.3212 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -0.00543
  1.3213 +} {abc: 3 2 (-0.00543) :xyz}
  1.3214 +do_test printf-2.8.7.5 {
  1.3215 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -0.00543
  1.3216 +} {abc: 3 2 (-0.00543000) :xyz}
  1.3217 +do_test printf-2.8.7.6 {
  1.3218 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -0.00543
  1.3219 +} {abc: 3 2 (-000.00543) :xyz}
  1.3220 +do_test printf-2.8.7.7 {
  1.3221 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -0.00543
  1.3222 +} {abc: 3 2 (-0.01) :xyz}
  1.3223 +do_test printf-2.8.7.8 {
  1.3224 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -0.00543
  1.3225 +} {abc: 3 2 (-5.43e-03) :xyz}
  1.3226 +do_test printf-2.8.7.9 {
  1.3227 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -0.00543
  1.3228 +} {abc: 3 2 (-0.0054) :xyz}
  1.3229 +do_test printf-2.8.8.1 {
  1.3230 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -1.0
  1.3231 +} {abc: (-1.00) :xyz}
  1.3232 +do_test printf-2.8.8.2 {
  1.3233 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -1.0
  1.3234 +} {abc: (-1.00e+00) :xyz}
  1.3235 +do_test printf-2.8.8.3 {
  1.3236 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -1.0
  1.3237 +} {abc: ( -1) :xyz}
  1.3238 +do_test printf-2.8.8.4 {
  1.3239 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -1.0
  1.3240 +} {abc: 3 2 (-1) :xyz}
  1.3241 +do_test printf-2.8.8.5 {
  1.3242 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -1.0
  1.3243 +} {abc: 3 2 (-1.00000) :xyz}
  1.3244 +do_test printf-2.8.8.6 {
  1.3245 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -1.0
  1.3246 +} {abc: 3 2 (-000000001) :xyz}
  1.3247 +do_test printf-2.8.8.7 {
  1.3248 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -1.0
  1.3249 +} {abc: 3 2 (-1.00) :xyz}
  1.3250 +do_test printf-2.8.8.8 {
  1.3251 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -1.0
  1.3252 +} {abc: 3 2 (-1.00e+00) :xyz}
  1.3253 +do_test printf-2.8.8.9 {
  1.3254 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -1.0
  1.3255 +} {abc: 3 2 ( -1) :xyz}
  1.3256 +do_test printf-2.8.9.1 {
  1.3257 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -99.99999
  1.3258 +} {abc: (-100.00) :xyz}
  1.3259 +do_test printf-2.8.9.2 {
  1.3260 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -99.99999
  1.3261 +} {abc: (-1.00e+02) :xyz}
  1.3262 +do_test printf-2.8.9.3 {
  1.3263 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -99.99999
  1.3264 +} {abc: (-1e+02) :xyz}
  1.3265 +do_test printf-2.8.9.4 {
  1.3266 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -99.99999
  1.3267 +} {abc: 3 2 (-100) :xyz}
  1.3268 +do_test printf-2.8.9.5 {
  1.3269 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -99.99999
  1.3270 +} {abc: 3 2 (-100.000) :xyz}
  1.3271 +do_test printf-2.8.9.6 {
  1.3272 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -99.99999
  1.3273 +} {abc: 3 2 (-000000100) :xyz}
  1.3274 +do_test printf-2.8.9.7 {
  1.3275 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -99.99999
  1.3276 +} {abc: 3 2 (-100.00) :xyz}
  1.3277 +do_test printf-2.8.9.8 {
  1.3278 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -99.99999
  1.3279 +} {abc: 3 2 (-1.00e+02) :xyz}
  1.3280 +do_test printf-2.8.9.9 {
  1.3281 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -99.99999
  1.3282 +} {abc: 3 2 (-1e+02) :xyz}
  1.3283 +do_test printf-2.8.10.1 {
  1.3284 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.14e+9
  1.3285 +} {abc: (3140000000.00) :xyz}
  1.3286 +do_test printf-2.8.10.2 {
  1.3287 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.14e+9
  1.3288 +} {abc: (3.14e+09) :xyz}
  1.3289 +do_test printf-2.8.10.3 {
  1.3290 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.14e+9
  1.3291 +} {abc: (3.1e+09) :xyz}
  1.3292 +do_test printf-2.8.10.4 {
  1.3293 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 3.14e+9
  1.3294 +} {abc: 3 2 (3.14e+09) :xyz}
  1.3295 +do_test printf-2.8.10.5 {
  1.3296 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 3.14e+9
  1.3297 +} {abc: 3 2 (3.14000e+09) :xyz}
  1.3298 +do_test printf-2.8.10.6 {
  1.3299 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 3.14e+9
  1.3300 +} {abc: 3 2 (003.14e+09) :xyz}
  1.3301 +do_test printf-2.8.10.7 {
  1.3302 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 3.14e+9
  1.3303 +} {abc: 3 2 (3140000000.00) :xyz}
  1.3304 +do_test printf-2.8.10.8 {
  1.3305 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 3.14e+9
  1.3306 +} {abc: 3 2 (3.14e+09) :xyz}
  1.3307 +do_test printf-2.8.10.9 {
  1.3308 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 3.14e+9
  1.3309 +} {abc: 3 2 (3.1e+09) :xyz}
  1.3310 +do_test printf-2.8.11.2 {
  1.3311 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -4.72732e+88
  1.3312 +} {abc: (-4.73e+88) :xyz}
  1.3313 +do_test printf-2.8.11.3 {
  1.3314 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -4.72732e+88
  1.3315 +} {abc: (-4.7e+88) :xyz}
  1.3316 +do_test printf-2.8.11.4 {
  1.3317 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -4.72732e+88
  1.3318 +} {abc: 3 2 (-4.72732e+88) :xyz}
  1.3319 +do_test printf-2.8.11.5 {
  1.3320 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -4.72732e+88
  1.3321 +} {abc: 3 2 (-4.72732e+88) :xyz}
  1.3322 +do_test printf-2.8.11.6 {
  1.3323 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -4.72732e+88
  1.3324 +} {abc: 3 2 (-4.72732e+88) :xyz}
  1.3325 +do_test printf-2.8.11.8 {
  1.3326 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -4.72732e+88
  1.3327 +} {abc: 3 2 (-4.73e+88) :xyz}
  1.3328 +do_test printf-2.8.11.9 {
  1.3329 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -4.72732e+88
  1.3330 +} {abc: 3 2 (-4.7e+88) :xyz}
  1.3331 +do_test printf-2.8.12.2 {
  1.3332 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 9.87991e+143
  1.3333 +} {abc: (9.88e+143) :xyz}
  1.3334 +do_test printf-2.8.12.3 {
  1.3335 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 9.87991e+143
  1.3336 +} {abc: (9.9e+143) :xyz}
  1.3337 +do_test printf-2.8.12.4 {
  1.3338 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 9.87991e+143
  1.3339 +} {abc: 3 2 (9.87991e+143) :xyz}
  1.3340 +do_test printf-2.8.12.5 {
  1.3341 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 9.87991e+143
  1.3342 +} {abc: 3 2 (9.87991e+143) :xyz}
  1.3343 +do_test printf-2.8.12.6 {
  1.3344 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 9.87991e+143
  1.3345 +} {abc: 3 2 (9.87991e+143) :xyz}
  1.3346 +do_test printf-2.8.12.8 {
  1.3347 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 9.87991e+143
  1.3348 +} {abc: 3 2 (9.88e+143) :xyz}
  1.3349 +do_test printf-2.8.12.9 {
  1.3350 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 9.87991e+143
  1.3351 +} {abc: 3 2 (9.9e+143) :xyz}
  1.3352 +do_test printf-2.8.13.1 {
  1.3353 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 -6.287291e-9
  1.3354 +} {abc: (-0.00) :xyz}
  1.3355 +do_test printf-2.8.13.2 {
  1.3356 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 -6.287291e-9
  1.3357 +} {abc: (-6.29e-09) :xyz}
  1.3358 +do_test printf-2.8.13.3 {
  1.3359 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 -6.287291e-9
  1.3360 +} {abc: (-6.3e-09) :xyz}
  1.3361 +do_test printf-2.8.13.4 {
  1.3362 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 -6.287291e-9
  1.3363 +} {abc: 3 2 (-6.28729e-09) :xyz}
  1.3364 +do_test printf-2.8.13.5 {
  1.3365 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 -6.287291e-9
  1.3366 +} {abc: 3 2 (-6.28729e-09) :xyz}
  1.3367 +do_test printf-2.8.13.6 {
  1.3368 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 -6.287291e-9
  1.3369 +} {abc: 3 2 (-6.28729e-09) :xyz}
  1.3370 +do_test printf-2.8.13.7 {
  1.3371 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 -6.287291e-9
  1.3372 +} {abc: 3 2 (-0.00) :xyz}
  1.3373 +do_test printf-2.8.13.8 {
  1.3374 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 -6.287291e-9
  1.3375 +} {abc: 3 2 (-6.29e-09) :xyz}
  1.3376 +do_test printf-2.8.13.9 {
  1.3377 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 -6.287291e-9
  1.3378 +} {abc: 3 2 (-6.3e-09) :xyz}
  1.3379 +do_test printf-2.8.14.1 {
  1.3380 +  sqlite3_mprintf_double {abc: (%*.*f) :xyz} 3 2 3.38826392e-110
  1.3381 +} {abc: (0.00) :xyz}
  1.3382 +do_test printf-2.8.14.2 {
  1.3383 +  sqlite3_mprintf_double {abc: (%*.*e) :xyz} 3 2 3.38826392e-110
  1.3384 +} {abc: (3.39e-110) :xyz}
  1.3385 +do_test printf-2.8.14.3 {
  1.3386 +  sqlite3_mprintf_double {abc: (%*.*g) :xyz} 3 2 3.38826392e-110
  1.3387 +} {abc: (3.4e-110) :xyz}
  1.3388 +do_test printf-2.8.14.4 {
  1.3389 +  sqlite3_mprintf_double {abc: %d %d (%g) :xyz} 3 2 3.38826392e-110
  1.3390 +} {abc: 3 2 (3.38826e-110) :xyz}
  1.3391 +do_test printf-2.8.14.5 {
  1.3392 +  sqlite3_mprintf_double {abc: %d %d (%#g) :xyz} 3 2 3.38826392e-110
  1.3393 +} {abc: 3 2 (3.38826e-110) :xyz}
  1.3394 +do_test printf-2.8.14.6 {
  1.3395 +  sqlite3_mprintf_double {abc: %d %d (%010g) :xyz} 3 2 3.38826392e-110
  1.3396 +} {abc: 3 2 (3.38826e-110) :xyz}
  1.3397 +do_test printf-2.8.14.7 {
  1.3398 +  sqlite3_mprintf_double {abc: %d %d (%3.2f) :xyz} 3 2 3.38826392e-110
  1.3399 +} {abc: 3 2 (0.00) :xyz}
  1.3400 +do_test printf-2.8.14.8 {
  1.3401 +  sqlite3_mprintf_double {abc: %d %d (%3.2e) :xyz} 3 2 3.38826392e-110
  1.3402 +} {abc: 3 2 (3.39e-110) :xyz}
  1.3403 +do_test printf-2.8.14.9 {
  1.3404 +  sqlite3_mprintf_double {abc: %d %d (%3.2g) :xyz} 3 2 3.38826392e-110
  1.3405 +} {abc: 3 2 (3.4e-110) :xyz}
  1.3406 +do_test printf-2.8.15.1 {
  1.3407 +  sqlite3_mprintf_double {abc: (% *.*f) :xyz} 3 2 3.38826392e-110
  1.3408 +} {abc: ( 0.00) :xyz}
  1.3409 +do_test printf-2.8.15.2 {
  1.3410 +  sqlite3_mprintf_double {abc: (% *.*e) :xyz} 3 2 3.38826392e-110
  1.3411 +} {abc: ( 3.39e-110) :xyz}
  1.3412 +do_test printf-2.8.15.3 {
  1.3413 +  sqlite3_mprintf_double {abc: (% *.*g) :xyz} 3 2 3.38826392e-110
  1.3414 +} {abc: ( 3.4e-110) :xyz}
  1.3415 +do_test printf-2.8.15.4 {
  1.3416 +  sqlite3_mprintf_double {abc: %d %d (% g) :xyz} 3 2 3.38826392e-110
  1.3417 +} {abc: 3 2 ( 3.38826e-110) :xyz}
  1.3418 +do_test printf-2.8.15.5 {
  1.3419 +  sqlite3_mprintf_double {abc: %d %d (% #g) :xyz} 3 2 3.38826392e-110
  1.3420 +} {abc: 3 2 ( 3.38826e-110) :xyz}
  1.3421 +do_test printf-2.8.15.6 {
  1.3422 +  sqlite3_mprintf_double {abc: %d %d (%0 10g) :xyz} 3 2 3.38826392e-110
  1.3423 +} {abc: 3 2 ( 3.38826e-110) :xyz}
  1.3424 +do_test printf-2.8.15.7 {
  1.3425 +  sqlite3_mprintf_double {abc: %d %d (% 3.2f) :xyz} 3 2 3.38826392e-110
  1.3426 +} {abc: 3 2 ( 0.00) :xyz}
  1.3427 +do_test printf-2.8.15.8 {
  1.3428 +  sqlite3_mprintf_double {abc: %d %d (% 3.2e) :xyz} 3 2 3.38826392e-110
  1.3429 +} {abc: 3 2 ( 3.39e-110) :xyz}
  1.3430 +do_test printf-2.8.15.9 {
  1.3431 +  sqlite3_mprintf_double {abc: %d %d (% 3.2g) :xyz} 3 2 3.38826392e-110
  1.3432 +} {abc: 3 2 ( 3.4e-110) :xyz}
  1.3433 +
  1.3434 +do_test printf-2.9.1 {
  1.3435 +  sqlite3_mprintf_double {abc: %d %d (%5.0g) :xyz} 0 0 1.234
  1.3436 +} {abc: 0 0 (    1) :xyz}
  1.3437 +do_test printf-2.9.2 {
  1.3438 +  sqlite3_mprintf_double {abc: %d %d (%+5.0g) :xyz} 0 0 1.234
  1.3439 +} {abc: 0 0 (   +1) :xyz}
  1.3440 +do_test printf-2.9.3 {
  1.3441 +  sqlite3_mprintf_double {abc: %d %d (%+-5.0g) :xyz} 0 0 1.234
  1.3442 +} {abc: 0 0 (+1   ) :xyz}
  1.3443 +
  1.3444 +do_test printf-2.10.1 {
  1.3445 +  sqlite3_mprintf_double {abc: %d %d (%-010.5f) :xyz} 0 0 1.234
  1.3446 +} {abc: 0 0 (1.23400   ) :xyz}
  1.3447 +do_test printf-2.10.2 {
  1.3448 +  sqlite3_mprintf_double {abc: %d %d (%010.5f) :xyz} 0 0 1.234
  1.3449 +} {abc: 0 0 (0001.23400) :xyz}
  1.3450 +do_test printf-2.10.3 {
  1.3451 +  sqlite3_mprintf_double {abc: %d %d (%+010.5f) :xyz} 0 0 1.234
  1.3452 +} {abc: 0 0 (+001.23400) :xyz}
  1.3453 +
  1.3454 +do_test printf-3.1 {
  1.3455 +  sqlite3_mprintf_str {A String: (%*.*s)} 10 10 {This is the string}
  1.3456 +} [format {A String: (%*.*s)} 10 10 {This is the string}]
  1.3457 +do_test printf-3.2 {
  1.3458 +  sqlite3_mprintf_str {A String: (%*.*s)} 10 5 {This is the string}
  1.3459 +} [format {A String: (%*.*s)} 10 5 {This is the string}]
  1.3460 +do_test printf-3.3 {
  1.3461 +  sqlite3_mprintf_str {A String: (%*.*s)} -10 5 {This is the string}
  1.3462 +} [format {A String: (%*.*s)} -10 5 {This is the string}]
  1.3463 +do_test printf-3.4 {
  1.3464 +  sqlite3_mprintf_str {%d %d A String: (%s)} 1 2 {This is the string}
  1.3465 +} [format {%d %d A String: (%s)} 1 2 {This is the string}]
  1.3466 +do_test printf-3.5 {
  1.3467 +  sqlite3_mprintf_str {%d %d A String: (%30s)} 1 2 {This is the string}
  1.3468 +} [format {%d %d A String: (%30s)} 1 2 {This is the string}]
  1.3469 +do_test printf-3.6 {
  1.3470 +  sqlite3_mprintf_str {%d %d A String: (%-30s)} 1 2 {This is the string}
  1.3471 +} [format {%d %d A String: (%-30s)} 1 2 {This is the string}]
  1.3472 +do_test snprintf-3.11 {
  1.3473 +  sqlite3_snprintf_str 2 {x%d %d %s} 10 10 {This is the string}
  1.3474 +} {x}
  1.3475 +do_test snprintf-3.12 {
  1.3476 +  sqlite3_snprintf_str 3 {x%d %d %s} 10 10 {This is the string}
  1.3477 +} {x1}
  1.3478 +do_test snprintf-3.13 {
  1.3479 +  sqlite3_snprintf_str 4 {x%d %d %s} 10 10 {This is the string}
  1.3480 +} {x10}
  1.3481 +do_test snprintf-3.14 {
  1.3482 +  sqlite3_snprintf_str 5 {x%d %d %s} 10 10 {This is the string}
  1.3483 +} {x10 }
  1.3484 +do_test snprintf-3.15 {
  1.3485 +  sqlite3_snprintf_str 6 {x%d %d %s} 10 10 {This is the string}
  1.3486 +} {x10 1}
  1.3487 +do_test snprintf-3.16 {
  1.3488 +  sqlite3_snprintf_str 7 {x%d %d %s} 10 10 {This is the string}
  1.3489 +} {x10 10}
  1.3490 +do_test snprintf-3.17 {
  1.3491 +  sqlite3_snprintf_str 8 {x%d %d %s} 10 10 {This is the string}
  1.3492 +} {x10 10 }
  1.3493 +do_test snprintf-3.18 {
  1.3494 +  sqlite3_snprintf_str 9 {x%d %d %s} 10 10 {This is the string}
  1.3495 +} {x10 10 T}
  1.3496 +do_test snprintf-3.19 {
  1.3497 +  sqlite3_snprintf_str 100 {x%d %d %s} 10 10 {This is the string}
  1.3498 +} {x10 10 This is the string}
  1.3499 +
  1.3500 +do_test printf-4.1 {
  1.3501 +  sqlite3_mprintf_str {%d %d A quoted string: '%q'} 1 2 {Hi Y'all}
  1.3502 +} {1 2 A quoted string: 'Hi Y''all'}
  1.3503 +do_test printf-4.2 {
  1.3504 +  sqlite3_mprintf_str {%d %d A NULL pointer in %%q: '%q'} 1 2
  1.3505 +} {1 2 A NULL pointer in %q: '(NULL)'}
  1.3506 +do_test printf-4.3 {
  1.3507 +  sqlite3_mprintf_str {%d %d A quoted string: %Q} 1 2 {Hi Y'all}
  1.3508 +} {1 2 A quoted string: 'Hi Y''all'}
  1.3509 +do_test printf-4.4 {
  1.3510 +  sqlite3_mprintf_str {%d %d A NULL pointer in %%Q: %Q} 1 2
  1.3511 +} {1 2 A NULL pointer in %Q: NULL}
  1.3512 +
  1.3513 +do_test printf-5.1 {
  1.3514 +  set x [sqlite3_mprintf_str {%d %d %100000s} 0 0 {Hello}]
  1.3515 +  string length $x
  1.3516 +} {344}
  1.3517 +do_test printf-5.2 {
  1.3518 +  sqlite3_mprintf_str {%d %d (%-10.10s) %} -9 -10 {HelloHelloHello}
  1.3519 +} {-9 -10 (HelloHello) %}
  1.3520 +
  1.3521 +do_test printf-6.1 {
  1.3522 +  sqlite3_mprintf_z_test , one two three four five six
  1.3523 +} {,one,two,three,four,five,six}
  1.3524 +
  1.3525 +
  1.3526 +do_test printf-7.1 {
  1.3527 +  sqlite3_mprintf_scaled {A double: %g} 1.0e307 1.0
  1.3528 +} {A double: 1e+307}
  1.3529 +do_test printf-7.2 {
  1.3530 +  sqlite3_mprintf_scaled {A double: %g} 1.0e307 10.0
  1.3531 +} {A double: 1e+308}
  1.3532 +do_test printf-7.3 {
  1.3533 +  sqlite3_mprintf_scaled {A double: %g} 1.0e307 100.0
  1.3534 +} {A double: Inf}
  1.3535 +do_test printf-7.4 {
  1.3536 +  sqlite3_mprintf_scaled {A double: %g} -1.0e307 100.0
  1.3537 +} {A double: -Inf}
  1.3538 +do_test printf-7.5 {
  1.3539 +  sqlite3_mprintf_scaled {A double: %+g} 1.0e307 100.0
  1.3540 +} {A double: +Inf}
  1.3541 +
  1.3542 +do_test printf-8.1 {
  1.3543 +  sqlite3_mprintf_int {%u %u %u} 0x7fffffff 0x80000000 0xffffffff
  1.3544 +} {2147483647 2147483648 4294967295}
  1.3545 +do_test printf-8.2 {
  1.3546 +  sqlite3_mprintf_int {%lu %lu %lu} 0x7fffffff 0x80000000 0xffffffff
  1.3547 +} {2147483647 2147483648 4294967295}
  1.3548 +do_test printf-8.3 {
  1.3549 +  sqlite3_mprintf_int64 {%llu %llu %llu} 2147483647 2147483648 4294967296
  1.3550 +} {2147483647 2147483648 4294967296}
  1.3551 +do_test printf-8.4 {
  1.3552 +  sqlite3_mprintf_int64 {%lld %lld %lld} 2147483647 2147483648 4294967296
  1.3553 +} {2147483647 2147483648 4294967296}
  1.3554 +do_test printf-8.5 {
  1.3555 +  sqlite3_mprintf_int64 {%llx %llx %llx} 2147483647 2147483648 4294967296
  1.3556 +} {7fffffff 80000000 100000000}
  1.3557 +do_test printf-8.6 {
  1.3558 +  sqlite3_mprintf_int64 {%llx %llo %lld} -1 -1 -1
  1.3559 +} {ffffffffffffffff 1777777777777777777777 -1}
  1.3560 +do_test printf-8.7 {
  1.3561 +  sqlite3_mprintf_int64 {%llx %llx %llx} +2147483647 +2147483648 +4294967296
  1.3562 +} {7fffffff 80000000 100000000}
  1.3563 +
  1.3564 +do_test printf-9.1 {
  1.3565 +  sqlite3_mprintf_int {%*.*c} 4 4 65
  1.3566 +} {AAAA}
  1.3567 +do_test printf-9.2 {
  1.3568 +  sqlite3_mprintf_int {%*.*c} -4 1 66
  1.3569 +} {B   }
  1.3570 +do_test printf-9.3 {
  1.3571 +  sqlite3_mprintf_int {%*.*c} 4 1 67
  1.3572 +} {   C}
  1.3573 +do_test printf-9.4 {
  1.3574 +  sqlite3_mprintf_int {%d %d %c} 4 1 67
  1.3575 +} {4 1 C}
  1.3576 +set ten {          }
  1.3577 +set fifty $ten$ten$ten$ten$ten
  1.3578 +do_test printf-9.5 {
  1.3579 +  sqlite3_mprintf_int {%d %*c} 1 -201 67
  1.3580 +} "1 C$fifty$fifty$fifty$fifty"
  1.3581 +do_test printf-9.6 {
  1.3582 +  sqlite3_mprintf_int {hi%12345.12346yhello} 0 0 0
  1.3583 +} {hi}
  1.3584 +
  1.3585 +# Ticket #812
  1.3586 +#
  1.3587 +do_test printf-10.1 {
  1.3588 +  sqlite3_mprintf_stronly %s {}
  1.3589 +} {}
  1.3590 +
  1.3591 +# Ticket #831
  1.3592 +#
  1.3593 +do_test printf-10.2 {
  1.3594 +  sqlite3_mprintf_stronly %q {}
  1.3595 +} {}
  1.3596 +
  1.3597 +# Ticket #1340:  Test for loss of precision on large positive exponents
  1.3598 +#
  1.3599 +do_test printf-10.3 {
  1.3600 +  sqlite3_mprintf_double {%d %d %f} 1 1 1e300
  1.3601 +} {1 1 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000}
  1.3602 +
  1.3603 +# The non-standard '!' flag on a 'g' conversion forces a decimal point
  1.3604 +# and at least one digit on either side of the decimal point.
  1.3605 +#
  1.3606 +do_test printf-11.1 {
  1.3607 +  sqlite3_mprintf_double {%d %d %!g} 1 1 1
  1.3608 +} {1 1 1.0}
  1.3609 +do_test printf-11.2 {
  1.3610 +  sqlite3_mprintf_double {%d %d %!g} 1 1 123
  1.3611 +} {1 1 123.0}
  1.3612 +do_test printf-11.3 {
  1.3613 +  sqlite3_mprintf_double {%d %d %!g} 1 1 12.3
  1.3614 +} {1 1 12.3}
  1.3615 +do_test printf-11.4 {
  1.3616 +  sqlite3_mprintf_double {%d %d %!g} 1 1 0.123
  1.3617 +} {1 1 0.123}
  1.3618 +do_test printf-11.5 {
  1.3619 +  sqlite3_mprintf_double {%d %d %!.15g} 1 1 1
  1.3620 +} {1 1 1.0}
  1.3621 +do_test printf-11.6 {
  1.3622 +  sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e10
  1.3623 +} {1 1 10000000000.0}
  1.3624 +do_test printf-11.7 {
  1.3625 +  sqlite3_mprintf_double {%d %d %!.15g} 1 1 1e300
  1.3626 +} {1 1 1.0e+300}
  1.3627 +
  1.3628 +# Additional tests for coverage
  1.3629 +#
  1.3630 +do_test printf-12.1 {
  1.3631 +  sqlite3_mprintf_double {%d %d %.2000g} 1 1 1.0
  1.3632 +} {1 1 1}
  1.3633 +
  1.3634 +# Floating point boundary cases
  1.3635 +#
  1.3636 +do_test printf-13.1 {
  1.3637 +  sqlite3_mprintf_hexdouble %.20f 4024000000000000
  1.3638 +} {10.00000000000000000000}
  1.3639 +do_test printf-13.2 {
  1.3640 +  sqlite3_mprintf_hexdouble %.20f 4197d78400000000
  1.3641 +} {100000000.00000000000000000000}
  1.3642 +do_test printf-13.3 {
  1.3643 +  sqlite3_mprintf_hexdouble %.20f 4693b8b5b5056e17
  1.3644 +} {100000000000000000000000000000000.00000000000000000000}
  1.3645 +do_test printf-13.4 {
  1.3646 +  sqlite3_mprintf_hexdouble %.20f 7ff0000000000000
  1.3647 +} {Inf}
  1.3648 +do_test printf-13.5 {
  1.3649 +  sqlite3_mprintf_hexdouble %.20f fff0000000000000
  1.3650 +} {-Inf}
  1.3651 +do_test printf-13.6 {
  1.3652 +  sqlite3_mprintf_hexdouble %.20f fff8000000000000
  1.3653 +} {NaN}
  1.3654 +
  1.3655 +do_test printf-14.1 {
  1.3656 +  sqlite3_mprintf_str {abc-%y-123} 0 0 {not used}
  1.3657 +} {abc-}
  1.3658 +do_test printf-14.2 {
  1.3659 +  sqlite3_mprintf_n_test {xyzzy}
  1.3660 +} 5
  1.3661 +do_test printf-14.3 {
  1.3662 +  sqlite3_mprintf_str {abc-%T-123} 0 0 {not used}
  1.3663 +} {abc-}
  1.3664 +do_test printf-14.4 {
  1.3665 +  sqlite3_mprintf_str {abc-%#} 0 0 {not used}
  1.3666 +} {abc-}
  1.3667 +do_test printf-14.5 {
  1.3668 +  sqlite3_mprintf_str {abc-%*.*s-xyz} 10 -10 {a_very_long_string}
  1.3669 +} {abc-a_very_lon-xyz}
  1.3670 +do_test printf-14.6 {
  1.3671 +  sqlite3_mprintf_str {abc-%5.10/} 0 0 {not used}
  1.3672 +} {abc-}
  1.3673 +do_test printf-14.7 {
  1.3674 +  sqlite3_mprintf_str {abc-%05.5d} 123 0 {not used}
  1.3675 +} {abc-00123}
  1.3676 +do_test printf-14.8 {
  1.3677 +  sqlite3_mprintf_str {abc-%05.5d} 1234567 0 {not used}
  1.3678 +} {abc-1234567}
  1.3679 +
  1.3680 +for {set i 2} {$i<200} {incr i} {
  1.3681 +  set res [string repeat { } [expr {$i-1}]]x
  1.3682 +  do_test printf-14.90.$i "
  1.3683 +    sqlite3_mprintf_str {%*.*s} $i 500 x
  1.3684 +  " $res
  1.3685 +}
  1.3686 +
  1.3687 +do_test printf-15.1 {
  1.3688 +  sqlite3_snprintf_int 5 {12345} 0
  1.3689 +} {1234}
  1.3690 +do_test printf-15.2 {
  1.3691 +  sqlite3_snprintf_int 5 {} 0
  1.3692 +} {}
  1.3693 +do_test printf-15.3 {
  1.3694 +  sqlite3_snprintf_int 0 {} 0
  1.3695 +} {abcdefghijklmnopqrstuvwxyz}
  1.3696 +
  1.3697 +# Now test malloc() failure within a sqlite3_mprintf():
  1.3698 +#
  1.3699 +ifcapable memdebug {
  1.3700 +  foreach var {a b c d} {
  1.3701 +    set $var [string repeat $var 400]
  1.3702 +  }
  1.3703 +  set str1 "[string repeat A 360]%d%d%s"
  1.3704 +  set str2 [string repeat B 5000]
  1.3705 +  set zSuccess "[string repeat A 360]11[string repeat B 5000]"
  1.3706 +  foreach ::iRepeat {0 1} {
  1.3707 +    set nTestNum 1
  1.3708 +    while {1} {
  1.3709 +      sqlite3_memdebug_fail $nTestNum -repeat $::iRepeat
  1.3710 +      set z [sqlite3_mprintf_str $str1 1 1 $str2]
  1.3711 +      set nFail [sqlite3_memdebug_fail -1 -benign nBenign]
  1.3712 +      do_test printf-malloc-$::iRepeat.$nTestNum {
  1.3713 +        expr {($nFail>0 && $z eq "") || ($nFail==$nBenign && $z eq $zSuccess)}
  1.3714 +      } {1}
  1.3715 +      if {$nFail == 0} break
  1.3716 +      incr nTestNum
  1.3717 +    }
  1.3718 +  }
  1.3719 +}
  1.3720 +
  1.3721 +finish_test