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