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