/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact 0300699733e53101b2ce48800518427249edd4053bb50fa0621c6607482f0fdb:


0000: 23 20 32 30 30 31 20 53 65 70 74 65 6d 62 65 72  # 2001 September
0010: 20 31 35 0a 23 0a 23 20 54 68 65 20 61 75 74 68   15.#.# The auth
0020: 6f 72 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70  or disclaims cop
0030: 79 72 69 67 68 74 20 74 6f 20 74 68 69 73 20 73  yright to this s
0040: 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20  ource code.  In 
0050: 70 6c 61 63 65 20 6f 66 0a 23 20 61 20 6c 65 67  place of.# a leg
0060: 61 6c 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20  al notice, here 
0070: 69 73 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 23  is a blessing:.#
0080: 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 64 6f  .#    May you do
0090: 20 67 6f 6f 64 20 61 6e 64 20 6e 6f 74 20 65 76   good and not ev
00a0: 69 6c 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75  il..#    May you
00b0: 20 66 69 6e 64 20 66 6f 72 67 69 76 65 6e 65 73   find forgivenes
00c0: 73 20 66 6f 72 20 79 6f 75 72 73 65 6c 66 20 61  s for yourself a
00d0: 6e 64 20 66 6f 72 67 69 76 65 20 6f 74 68 65 72  nd forgive other
00e0: 73 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20  s..#    May you 
00f0: 73 68 61 72 65 20 66 72 65 65 6c 79 2c 20 6e 65  share freely, ne
0100: 76 65 72 20 74 61 6b 69 6e 67 20 6d 6f 72 65 20  ver taking more 
0110: 74 68 61 6e 20 79 6f 75 20 67 69 76 65 2e 0a 23  than you give..#
0120: 0a 23 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  .#**************
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 23 20 54 68 69 73  *********.# This
0170: 20 66 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73   file implements
0180: 20 72 65 67 72 65 73 73 69 6f 6e 20 74 65 73 74   regression test
0190: 73 20 66 6f 72 20 53 51 4c 69 74 65 20 6c 69 62  s for SQLite lib
01a0: 72 61 72 79 2e 20 20 54 68 65 0a 23 20 66 6f 63  rary.  The.# foc
01b0: 75 73 20 6f 66 20 74 68 69 73 20 66 69 6c 65 20  us of this file 
01c0: 69 73 20 74 65 73 74 69 6e 67 20 74 68 65 20 73  is testing the s
01d0: 71 6c 69 74 65 5f 2a 5f 70 72 69 6e 74 66 28 29  qlite_*_printf()
01e0: 20 69 6e 74 65 72 66 61 63 65 2e 0a 23 0a 23 20   interface..#.# 
01f0: 24 49 64 3a 20 70 72 69 6e 74 66 2e 74 65 73 74  $Id: printf.test
0200: 2c 76 20 31 2e 33 31 20 32 30 30 39 2f 30 32 2f  ,v 1.31 2009/02/
0210: 30 31 20 30 30 3a 32 31 3a 31 30 20 64 72 68 20  01 00:21:10 drh 
0220: 45 78 70 20 24 0a 0a 73 65 74 20 74 65 73 74 64  Exp $..set testd
0230: 69 72 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d 65  ir [file dirname
0240: 20 24 61 72 67 76 30 5d 0a 73 6f 75 72 63 65 20   $argv0].source 
0250: 24 74 65 73 74 64 69 72 2f 74 65 73 74 65 72 2e  $testdir/tester.
0260: 74 63 6c 0a 0a 0a 64 6f 5f 74 65 73 74 20 70 72  tcl...do_test pr
0270: 69 6e 74 66 2d 31 2e 31 2e 31 20 7b 0a 20 20 73  intf-1.1.1 {.  s
0280: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69  qlite3_mprintf_i
0290: 6e 74 20 7b 61 62 63 3a 20 25 64 20 25 78 20 25  nt {abc: %d %x %
02a0: 6f 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  o :xyz}\.       
02b0: 31 20 31 20 31 0a 7d 20 7b 61 62 63 3a 20 31 20  1 1 1.} {abc: 1 
02c0: 31 20 31 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  1 1 :xyz}.do_tes
02d0: 74 20 70 72 69 6e 74 66 2d 31 2e 31 2e 32 20 7b  t printf-1.1.2 {
02e0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
02f0: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 36  tf_int {abc: (%6
0300: 64 29 20 28 25 36 78 29 20 28 25 36 6f 29 20 3a  d) (%6x) (%6o) :
0310: 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31 20 31  xyz}\.       1 1
0320: 20 31 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20   1.} {abc: (    
0330: 20 31 29 20 28 20 20 20 20 20 31 29 20 28 20 20   1) (     1) (  
0340: 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74     1) :xyz}.do_t
0350: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 2e 33  est printf-1.1.3
0360: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
0370: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28  intf_int {abc: (
0380: 25 2d 36 64 29 20 28 25 2d 36 78 29 20 28 25 2d  %-6d) (%-6x) (%-
0390: 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20  6o) :xyz}\.     
03a0: 20 20 31 20 31 20 31 0a 7d 20 7b 61 62 63 3a 20    1 1 1.} {abc: 
03b0: 28 31 20 20 20 20 20 29 20 28 31 20 20 20 20 20  (1     ) (1     
03c0: 29 20 28 31 20 20 20 20 20 29 20 3a 78 79 7a 7d  ) (1     ) :xyz}
03d0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
03e0: 31 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  1.1.4 {.  sqlite
03f0: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
0400: 62 63 3a 20 28 25 2b 36 64 29 20 28 25 2b 36 78  bc: (%+6d) (%+6x
0410: 29 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%+6o) :xyz}\.
0420: 20 20 20 20 20 20 20 31 20 31 20 31 0a 7d 20 7b         1 1 1.} {
0430: 61 62 63 3a 20 28 20 20 20 20 2b 31 29 20 28 20  abc: (    +1) ( 
0440: 20 20 20 20 31 29 20 28 20 20 20 20 20 31 29 20      1) (     1) 
0450: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
0460: 69 6e 74 66 2d 31 2e 31 2e 35 20 7b 0a 20 20 73  intf-1.1.5 {.  s
0470: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69  qlite3_mprintf_i
0480: 6e 74 20 7b 61 62 63 3a 20 28 25 30 36 64 29 20  nt {abc: (%06d) 
0490: 28 25 30 36 78 29 20 28 25 30 36 6f 29 20 3a 78  (%06x) (%06o) :x
04a0: 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31 20 31 20  yz}\.       1 1 
04b0: 31 0a 7d 20 7b 61 62 63 3a 20 28 30 30 30 30 30  1.} {abc: (00000
04c0: 31 29 20 28 30 30 30 30 30 31 29 20 28 30 30 30  1) (000001) (000
04d0: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
04e0: 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 2e 36 20  st printf-1.1.6 
04f0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
0500: 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25  ntf_int {abc: (%
0510: 20 36 64 29 20 28 25 20 36 78 29 20 28 25 20 36   6d) (% 6x) (% 6
0520: 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20  o) :xyz}\.      
0530: 20 31 20 31 20 31 0a 7d 20 7b 61 62 63 3a 20 28   1 1 1.} {abc: (
0540: 20 20 20 20 20 31 29 20 28 20 20 20 20 20 31 29       1) (     1)
0550: 20 28 20 20 20 20 20 31 29 20 3a 78 79 7a 7d 0a   (     1) :xyz}.
0560: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
0570: 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.7 {.  sqlite3
0580: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
0590: 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78 29  c: (%#6d) (%#6x)
05a0: 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%#6o) :xyz}\. 
05b0: 20 20 20 20 20 20 31 20 31 20 31 0a 7d 20 7b 61        1 1 1.} {a
05c0: 62 63 3a 20 28 20 20 20 20 20 31 29 20 28 20 20  bc: (     1) (  
05d0: 20 30 78 31 29 20 28 20 20 20 20 30 31 29 20 3a   0x1) (    01) :
05e0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
05f0: 6e 74 66 2d 31 2e 32 2e 31 20 7b 0a 20 20 73 71  ntf-1.2.1 {.  sq
0600: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
0610: 74 20 7b 61 62 63 3a 20 25 64 20 25 78 20 25 6f  t {abc: %d %x %o
0620: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 32   :xyz}\.       2
0630: 20 32 20 32 0a 7d 20 7b 61 62 63 3a 20 32 20 32   2 2.} {abc: 2 2
0640: 20 32 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74   2 :xyz}.do_test
0650: 20 70 72 69 6e 74 66 2d 31 2e 32 2e 32 20 7b 0a   printf-1.2.2 {.
0660: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
0670: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 36 64  f_int {abc: (%6d
0680: 29 20 28 25 36 78 29 20 28 25 36 6f 29 20 3a 78  ) (%6x) (%6o) :x
0690: 79 7a 7d 5c 0a 20 20 20 20 20 20 20 32 20 32 20  yz}\.       2 2 
06a0: 32 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  2.} {abc: (     
06b0: 32 29 20 28 20 20 20 20 20 32 29 20 28 20 20 20  2) (     2) (   
06c0: 20 20 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65    2) :xyz}.do_te
06d0: 73 74 20 70 72 69 6e 74 66 2d 31 2e 32 2e 33 20  st printf-1.2.3 
06e0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
06f0: 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25  ntf_int {abc: (%
0700: 2d 36 64 29 20 28 25 2d 36 78 29 20 28 25 2d 36  -6d) (%-6x) (%-6
0710: 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20  o) :xyz}\.      
0720: 20 32 20 32 20 32 0a 7d 20 7b 61 62 63 3a 20 28   2 2 2.} {abc: (
0730: 32 20 20 20 20 20 29 20 28 32 20 20 20 20 20 29  2     ) (2     )
0740: 20 28 32 20 20 20 20 20 29 20 3a 78 79 7a 7d 0a   (2     ) :xyz}.
0750: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
0760: 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.4 {.  sqlite3
0770: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
0780: 63 3a 20 28 25 2b 36 64 29 20 28 25 2b 36 78 29  c: (%+6d) (%+6x)
0790: 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%+6o) :xyz}\. 
07a0: 20 20 20 20 20 20 32 20 32 20 32 0a 7d 20 7b 61        2 2 2.} {a
07b0: 62 63 3a 20 28 20 20 20 20 2b 32 29 20 28 20 20  bc: (    +2) (  
07c0: 20 20 20 32 29 20 28 20 20 20 20 20 32 29 20 3a     2) (     2) :
07d0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
07e0: 6e 74 66 2d 31 2e 32 2e 35 20 7b 0a 20 20 73 71  ntf-1.2.5 {.  sq
07f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
0800: 74 20 7b 61 62 63 3a 20 28 25 30 36 64 29 20 28  t {abc: (%06d) (
0810: 25 30 36 78 29 20 28 25 30 36 6f 29 20 3a 78 79  %06x) (%06o) :xy
0820: 7a 7d 5c 0a 20 20 20 20 20 20 20 32 20 32 20 32  z}\.       2 2 2
0830: 0a 7d 20 7b 61 62 63 3a 20 28 30 30 30 30 30 32  .} {abc: (000002
0840: 29 20 28 30 30 30 30 30 32 29 20 28 30 30 30 30  ) (000002) (0000
0850: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
0860: 74 20 70 72 69 6e 74 66 2d 31 2e 32 2e 36 20 7b  t printf-1.2.6 {
0870: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
0880: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20  tf_int {abc: (% 
0890: 36 64 29 20 28 25 20 36 78 29 20 28 25 20 36 6f  6d) (% 6x) (% 6o
08a0: 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  ) :xyz}\.       
08b0: 32 20 32 20 32 0a 7d 20 7b 61 62 63 3a 20 28 20  2 2 2.} {abc: ( 
08c0: 20 20 20 20 32 29 20 28 20 20 20 20 20 32 29 20      2) (     2) 
08d0: 28 20 20 20 20 20 32 29 20 3a 78 79 7a 7d 0a 64  (     2) :xyz}.d
08e0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
08f0: 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.7 {.  sqlite3_
0900: 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63  mprintf_int {abc
0910: 3a 20 28 25 23 36 64 29 20 28 25 23 36 78 29 20  : (%#6d) (%#6x) 
0920: 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20  (%#6o) :xyz}\.  
0930: 20 20 20 20 20 32 20 32 20 32 0a 7d 20 7b 61 62       2 2 2.} {ab
0940: 63 3a 20 28 20 20 20 20 20 32 29 20 28 20 20 20  c: (     2) (   
0950: 30 78 32 29 20 28 20 20 20 20 30 32 29 20 3a 78  0x2) (    02) :x
0960: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
0970: 74 66 2d 31 2e 33 2e 31 20 7b 0a 20 20 73 71 6c  tf-1.3.1 {.  sql
0980: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
0990: 20 7b 61 62 63 3a 20 25 64 20 25 78 20 25 6f 20   {abc: %d %x %o 
09a0: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 35 20  :xyz}\.       5 
09b0: 35 20 35 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  5 5.} {abc: 5 5 
09c0: 35 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  5 :xyz}.do_test 
09d0: 70 72 69 6e 74 66 2d 31 2e 33 2e 32 20 7b 0a 20  printf-1.3.2 {. 
09e0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
09f0: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 36 64 29  _int {abc: (%6d)
0a00: 20 28 25 36 78 29 20 28 25 36 6f 29 20 3a 78 79   (%6x) (%6o) :xy
0a10: 7a 7d 5c 0a 20 20 20 20 20 20 20 35 20 35 20 35  z}\.       5 5 5
0a20: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20 35  .} {abc: (     5
0a30: 29 20 28 20 20 20 20 20 35 29 20 28 20 20 20 20  ) (     5) (    
0a40: 20 35 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73   5) :xyz}.do_tes
0a50: 74 20 70 72 69 6e 74 66 2d 31 2e 33 2e 33 20 7b  t printf-1.3.3 {
0a60: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
0a70: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2d  tf_int {abc: (%-
0a80: 36 64 29 20 28 25 2d 36 78 29 20 28 25 2d 36 6f  6d) (%-6x) (%-6o
0a90: 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  ) :xyz}\.       
0aa0: 35 20 35 20 35 0a 7d 20 7b 61 62 63 3a 20 28 35  5 5 5.} {abc: (5
0ab0: 20 20 20 20 20 29 20 28 35 20 20 20 20 20 29 20       ) (5     ) 
0ac0: 28 35 20 20 20 20 20 29 20 3a 78 79 7a 7d 0a 64  (5     ) :xyz}.d
0ad0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
0ae0: 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.4 {.  sqlite3_
0af0: 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63  mprintf_int {abc
0b00: 3a 20 28 25 2b 36 64 29 20 28 25 2b 36 78 29 20  : (%+6d) (%+6x) 
0b10: 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20  (%+6o) :xyz}\.  
0b20: 20 20 20 20 20 35 20 35 20 35 0a 7d 20 7b 61 62       5 5 5.} {ab
0b30: 63 3a 20 28 20 20 20 20 2b 35 29 20 28 20 20 20  c: (    +5) (   
0b40: 20 20 35 29 20 28 20 20 20 20 20 35 29 20 3a 78    5) (     5) :x
0b50: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
0b60: 74 66 2d 31 2e 33 2e 35 20 7b 0a 20 20 73 71 6c  tf-1.3.5 {.  sql
0b70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
0b80: 20 7b 61 62 63 3a 20 28 25 30 36 64 29 20 28 25   {abc: (%06d) (%
0b90: 30 36 78 29 20 28 25 30 36 6f 29 20 3a 78 79 7a  06x) (%06o) :xyz
0ba0: 7d 5c 0a 20 20 20 20 20 20 20 35 20 35 20 35 0a  }\.       5 5 5.
0bb0: 7d 20 7b 61 62 63 3a 20 28 30 30 30 30 30 35 29  } {abc: (000005)
0bc0: 20 28 30 30 30 30 30 35 29 20 28 30 30 30 30 30   (000005) (00000
0bd0: 35 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  5) :xyz}.do_test
0be0: 20 70 72 69 6e 74 66 2d 31 2e 33 2e 36 20 7b 0a   printf-1.3.6 {.
0bf0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
0c00: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36  f_int {abc: (% 6
0c10: 64 29 20 28 25 20 36 78 29 20 28 25 20 36 6f 29  d) (% 6x) (% 6o)
0c20: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 35   :xyz}\.       5
0c30: 20 35 20 35 0a 7d 20 7b 61 62 63 3a 20 28 20 20   5 5.} {abc: (  
0c40: 20 20 20 35 29 20 28 20 20 20 20 20 35 29 20 28     5) (     5) (
0c50: 20 20 20 20 20 35 29 20 3a 78 79 7a 7d 0a 64 6f       5) :xyz}.do
0c60: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 33  _test printf-1.3
0c70: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
0c80: 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a  printf_int {abc:
0c90: 20 28 25 23 36 64 29 20 28 25 23 36 78 29 20 28   (%#6d) (%#6x) (
0ca0: 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20  %#6o) :xyz}\.   
0cb0: 20 20 20 20 35 20 35 20 35 0a 7d 20 7b 61 62 63      5 5 5.} {abc
0cc0: 3a 20 28 20 20 20 20 20 35 29 20 28 20 20 20 30  : (     5) (   0
0cd0: 78 35 29 20 28 20 20 20 20 30 35 29 20 3a 78 79  x5) (    05) :xy
0ce0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
0cf0: 66 2d 31 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69  f-1.4.1 {.  sqli
0d00: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20  te3_mprintf_int 
0d10: 7b 61 62 63 3a 20 25 64 20 25 78 20 25 6f 20 3a  {abc: %d %x %o :
0d20: 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31 30 20  xyz}\.       10 
0d30: 31 30 20 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30  10 10.} {abc: 10
0d40: 20 61 20 31 32 20 3a 78 79 7a 7d 0a 64 6f 5f 74   a 12 :xyz}.do_t
0d50: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 34 2e 32  est printf-1.4.2
0d60: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
0d70: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28  intf_int {abc: (
0d80: 25 36 64 29 20 28 25 36 78 29 20 28 25 36 6f 29  %6d) (%6x) (%6o)
0d90: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31   :xyz}\.       1
0da0: 30 20 31 30 20 31 30 0a 7d 20 7b 61 62 63 3a 20  0 10 10.} {abc: 
0db0: 28 20 20 20 20 31 30 29 20 28 20 20 20 20 20 61  (    10) (     a
0dc0: 29 20 28 20 20 20 20 31 32 29 20 3a 78 79 7a 7d  ) (    12) :xyz}
0dd0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
0de0: 31 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  1.4.3 {.  sqlite
0df0: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
0e00: 62 63 3a 20 28 25 2d 36 64 29 20 28 25 2d 36 78  bc: (%-6d) (%-6x
0e10: 29 20 28 25 2d 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%-6o) :xyz}\.
0e20: 20 20 20 20 20 20 20 31 30 20 31 30 20 31 30 0a         10 10 10.
0e30: 7d 20 7b 61 62 63 3a 20 28 31 30 20 20 20 20 29  } {abc: (10    )
0e40: 20 28 61 20 20 20 20 20 29 20 28 31 32 20 20 20   (a     ) (12   
0e50: 20 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74   ) :xyz}.do_test
0e60: 20 70 72 69 6e 74 66 2d 31 2e 34 2e 34 20 7b 0a   printf-1.4.4 {.
0e70: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
0e80: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2b 36  f_int {abc: (%+6
0e90: 64 29 20 28 25 2b 36 78 29 20 28 25 2b 36 6f 29  d) (%+6x) (%+6o)
0ea0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31   :xyz}\.       1
0eb0: 30 20 31 30 20 31 30 0a 7d 20 7b 61 62 63 3a 20  0 10 10.} {abc: 
0ec0: 28 20 20 20 2b 31 30 29 20 28 20 20 20 20 20 61  (   +10) (     a
0ed0: 29 20 28 20 20 20 20 31 32 29 20 3a 78 79 7a 7d  ) (    12) :xyz}
0ee0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
0ef0: 31 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  1.4.5 {.  sqlite
0f00: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
0f10: 62 63 3a 20 28 25 30 36 64 29 20 28 25 30 36 78  bc: (%06d) (%06x
0f20: 29 20 28 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%06o) :xyz}\.
0f30: 20 20 20 20 20 20 20 31 30 20 31 30 20 31 30 0a         10 10 10.
0f40: 7d 20 7b 61 62 63 3a 20 28 30 30 30 30 31 30 29  } {abc: (000010)
0f50: 20 28 30 30 30 30 30 61 29 20 28 30 30 30 30 31   (00000a) (00001
0f60: 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
0f70: 20 70 72 69 6e 74 66 2d 31 2e 34 2e 36 20 7b 0a   printf-1.4.6 {.
0f80: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
0f90: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36  f_int {abc: (% 6
0fa0: 64 29 20 28 25 20 36 78 29 20 28 25 20 36 6f 29  d) (% 6x) (% 6o)
0fb0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31   :xyz}\.       1
0fc0: 30 20 31 30 20 31 30 0a 7d 20 7b 61 62 63 3a 20  0 10 10.} {abc: 
0fd0: 28 20 20 20 20 31 30 29 20 28 20 20 20 20 20 61  (    10) (     a
0fe0: 29 20 28 20 20 20 20 31 32 29 20 3a 78 79 7a 7d  ) (    12) :xyz}
0ff0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1000: 31 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  1.4.7 {.  sqlite
1010: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
1020: 62 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78  bc: (%#6d) (%#6x
1030: 29 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%#6o) :xyz}\.
1040: 20 20 20 20 20 20 20 31 30 20 31 30 20 31 30 0a         10 10 10.
1050: 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 31 30 29  } {abc: (    10)
1060: 20 28 20 20 20 30 78 61 29 20 28 20 20 20 30 31   (   0xa) (   01
1070: 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
1080: 20 70 72 69 6e 74 66 2d 31 2e 35 2e 31 20 7b 0a   printf-1.5.1 {.
1090: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10a0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 25 64 20 25  f_int {abc: %d %
10b0: 78 20 25 6f 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  x %o :xyz}\.    
10c0: 20 20 20 39 39 20 39 39 20 39 39 0a 7d 20 7b 61     99 99 99.} {a
10d0: 62 63 3a 20 39 39 20 36 33 20 31 34 33 20 3a 78  bc: 99 63 143 :x
10e0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10f0: 74 66 2d 31 2e 35 2e 32 20 7b 0a 20 20 73 71 6c  tf-1.5.2 {.  sql
1100: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
1110: 20 7b 61 62 63 3a 20 28 25 36 64 29 20 28 25 36   {abc: (%6d) (%6
1120: 78 29 20 28 25 36 6f 29 20 3a 78 79 7a 7d 5c 0a  x) (%6o) :xyz}\.
1130: 20 20 20 20 20 20 20 39 39 20 39 39 20 39 39 0a         99 99 99.
1140: 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 39 39 29  } {abc: (    99)
1150: 20 28 20 20 20 20 36 33 29 20 28 20 20 20 31 34   (    63) (   14
1160: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1170: 20 70 72 69 6e 74 66 2d 31 2e 35 2e 33 20 7b 0a   printf-1.5.3 {.
1180: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1190: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2d 36  f_int {abc: (%-6
11a0: 64 29 20 28 25 2d 36 78 29 20 28 25 2d 36 6f 29  d) (%-6x) (%-6o)
11b0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 39   :xyz}\.       9
11c0: 39 20 39 39 20 39 39 0a 7d 20 7b 61 62 63 3a 20  9 99 99.} {abc: 
11d0: 28 39 39 20 20 20 20 29 20 28 36 33 20 20 20 20  (99    ) (63    
11e0: 29 20 28 31 34 33 20 20 20 29 20 3a 78 79 7a 7d  ) (143   ) :xyz}
11f0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1200: 31 2e 35 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  1.5.4 {.  sqlite
1210: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
1220: 62 63 3a 20 28 25 2b 36 64 29 20 28 25 2b 36 78  bc: (%+6d) (%+6x
1230: 29 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%+6o) :xyz}\.
1240: 20 20 20 20 20 20 20 39 39 20 39 39 20 39 39 0a         99 99 99.
1250: 7d 20 7b 61 62 63 3a 20 28 20 20 20 2b 39 39 29  } {abc: (   +99)
1260: 20 28 20 20 20 20 36 33 29 20 28 20 20 20 31 34   (    63) (   14
1270: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1280: 20 70 72 69 6e 74 66 2d 31 2e 35 2e 35 20 7b 0a   printf-1.5.5 {.
1290: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12a0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 30 36  f_int {abc: (%06
12b0: 64 29 20 28 25 30 36 78 29 20 28 25 30 36 6f 29  d) (%06x) (%06o)
12c0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 39   :xyz}\.       9
12d0: 39 20 39 39 20 39 39 0a 7d 20 7b 61 62 63 3a 20  9 99 99.} {abc: 
12e0: 28 30 30 30 30 39 39 29 20 28 30 30 30 30 36 33  (000099) (000063
12f0: 29 20 28 30 30 30 31 34 33 29 20 3a 78 79 7a 7d  ) (000143) :xyz}
1300: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1310: 31 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  1.5.6 {.  sqlite
1320: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
1330: 62 63 3a 20 28 25 20 36 64 29 20 28 25 20 36 78  bc: (% 6d) (% 6x
1340: 29 20 28 25 20 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (% 6o) :xyz}\.
1350: 20 20 20 20 20 20 20 39 39 20 39 39 20 39 39 0a         99 99 99.
1360: 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 39 39 29  } {abc: (    99)
1370: 20 28 20 20 20 20 36 33 29 20 28 20 20 20 31 34   (    63) (   14
1380: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1390: 20 70 72 69 6e 74 66 2d 31 2e 35 2e 37 20 7b 0a   printf-1.5.7 {.
13a0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13b0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 23 36  f_int {abc: (%#6
13c0: 64 29 20 28 25 23 36 78 29 20 28 25 23 36 6f 29  d) (%#6x) (%#6o)
13d0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 39   :xyz}\.       9
13e0: 39 20 39 39 20 39 39 0a 7d 20 7b 61 62 63 3a 20  9 99 99.} {abc: 
13f0: 28 20 20 20 20 39 39 29 20 28 20 20 30 78 36 33  (    99) (  0x63
1400: 29 20 28 20 20 30 31 34 33 29 20 3a 78 79 7a 7d  ) (  0143) :xyz}
1410: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1420: 31 2e 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  1.6.1 {.  sqlite
1430: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
1440: 62 63 3a 20 25 64 20 25 78 20 25 6f 20 3a 78 79  bc: %d %x %o :xy
1450: 7a 7d 5c 0a 20 20 20 20 20 20 20 31 30 30 20 31  z}\.       100 1
1460: 30 30 20 31 30 30 0a 7d 20 7b 61 62 63 3a 20 31  00 100.} {abc: 1
1470: 30 30 20 36 34 20 31 34 34 20 3a 78 79 7a 7d 0a  00 64 144 :xyz}.
1480: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
1490: 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.2 {.  sqlite3
14a0: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
14b0: 63 3a 20 28 25 36 64 29 20 28 25 36 78 29 20 28  c: (%6d) (%6x) (
14c0: 25 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  %6o) :xyz}\.    
14d0: 20 20 20 31 30 30 20 31 30 30 20 31 30 30 0a 7d     100 100 100.}
14e0: 20 7b 61 62 63 3a 20 28 20 20 20 31 30 30 29 20   {abc: (   100) 
14f0: 28 20 20 20 20 36 34 29 20 28 20 20 20 31 34 34  (    64) (   144
1500: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1510: 70 72 69 6e 74 66 2d 31 2e 36 2e 33 20 7b 0a 20  printf-1.6.3 {. 
1520: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1530: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2d 36 64  _int {abc: (%-6d
1540: 29 20 28 25 2d 36 78 29 20 28 25 2d 36 6f 29 20  ) (%-6x) (%-6o) 
1550: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31 30  :xyz}\.       10
1560: 30 20 31 30 30 20 31 30 30 0a 7d 20 7b 61 62 63  0 100 100.} {abc
1570: 3a 20 28 31 30 30 20 20 20 29 20 28 36 34 20 20  : (100   ) (64  
1580: 20 20 29 20 28 31 34 34 20 20 20 29 20 3a 78 79    ) (144   ) :xy
1590: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15a0: 66 2d 31 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69  f-1.6.4 {.  sqli
15b0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20  te3_mprintf_int 
15c0: 7b 61 62 63 3a 20 28 25 2b 36 64 29 20 28 25 2b  {abc: (%+6d) (%+
15d0: 36 78 29 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d  6x) (%+6o) :xyz}
15e0: 5c 0a 20 20 20 20 20 20 20 31 30 30 20 31 30 30  \.       100 100
15f0: 20 31 30 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20   100.} {abc: (  
1600: 2b 31 30 30 29 20 28 20 20 20 20 36 34 29 20 28  +100) (    64) (
1610: 20 20 20 31 34 34 29 20 3a 78 79 7a 7d 0a 64 6f     144) :xyz}.do
1620: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 36  _test printf-1.6
1630: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1640: 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a  printf_int {abc:
1650: 20 28 25 30 36 64 29 20 28 25 30 36 78 29 20 28   (%06d) (%06x) (
1660: 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20  %06o) :xyz}\.   
1670: 20 20 20 20 31 30 30 20 31 30 30 20 31 30 30 0a      100 100 100.
1680: 7d 20 7b 61 62 63 3a 20 28 30 30 30 31 30 30 29  } {abc: (000100)
1690: 20 28 30 30 30 30 36 34 29 20 28 30 30 30 31 34   (000064) (00014
16a0: 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  4) :xyz}.do_test
16b0: 20 70 72 69 6e 74 66 2d 31 2e 36 2e 36 20 7b 0a   printf-1.6.6 {.
16c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16d0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36  f_int {abc: (% 6
16e0: 64 29 20 28 25 20 36 78 29 20 28 25 20 36 6f 29  d) (% 6x) (% 6o)
16f0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31   :xyz}\.       1
1700: 30 30 20 31 30 30 20 31 30 30 0a 7d 20 7b 61 62  00 100 100.} {ab
1710: 63 3a 20 28 20 20 20 31 30 30 29 20 28 20 20 20  c: (   100) (   
1720: 20 36 34 29 20 28 20 20 20 31 34 34 29 20 3a 78   64) (   144) :x
1730: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1740: 74 66 2d 31 2e 36 2e 37 20 7b 0a 20 20 73 71 6c  tf-1.6.7 {.  sql
1750: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
1760: 20 7b 61 62 63 3a 20 28 25 23 36 64 29 20 28 25   {abc: (%#6d) (%
1770: 23 36 78 29 20 28 25 23 36 6f 29 20 3a 78 79 7a  #6x) (%#6o) :xyz
1780: 7d 5c 0a 20 20 20 20 20 20 20 31 30 30 20 31 30  }\.       100 10
1790: 30 20 31 30 30 0a 7d 20 7b 61 62 63 3a 20 28 20  0 100.} {abc: ( 
17a0: 20 20 31 30 30 29 20 28 20 20 30 78 36 34 29 20    100) (  0x64) 
17b0: 28 20 20 30 31 34 34 29 20 3a 78 79 7a 7d 0a 64  (  0144) :xyz}.d
17c0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
17d0: 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.1 {.  sqlite3_
17e0: 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63  mprintf_int {abc
17f0: 3a 20 25 64 20 25 78 20 25 6f 20 3a 78 79 7a 7d  : %d %x %o :xyz}
1800: 5c 0a 20 20 20 20 20 20 20 31 30 30 30 30 30 30  \.       1000000
1810: 20 31 30 30 30 30 30 30 20 31 30 30 30 30 30 30   1000000 1000000
1820: 0a 7d 20 7b 61 62 63 3a 20 31 30 30 30 30 30 30  .} {abc: 1000000
1830: 20 66 34 32 34 30 20 33 36 34 31 31 30 30 20 3a   f4240 3641100 :
1840: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1850: 6e 74 66 2d 31 2e 37 2e 32 20 7b 0a 20 20 73 71  ntf-1.7.2 {.  sq
1860: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
1870: 74 20 7b 61 62 63 3a 20 28 25 36 64 29 20 28 25  t {abc: (%6d) (%
1880: 36 78 29 20 28 25 36 6f 29 20 3a 78 79 7a 7d 5c  6x) (%6o) :xyz}\
1890: 0a 20 20 20 20 20 20 20 31 30 30 30 30 30 30 20  .       1000000 
18a0: 31 30 30 30 30 30 30 20 31 30 30 30 30 30 30 0a  1000000 1000000.
18b0: 7d 20 7b 61 62 63 3a 20 28 31 30 30 30 30 30 30  } {abc: (1000000
18c0: 29 20 28 20 66 34 32 34 30 29 20 28 33 36 34 31  ) ( f4240) (3641
18d0: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
18e0: 73 74 20 70 72 69 6e 74 66 2d 31 2e 37 2e 33 20  st printf-1.7.3 
18f0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1900: 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25  ntf_int {abc: (%
1910: 2d 36 64 29 20 28 25 2d 36 78 29 20 28 25 2d 36  -6d) (%-6x) (%-6
1920: 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20  o) :xyz}\.      
1930: 20 31 30 30 30 30 30 30 20 31 30 30 30 30 30 30   1000000 1000000
1940: 20 31 30 30 30 30 30 30 0a 7d 20 7b 61 62 63 3a   1000000.} {abc:
1950: 20 28 31 30 30 30 30 30 30 29 20 28 66 34 32 34   (1000000) (f424
1960: 30 20 29 20 28 33 36 34 31 31 30 30 29 20 3a 78  0 ) (3641100) :x
1970: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1980: 74 66 2d 31 2e 37 2e 34 20 7b 0a 20 20 73 71 6c  tf-1.7.4 {.  sql
1990: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
19a0: 20 7b 61 62 63 3a 20 28 25 2b 36 64 29 20 28 25   {abc: (%+6d) (%
19b0: 2b 36 78 29 20 28 25 2b 36 6f 29 20 3a 78 79 7a  +6x) (%+6o) :xyz
19c0: 7d 5c 0a 20 20 20 20 20 20 20 31 30 30 30 30 30  }\.       100000
19d0: 30 20 31 30 30 30 30 30 30 20 31 30 30 30 30 30  0 1000000 100000
19e0: 30 0a 7d 20 7b 61 62 63 3a 20 28 2b 31 30 30 30  0.} {abc: (+1000
19f0: 30 30 30 29 20 28 20 66 34 32 34 30 29 20 28 33  000) ( f4240) (3
1a00: 36 34 31 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  641100) :xyz}.do
1a10: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 37  _test printf-1.7
1a20: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1a30: 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a  printf_int {abc:
1a40: 20 28 25 30 36 64 29 20 28 25 30 36 78 29 20 28   (%06d) (%06x) (
1a50: 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20  %06o) :xyz}\.   
1a60: 20 20 20 20 31 30 30 30 30 30 30 20 31 30 30 30      1000000 1000
1a70: 30 30 30 20 31 30 30 30 30 30 30 0a 7d 20 7b 61  000 1000000.} {a
1a80: 62 63 3a 20 28 31 30 30 30 30 30 30 29 20 28 30  bc: (1000000) (0
1a90: 66 34 32 34 30 29 20 28 33 36 34 31 31 30 30 29  f4240) (3641100)
1aa0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ab0: 72 69 6e 74 66 2d 31 2e 37 2e 36 20 7b 0a 20 20  rintf-1.7.6 {.  
1ac0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1ad0: 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36 64 29  int {abc: (% 6d)
1ae0: 20 28 25 20 36 78 29 20 28 25 20 36 6f 29 20 3a   (% 6x) (% 6o) :
1af0: 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 31 30 30  xyz}\.       100
1b00: 30 30 30 30 20 31 30 30 30 30 30 30 20 31 30 30  0000 1000000 100
1b10: 30 30 30 30 0a 7d 20 7b 61 62 63 3a 20 28 20 31  0000.} {abc: ( 1
1b20: 30 30 30 30 30 30 29 20 28 20 66 34 32 34 30 29  000000) ( f4240)
1b30: 20 28 33 36 34 31 31 30 30 29 20 3a 78 79 7a 7d   (3641100) :xyz}
1b40: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b50: 31 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  1.7.7 {.  sqlite
1b60: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
1b70: 62 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78  bc: (%#6d) (%#6x
1b80: 29 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%#6o) :xyz}\.
1b90: 20 20 20 20 20 20 20 31 30 30 30 30 30 30 20 31         1000000 1
1ba0: 30 30 30 30 30 30 20 31 30 30 30 30 30 30 0a 7d  000000 1000000.}
1bb0: 20 7b 61 62 63 3a 20 28 31 30 30 30 30 30 30 29   {abc: (1000000)
1bc0: 20 28 30 78 66 34 32 34 30 29 20 28 30 33 36 34   (0xf4240) (0364
1bd0: 31 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  1100) :xyz}.do_t
1be0: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 38 2e 31  est printf-1.8.1
1bf0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1c00: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 25  intf_int {abc: %
1c10: 64 20 25 78 20 25 6f 20 3a 78 79 7a 7d 5c 0a 20  d %x %o :xyz}\. 
1c20: 20 20 20 20 20 20 39 39 39 39 39 39 39 39 39 20        999999999 
1c30: 39 39 39 39 39 39 39 39 39 20 39 39 39 39 39 39  999999999 999999
1c40: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 39 39 39 39  999.} {abc: 9999
1c50: 39 39 39 39 39 20 33 62 39 61 63 39 66 66 20 37  99999 3b9ac9ff 7
1c60: 33 34 36 35 34 34 37 37 37 20 3a 78 79 7a 7d 0a  346544777 :xyz}.
1c70: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
1c80: 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.2 {.  sqlite3
1c90: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
1ca0: 63 3a 20 28 25 36 64 29 20 28 25 36 78 29 20 28  c: (%6d) (%6x) (
1cb0: 25 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  %6o) :xyz}\.    
1cc0: 20 20 20 39 39 39 39 39 39 39 39 39 20 39 39 39     999999999 999
1cd0: 39 39 39 39 39 39 20 39 39 39 39 39 39 39 39 39  999999 999999999
1ce0: 0a 7d 20 7b 61 62 63 3a 20 28 39 39 39 39 39 39  .} {abc: (999999
1cf0: 39 39 39 29 20 28 33 62 39 61 63 39 66 66 29 20  999) (3b9ac9ff) 
1d00: 28 37 33 34 36 35 34 34 37 37 37 29 20 3a 78 79  (7346544777) :xy
1d10: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d20: 66 2d 31 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69  f-1.8.3 {.  sqli
1d30: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20  te3_mprintf_int 
1d40: 7b 61 62 63 3a 20 28 25 2d 36 64 29 20 28 25 2d  {abc: (%-6d) (%-
1d50: 36 78 29 20 28 25 2d 36 6f 29 20 3a 78 79 7a 7d  6x) (%-6o) :xyz}
1d60: 5c 0a 20 20 20 20 20 20 20 39 39 39 39 39 39 39  \.       9999999
1d70: 39 39 20 39 39 39 39 39 39 39 39 39 20 39 39 39  99 999999999 999
1d80: 39 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  999999.} {abc: (
1d90: 39 39 39 39 39 39 39 39 39 29 20 28 33 62 39 61  999999999) (3b9a
1da0: 63 39 66 66 29 20 28 37 33 34 36 35 34 34 37 37  c9ff) (734654477
1db0: 37 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  7) :xyz}.do_test
1dc0: 20 70 72 69 6e 74 66 2d 31 2e 38 2e 34 20 7b 0a   printf-1.8.4 {.
1dd0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1de0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2b 36  f_int {abc: (%+6
1df0: 64 29 20 28 25 2b 36 78 29 20 28 25 2b 36 6f 29  d) (%+6x) (%+6o)
1e00: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 39   :xyz}\.       9
1e10: 39 39 39 39 39 39 39 39 20 39 39 39 39 39 39 39  99999999 9999999
1e20: 39 39 20 39 39 39 39 39 39 39 39 39 0a 7d 20 7b  99 999999999.} {
1e30: 61 62 63 3a 20 28 2b 39 39 39 39 39 39 39 39 39  abc: (+999999999
1e40: 29 20 28 33 62 39 61 63 39 66 66 29 20 28 37 33  ) (3b9ac9ff) (73
1e50: 34 36 35 34 34 37 37 37 29 20 3a 78 79 7a 7d 0a  46544777) :xyz}.
1e60: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
1e70: 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.5 {.  sqlite3
1e80: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
1e90: 63 3a 20 28 25 30 36 64 29 20 28 25 30 36 78 29  c: (%06d) (%06x)
1ea0: 20 28 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%06o) :xyz}\. 
1eb0: 20 20 20 20 20 20 39 39 39 39 39 39 39 39 39 20        999999999 
1ec0: 39 39 39 39 39 39 39 39 39 20 39 39 39 39 39 39  999999999 999999
1ed0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 39 39 39  999.} {abc: (999
1ee0: 39 39 39 39 39 39 29 20 28 33 62 39 61 63 39 66  999999) (3b9ac9f
1ef0: 66 29 20 28 37 33 34 36 35 34 34 37 37 37 29 20  f) (7346544777) 
1f00: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1f10: 69 6e 74 66 2d 31 2e 38 2e 36 20 7b 0a 20 20 73  intf-1.8.6 {.  s
1f20: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69  qlite3_mprintf_i
1f30: 6e 74 20 7b 61 62 63 3a 20 28 25 20 36 64 29 20  nt {abc: (% 6d) 
1f40: 28 25 20 36 78 29 20 28 25 20 36 6f 29 20 3a 78  (% 6x) (% 6o) :x
1f50: 79 7a 7d 5c 0a 20 20 20 20 20 20 20 39 39 39 39  yz}\.       9999
1f60: 39 39 39 39 39 20 39 39 39 39 39 39 39 39 39 20  99999 999999999 
1f70: 39 39 39 39 39 39 39 39 39 0a 7d 20 7b 61 62 63  999999999.} {abc
1f80: 3a 20 28 20 39 39 39 39 39 39 39 39 39 29 20 28  : ( 999999999) (
1f90: 33 62 39 61 63 39 66 66 29 20 28 37 33 34 36 35  3b9ac9ff) (73465
1fa0: 34 34 37 37 37 29 20 3a 78 79 7a 7d 0a 64 6f 5f  44777) :xyz}.do_
1fb0: 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 38 2e  test printf-1.8.
1fc0: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1fd0: 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20  rintf_int {abc: 
1fe0: 28 25 23 36 64 29 20 28 25 23 36 78 29 20 28 25  (%#6d) (%#6x) (%
1ff0: 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  #6o) :xyz}\.    
2000: 20 20 20 39 39 39 39 39 39 39 39 39 20 39 39 39     999999999 999
2010: 39 39 39 39 39 39 20 39 39 39 39 39 39 39 39 39  999999 999999999
2020: 0a 7d 20 7b 61 62 63 3a 20 28 39 39 39 39 39 39  .} {abc: (999999
2030: 39 39 39 29 20 28 30 78 33 62 39 61 63 39 66 66  999) (0x3b9ac9ff
2040: 29 20 28 30 37 33 34 36 35 34 34 37 37 37 29 20  ) (07346544777) 
2050: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
2060: 69 6e 74 66 2d 31 2e 39 2e 31 20 7b 0a 20 20 73  intf-1.9.1 {.  s
2070: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69  qlite3_mprintf_i
2080: 6e 74 20 7b 61 62 63 3a 20 25 64 20 25 78 20 25  nt {abc: %d %x %
2090: 6f 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  o :xyz}\.       
20a0: 30 20 30 20 30 0a 7d 20 7b 61 62 63 3a 20 30 20  0 0 0.} {abc: 0 
20b0: 30 20 30 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  0 0 :xyz}.do_tes
20c0: 74 20 70 72 69 6e 74 66 2d 31 2e 39 2e 32 20 7b  t printf-1.9.2 {
20d0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20e0: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 36  tf_int {abc: (%6
20f0: 64 29 20 28 25 36 78 29 20 28 25 36 6f 29 20 3a  d) (%6x) (%6o) :
2100: 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 20 30  xyz}\.       0 0
2110: 20 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20   0.} {abc: (    
2120: 20 30 29 20 28 20 20 20 20 20 30 29 20 28 20 20   0) (     0) (  
2130: 20 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74     0) :xyz}.do_t
2140: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 39 2e 33  est printf-1.9.3
2150: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
2160: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28  intf_int {abc: (
2170: 25 2d 36 64 29 20 28 25 2d 36 78 29 20 28 25 2d  %-6d) (%-6x) (%-
2180: 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20  6o) :xyz}\.     
2190: 20 20 30 20 30 20 30 0a 7d 20 7b 61 62 63 3a 20    0 0 0.} {abc: 
21a0: 28 30 20 20 20 20 20 29 20 28 30 20 20 20 20 20  (0     ) (0     
21b0: 29 20 28 30 20 20 20 20 20 29 20 3a 78 79 7a 7d  ) (0     ) :xyz}
21c0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21d0: 31 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  1.9.4 {.  sqlite
21e0: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
21f0: 62 63 3a 20 28 25 2b 36 64 29 20 28 25 2b 36 78  bc: (%+6d) (%+6x
2200: 29 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%+6o) :xyz}\.
2210: 20 20 20 20 20 20 20 30 20 30 20 30 0a 7d 20 7b         0 0 0.} {
2220: 61 62 63 3a 20 28 20 20 20 20 2b 30 29 20 28 20  abc: (    +0) ( 
2230: 20 20 20 20 30 29 20 28 20 20 20 20 20 30 29 20      0) (     0) 
2240: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
2250: 69 6e 74 66 2d 31 2e 39 2e 35 20 7b 0a 20 20 73  intf-1.9.5 {.  s
2260: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69  qlite3_mprintf_i
2270: 6e 74 20 7b 61 62 63 3a 20 28 25 30 36 64 29 20  nt {abc: (%06d) 
2280: 28 25 30 36 78 29 20 28 25 30 36 6f 29 20 3a 78  (%06x) (%06o) :x
2290: 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 20 30 20  yz}\.       0 0 
22a0: 30 0a 7d 20 7b 61 62 63 3a 20 28 30 30 30 30 30  0.} {abc: (00000
22b0: 30 29 20 28 30 30 30 30 30 30 29 20 28 30 30 30  0) (000000) (000
22c0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
22d0: 73 74 20 70 72 69 6e 74 66 2d 31 2e 39 2e 36 20  st printf-1.9.6 
22e0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
22f0: 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25  ntf_int {abc: (%
2300: 20 36 64 29 20 28 25 20 36 78 29 20 28 25 20 36   6d) (% 6x) (% 6
2310: 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20  o) :xyz}\.      
2320: 20 30 20 30 20 30 0a 7d 20 7b 61 62 63 3a 20 28   0 0 0.} {abc: (
2330: 20 20 20 20 20 30 29 20 28 20 20 20 20 20 30 29       0) (     0)
2340: 20 28 20 20 20 20 20 30 29 20 3a 78 79 7a 7d 0a   (     0) :xyz}.
2350: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
2360: 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.7 {.  sqlite3
2370: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
2380: 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78 29  c: (%#6d) (%#6x)
2390: 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%#6o) :xyz}\. 
23a0: 20 20 20 20 20 20 30 20 30 20 30 0a 7d 20 7b 61        0 0 0.} {a
23b0: 62 63 3a 20 28 20 20 20 20 20 30 29 20 28 20 20  bc: (     0) (  
23c0: 20 20 20 30 29 20 28 20 20 20 20 20 30 29 20 3a     0) (     0) :
23d0: 78 79 7a 7d 0a 23 20 30 78 66 66 66 66 66 66 66  xyz}.# 0xfffffff
23e0: 66 20 3d 3d 20 2d 31 0a 64 6f 5f 74 65 73 74 20  f == -1.do_test 
23f0: 70 72 69 6e 74 66 2d 31 2e 31 30 2e 31 20 7b 0a  printf-1.10.1 {.
2400: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
2410: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 25 64 20 25  f_int {abc: %d %
2420: 78 20 25 6f 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  x %o :xyz}\.    
2430: 20 20 20 30 78 66 66 66 66 66 66 66 66 20 30 78     0xffffffff 0x
2440: 66 66 66 66 66 66 66 66 20 30 78 66 66 66 66 66  ffffffff 0xfffff
2450: 66 66 66 0a 7d 20 7b 61 62 63 3a 20 2d 31 20 66  fff.} {abc: -1 f
2460: 66 66 66 66 66 66 66 20 33 37 37 37 37 37 37 37  fffffff 37777777
2470: 37 37 37 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  777 :xyz}.do_tes
2480: 74 20 70 72 69 6e 74 66 2d 31 2e 31 30 2e 32 20  t printf-1.10.2 
2490: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
24a0: 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25  ntf_int {abc: (%
24b0: 36 64 29 20 28 25 36 78 29 20 28 25 36 6f 29 20  6d) (%6x) (%6o) 
24c0: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
24d0: 66 66 66 66 66 66 66 66 20 30 78 66 66 66 66 66  ffffffff 0xfffff
24e0: 66 66 66 20 30 78 66 66 66 66 66 66 66 66 0a 7d  fff 0xffffffff.}
24f0: 20 7b 61 62 63 3a 20 28 20 20 20 20 2d 31 29 20   {abc: (    -1) 
2500: 28 66 66 66 66 66 66 66 66 29 20 28 33 37 37 37  (ffffffff) (3777
2510: 37 37 37 37 37 37 37 29 20 3a 78 79 7a 7d 0a 64  7777777) :xyz}.d
2520: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
2530: 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.3 {.  sqlite3
2540: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
2550: 63 3a 20 28 25 2d 36 64 29 20 28 25 2d 36 78 29  c: (%-6d) (%-6x)
2560: 20 28 25 2d 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%-6o) :xyz}\. 
2570: 20 20 20 20 20 20 30 78 66 66 66 66 66 66 66 66        0xffffffff
2580: 20 30 78 66 66 66 66 66 66 66 66 20 30 78 66 66   0xffffffff 0xff
2590: 66 66 66 66 66 66 0a 7d 20 7b 61 62 63 3a 20 28  ffffff.} {abc: (
25a0: 2d 31 20 20 20 20 29 20 28 66 66 66 66 66 66 66  -1    ) (fffffff
25b0: 66 29 20 28 33 37 37 37 37 37 37 37 37 37 37 29  f) (37777777777)
25c0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
25d0: 72 69 6e 74 66 2d 31 2e 31 30 2e 34 20 7b 0a 20  rintf-1.10.4 {. 
25e0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
25f0: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2b 36 64  _int {abc: (%+6d
2600: 29 20 28 25 2b 36 78 29 20 28 25 2b 36 6f 29 20  ) (%+6x) (%+6o) 
2610: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
2620: 66 66 66 66 66 66 66 66 20 30 78 66 66 66 66 66  ffffffff 0xfffff
2630: 66 66 66 20 30 78 66 66 66 66 66 66 66 66 0a 7d  fff 0xffffffff.}
2640: 20 7b 61 62 63 3a 20 28 20 20 20 20 2d 31 29 20   {abc: (    -1) 
2650: 28 66 66 66 66 66 66 66 66 29 20 28 33 37 37 37  (ffffffff) (3777
2660: 37 37 37 37 37 37 37 29 20 3a 78 79 7a 7d 0a 64  7777777) :xyz}.d
2670: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
2680: 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.5 {.  sqlite3
2690: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
26a0: 63 3a 20 28 25 30 36 64 29 20 28 25 30 36 78 29  c: (%06d) (%06x)
26b0: 20 28 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%06o) :xyz}\. 
26c0: 20 20 20 20 20 20 30 78 66 66 66 66 66 66 66 66        0xffffffff
26d0: 20 30 78 66 66 66 66 66 66 66 66 20 30 78 66 66   0xffffffff 0xff
26e0: 66 66 66 66 66 66 0a 7d 20 7b 61 62 63 3a 20 28  ffffff.} {abc: (
26f0: 2d 30 30 30 30 31 29 20 28 66 66 66 66 66 66 66  -00001) (fffffff
2700: 66 29 20 28 33 37 37 37 37 37 37 37 37 37 37 29  f) (37777777777)
2710: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
2720: 72 69 6e 74 66 2d 31 2e 31 30 2e 36 20 7b 0a 20  rintf-1.10.6 {. 
2730: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
2740: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36 64  _int {abc: (% 6d
2750: 29 20 28 25 20 36 78 29 20 28 25 20 36 6f 29 20  ) (% 6x) (% 6o) 
2760: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
2770: 66 66 66 66 66 66 66 66 20 30 78 66 66 66 66 66  ffffffff 0xfffff
2780: 66 66 66 20 30 78 66 66 66 66 66 66 66 66 0a 7d  fff 0xffffffff.}
2790: 20 7b 61 62 63 3a 20 28 20 20 20 20 2d 31 29 20   {abc: (    -1) 
27a0: 28 66 66 66 66 66 66 66 66 29 20 28 33 37 37 37  (ffffffff) (3777
27b0: 37 37 37 37 37 37 37 29 20 3a 78 79 7a 7d 0a 64  7777777) :xyz}.d
27c0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
27d0: 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.7 {.  sqlite3
27e0: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
27f0: 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78 29  c: (%#6d) (%#6x)
2800: 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%#6o) :xyz}\. 
2810: 20 20 20 20 20 20 30 78 66 66 66 66 66 66 66 66        0xffffffff
2820: 20 30 78 66 66 66 66 66 66 66 66 20 30 78 66 66   0xffffffff 0xff
2830: 66 66 66 66 66 66 0a 7d 20 7b 61 62 63 3a 20 28  ffffff.} {abc: (
2840: 20 20 20 20 2d 31 29 20 28 30 78 66 66 66 66 66      -1) (0xfffff
2850: 66 66 66 29 20 28 30 33 37 37 37 37 37 37 37 37  fff) (0377777777
2860: 37 37 29 20 3a 78 79 7a 7d 0a 23 20 30 78 66 66  77) :xyz}.# 0xff
2870: 66 66 66 66 66 65 20 3d 3d 20 2d 32 0a 64 6f 5f  fffffe == -2.do_
2880: 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 31  test printf-1.11
2890: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
28a0: 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a  printf_int {abc:
28b0: 20 25 64 20 25 78 20 25 6f 20 3a 78 79 7a 7d 5c   %d %x %o :xyz}\
28c0: 0a 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66  .       0xffffff
28d0: 66 65 20 30 78 66 66 66 66 66 66 66 65 20 30 78  fe 0xfffffffe 0x
28e0: 66 66 66 66 66 66 66 65 0a 7d 20 7b 61 62 63 3a  fffffffe.} {abc:
28f0: 20 2d 32 20 66 66 66 66 66 66 66 65 20 33 37 37   -2 fffffffe 377
2900: 37 37 37 37 37 37 37 36 20 3a 78 79 7a 7d 0a 64  77777776 :xyz}.d
2910: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
2920: 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.2 {.  sqlite3
2930: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
2940: 63 3a 20 28 25 36 64 29 20 28 25 36 78 29 20 28  c: (%6d) (%6x) (
2950: 25 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  %6o) :xyz}\.    
2960: 20 20 20 30 78 66 66 66 66 66 66 66 65 20 30 78     0xfffffffe 0x
2970: 66 66 66 66 66 66 66 65 20 30 78 66 66 66 66 66  fffffffe 0xfffff
2980: 66 66 65 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  ffe.} {abc: (   
2990: 20 2d 32 29 20 28 66 66 66 66 66 66 66 65 29 20   -2) (fffffffe) 
29a0: 28 33 37 37 37 37 37 37 37 37 37 36 29 20 3a 78  (37777777776) :x
29b0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
29c0: 74 66 2d 31 2e 31 31 2e 33 20 7b 0a 20 20 73 71  tf-1.11.3 {.  sq
29d0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
29e0: 74 20 7b 61 62 63 3a 20 28 25 2d 36 64 29 20 28  t {abc: (%-6d) (
29f0: 25 2d 36 78 29 20 28 25 2d 36 6f 29 20 3a 78 79  %-6x) (%-6o) :xy
2a00: 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78 66 66 66  z}\.       0xfff
2a10: 66 66 66 66 65 20 30 78 66 66 66 66 66 66 66 65  ffffe 0xfffffffe
2a20: 20 30 78 66 66 66 66 66 66 66 65 0a 7d 20 7b 61   0xfffffffe.} {a
2a30: 62 63 3a 20 28 2d 32 20 20 20 20 29 20 28 66 66  bc: (-2    ) (ff
2a40: 66 66 66 66 66 65 29 20 28 33 37 37 37 37 37 37  fffffe) (3777777
2a50: 37 37 37 36 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  7776) :xyz}.do_t
2a60: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 31 2e  est printf-1.11.
2a70: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
2a80: 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20  rintf_int {abc: 
2a90: 28 25 2b 36 64 29 20 28 25 2b 36 78 29 20 28 25  (%+6d) (%+6x) (%
2aa0: 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  +6o) :xyz}\.    
2ab0: 20 20 20 30 78 66 66 66 66 66 66 66 65 20 30 78     0xfffffffe 0x
2ac0: 66 66 66 66 66 66 66 65 20 30 78 66 66 66 66 66  fffffffe 0xfffff
2ad0: 66 66 65 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  ffe.} {abc: (   
2ae0: 20 2d 32 29 20 28 66 66 66 66 66 66 66 65 29 20   -2) (fffffffe) 
2af0: 28 33 37 37 37 37 37 37 37 37 37 36 29 20 3a 78  (37777777776) :x
2b00: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
2b10: 74 66 2d 31 2e 31 31 2e 35 20 7b 0a 20 20 73 71  tf-1.11.5 {.  sq
2b20: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
2b30: 74 20 7b 61 62 63 3a 20 28 25 30 36 64 29 20 28  t {abc: (%06d) (
2b40: 25 30 36 78 29 20 28 25 30 36 6f 29 20 3a 78 79  %06x) (%06o) :xy
2b50: 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78 66 66 66  z}\.       0xfff
2b60: 66 66 66 66 65 20 30 78 66 66 66 66 66 66 66 65  ffffe 0xfffffffe
2b70: 20 30 78 66 66 66 66 66 66 66 65 0a 7d 20 7b 61   0xfffffffe.} {a
2b80: 62 63 3a 20 28 2d 30 30 30 30 32 29 20 28 66 66  bc: (-00002) (ff
2b90: 66 66 66 66 66 65 29 20 28 33 37 37 37 37 37 37  fffffe) (3777777
2ba0: 37 37 37 36 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  7776) :xyz}.do_t
2bb0: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 31 2e  est printf-1.11.
2bc0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
2bd0: 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20  rintf_int {abc: 
2be0: 28 25 20 36 64 29 20 28 25 20 36 78 29 20 28 25  (% 6d) (% 6x) (%
2bf0: 20 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20   6o) :xyz}\.    
2c00: 20 20 20 30 78 66 66 66 66 66 66 66 65 20 30 78     0xfffffffe 0x
2c10: 66 66 66 66 66 66 66 65 20 30 78 66 66 66 66 66  fffffffe 0xfffff
2c20: 66 66 65 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  ffe.} {abc: (   
2c30: 20 2d 32 29 20 28 66 66 66 66 66 66 66 65 29 20   -2) (fffffffe) 
2c40: 28 33 37 37 37 37 37 37 37 37 37 36 29 20 3a 78  (37777777776) :x
2c50: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
2c60: 74 66 2d 31 2e 31 31 2e 37 20 7b 0a 20 20 73 71  tf-1.11.7 {.  sq
2c70: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
2c80: 74 20 7b 61 62 63 3a 20 28 25 23 36 64 29 20 28  t {abc: (%#6d) (
2c90: 25 23 36 78 29 20 28 25 23 36 6f 29 20 3a 78 79  %#6x) (%#6o) :xy
2ca0: 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78 66 66 66  z}\.       0xfff
2cb0: 66 66 66 66 65 20 30 78 66 66 66 66 66 66 66 65  ffffe 0xfffffffe
2cc0: 20 30 78 66 66 66 66 66 66 66 65 0a 7d 20 7b 61   0xfffffffe.} {a
2cd0: 62 63 3a 20 28 20 20 20 20 2d 32 29 20 28 30 78  bc: (    -2) (0x
2ce0: 66 66 66 66 66 66 66 65 29 20 28 30 33 37 37 37  fffffffe) (03777
2cf0: 37 37 37 37 37 37 36 29 20 3a 78 79 7a 7d 0a 23  7777776) :xyz}.#
2d00: 20 30 78 66 66 66 66 66 66 66 62 20 3d 3d 20 2d   0xfffffffb == -
2d10: 35 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  5.do_test printf
2d20: 2d 31 2e 31 32 2e 31 20 7b 0a 20 20 73 71 6c 69  -1.12.1 {.  sqli
2d30: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20  te3_mprintf_int 
2d40: 7b 61 62 63 3a 20 25 64 20 25 78 20 25 6f 20 3a  {abc: %d %x %o :
2d50: 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78 66  xyz}\.       0xf
2d60: 66 66 66 66 66 66 62 20 30 78 66 66 66 66 66 66  ffffffb 0xffffff
2d70: 66 62 20 30 78 66 66 66 66 66 66 66 62 0a 7d 20  fb 0xfffffffb.} 
2d80: 7b 61 62 63 3a 20 2d 35 20 66 66 66 66 66 66 66  {abc: -5 fffffff
2d90: 62 20 33 37 37 37 37 37 37 37 37 37 33 20 3a 78  b 37777777773 :x
2da0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
2db0: 74 66 2d 31 2e 31 32 2e 32 20 7b 0a 20 20 73 71  tf-1.12.2 {.  sq
2dc0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
2dd0: 74 20 7b 61 62 63 3a 20 28 25 36 64 29 20 28 25  t {abc: (%6d) (%
2de0: 36 78 29 20 28 25 36 6f 29 20 3a 78 79 7a 7d 5c  6x) (%6o) :xyz}\
2df0: 0a 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66  .       0xffffff
2e00: 66 62 20 30 78 66 66 66 66 66 66 66 62 20 30 78  fb 0xfffffffb 0x
2e10: 66 66 66 66 66 66 66 62 0a 7d 20 7b 61 62 63 3a  fffffffb.} {abc:
2e20: 20 28 20 20 20 20 2d 35 29 20 28 66 66 66 66 66   (    -5) (fffff
2e30: 66 66 62 29 20 28 33 37 37 37 37 37 37 37 37 37  ffb) (3777777777
2e40: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
2e50: 20 70 72 69 6e 74 66 2d 31 2e 31 32 2e 33 20 7b   printf-1.12.3 {
2e60: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
2e70: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2d  tf_int {abc: (%-
2e80: 36 64 29 20 28 25 2d 36 78 29 20 28 25 2d 36 6f  6d) (%-6x) (%-6o
2e90: 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  ) :xyz}\.       
2ea0: 30 78 66 66 66 66 66 66 66 62 20 30 78 66 66 66  0xfffffffb 0xfff
2eb0: 66 66 66 66 62 20 30 78 66 66 66 66 66 66 66 62  ffffb 0xfffffffb
2ec0: 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 20 20 20 20  .} {abc: (-5    
2ed0: 29 20 28 66 66 66 66 66 66 66 62 29 20 28 33 37  ) (fffffffb) (37
2ee0: 37 37 37 37 37 37 37 37 33 29 20 3a 78 79 7a 7d  777777773) :xyz}
2ef0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
2f00: 31 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74  1.12.4 {.  sqlit
2f10: 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b  e3_mprintf_int {
2f20: 61 62 63 3a 20 28 25 2b 36 64 29 20 28 25 2b 36  abc: (%+6d) (%+6
2f30: 78 29 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c  x) (%+6o) :xyz}\
2f40: 0a 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66  .       0xffffff
2f50: 66 62 20 30 78 66 66 66 66 66 66 66 62 20 30 78  fb 0xfffffffb 0x
2f60: 66 66 66 66 66 66 66 62 0a 7d 20 7b 61 62 63 3a  fffffffb.} {abc:
2f70: 20 28 20 20 20 20 2d 35 29 20 28 66 66 66 66 66   (    -5) (fffff
2f80: 66 66 62 29 20 28 33 37 37 37 37 37 37 37 37 37  ffb) (3777777777
2f90: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
2fa0: 20 70 72 69 6e 74 66 2d 31 2e 31 32 2e 35 20 7b   printf-1.12.5 {
2fb0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
2fc0: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 30  tf_int {abc: (%0
2fd0: 36 64 29 20 28 25 30 36 78 29 20 28 25 30 36 6f  6d) (%06x) (%06o
2fe0: 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  ) :xyz}\.       
2ff0: 30 78 66 66 66 66 66 66 66 62 20 30 78 66 66 66  0xfffffffb 0xfff
3000: 66 66 66 66 62 20 30 78 66 66 66 66 66 66 66 62  ffffb 0xfffffffb
3010: 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 30 30 30 35  .} {abc: (-00005
3020: 29 20 28 66 66 66 66 66 66 66 62 29 20 28 33 37  ) (fffffffb) (37
3030: 37 37 37 37 37 37 37 37 33 29 20 3a 78 79 7a 7d  777777773) :xyz}
3040: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
3050: 31 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74  1.12.6 {.  sqlit
3060: 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b  e3_mprintf_int {
3070: 61 62 63 3a 20 28 25 20 36 64 29 20 28 25 20 36  abc: (% 6d) (% 6
3080: 78 29 20 28 25 20 36 6f 29 20 3a 78 79 7a 7d 5c  x) (% 6o) :xyz}\
3090: 0a 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66  .       0xffffff
30a0: 66 62 20 30 78 66 66 66 66 66 66 66 62 20 30 78  fb 0xfffffffb 0x
30b0: 66 66 66 66 66 66 66 62 0a 7d 20 7b 61 62 63 3a  fffffffb.} {abc:
30c0: 20 28 20 20 20 20 2d 35 29 20 28 66 66 66 66 66   (    -5) (fffff
30d0: 66 66 62 29 20 28 33 37 37 37 37 37 37 37 37 37  ffb) (3777777777
30e0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
30f0: 20 70 72 69 6e 74 66 2d 31 2e 31 32 2e 37 20 7b   printf-1.12.7 {
3100: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
3110: 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 23  tf_int {abc: (%#
3120: 36 64 29 20 28 25 23 36 78 29 20 28 25 23 36 6f  6d) (%#6x) (%#6o
3130: 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  ) :xyz}\.       
3140: 30 78 66 66 66 66 66 66 66 62 20 30 78 66 66 66  0xfffffffb 0xfff
3150: 66 66 66 66 62 20 30 78 66 66 66 66 66 66 66 62  ffffb 0xfffffffb
3160: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 2d 35  .} {abc: (    -5
3170: 29 20 28 30 78 66 66 66 66 66 66 66 62 29 20 28  ) (0xfffffffb) (
3180: 30 33 37 37 37 37 37 37 37 37 37 33 29 20 3a 78  037777777773) :x
3190: 79 7a 7d 0a 23 20 30 78 66 66 66 66 66 66 66 36  yz}.# 0xfffffff6
31a0: 20 3d 3d 20 2d 31 30 0a 64 6f 5f 74 65 73 74 20   == -10.do_test 
31b0: 70 72 69 6e 74 66 2d 31 2e 31 33 2e 31 20 7b 0a  printf-1.13.1 {.
31c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
31d0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 25 64 20 25  f_int {abc: %d %
31e0: 78 20 25 6f 20 3a 78 79 7a 7d 5c 0a 20 20 20 20  x %o :xyz}\.    
31f0: 20 20 20 30 78 66 66 66 66 66 66 66 36 20 30 78     0xfffffff6 0x
3200: 66 66 66 66 66 66 66 36 20 30 78 66 66 66 66 66  fffffff6 0xfffff
3210: 66 66 36 0a 7d 20 7b 61 62 63 3a 20 2d 31 30 20  ff6.} {abc: -10 
3220: 66 66 66 66 66 66 66 36 20 33 37 37 37 37 37 37  fffffff6 3777777
3230: 37 37 36 36 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  7766 :xyz}.do_te
3240: 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 33 2e 32  st printf-1.13.2
3250: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
3260: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28  intf_int {abc: (
3270: 25 36 64 29 20 28 25 36 78 29 20 28 25 36 6f 29  %6d) (%6x) (%6o)
3280: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
3290: 78 66 66 66 66 66 66 66 36 20 30 78 66 66 66 66  xfffffff6 0xffff
32a0: 66 66 66 36 20 30 78 66 66 66 66 66 66 66 36 0a  fff6 0xfffffff6.
32b0: 7d 20 7b 61 62 63 3a 20 28 20 20 20 2d 31 30 29  } {abc: (   -10)
32c0: 20 28 66 66 66 66 66 66 66 36 29 20 28 33 37 37   (fffffff6) (377
32d0: 37 37 37 37 37 37 36 36 29 20 3a 78 79 7a 7d 0a  77777766) :xyz}.
32e0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
32f0: 2e 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .13.3 {.  sqlite
3300: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
3310: 62 63 3a 20 28 25 2d 36 64 29 20 28 25 2d 36 78  bc: (%-6d) (%-6x
3320: 29 20 28 25 2d 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%-6o) :xyz}\.
3330: 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66 66         0xfffffff
3340: 36 20 30 78 66 66 66 66 66 66 66 36 20 30 78 66  6 0xfffffff6 0xf
3350: 66 66 66 66 66 66 36 0a 7d 20 7b 61 62 63 3a 20  ffffff6.} {abc: 
3360: 28 2d 31 30 20 20 20 29 20 28 66 66 66 66 66 66  (-10   ) (ffffff
3370: 66 36 29 20 28 33 37 37 37 37 37 37 37 37 36 36  f6) (37777777766
3380: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
3390: 70 72 69 6e 74 66 2d 31 2e 31 33 2e 34 20 7b 0a  printf-1.13.4 {.
33a0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
33b0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2b 36  f_int {abc: (%+6
33c0: 64 29 20 28 25 2b 36 78 29 20 28 25 2b 36 6f 29  d) (%+6x) (%+6o)
33d0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
33e0: 78 66 66 66 66 66 66 66 36 20 30 78 66 66 66 66  xfffffff6 0xffff
33f0: 66 66 66 36 20 30 78 66 66 66 66 66 66 66 36 0a  fff6 0xfffffff6.
3400: 7d 20 7b 61 62 63 3a 20 28 20 20 20 2d 31 30 29  } {abc: (   -10)
3410: 20 28 66 66 66 66 66 66 66 36 29 20 28 33 37 37   (fffffff6) (377
3420: 37 37 37 37 37 37 36 36 29 20 3a 78 79 7a 7d 0a  77777766) :xyz}.
3430: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
3440: 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .13.5 {.  sqlite
3450: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
3460: 62 63 3a 20 28 25 30 36 64 29 20 28 25 30 36 78  bc: (%06d) (%06x
3470: 29 20 28 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%06o) :xyz}\.
3480: 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66 66         0xfffffff
3490: 36 20 30 78 66 66 66 66 66 66 66 36 20 30 78 66  6 0xfffffff6 0xf
34a0: 66 66 66 66 66 66 36 0a 7d 20 7b 61 62 63 3a 20  ffffff6.} {abc: 
34b0: 28 2d 30 30 30 31 30 29 20 28 66 66 66 66 66 66  (-00010) (ffffff
34c0: 66 36 29 20 28 33 37 37 37 37 37 37 37 37 36 36  f6) (37777777766
34d0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
34e0: 70 72 69 6e 74 66 2d 31 2e 31 33 2e 36 20 7b 0a  printf-1.13.6 {.
34f0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
3500: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36  f_int {abc: (% 6
3510: 64 29 20 28 25 20 36 78 29 20 28 25 20 36 6f 29  d) (% 6x) (% 6o)
3520: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
3530: 78 66 66 66 66 66 66 66 36 20 30 78 66 66 66 66  xfffffff6 0xffff
3540: 66 66 66 36 20 30 78 66 66 66 66 66 66 66 36 0a  fff6 0xfffffff6.
3550: 7d 20 7b 61 62 63 3a 20 28 20 20 20 2d 31 30 29  } {abc: (   -10)
3560: 20 28 66 66 66 66 66 66 66 36 29 20 28 33 37 37   (fffffff6) (377
3570: 37 37 37 37 37 37 36 36 29 20 3a 78 79 7a 7d 0a  77777766) :xyz}.
3580: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
3590: 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .13.7 {.  sqlite
35a0: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
35b0: 62 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78  bc: (%#6d) (%#6x
35c0: 29 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%#6o) :xyz}\.
35d0: 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66 66         0xfffffff
35e0: 36 20 30 78 66 66 66 66 66 66 66 36 20 30 78 66  6 0xfffffff6 0xf
35f0: 66 66 66 66 66 66 36 0a 7d 20 7b 61 62 63 3a 20  ffffff6.} {abc: 
3600: 28 20 20 20 2d 31 30 29 20 28 30 78 66 66 66 66  (   -10) (0xffff
3610: 66 66 66 36 29 20 28 30 33 37 37 37 37 37 37 37  fff6) (037777777
3620: 37 36 36 29 20 3a 78 79 7a 7d 0a 23 20 30 78 66  766) :xyz}.# 0xf
3630: 66 66 66 66 66 39 64 20 3d 3d 20 2d 39 39 0a 64  fffff9d == -99.d
3640: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
3650: 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.1 {.  sqlite3
3660: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
3670: 63 3a 20 25 64 20 25 78 20 25 6f 20 3a 78 79 7a  c: %d %x %o :xyz
3680: 7d 5c 0a 20 20 20 20 20 20 20 30 78 66 66 66 66  }\.       0xffff
3690: 66 66 39 64 20 30 78 66 66 66 66 66 66 39 64 20  ff9d 0xffffff9d 
36a0: 30 78 66 66 66 66 66 66 39 64 0a 7d 20 7b 61 62  0xffffff9d.} {ab
36b0: 63 3a 20 2d 39 39 20 66 66 66 66 66 66 39 64 20  c: -99 ffffff9d 
36c0: 33 37 37 37 37 37 37 37 36 33 35 20 3a 78 79 7a  37777777635 :xyz
36d0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
36e0: 2d 31 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c 69  -1.14.2 {.  sqli
36f0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20  te3_mprintf_int 
3700: 7b 61 62 63 3a 20 28 25 36 64 29 20 28 25 36 78  {abc: (%6d) (%6x
3710: 29 20 28 25 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20  ) (%6o) :xyz}\. 
3720: 20 20 20 20 20 20 30 78 66 66 66 66 66 66 39 64        0xffffff9d
3730: 20 30 78 66 66 66 66 66 66 39 64 20 30 78 66 66   0xffffff9d 0xff
3740: 66 66 66 66 39 64 0a 7d 20 7b 61 62 63 3a 20 28  ffff9d.} {abc: (
3750: 20 20 20 2d 39 39 29 20 28 66 66 66 66 66 66 39     -99) (ffffff9
3760: 64 29 20 28 33 37 37 37 37 37 37 37 36 33 35 29  d) (37777777635)
3770: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
3780: 72 69 6e 74 66 2d 31 2e 31 34 2e 33 20 7b 0a 20  rintf-1.14.3 {. 
3790: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
37a0: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2d 36 64  _int {abc: (%-6d
37b0: 29 20 28 25 2d 36 78 29 20 28 25 2d 36 6f 29 20  ) (%-6x) (%-6o) 
37c0: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
37d0: 66 66 66 66 66 66 39 64 20 30 78 66 66 66 66 66  ffffff9d 0xfffff
37e0: 66 39 64 20 30 78 66 66 66 66 66 66 39 64 0a 7d  f9d 0xffffff9d.}
37f0: 20 7b 61 62 63 3a 20 28 2d 39 39 20 20 20 29 20   {abc: (-99   ) 
3800: 28 66 66 66 66 66 66 39 64 29 20 28 33 37 37 37  (ffffff9d) (3777
3810: 37 37 37 37 36 33 35 29 20 3a 78 79 7a 7d 0a 64  7777635) :xyz}.d
3820: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
3830: 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.4 {.  sqlite3
3840: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
3850: 63 3a 20 28 25 2b 36 64 29 20 28 25 2b 36 78 29  c: (%+6d) (%+6x)
3860: 20 28 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (%+6o) :xyz}\. 
3870: 20 20 20 20 20 20 30 78 66 66 66 66 66 66 39 64        0xffffff9d
3880: 20 30 78 66 66 66 66 66 66 39 64 20 30 78 66 66   0xffffff9d 0xff
3890: 66 66 66 66 39 64 0a 7d 20 7b 61 62 63 3a 20 28  ffff9d.} {abc: (
38a0: 20 20 20 2d 39 39 29 20 28 66 66 66 66 66 66 39     -99) (ffffff9
38b0: 64 29 20 28 33 37 37 37 37 37 37 37 36 33 35 29  d) (37777777635)
38c0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
38d0: 72 69 6e 74 66 2d 31 2e 31 34 2e 35 20 7b 0a 20  rintf-1.14.5 {. 
38e0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
38f0: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 30 36 64  _int {abc: (%06d
3900: 29 20 28 25 30 36 78 29 20 28 25 30 36 6f 29 20  ) (%06x) (%06o) 
3910: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
3920: 66 66 66 66 66 66 39 64 20 30 78 66 66 66 66 66  ffffff9d 0xfffff
3930: 66 39 64 20 30 78 66 66 66 66 66 66 39 64 0a 7d  f9d 0xffffff9d.}
3940: 20 7b 61 62 63 3a 20 28 2d 30 30 30 39 39 29 20   {abc: (-00099) 
3950: 28 66 66 66 66 66 66 39 64 29 20 28 33 37 37 37  (ffffff9d) (3777
3960: 37 37 37 37 36 33 35 29 20 3a 78 79 7a 7d 0a 64  7777635) :xyz}.d
3970: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
3980: 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.6 {.  sqlite3
3990: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
39a0: 63 3a 20 28 25 20 36 64 29 20 28 25 20 36 78 29  c: (% 6d) (% 6x)
39b0: 20 28 25 20 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20   (% 6o) :xyz}\. 
39c0: 20 20 20 20 20 20 30 78 66 66 66 66 66 66 39 64        0xffffff9d
39d0: 20 30 78 66 66 66 66 66 66 39 64 20 30 78 66 66   0xffffff9d 0xff
39e0: 66 66 66 66 39 64 0a 7d 20 7b 61 62 63 3a 20 28  ffff9d.} {abc: (
39f0: 20 20 20 2d 39 39 29 20 28 66 66 66 66 66 66 39     -99) (ffffff9
3a00: 64 29 20 28 33 37 37 37 37 37 37 37 36 33 35 29  d) (37777777635)
3a10: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
3a20: 72 69 6e 74 66 2d 31 2e 31 34 2e 37 20 7b 0a 20  rintf-1.14.7 {. 
3a30: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
3a40: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 23 36 64  _int {abc: (%#6d
3a50: 29 20 28 25 23 36 78 29 20 28 25 23 36 6f 29 20  ) (%#6x) (%#6o) 
3a60: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
3a70: 66 66 66 66 66 66 39 64 20 30 78 66 66 66 66 66  ffffff9d 0xfffff
3a80: 66 39 64 20 30 78 66 66 66 66 66 66 39 64 0a 7d  f9d 0xffffff9d.}
3a90: 20 7b 61 62 63 3a 20 28 20 20 20 2d 39 39 29 20   {abc: (   -99) 
3aa0: 28 30 78 66 66 66 66 66 66 39 64 29 20 28 30 33  (0xffffff9d) (03
3ab0: 37 37 37 37 37 37 37 36 33 35 29 20 3a 78 79 7a  7777777635) :xyz
3ac0: 7d 0a 23 20 30 78 66 66 66 66 66 66 39 63 20 3d  }.# 0xffffff9c =
3ad0: 3d 20 2d 31 30 30 0a 64 6f 5f 74 65 73 74 20 70  = -100.do_test p
3ae0: 72 69 6e 74 66 2d 31 2e 31 35 2e 31 20 7b 0a 20  rintf-1.15.1 {. 
3af0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
3b00: 5f 69 6e 74 20 7b 61 62 63 3a 20 25 64 20 25 78  _int {abc: %d %x
3b10: 20 25 6f 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20   %o :xyz}\.     
3b20: 20 20 30 78 66 66 66 66 66 66 39 63 20 30 78 66    0xffffff9c 0xf
3b30: 66 66 66 66 66 39 63 20 30 78 66 66 66 66 66 66  fffff9c 0xffffff
3b40: 39 63 0a 7d 20 7b 61 62 63 3a 20 2d 31 30 30 20  9c.} {abc: -100 
3b50: 66 66 66 66 66 66 39 63 20 33 37 37 37 37 37 37  ffffff9c 3777777
3b60: 37 36 33 34 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  7634 :xyz}.do_te
3b70: 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 35 2e 32  st printf-1.15.2
3b80: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
3b90: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28  intf_int {abc: (
3ba0: 25 36 64 29 20 28 25 36 78 29 20 28 25 36 6f 29  %6d) (%6x) (%6o)
3bb0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
3bc0: 78 66 66 66 66 66 66 39 63 20 30 78 66 66 66 66  xffffff9c 0xffff
3bd0: 66 66 39 63 20 30 78 66 66 66 66 66 66 39 63 0a  ff9c 0xffffff9c.
3be0: 7d 20 7b 61 62 63 3a 20 28 20 20 2d 31 30 30 29  } {abc: (  -100)
3bf0: 20 28 66 66 66 66 66 66 39 63 29 20 28 33 37 37   (ffffff9c) (377
3c00: 37 37 37 37 37 36 33 34 29 20 3a 78 79 7a 7d 0a  77777634) :xyz}.
3c10: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
3c20: 2e 31 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .15.3 {.  sqlite
3c30: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
3c40: 62 63 3a 20 28 25 2d 36 64 29 20 28 25 2d 36 78  bc: (%-6d) (%-6x
3c50: 29 20 28 25 2d 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%-6o) :xyz}\.
3c60: 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66 39         0xffffff9
3c70: 63 20 30 78 66 66 66 66 66 66 39 63 20 30 78 66  c 0xffffff9c 0xf
3c80: 66 66 66 66 66 39 63 0a 7d 20 7b 61 62 63 3a 20  fffff9c.} {abc: 
3c90: 28 2d 31 30 30 20 20 29 20 28 66 66 66 66 66 66  (-100  ) (ffffff
3ca0: 39 63 29 20 28 33 37 37 37 37 37 37 37 36 33 34  9c) (37777777634
3cb0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
3cc0: 70 72 69 6e 74 66 2d 31 2e 31 35 2e 34 20 7b 0a  printf-1.15.4 {.
3cd0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
3ce0: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 2b 36  f_int {abc: (%+6
3cf0: 64 29 20 28 25 2b 36 78 29 20 28 25 2b 36 6f 29  d) (%+6x) (%+6o)
3d00: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
3d10: 78 66 66 66 66 66 66 39 63 20 30 78 66 66 66 66  xffffff9c 0xffff
3d20: 66 66 39 63 20 30 78 66 66 66 66 66 66 39 63 0a  ff9c 0xffffff9c.
3d30: 7d 20 7b 61 62 63 3a 20 28 20 20 2d 31 30 30 29  } {abc: (  -100)
3d40: 20 28 66 66 66 66 66 66 39 63 29 20 28 33 37 37   (ffffff9c) (377
3d50: 37 37 37 37 37 36 33 34 29 20 3a 78 79 7a 7d 0a  77777634) :xyz}.
3d60: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
3d70: 2e 31 35 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .15.5 {.  sqlite
3d80: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
3d90: 62 63 3a 20 28 25 30 36 64 29 20 28 25 30 36 78  bc: (%06d) (%06x
3da0: 29 20 28 25 30 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%06o) :xyz}\.
3db0: 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66 39         0xffffff9
3dc0: 63 20 30 78 66 66 66 66 66 66 39 63 20 30 78 66  c 0xffffff9c 0xf
3dd0: 66 66 66 66 66 39 63 0a 7d 20 7b 61 62 63 3a 20  fffff9c.} {abc: 
3de0: 28 2d 30 30 31 30 30 29 20 28 66 66 66 66 66 66  (-00100) (ffffff
3df0: 39 63 29 20 28 33 37 37 37 37 37 37 37 36 33 34  9c) (37777777634
3e00: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
3e10: 70 72 69 6e 74 66 2d 31 2e 31 35 2e 36 20 7b 0a  printf-1.15.6 {.
3e20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
3e30: 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 20 36  f_int {abc: (% 6
3e40: 64 29 20 28 25 20 36 78 29 20 28 25 20 36 6f 29  d) (% 6x) (% 6o)
3e50: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
3e60: 78 66 66 66 66 66 66 39 63 20 30 78 66 66 66 66  xffffff9c 0xffff
3e70: 66 66 39 63 20 30 78 66 66 66 66 66 66 39 63 0a  ff9c 0xffffff9c.
3e80: 7d 20 7b 61 62 63 3a 20 28 20 20 2d 31 30 30 29  } {abc: (  -100)
3e90: 20 28 66 66 66 66 66 66 39 63 29 20 28 33 37 37   (ffffff9c) (377
3ea0: 37 37 37 37 37 36 33 34 29 20 3a 78 79 7a 7d 0a  77777634) :xyz}.
3eb0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
3ec0: 2e 31 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .15.7 {.  sqlite
3ed0: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
3ee0: 62 63 3a 20 28 25 23 36 64 29 20 28 25 23 36 78  bc: (%#6d) (%#6x
3ef0: 29 20 28 25 23 36 6f 29 20 3a 78 79 7a 7d 5c 0a  ) (%#6o) :xyz}\.
3f00: 20 20 20 20 20 20 20 30 78 66 66 66 66 66 66 39         0xffffff9
3f10: 63 20 30 78 66 66 66 66 66 66 39 63 20 30 78 66  c 0xffffff9c 0xf
3f20: 66 66 66 66 66 39 63 0a 7d 20 7b 61 62 63 3a 20  fffff9c.} {abc: 
3f30: 28 20 20 2d 31 30 30 29 20 28 30 78 66 66 66 66  (  -100) (0xffff
3f40: 66 66 39 63 29 20 28 30 33 37 37 37 37 37 37 37  ff9c) (037777777
3f50: 36 33 34 29 20 3a 78 79 7a 7d 0a 23 20 30 78 66  634) :xyz}.# 0xf
3f60: 66 36 37 36 39 38 31 20 3d 3d 20 2d 39 39 39 39  f676981 == -9999
3f70: 39 39 39 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  999.do_test prin
3f80: 74 66 2d 31 2e 31 36 2e 31 20 7b 0a 20 20 73 71  tf-1.16.1 {.  sq
3f90: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
3fa0: 74 20 7b 61 62 63 3a 20 25 64 20 25 78 20 25 6f  t {abc: %d %x %o
3fb0: 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30   :xyz}\.       0
3fc0: 78 66 66 36 37 36 39 38 31 20 30 78 66 66 36 37  xff676981 0xff67
3fd0: 36 39 38 31 20 30 78 66 66 36 37 36 39 38 31 0a  6981 0xff676981.
3fe0: 7d 20 7b 61 62 63 3a 20 2d 39 39 39 39 39 39 39  } {abc: -9999999
3ff0: 20 66 66 36 37 36 39 38 31 20 33 37 37 33 31 36   ff676981 377316
4000: 36 34 36 30 31 20 3a 78 79 7a 7d 0a 64 6f 5f 74  64601 :xyz}.do_t
4010: 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 36 2e  est printf-1.16.
4020: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
4030: 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20  rintf_int {abc: 
4040: 28 25 36 64 29 20 28 25 36 78 29 20 28 25 36 6f  (%6d) (%6x) (%6o
4050: 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20  ) :xyz}\.       
4060: 30 78 66 66 36 37 36 39 38 31 20 30 78 66 66 36  0xff676981 0xff6
4070: 37 36 39 38 31 20 30 78 66 66 36 37 36 39 38 31  76981 0xff676981
4080: 0a 7d 20 7b 61 62 63 3a 20 28 2d 39 39 39 39 39  .} {abc: (-99999
4090: 39 39 29 20 28 66 66 36 37 36 39 38 31 29 20 28  99) (ff676981) (
40a0: 33 37 37 33 31 36 36 34 36 30 31 29 20 3a 78 79  37731664601) :xy
40b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
40c0: 66 2d 31 2e 31 36 2e 33 20 7b 0a 20 20 73 71 6c  f-1.16.3 {.  sql
40d0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
40e0: 20 7b 61 62 63 3a 20 28 25 2d 36 64 29 20 28 25   {abc: (%-6d) (%
40f0: 2d 36 78 29 20 28 25 2d 36 6f 29 20 3a 78 79 7a  -6x) (%-6o) :xyz
4100: 7d 5c 0a 20 20 20 20 20 20 20 30 78 66 66 36 37  }\.       0xff67
4110: 36 39 38 31 20 30 78 66 66 36 37 36 39 38 31 20  6981 0xff676981 
4120: 30 78 66 66 36 37 36 39 38 31 0a 7d 20 7b 61 62  0xff676981.} {ab
4130: 63 3a 20 28 2d 39 39 39 39 39 39 39 29 20 28 66  c: (-9999999) (f
4140: 66 36 37 36 39 38 31 29 20 28 33 37 37 33 31 36  f676981) (377316
4150: 36 34 36 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  64601) :xyz}.do_
4160: 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 36  test printf-1.16
4170: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
4180: 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a  printf_int {abc:
4190: 20 28 25 2b 36 64 29 20 28 25 2b 36 78 29 20 28   (%+6d) (%+6x) (
41a0: 25 2b 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20  %+6o) :xyz}\.   
41b0: 20 20 20 20 30 78 66 66 36 37 36 39 38 31 20 30      0xff676981 0
41c0: 78 66 66 36 37 36 39 38 31 20 30 78 66 66 36 37  xff676981 0xff67
41d0: 36 39 38 31 0a 7d 20 7b 61 62 63 3a 20 28 2d 39  6981.} {abc: (-9
41e0: 39 39 39 39 39 39 29 20 28 66 66 36 37 36 39 38  999999) (ff67698
41f0: 31 29 20 28 33 37 37 33 31 36 36 34 36 30 31 29  1) (37731664601)
4200: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4210: 72 69 6e 74 66 2d 31 2e 31 36 2e 35 20 7b 0a 20  rintf-1.16.5 {. 
4220: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
4230: 5f 69 6e 74 20 7b 61 62 63 3a 20 28 25 30 36 64  _int {abc: (%06d
4240: 29 20 28 25 30 36 78 29 20 28 25 30 36 6f 29 20  ) (%06x) (%06o) 
4250: 3a 78 79 7a 7d 5c 0a 20 20 20 20 20 20 20 30 78  :xyz}\.       0x
4260: 66 66 36 37 36 39 38 31 20 30 78 66 66 36 37 36  ff676981 0xff676
4270: 39 38 31 20 30 78 66 66 36 37 36 39 38 31 0a 7d  981 0xff676981.}
4280: 20 7b 61 62 63 3a 20 28 2d 39 39 39 39 39 39 39   {abc: (-9999999
4290: 29 20 28 66 66 36 37 36 39 38 31 29 20 28 33 37  ) (ff676981) (37
42a0: 37 33 31 36 36 34 36 30 31 29 20 3a 78 79 7a 7d  731664601) :xyz}
42b0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
42c0: 31 2e 31 36 2e 36 20 7b 0a 20 20 73 71 6c 69 74  1.16.6 {.  sqlit
42d0: 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b  e3_mprintf_int {
42e0: 61 62 63 3a 20 28 25 20 36 64 29 20 28 25 20 36  abc: (% 6d) (% 6
42f0: 78 29 20 28 25 20 36 6f 29 20 3a 78 79 7a 7d 5c  x) (% 6o) :xyz}\
4300: 0a 20 20 20 20 20 20 20 30 78 66 66 36 37 36 39  .       0xff6769
4310: 38 31 20 30 78 66 66 36 37 36 39 38 31 20 30 78  81 0xff676981 0x
4320: 66 66 36 37 36 39 38 31 0a 7d 20 7b 61 62 63 3a  ff676981.} {abc:
4330: 20 28 2d 39 39 39 39 39 39 39 29 20 28 66 66 36   (-9999999) (ff6
4340: 37 36 39 38 31 29 20 28 33 37 37 33 31 36 36 34  76981) (37731664
4350: 36 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  601) :xyz}.do_te
4360: 73 74 20 70 72 69 6e 74 66 2d 31 2e 31 36 2e 37  st printf-1.16.7
4370: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
4380: 69 6e 74 66 5f 69 6e 74 20 7b 61 62 63 3a 20 28  intf_int {abc: (
4390: 25 23 36 64 29 20 28 25 23 36 78 29 20 28 25 23  %#6d) (%#6x) (%#
43a0: 36 6f 29 20 3a 78 79 7a 7d 5c 0a 20 20 20 20 20  6o) :xyz}\.     
43b0: 20 20 30 78 66 66 36 37 36 39 38 31 20 30 78 66    0xff676981 0xf
43c0: 66 36 37 36 39 38 31 20 30 78 66 66 36 37 36 39  f676981 0xff6769
43d0: 38 31 0a 7d 20 7b 61 62 63 3a 20 28 2d 39 39 39  81.} {abc: (-999
43e0: 39 39 39 39 29 20 28 30 78 66 66 36 37 36 39 38  9999) (0xff67698
43f0: 31 29 20 28 30 33 37 37 33 31 36 36 34 36 30 31  1) (037731664601
4400: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
4410: 70 72 69 6e 74 66 2d 31 2e 31 37 2e 31 20 7b 0a  printf-1.17.1 {.
4420: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4430: 66 5f 69 6e 74 20 7b 61 62 64 3a 20 25 32 31 34  f_int {abd: %214
4440: 37 34 38 33 36 34 37 64 20 25 32 31 34 37 34 38  7483647d %214748
4450: 33 36 34 37 78 20 25 32 31 34 37 34 38 33 36 34  3647x %214748364
4460: 37 6f 7d 20 31 20 31 20 31 0a 7d 20 7b 7d 0a 64  7o} 1 1 1.} {}.d
4470: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
4480: 31 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  17.2 {.  sqlite3
4490: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
44a0: 64 3a 20 25 2a 64 20 25 78 7d 20 32 31 34 37 34  d: %*d %x} 21474
44b0: 38 33 36 34 37 20 31 20 31 0a 7d 20 7b 7d 0a 64  83647 1 1.} {}.d
44c0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 2e  o_test printf-1.
44d0: 31 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  17.3 {.  sqlite3
44e0: 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61 62  _mprintf_int {ab
44f0: 64 3a 20 25 2a 64 20 25 78 7d 20 2d 32 31 34 37  d: %*d %x} -2147
4500: 34 38 33 36 34 38 20 31 20 31 0a 7d 20 7b 61 62  483648 1 1.} {ab
4510: 64 3a 20 31 20 31 7d 0a 64 6f 5f 74 65 73 74 20  d: 1 1}.do_test 
4520: 70 72 69 6e 74 66 2d 31 2e 31 37 2e 34 20 7b 0a  printf-1.17.4 {.
4530: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4540: 66 5f 69 6e 74 20 7b 61 62 64 3a 20 25 2e 32 31  f_int {abd: %.21
4550: 34 37 34 38 33 36 34 38 64 20 25 78 20 25 78 7d  47483648d %x %x}
4560: 20 31 20 31 20 31 0a 7d 20 7b 2f 2e 2a 2f 7d 0a   1 1 1.} {/.*/}.
4570: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
4580: 2e 31 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .1.1.1 {.  sqlit
4590: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
45a0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
45b0: 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 30 31 0a  :xyz} 1 1 0.001.
45c0: 7d 20 7b 61 62 63 3a 20 28 30 2e 30 29 20 3a 78  } {abc: (0.0) :x
45d0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
45e0: 74 66 2d 32 2e 31 2e 31 2e 32 20 7b 0a 20 20 73  tf-2.1.1.2 {.  s
45f0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
4600: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
4610: 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e  *e) :xyz} 1 1 0.
4620: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  001.} {abc: (1.0
4630: 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
4640: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
4650: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
4660: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
4670: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
4680: 7d 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61  } 1 1 0.001.} {a
4690: 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a  bc: (0.001) :xyz
46a0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
46b0: 2d 32 2e 31 2e 31 2e 34 20 7b 0a 20 20 73 71 6c  -2.1.1.4 {.  sql
46c0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
46d0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
46e0: 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30  (%g) :xyz} 1 1 0
46f0: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20 31  .001.} {abc: 1 1
4700: 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
4710: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
4720: 31 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  1.1.5 {.  sqlite
4730: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
4740: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
4750: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30  g) :xyz} 1 1 0.0
4760: 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  01.} {abc: 1 1 (
4770: 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a  0.00100000) :xyz
4780: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
4790: 2d 32 2e 31 2e 31 2e 36 20 7b 0a 20 20 73 71 6c  -2.1.1.6 {.  sql
47a0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
47b0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
47c0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20  (%010g) :xyz} 1 
47d0: 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  1 0.001.} {abc: 
47e0: 31 20 31 20 28 30 30 30 30 30 30 2e 30 30 31 29  1 1 (000000.001)
47f0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4800: 72 69 6e 74 66 2d 32 2e 31 2e 31 2e 37 20 7b 0a  rintf-2.1.1.7 {.
4810: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4820: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
4830: 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79  d %d (%1.1f) :xy
4840: 7a 7d 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b  z} 1 1 0.001.} {
4850: 61 62 63 3a 20 31 20 31 20 28 30 2e 30 29 20 3a  abc: 1 1 (0.0) :
4860: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4870: 6e 74 66 2d 32 2e 31 2e 31 2e 38 20 7b 0a 20 20  ntf-2.1.1.8 {.  
4880: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4890: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
48a0: 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d  %d (%1.1e) :xyz}
48b0: 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62   1 1 0.001.} {ab
48c0: 63 3a 20 31 20 31 20 28 31 2e 30 65 2d 30 33 29  c: 1 1 (1.0e-03)
48d0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
48e0: 72 69 6e 74 66 2d 32 2e 31 2e 31 2e 39 20 7b 0a  rintf-2.1.1.9 {.
48f0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4900: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
4910: 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79  d %d (%1.1g) :xy
4920: 7a 7d 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b  z} 1 1 0.001.} {
4930: 61 62 63 3a 20 31 20 31 20 28 30 2e 30 30 31 29  abc: 1 1 (0.001)
4940: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4950: 72 69 6e 74 66 2d 32 2e 31 2e 32 2e 31 20 7b 0a  rintf-2.1.2.1 {.
4960: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4970: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
4980: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*f) :xyz} 1 1
4990: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
49a0: 20 28 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   (0.0) :xyz}.do_
49b0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
49c0: 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.2 {.  sqlite3_
49d0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
49e0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
49f0: 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32 30 0a 7d  z} 1 1 1.0e-20.}
4a00: 20 7b 61 62 63 3a 20 28 31 2e 30 65 2d 32 30 29   {abc: (1.0e-20)
4a10: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4a20: 72 69 6e 74 66 2d 32 2e 31 2e 32 2e 33 20 7b 0a  rintf-2.1.2.3 {.
4a30: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4a40: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
4a50: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*g) :xyz} 1 1
4a60: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
4a70: 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64   (1e-20) :xyz}.d
4a80: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
4a90: 31 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  1.2.4 {.  sqlite
4aa0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
4ab0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
4ac0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65  ) :xyz} 1 1 1.0e
4ad0: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  -20.} {abc: 1 1 
4ae0: 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  (1e-20) :xyz}.do
4af0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
4b00: 2e 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.5 {.  sqlite3
4b10: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
4b20: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
4b30: 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65  ) :xyz} 1 1 1.0e
4b40: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  -20.} {abc: 1 1 
4b50: 28 31 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78  (1.00000e-20) :x
4b60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
4b70: 74 66 2d 32 2e 31 2e 32 2e 36 20 7b 0a 20 20 73  tf-2.1.2.6 {.  s
4b80: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
4b90: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
4ba0: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
4bb0: 31 20 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  1 1 1.0e-20.} {a
4bc0: 62 63 3a 20 31 20 31 20 28 30 30 30 30 30 31 65  bc: 1 1 (000001e
4bd0: 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
4be0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32 2e  st printf-2.1.2.
4bf0: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
4c00: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
4c10: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29  c: %d %d (%1.1f)
4c20: 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d   :xyz} 1 1 1.0e-
4c30: 32 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  20.} {abc: 1 1 (
4c40: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
4c50: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32 2e  st printf-2.1.2.
4c60: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
4c70: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
4c80: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
4c90: 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d   :xyz} 1 1 1.0e-
4ca0: 32 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  20.} {abc: 1 1 (
4cb0: 31 2e 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  1.0e-20) :xyz}.d
4cc0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
4cd0: 31 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  1.2.9 {.  sqlite
4ce0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
4cf0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
4d00: 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  .1g) :xyz} 1 1 1
4d10: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31  .0e-20.} {abc: 1
4d20: 20 31 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d   1 (1e-20) :xyz}
4d30: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
4d40: 32 2e 31 2e 32 2e 31 30 20 7b 0a 20 20 73 71 6c  2.1.2.10 {.  sql
4d50: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
4d60: 62 6c 65 20 7b 61 62 63 3a 20 25 2a 2e 2a 66 7d  ble {abc: %*.*f}
4d70: 20 20 32 30 30 30 30 30 30 30 30 30 20 31 30 30    2000000000 100
4d80: 30 30 30 30 30 30 30 20 31 2e 30 65 2d 32 30 0a  0000000 1.0e-20.
4d90: 7d 20 7b 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  } {}.do_test pri
4da0: 6e 74 66 2d 32 2e 31 2e 33 2e 31 20 7b 0a 20 20  ntf-2.1.3.1 {.  
4db0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4dc0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
4dd0: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  .*f) :xyz} 1 1 1
4de0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 29  .0.} {abc: (1.0)
4df0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4e00: 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 32 20 7b 0a  rintf-2.1.3.2 {.
4e10: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4e20: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
4e30: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*e) :xyz} 1 1
4e40: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e   1.0.} {abc: (1.
4e50: 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
4e60: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
4e70: 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.3 {.  sqlite3_
4e80: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
4e90: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
4ea0: 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62  z} 1 1 1.0.} {ab
4eb0: 63 3a 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  c: (1) :xyz}.do_
4ec0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
4ed0: 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.4 {.  sqlite3_
4ee0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
4ef0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
4f00: 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20  :xyz} 1 1 1.0.} 
4f10: 7b 61 62 63 3a 20 31 20 31 20 28 31 29 20 3a 78  {abc: 1 1 (1) :x
4f20: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
4f30: 74 66 2d 32 2e 31 2e 33 2e 35 20 7b 0a 20 20 73  tf-2.1.3.5 {.  s
4f40: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
4f50: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
4f60: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20  d (%#g) :xyz} 1 
4f70: 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20  1 1.0.} {abc: 1 
4f80: 31 20 28 31 2e 30 30 30 30 30 29 20 3a 78 79 7a  1 (1.00000) :xyz
4f90: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
4fa0: 2d 32 2e 31 2e 33 2e 36 20 7b 0a 20 20 73 71 6c  -2.1.3.6 {.  sql
4fb0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
4fc0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
4fd0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20  (%010g) :xyz} 1 
4fe0: 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20  1 1.0.} {abc: 1 
4ff0: 31 20 28 30 30 30 30 30 30 30 30 30 31 29 20 3a  1 (0000000001) :
5000: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5010: 6e 74 66 2d 32 2e 31 2e 33 2e 37 20 7b 0a 20 20  ntf-2.1.3.7 {.  
5020: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5030: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5040: 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d  %d (%1.1f) :xyz}
5050: 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 1.0.} {abc:
5060: 20 31 20 31 20 28 31 2e 30 29 20 3a 78 79 7a 7d   1 1 (1.0) :xyz}
5070: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5080: 32 2e 31 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69  2.1.3.8 {.  sqli
5090: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
50a0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
50b0: 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1e) :xyz} 1 1
50c0: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31   1.0.} {abc: 1 1
50d0: 20 28 31 2e 30 65 2b 30 30 29 20 3a 78 79 7a 7d   (1.0e+00) :xyz}
50e0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
50f0: 32 2e 31 2e 33 2e 39 20 7b 0a 20 20 73 71 6c 69  2.1.3.9 {.  sqli
5100: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5110: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
5120: 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1g) :xyz} 1 1
5130: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31   1.0.} {abc: 1 1
5140: 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   (1) :xyz}.do_te
5150: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e  st printf-2.1.4.
5160: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
5170: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
5180: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
5190: 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 0.0.} {abc:
51a0: 20 28 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   (0.0) :xyz}.do_
51b0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
51c0: 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.2 {.  sqlite3_
51d0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
51e0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
51f0: 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61 62  z} 1 1 0.0.} {ab
5200: 63 3a 20 28 30 2e 30 65 2b 30 30 29 20 3a 78 79  c: (0.0e+00) :xy
5210: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5220: 66 2d 32 2e 31 2e 34 2e 33 20 7b 0a 20 20 73 71  f-2.1.4.3 {.  sq
5230: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5240: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
5250: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30  g) :xyz} 1 1 0.0
5260: 0a 7d 20 7b 61 62 63 3a 20 28 30 29 20 3a 78 79  .} {abc: (0) :xy
5270: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5280: 66 2d 32 2e 31 2e 34 2e 34 20 7b 0a 20 20 73 71  f-2.1.4.4 {.  sq
5290: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
52a0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
52b0: 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20   (%g) :xyz} 1 1 
52c0: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  0.0.} {abc: 1 1 
52d0: 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (0) :xyz}.do_tes
52e0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 35  t printf-2.1.4.5
52f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5300: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5310: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
5320: 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61  yz} 1 1 0.0.} {a
5330: 62 63 3a 20 31 20 31 20 28 30 2e 30 30 30 30 30  bc: 1 1 (0.00000
5340: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5350: 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 36 20 7b  printf-2.1.4.6 {
5360: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5370: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5380: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
5390: 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61  yz} 1 1 0.0.} {a
53a0: 62 63 3a 20 31 20 31 20 28 30 30 30 30 30 30 30  bc: 1 1 (0000000
53b0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
53c0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e  st printf-2.1.4.
53d0: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
53e0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
53f0: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29  c: %d %d (%1.1f)
5400: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d   :xyz} 1 1 0.0.}
5410: 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30 29   {abc: 1 1 (0.0)
5420: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5430: 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 38 20 7b 0a  rintf-2.1.4.8 {.
5440: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5450: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
5460: 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79  d %d (%1.1e) :xy
5470: 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61 62  z} 1 1 0.0.} {ab
5480: 63 3a 20 31 20 31 20 28 30 2e 30 65 2b 30 30 29  c: 1 1 (0.0e+00)
5490: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
54a0: 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 39 20 7b 0a  rintf-2.1.4.9 {.
54b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
54c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
54d0: 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79  d %d (%1.1g) :xy
54e0: 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61 62  z} 1 1 0.0.} {ab
54f0: 63 3a 20 31 20 31 20 28 30 29 20 3a 78 79 7a 7d  c: 1 1 (0) :xyz}
5500: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5510: 32 2e 31 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69  2.1.5.1 {.  sqli
5520: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5530: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
5540: 20 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30   :xyz} 1 1 100.0
5550: 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 29  .} {abc: (100.0)
5560: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5570: 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 32 20 7b 0a  rintf-2.1.5.2 {.
5580: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5590: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
55a0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*e) :xyz} 1 1
55b0: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
55c0: 31 2e 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  1.0e+02) :xyz}.d
55d0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
55e0: 31 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  1.5.3 {.  sqlite
55f0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5600: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
5610: 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d  xyz} 1 1 100.0.}
5620: 20 7b 61 62 63 3a 20 28 31 65 2b 30 32 29 20 3a   {abc: (1e+02) :
5630: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5640: 6e 74 66 2d 32 2e 31 2e 35 2e 34 20 7b 0a 20 20  ntf-2.1.5.4 {.  
5650: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5660: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5670: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20  %d (%g) :xyz} 1 
5680: 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 100.0.} {abc: 
5690: 31 20 31 20 28 31 30 30 29 20 3a 78 79 7a 7d 0a  1 1 (100) :xyz}.
56a0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
56b0: 2e 31 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .1.5.5 {.  sqlit
56c0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
56d0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
56e0: 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 30  #g) :xyz} 1 1 10
56f0: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  0.0.} {abc: 1 1 
5700: 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  (100.000) :xyz}.
5710: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
5720: 2e 31 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .1.5.6 {.  sqlit
5730: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
5740: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
5750: 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  010g) :xyz} 1 1 
5760: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20  100.0.} {abc: 1 
5770: 31 20 28 30 30 30 30 30 30 30 31 30 30 29 20 3a  1 (0000000100) :
5780: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5790: 6e 74 66 2d 32 2e 31 2e 35 2e 37 20 7b 0a 20 20  ntf-2.1.5.7 {.  
57a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
57b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
57c0: 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d  %d (%1.1f) :xyz}
57d0: 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62   1 1 100.0.} {ab
57e0: 63 3a 20 31 20 31 20 28 31 30 30 2e 30 29 20 3a  c: 1 1 (100.0) :
57f0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5800: 6e 74 66 2d 32 2e 31 2e 35 2e 38 20 7b 0a 20 20  ntf-2.1.5.8 {.  
5810: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5820: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5830: 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d  %d (%1.1e) :xyz}
5840: 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62   1 1 100.0.} {ab
5850: 63 3a 20 31 20 31 20 28 31 2e 30 65 2b 30 32 29  c: 1 1 (1.0e+02)
5860: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5870: 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 39 20 7b 0a  rintf-2.1.5.9 {.
5880: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5890: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
58a0: 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79  d %d (%1.1g) :xy
58b0: 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b  z} 1 1 100.0.} {
58c0: 61 62 63 3a 20 31 20 31 20 28 31 65 2b 30 32 29  abc: 1 1 (1e+02)
58d0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
58e0: 72 69 6e 74 66 2d 32 2e 31 2e 36 2e 31 20 7b 0a  rintf-2.1.6.1 {.
58f0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5900: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
5910: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*f) :xyz} 1 1
5920: 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
5930: 20 28 31 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f   (10.0) :xyz}.do
5940: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
5950: 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.2 {.  sqlite3
5960: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
5970: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
5980: 79 7a 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a  yz} 1 1 9.99999.
5990: 7d 20 7b 61 62 63 3a 20 28 31 2e 30 65 2b 30 31  } {abc: (1.0e+01
59a0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
59b0: 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e 33 20 7b  printf-2.1.6.3 {
59c0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
59d0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
59e0: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20  (%*.*g) :xyz} 1 
59f0: 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  1 9.99999.} {abc
5a00: 3a 20 28 31 65 2b 30 31 29 20 3a 78 79 7a 7d 0a  : (1e+01) :xyz}.
5a10: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
5a20: 2e 31 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .1.6.4 {.  sqlit
5a30: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
5a40: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
5a50: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39  g) :xyz} 1 1 9.9
5a60: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31  9999.} {abc: 1 1
5a70: 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d   (9.99999) :xyz}
5a80: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5a90: 32 2e 31 2e 36 2e 35 20 7b 0a 20 20 73 71 6c 69  2.1.6.5 {.  sqli
5aa0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5ab0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
5ac0: 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 39  %#g) :xyz} 1 1 9
5ad0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
5ae0: 20 31 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   1 (9.99999) :xy
5af0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5b00: 66 2d 32 2e 31 2e 36 2e 36 20 7b 0a 20 20 73 71  f-2.1.6.6 {.  sq
5b10: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5b20: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
5b30: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
5b40: 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   1 9.99999.} {ab
5b50: 63 3a 20 31 20 31 20 28 30 30 30 39 2e 39 39 39  c: 1 1 (0009.999
5b60: 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
5b70: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e 37  t printf-2.1.6.7
5b80: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5b90: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5ba0: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20  : %d %d (%1.1f) 
5bb0: 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39 39 39 39  :xyz} 1 1 9.9999
5bc0: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31  9.} {abc: 1 1 (1
5bd0: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
5be0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e  st printf-2.1.6.
5bf0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
5c00: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
5c10: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
5c20: 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39 39 39   :xyz} 1 1 9.999
5c30: 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  99.} {abc: 1 1 (
5c40: 31 2e 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64  1.0e+01) :xyz}.d
5c50: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
5c60: 31 2e 36 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  1.6.9 {.  sqlite
5c70: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5c80: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
5c90: 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 39  .1g) :xyz} 1 1 9
5ca0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
5cb0: 20 31 20 28 31 65 2b 30 31 29 20 3a 78 79 7a 7d   1 (1e+01) :xyz}
5cc0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5cd0: 32 2e 31 2e 37 2e 31 20 7b 0a 20 20 73 71 6c 69  2.1.7.1 {.  sqli
5ce0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5cf0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
5d00: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30 2e 30 30   :xyz} 1 1 -0.00
5d10: 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e  543.} {abc: (-0.
5d20: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
5d30: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 32 20   printf-2.1.7.2 
5d40: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
5d50: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
5d60: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
5d70: 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   1 -0.00543.} {a
5d80: 62 63 3a 20 28 2d 35 2e 34 65 2d 30 33 29 20 3a  bc: (-5.4e-03) :
5d90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5da0: 6e 74 66 2d 32 2e 31 2e 37 2e 33 20 7b 0a 20 20  ntf-2.1.7.3 {.  
5db0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5dc0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
5dd0: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .*g) :xyz} 1 1 -
5de0: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
5df0: 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a 64  (-0.005) :xyz}.d
5e00: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
5e10: 31 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  1.7.4 {.  sqlite
5e20: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5e30: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
5e40: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30 2e 30  ) :xyz} 1 1 -0.0
5e50: 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  0543.} {abc: 1 1
5e60: 20 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a   (-0.00543) :xyz
5e70: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
5e80: 2d 32 2e 31 2e 37 2e 35 20 7b 0a 20 20 73 71 6c  -2.1.7.5 {.  sql
5e90: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
5ea0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
5eb0: 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  (%#g) :xyz} 1 1 
5ec0: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
5ed0: 20 31 20 31 20 28 2d 30 2e 30 30 35 34 33 30 30   1 1 (-0.0054300
5ee0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
5ef0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 36 20   printf-2.1.7.6 
5f00: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
5f10: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
5f20: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
5f30: 78 79 7a 7d 20 31 20 31 20 2d 30 2e 30 30 35 34  xyz} 1 1 -0.0054
5f40: 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  3.} {abc: 1 1 (-
5f50: 30 30 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d  000.00543) :xyz}
5f60: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5f70: 32 2e 31 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69  2.1.7.7 {.  sqli
5f80: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5f90: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
5fa0: 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1f) :xyz} 1 1
5fb0: 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
5fc0: 3a 20 31 20 31 20 28 2d 30 2e 30 29 20 3a 78 79  : 1 1 (-0.0) :xy
5fd0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5fe0: 66 2d 32 2e 31 2e 37 2e 38 20 7b 0a 20 20 73 71  f-2.1.7.8 {.  sq
5ff0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
6000: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
6010: 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31   (%1.1e) :xyz} 1
6020: 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   1 -0.00543.} {a
6030: 62 63 3a 20 31 20 31 20 28 2d 35 2e 34 65 2d 30  bc: 1 1 (-5.4e-0
6040: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
6050: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 39 20   printf-2.1.7.9 
6060: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
6070: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
6080: 20 25 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a   %d %d (%1.1g) :
6090: 78 79 7a 7d 20 31 20 31 20 2d 30 2e 30 30 35 34  xyz} 1 1 -0.0054
60a0: 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  3.} {abc: 1 1 (-
60b0: 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.005) :xyz}.do_
60c0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
60d0: 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.1 {.  sqlite3_
60e0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
60f0: 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
6100: 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61  z} 1 1 -1.0.} {a
6110: 62 63 3a 20 28 2d 31 2e 30 29 20 3a 78 79 7a 7d  bc: (-1.0) :xyz}
6120: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6130: 32 2e 31 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69  2.1.8.2 {.  sqli
6140: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
6150: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
6160: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a   :xyz} 1 1 -1.0.
6170: 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 65 2b 30  } {abc: (-1.0e+0
6180: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
6190: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 33 20   printf-2.1.8.3 
61a0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
61b0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
61c0: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
61d0: 20 31 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   1 -1.0.} {abc: 
61e0: 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  (-1) :xyz}.do_te
61f0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e  st printf-2.1.8.
6200: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
6210: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6220: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
6230: 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b  yz} 1 1 -1.0.} {
6240: 61 62 63 3a 20 31 20 31 20 28 2d 31 29 20 3a 78  abc: 1 1 (-1) :x
6250: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6260: 74 66 2d 32 2e 31 2e 38 2e 35 20 7b 0a 20 20 73  tf-2.1.8.5 {.  s
6270: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6280: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
6290: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20  d (%#g) :xyz} 1 
62a0: 31 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31  1 -1.0.} {abc: 1
62b0: 20 31 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78   1 (-1.00000) :x
62c0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
62d0: 74 66 2d 32 2e 31 2e 38 2e 36 20 7b 0a 20 20 73  tf-2.1.8.6 {.  s
62e0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
62f0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
6300: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
6310: 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  1 1 -1.0.} {abc:
6320: 20 31 20 31 20 28 2d 30 30 30 30 30 30 30 30 31   1 1 (-000000001
6330: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
6340: 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 37 20 7b  printf-2.1.8.7 {
6350: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6360: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6370: 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a 78  %d %d (%1.1f) :x
6380: 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b  yz} 1 1 -1.0.} {
6390: 61 62 63 3a 20 31 20 31 20 28 2d 31 2e 30 29 20  abc: 1 1 (-1.0) 
63a0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
63b0: 69 6e 74 66 2d 32 2e 31 2e 38 2e 38 20 7b 0a 20  intf-2.1.8.8 {. 
63c0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
63d0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
63e0: 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a   %d (%1.1e) :xyz
63f0: 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 1 1 -1.0.} {ab
6400: 63 3a 20 31 20 31 20 28 2d 31 2e 30 65 2b 30 30  c: 1 1 (-1.0e+00
6410: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
6420: 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 39 20 7b  printf-2.1.8.9 {
6430: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6440: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6450: 25 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78  %d %d (%1.1g) :x
6460: 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b  yz} 1 1 -1.0.} {
6470: 61 62 63 3a 20 31 20 31 20 28 2d 31 29 20 3a 78  abc: 1 1 (-1) :x
6480: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6490: 74 66 2d 32 2e 31 2e 39 2e 31 20 7b 0a 20 20 73  tf-2.1.9.1 {.  s
64a0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
64b0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
64c0: 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39  *f) :xyz} 1 1 -9
64d0: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
64e0: 28 2d 31 30 30 2e 30 29 20 3a 78 79 7a 7d 0a 64  (-100.0) :xyz}.d
64f0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6500: 31 2e 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  1.9.2 {.  sqlite
6510: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6520: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
6530: 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39  xyz} 1 1 -99.999
6540: 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  99.} {abc: (-1.0
6550: 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
6560: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39  est printf-2.1.9
6570: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
6580: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6590: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
65a0: 7d 20 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a  } 1 1 -99.99999.
65b0: 7d 20 7b 61 62 63 3a 20 28 2d 31 65 2b 30 32 29  } {abc: (-1e+02)
65c0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
65d0: 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 34 20 7b 0a  rintf-2.1.9.4 {.
65e0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
65f0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6600: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
6610: 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  1 1 -99.99999.} 
6620: 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 30 30 29  {abc: 1 1 (-100)
6630: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
6640: 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 35 20 7b 0a  rintf-2.1.9.5 {.
6650: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6660: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6670: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
6680: 20 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d   1 1 -99.99999.}
6690: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 30 30   {abc: 1 1 (-100
66a0: 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
66b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39  est printf-2.1.9
66c0: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
66d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
66e0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
66f0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e  ) :xyz} 1 1 -99.
6700: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20  99999.} {abc: 1 
6710: 31 20 28 2d 30 30 30 30 30 30 31 30 30 29 20 3a  1 (-000000100) :
6720: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
6730: 6e 74 66 2d 32 2e 31 2e 39 2e 37 20 7b 0a 20 20  ntf-2.1.9.7 {.  
6740: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
6750: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
6760: 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d  %d (%1.1f) :xyz}
6770: 20 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d   1 1 -99.99999.}
6780: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 30 30   {abc: 1 1 (-100
6790: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
67a0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 38  t printf-2.1.9.8
67b0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
67c0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
67d0: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
67e0: 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39  :xyz} 1 1 -99.99
67f0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  999.} {abc: 1 1 
6800: 28 2d 31 2e 30 65 2b 30 32 29 20 3a 78 79 7a 7d  (-1.0e+02) :xyz}
6810: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6820: 32 2e 31 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69  2.1.9.9 {.  sqli
6830: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
6840: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
6850: 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1g) :xyz} 1 1
6860: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
6870: 63 3a 20 31 20 31 20 28 2d 31 65 2b 30 32 29 20  c: 1 1 (-1e+02) 
6880: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6890: 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 31 20 7b 0a  intf-2.1.10.1 {.
68a0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
68b0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
68c0: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*f) :xyz} 1 1
68d0: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
68e0: 20 28 33 31 34 30 30 30 30 30 30 30 2e 30 29 20   (3140000000.0) 
68f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6900: 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 32 20 7b 0a  intf-2.1.10.2 {.
6910: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6920: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
6930: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*e) :xyz} 1 1
6940: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
6950: 20 28 33 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d   (3.1e+09) :xyz}
6960: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6970: 32 2e 31 2e 31 30 2e 33 20 7b 0a 20 20 73 71 6c  2.1.10.3 {.  sql
6980: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
6990: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
69a0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34  ) :xyz} 1 1 3.14
69b0: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 65 2b  e+9.} {abc: (3e+
69c0: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
69d0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e  t printf-2.1.10.
69e0: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
69f0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6a00: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
6a10: 79 7a 7d 20 31 20 31 20 33 2e 31 34 65 2b 39 0a  yz} 1 1 3.14e+9.
6a20: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 31  } {abc: 1 1 (3.1
6a30: 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  4e+09) :xyz}.do_
6a40: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
6a50: 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.5 {.  sqlite3
6a60: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
6a70: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
6a80: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34  ) :xyz} 1 1 3.14
6a90: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  e+9.} {abc: 1 1 
6aa0: 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20 3a 78  (3.14000e+09) :x
6ab0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6ac0: 74 66 2d 32 2e 31 2e 31 30 2e 36 20 7b 0a 20 20  tf-2.1.10.6 {.  
6ad0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
6ae0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
6af0: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
6b00: 20 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   1 1 3.14e+9.} {
6b10: 61 62 63 3a 20 31 20 31 20 28 30 30 33 2e 31 34  abc: 1 1 (003.14
6b20: 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
6b30: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
6b40: 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.7 {.  sqlite3_
6b50: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
6b60: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
6b70: 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31  f) :xyz} 1 1 3.1
6b80: 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31  4e+9.} {abc: 1 1
6b90: 20 28 33 31 34 30 30 30 30 30 30 30 2e 30 29 20   (3140000000.0) 
6ba0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6bb0: 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 38 20 7b 0a  intf-2.1.10.8 {.
6bc0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6bd0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6be0: 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79  d %d (%1.1e) :xy
6bf0: 7a 7d 20 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d  z} 1 1 3.14e+9.}
6c00: 20 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 31 65   {abc: 1 1 (3.1e
6c10: 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
6c20: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30  st printf-2.1.10
6c30: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
6c40: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6c50: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67  bc: %d %d (%1.1g
6c60: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34  ) :xyz} 1 1 3.14
6c70: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  e+9.} {abc: 1 1 
6c80: 28 33 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  (3e+09) :xyz}.do
6c90: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6ca0: 2e 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .11.2 {.  sqlite
6cb0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6cc0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
6cd0: 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37 33  xyz} 1 1 -4.7273
6ce0: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
6cf0: 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  4.7e+88) :xyz}.d
6d00: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6d10: 31 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74  1.11.3 {.  sqlit
6d20: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6d30: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
6d40: 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37  :xyz} 1 1 -4.727
6d50: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28  32e+88.} {abc: (
6d60: 2d 35 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  -5e+88) :xyz}.do
6d70: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6d80: 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .11.4 {.  sqlite
6d90: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6da0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
6db0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37  ) :xyz} 1 1 -4.7
6dc0: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
6dd0: 20 31 20 31 20 28 2d 34 2e 37 32 37 33 32 65 2b   1 1 (-4.72732e+
6de0: 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
6df0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 31 2e  t printf-2.1.11.
6e00: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
6e10: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6e20: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
6e30: 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37 33  xyz} 1 1 -4.7273
6e40: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 20  2e+88.} {abc: 1 
6e50: 31 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  1 (-4.72732e+88)
6e60: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
6e70: 72 69 6e 74 66 2d 32 2e 31 2e 31 31 2e 36 20 7b  rintf-2.1.11.6 {
6e80: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6e90: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6ea0: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
6eb0: 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37 33 32  yz} 1 1 -4.72732
6ec0: 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 20 31  e+88.} {abc: 1 1
6ed0: 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20   (-4.72732e+88) 
6ee0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6ef0: 69 6e 74 66 2d 32 2e 31 2e 31 31 2e 38 20 7b 0a  intf-2.1.11.8 {.
6f00: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6f10: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6f20: 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79  d %d (%1.1e) :xy
6f30: 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37 33 32 65  z} 1 1 -4.72732e
6f40: 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  +88.} {abc: 1 1 
6f50: 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d  (-4.7e+88) :xyz}
6f60: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6f70: 32 2e 31 2e 31 31 2e 39 20 7b 0a 20 20 73 71 6c  2.1.11.9 {.  sql
6f80: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
6f90: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
6fa0: 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20  (%1.1g) :xyz} 1 
6fb0: 31 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  1 -4.72732e+88.}
6fc0: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 35 65 2b   {abc: 1 1 (-5e+
6fd0: 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
6fe0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e  t printf-2.1.12.
6ff0: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
7000: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7010: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
7020: 20 31 20 31 20 39 2e 38 37 39 39 31 65 2b 31 34   1 1 9.87991e+14
7030: 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 65 2b  3.} {abc: (9.9e+
7040: 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
7050: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32  st printf-2.1.12
7060: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
7070: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7080: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
7090: 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65 2b 31  } 1 1 9.87991e+1
70a0: 34 33 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2b 31  43.} {abc: (1e+1
70b0: 34 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  44) :xyz}.do_tes
70c0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e  t printf-2.1.12.
70d0: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
70e0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
70f0: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
7100: 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65  yz} 1 1 9.87991e
7110: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  +143.} {abc: 1 1
7120: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
7130: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7140: 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 35 20 7b 0a  intf-2.1.12.5 {.
7150: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7160: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
7170: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
7180: 20 31 20 31 20 39 2e 38 37 39 39 31 65 2b 31 34   1 1 9.87991e+14
7190: 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 39  3.} {abc: 1 1 (9
71a0: 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79  .87991e+143) :xy
71b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
71c0: 66 2d 32 2e 31 2e 31 32 2e 36 20 7b 0a 20 20 73  f-2.1.12.6 {.  s
71d0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
71e0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
71f0: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
7200: 31 20 31 20 39 2e 38 37 39 39 31 65 2b 31 34 33  1 1 9.87991e+143
7210: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 39 2e  .} {abc: 1 1 (9.
7220: 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
7230: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
7240: 2d 32 2e 31 2e 31 32 2e 38 20 7b 0a 20 20 73 71  -2.1.12.8 {.  sq
7250: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7260: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
7270: 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31   (%1.1e) :xyz} 1
7280: 20 31 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   1 9.87991e+143.
7290: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 39 2e 39  } {abc: 1 1 (9.9
72a0: 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
72b0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
72c0: 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.9 {.  sqlite3
72d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
72e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
72f0: 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e  1g) :xyz} 1 1 9.
7300: 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
7310: 63 3a 20 31 20 31 20 28 31 65 2b 31 34 34 29 20  c: 1 1 (1e+144) 
7320: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7330: 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 31 20 7b 0a  intf-2.1.13.1 {.
7340: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7350: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
7360: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*f) :xyz} 1 1
7370: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
7380: 7b 61 62 63 3a 20 28 2d 30 2e 30 29 20 3a 78 79  {abc: (-0.0) :xy
7390: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
73a0: 66 2d 32 2e 31 2e 31 33 2e 32 20 7b 0a 20 20 73  f-2.1.13.2 {.  s
73b0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
73c0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
73d0: 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 36  *e) :xyz} 1 1 -6
73e0: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
73f0: 63 3a 20 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78  c: (-6.3e-09) :x
7400: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
7410: 74 66 2d 32 2e 31 2e 31 33 2e 33 20 7b 0a 20 20  tf-2.1.13.3 {.  
7420: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
7430: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
7440: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .*g) :xyz} 1 1 -
7450: 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
7460: 62 63 3a 20 28 2d 36 65 2d 30 39 29 20 3a 78 79  bc: (-6e-09) :xy
7470: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
7480: 66 2d 32 2e 31 2e 31 33 2e 34 20 7b 0a 20 20 73  f-2.1.13.4 {.  s
7490: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
74a0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
74b0: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31  d (%g) :xyz} 1 1
74c0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
74d0: 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e 32 38  {abc: 1 1 (-6.28
74e0: 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
74f0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7500: 31 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74  1.13.5 {.  sqlit
7510: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7520: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7530: 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 36  #g) :xyz} 1 1 -6
7540: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
7550: 63 3a 20 31 20 31 20 28 2d 36 2e 32 38 37 32 39  c: 1 1 (-6.28729
7560: 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
7570: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
7580: 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.6 {.  sqlite3_
7590: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
75a0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
75b0: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 36 2e  g) :xyz} 1 1 -6.
75c0: 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
75d0: 3a 20 31 20 31 20 28 2d 36 2e 32 38 37 32 39 65  : 1 1 (-6.28729e
75e0: 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
75f0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33  st printf-2.1.13
7600: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
7610: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7620: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66  bc: %d %d (%1.1f
7630: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 36 2e 32  ) :xyz} 1 1 -6.2
7640: 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
7650: 20 31 20 31 20 28 2d 30 2e 30 29 20 3a 78 79 7a   1 1 (-0.0) :xyz
7660: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
7670: 2d 32 2e 31 2e 31 33 2e 38 20 7b 0a 20 20 73 71  -2.1.13.8 {.  sq
7680: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7690: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
76a0: 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31   (%1.1e) :xyz} 1
76b0: 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   1 -6.287291e-9.
76c0: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e  } {abc: 1 1 (-6.
76d0: 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e-09) :xyz}.do_
76e0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
76f0: 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.9 {.  sqlite3
7700: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
7710: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
7720: 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 36  1g) :xyz} 1 1 -6
7730: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
7740: 63 3a 20 31 20 31 20 28 2d 36 65 2d 30 39 29 20  c: 1 1 (-6e-09) 
7750: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7760: 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 31 20 7b 0a  intf-2.1.14.1 {.
7770: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7780: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
7790: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*f) :xyz} 1 1
77a0: 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
77b0: 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 29 20 3a  .} {abc: (0.0) :
77c0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
77d0: 6e 74 66 2d 32 2e 31 2e 31 34 2e 32 20 7b 0a 20  ntf-2.1.14.2 {. 
77e0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
77f0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
7800: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20  *.*e) :xyz} 1 1 
7810: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
7820: 7d 20 7b 61 62 63 3a 20 28 33 2e 34 65 2d 31 31  } {abc: (3.4e-11
7830: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
7840: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 33   printf-2.1.14.3
7850: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7860: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7870: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
7880: 31 20 31 20 33 2e 33 38 38 32 36 33 39 32 65 2d  1 1 3.38826392e-
7890: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 65 2d  110.} {abc: (3e-
78a0: 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
78b0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34  st printf-2.1.14
78c0: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
78d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
78e0: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
78f0: 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36  xyz} 1 1 3.38826
7900: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
7910: 20 31 20 31 20 28 33 2e 33 38 38 32 36 65 2d 31   1 1 (3.38826e-1
7920: 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
7930: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e  t printf-2.1.14.
7940: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
7950: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7960: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
7970: 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36  xyz} 1 1 3.38826
7980: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
7990: 20 31 20 31 20 28 33 2e 33 38 38 32 36 65 2d 31   1 1 (3.38826e-1
79a0: 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
79b0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e  t printf-2.1.14.
79c0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
79d0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
79e0: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
79f0: 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38   :xyz} 1 1 3.388
7a00: 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
7a10: 63 3a 20 31 20 31 20 28 33 2e 33 38 38 32 36 65  c: 1 1 (3.38826e
7a20: 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
7a30: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
7a40: 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.7 {.  sqlite3_
7a50: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
7a60: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
7a70: 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33  f) :xyz} 1 1 3.3
7a80: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
7a90: 61 62 63 3a 20 31 20 31 20 28 30 2e 30 29 20 3a  abc: 1 1 (0.0) :
7aa0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
7ab0: 6e 74 66 2d 32 2e 31 2e 31 34 2e 38 20 7b 0a 20  ntf-2.1.14.8 {. 
7ac0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7ad0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
7ae0: 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a   %d (%1.1e) :xyz
7af0: 7d 20 31 20 31 20 33 2e 33 38 38 32 36 33 39 32  } 1 1 3.38826392
7b00: 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 20  e-110.} {abc: 1 
7b10: 31 20 28 33 2e 34 65 2d 31 31 30 29 20 3a 78 79  1 (3.4e-110) :xy
7b20: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
7b30: 66 2d 32 2e 31 2e 31 34 2e 39 20 7b 0a 20 20 73  f-2.1.14.9 {.  s
7b40: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
7b50: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
7b60: 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20  d (%1.1g) :xyz} 
7b70: 31 20 31 20 33 2e 33 38 38 32 36 33 39 32 65 2d  1 1 3.38826392e-
7b80: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  110.} {abc: 1 1 
7b90: 28 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  (3e-110) :xyz}.d
7ba0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7bb0: 32 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  2.1.1 {.  sqlite
7bc0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
7bd0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
7be0: 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d  xyz} 5 5 0.001.}
7bf0: 20 7b 61 62 63 3a 20 28 30 2e 30 30 31 30 30 29   {abc: (0.00100)
7c00: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
7c10: 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 32 20 7b 0a  rintf-2.2.1.2 {.
7c20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7c30: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
7c40: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*e) :xyz} 5 5
7c50: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28   0.001.} {abc: (
7c60: 31 2e 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79  1.00000e-03) :xy
7c70: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
7c80: 66 2d 32 2e 32 2e 31 2e 33 20 7b 0a 20 20 73 71  f-2.2.1.3 {.  sq
7c90: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7ca0: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
7cb0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  g) :xyz} 5 5 0.0
7cc0: 30 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  01.} {abc: (0.00
7cd0: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
7ce0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 34 20   printf-2.2.1.4 
7cf0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7d00: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7d10: 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
7d20: 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61  } 5 5 0.001.} {a
7d30: 62 63 3a 20 35 20 35 20 28 30 2e 30 30 31 29 20  bc: 5 5 (0.001) 
7d40: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7d50: 69 6e 74 66 2d 32 2e 32 2e 31 2e 35 20 7b 0a 20  intf-2.2.1.5 {. 
7d60: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7d70: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
7d80: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
7d90: 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  5 5 0.001.} {abc
7da0: 3a 20 35 20 35 20 28 30 2e 30 30 31 30 30 30 30  : 5 5 (0.0010000
7db0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
7dc0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 36 20   printf-2.2.1.6 
7dd0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7de0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7df0: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
7e00: 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d  xyz} 5 5 0.001.}
7e10: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30 30   {abc: 5 5 (0000
7e20: 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  00.001) :xyz}.do
7e30: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
7e40: 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.7 {.  sqlite3
7e50: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
7e60: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
7e70: 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  5f) :xyz} 5 5 0.
7e80: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  001.} {abc: 5 5 
7e90: 28 30 2e 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a  (0.00100) :xyz}.
7ea0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
7eb0: 2e 32 2e 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .2.1.8 {.  sqlit
7ec0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7ed0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7ee0: 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5e) :xyz} 5 5 
7ef0: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 35 20  0.001.} {abc: 5 
7f00: 35 20 28 31 2e 30 30 30 30 30 65 2d 30 33 29 20  5 (1.00000e-03) 
7f10: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7f20: 69 6e 74 66 2d 32 2e 32 2e 31 2e 39 20 7b 0a 20  intf-2.2.1.9 {. 
7f30: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7f40: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
7f50: 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a   %d (%5.5g) :xyz
7f60: 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61  } 5 5 0.001.} {a
7f70: 62 63 3a 20 35 20 35 20 28 30 2e 30 30 31 29 20  bc: 5 5 (0.001) 
7f80: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7f90: 69 6e 74 66 2d 32 2e 32 2e 32 2e 31 20 7b 0a 20  intf-2.2.2.1 {. 
7fa0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7fb0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
7fc0: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*f) :xyz} 5 5 
7fd0: 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
7fe0: 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  (0.00000) :xyz}.
7ff0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8000: 2e 32 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .2.2.2 {.  sqlit
8010: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8020: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
8030: 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32  :xyz} 5 5 1.0e-2
8040: 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  0.} {abc: (1.000
8050: 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e-20) :xyz}.do
8060: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8070: 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.3 {.  sqlite3
8080: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8090: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
80a0: 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a  yz} 5 5 1.0e-20.
80b0: 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32 30 29 20  } {abc: (1e-20) 
80c0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
80d0: 69 6e 74 66 2d 32 2e 32 2e 32 2e 34 20 7b 0a 20  intf-2.2.2.4 {. 
80e0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
80f0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
8100: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35   %d (%g) :xyz} 5
8110: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
8120: 63 3a 20 35 20 35 20 28 31 65 2d 32 30 29 20 3a  c: 5 5 (1e-20) :
8130: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8140: 6e 74 66 2d 32 2e 32 2e 32 2e 35 20 7b 0a 20 20  ntf-2.2.2.5 {.  
8150: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8160: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
8170: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35  %d (%#g) :xyz} 5
8180: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
8190: 63 3a 20 35 20 35 20 28 31 2e 30 30 30 30 30 65  c: 5 5 (1.00000e
81a0: 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
81b0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e  st printf-2.2.2.
81c0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
81d0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
81e0: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
81f0: 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d   :xyz} 5 5 1.0e-
8200: 32 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  20.} {abc: 5 5 (
8210: 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79 7a  000001e-20) :xyz
8220: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8230: 2d 32 2e 32 2e 32 2e 37 20 7b 0a 20 20 73 71 6c  -2.2.2.7 {.  sql
8240: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8250: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
8260: 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20  (%5.5f) :xyz} 5 
8270: 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  5 1.0e-20.} {abc
8280: 3a 20 35 20 35 20 28 30 2e 30 30 30 30 30 29 20  : 5 5 (0.00000) 
8290: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
82a0: 69 6e 74 66 2d 32 2e 32 2e 32 2e 38 20 7b 0a 20  intf-2.2.2.8 {. 
82b0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
82c0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
82d0: 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a   %d (%5.5e) :xyz
82e0: 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20  } 5 5 1.0e-20.} 
82f0: 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30 30 30  {abc: 5 5 (1.000
8300: 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e-20) :xyz}.do
8310: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8320: 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.9 {.  sqlite3
8330: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8340: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
8350: 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  5g) :xyz} 5 5 1.
8360: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 35 20  0e-20.} {abc: 5 
8370: 35 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  5 (1e-20) :xyz}.
8380: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8390: 2e 32 2e 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .2.3.1 {.  sqlit
83a0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
83b0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
83c0: 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a 7d 20  :xyz} 5 5 1.0.} 
83d0: 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 29 20  {abc: (1.00000) 
83e0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
83f0: 69 6e 74 66 2d 32 2e 32 2e 33 2e 32 20 7b 0a 20  intf-2.2.3.2 {. 
8400: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8410: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
8420: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*e) :xyz} 5 5 
8430: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  1.0.} {abc: (1.0
8440: 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0000e+00) :xyz}.
8450: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8460: 2e 32 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .2.3.3 {.  sqlit
8470: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8480: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
8490: 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a 7d 20  :xyz} 5 5 1.0.} 
84a0: 7b 61 62 63 3a 20 28 20 20 20 20 31 29 20 3a 78  {abc: (    1) :x
84b0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
84c0: 74 66 2d 32 2e 32 2e 33 2e 34 20 7b 0a 20 20 73  tf-2.2.3.4 {.  s
84d0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
84e0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
84f0: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35  d (%g) :xyz} 5 5
8500: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35   1.0.} {abc: 5 5
8510: 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   (1) :xyz}.do_te
8520: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e  st printf-2.2.3.
8530: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
8540: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
8550: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
8560: 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a 7d 20 7b  xyz} 5 5 1.0.} {
8570: 61 62 63 3a 20 35 20 35 20 28 31 2e 30 30 30 30  abc: 5 5 (1.0000
8580: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
8590: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e 36 20   printf-2.2.3.6 
85a0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
85b0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
85c0: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
85d0: 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a 7d 20 7b  xyz} 5 5 1.0.} {
85e0: 61 62 63 3a 20 35 20 35 20 28 30 30 30 30 30 30  abc: 5 5 (000000
85f0: 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0001) :xyz}.do_t
8600: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33  est printf-2.2.3
8610: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
8620: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8630: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66  bc: %d %d (%5.5f
8640: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a  ) :xyz} 5 5 1.0.
8650: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30  } {abc: 5 5 (1.0
8660: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
8670: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33  est printf-2.2.3
8680: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
8690: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
86a0: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65  bc: %d %d (%5.5e
86b0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a  ) :xyz} 5 5 1.0.
86c0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30  } {abc: 5 5 (1.0
86d0: 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0000e+00) :xyz}.
86e0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
86f0: 2e 32 2e 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .2.3.9 {.  sqlit
8700: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8710: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
8720: 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5g) :xyz} 5 5 
8730: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  1.0.} {abc: 5 5 
8740: 28 20 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f  (    1) :xyz}.do
8750: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8760: 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.1 {.  sqlite3
8770: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8780: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
8790: 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20 7b 61  yz} 5 5 0.0.} {a
87a0: 62 63 3a 20 28 30 2e 30 30 30 30 30 29 20 3a 78  bc: (0.00000) :x
87b0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
87c0: 74 66 2d 32 2e 32 2e 34 2e 32 20 7b 0a 20 20 73  tf-2.2.4.2 {.  s
87d0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
87e0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
87f0: 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  *e) :xyz} 5 5 0.
8800: 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30  0.} {abc: (0.000
8810: 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
8820: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8830: 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.3 {.  sqlite3
8840: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8850: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
8860: 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20 7b 61  yz} 5 5 0.0.} {a
8870: 62 63 3a 20 28 20 20 20 20 30 29 20 3a 78 79 7a  bc: (    0) :xyz
8880: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8890: 2d 32 2e 32 2e 34 2e 34 20 7b 0a 20 20 73 71 6c  -2.2.4.4 {.  sql
88a0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
88b0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
88c0: 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 30  (%g) :xyz} 5 5 0
88d0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
88e0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
88f0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 35 20   printf-2.2.4.5 
8900: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
8910: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
8920: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
8930: 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20 7b 61 62  z} 5 5 0.0.} {ab
8940: 63 3a 20 35 20 35 20 28 30 2e 30 30 30 30 30 29  c: 5 5 (0.00000)
8950: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8960: 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 36 20 7b 0a  rintf-2.2.4.6 {.
8970: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8980: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
8990: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
89a0: 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20 7b 61 62  z} 5 5 0.0.} {ab
89b0: 63 3a 20 35 20 35 20 28 30 30 30 30 30 30 30 30  c: 5 5 (00000000
89c0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
89d0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 37  t printf-2.2.4.7
89e0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
89f0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
8a00: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66 29 20  : %d %d (%5.5f) 
8a10: 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20  :xyz} 5 5 0.0.} 
8a20: 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 30  {abc: 5 5 (0.000
8a30: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
8a40: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 38  t printf-2.2.4.8
8a50: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
8a60: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
8a70: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
8a80: 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20  :xyz} 5 5 0.0.} 
8a90: 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 30  {abc: 5 5 (0.000
8aa0: 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
8ab0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8ac0: 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.9 {.  sqlite3
8ad0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8ae0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
8af0: 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  5g) :xyz} 5 5 0.
8b00: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 20  0.} {abc: 5 5 ( 
8b10: 20 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74     0) :xyz}.do_t
8b20: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35  est printf-2.2.5
8b30: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
8b40: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8b50: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
8b60: 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61  } 5 5 100.0.} {a
8b70: 62 63 3a 20 28 31 30 30 2e 30 30 30 30 30 29 20  bc: (100.00000) 
8b80: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
8b90: 69 6e 74 66 2d 32 2e 32 2e 35 2e 32 20 7b 0a 20  intf-2.2.5.2 {. 
8ba0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8bb0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
8bc0: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*e) :xyz} 5 5 
8bd0: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  100.0.} {abc: (1
8be0: 2e 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a  .00000e+02) :xyz
8bf0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8c00: 2d 32 2e 32 2e 35 2e 33 20 7b 0a 20 20 73 71 6c  -2.2.5.3 {.  sql
8c10: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8c20: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
8c30: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e  ) :xyz} 5 5 100.
8c40: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 31 30 30  0.} {abc: (  100
8c50: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
8c60: 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 34 20 7b  printf-2.2.5.4 {
8c70: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8c80: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8c90: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
8ca0: 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62   5 5 100.0.} {ab
8cb0: 63 3a 20 35 20 35 20 28 31 30 30 29 20 3a 78 79  c: 5 5 (100) :xy
8cc0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8cd0: 66 2d 32 2e 32 2e 35 2e 35 20 7b 0a 20 20 73 71  f-2.2.5.5 {.  sq
8ce0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8cf0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
8d00: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35 20 35   (%#g) :xyz} 5 5
8d10: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35   100.0.} {abc: 5
8d20: 20 35 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79   5 (100.000) :xy
8d30: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8d40: 66 2d 32 2e 32 2e 35 2e 36 20 7b 0a 20 20 73 71  f-2.2.5.6 {.  sq
8d50: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8d60: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
8d70: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 35   (%010g) :xyz} 5
8d80: 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   5 100.0.} {abc:
8d90: 20 35 20 35 20 28 30 30 30 30 30 30 30 31 30 30   5 5 (0000000100
8da0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
8db0: 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 37 20 7b  printf-2.2.5.7 {
8dc0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8dd0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8de0: 25 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78  %d %d (%5.5f) :x
8df0: 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20  yz} 5 5 100.0.} 
8e00: 7b 61 62 63 3a 20 35 20 35 20 28 31 30 30 2e 30  {abc: 5 5 (100.0
8e10: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
8e20: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35  est printf-2.2.5
8e30: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
8e40: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8e50: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65  bc: %d %d (%5.5e
8e60: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e  ) :xyz} 5 5 100.
8e70: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31  0.} {abc: 5 5 (1
8e80: 2e 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a  .00000e+02) :xyz
8e90: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8ea0: 2d 32 2e 32 2e 35 2e 39 20 7b 0a 20 20 73 71 6c  -2.2.5.9 {.  sql
8eb0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8ec0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
8ed0: 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20  (%5.5g) :xyz} 5 
8ee0: 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 100.0.} {abc: 
8ef0: 35 20 35 20 28 20 20 31 30 30 29 20 3a 78 79 7a  5 5 (  100) :xyz
8f00: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8f10: 2d 32 2e 32 2e 36 2e 31 20 7b 0a 20 20 73 71 6c  -2.2.6.1 {.  sql
8f20: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8f30: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
8f40: 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39  ) :xyz} 5 5 9.99
8f50: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39  999.} {abc: (9.9
8f60: 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
8f70: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36  est printf-2.2.6
8f80: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
8f90: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8fa0: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
8fb0: 7d 20 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20  } 5 5 9.99999.} 
8fc0: 7b 61 62 63 3a 20 28 39 2e 39 39 39 39 39 65 2b  {abc: (9.99999e+
8fd0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
8fe0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 33  t printf-2.2.6.3
8ff0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9000: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9010: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
9020: 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 5 9.99999.} {a
9030: 62 63 3a 20 28 20 20 20 31 30 29 20 3a 78 79 7a  bc: (   10) :xyz
9040: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9050: 2d 32 2e 32 2e 36 2e 34 20 7b 0a 20 20 73 71 6c  -2.2.6.4 {.  sql
9060: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
9070: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
9080: 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 39  (%g) :xyz} 5 5 9
9090: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35  .99999.} {abc: 5
90a0: 20 35 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   5 (9.99999) :xy
90b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
90c0: 66 2d 32 2e 32 2e 36 2e 35 20 7b 0a 20 20 73 71  f-2.2.6.5 {.  sq
90d0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
90e0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
90f0: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35 20 35   (%#g) :xyz} 5 5
9100: 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
9110: 20 35 20 35 20 28 39 2e 39 39 39 39 39 29 20 3a   5 5 (9.99999) :
9120: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9130: 6e 74 66 2d 32 2e 32 2e 36 2e 36 20 7b 0a 20 20  ntf-2.2.6.6 {.  
9140: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9150: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9160: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
9170: 20 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b   5 5 9.99999.} {
9180: 61 62 63 3a 20 35 20 35 20 28 30 30 30 39 2e 39  abc: 5 5 (0009.9
9190: 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
91a0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36  est printf-2.2.6
91b0: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
91c0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
91d0: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66  bc: %d %d (%5.5f
91e0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39  ) :xyz} 5 5 9.99
91f0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  999.} {abc: 5 5 
9200: 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  (9.99999) :xyz}.
9210: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
9220: 2e 32 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .2.6.8 {.  sqlit
9230: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9240: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
9250: 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5e) :xyz} 5 5 
9260: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
9270: 35 20 35 20 28 39 2e 39 39 39 39 39 65 2b 30 30  5 5 (9.99999e+00
9280: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9290: 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 39 20 7b  printf-2.2.6.9 {
92a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
92b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
92c0: 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78  %d %d (%5.5g) :x
92d0: 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39 0a  yz} 5 5 9.99999.
92e0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 20 20 20  } {abc: 5 5 (   
92f0: 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
9300: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 31  t printf-2.2.7.1
9310: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9320: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9330: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
9340: 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  5 5 -0.00543.} {
9350: 61 62 63 3a 20 28 2d 30 2e 30 30 35 34 33 29 20  abc: (-0.00543) 
9360: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9370: 69 6e 74 66 2d 32 2e 32 2e 37 2e 32 20 7b 0a 20  intf-2.2.7.2 {. 
9380: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9390: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
93a0: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*e) :xyz} 5 5 
93b0: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
93c0: 20 28 2d 35 2e 34 33 30 30 30 65 2d 30 33 29 20   (-5.43000e-03) 
93d0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
93e0: 69 6e 74 66 2d 32 2e 32 2e 37 2e 33 20 7b 0a 20  intf-2.2.7.3 {. 
93f0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9400: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
9410: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*g) :xyz} 5 5 
9420: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
9430: 20 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a   (-0.00543) :xyz
9440: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9450: 2d 32 2e 32 2e 37 2e 34 20 7b 0a 20 20 73 71 6c  -2.2.7.4 {.  sql
9460: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
9470: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
9480: 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  (%g) :xyz} 5 5 -
9490: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
94a0: 35 20 35 20 28 2d 30 2e 30 30 35 34 33 29 20 3a  5 5 (-0.00543) :
94b0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
94c0: 6e 74 66 2d 32 2e 32 2e 37 2e 35 20 7b 0a 20 20  ntf-2.2.7.5 {.  
94d0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
94e0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
94f0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35  %d (%#g) :xyz} 5
9500: 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   5 -0.00543.} {a
9510: 62 63 3a 20 35 20 35 20 28 2d 30 2e 30 30 35 34  bc: 5 5 (-0.0054
9520: 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  3000) :xyz}.do_t
9530: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37  est printf-2.2.7
9540: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
9550: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
9560: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
9570: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 30 2e 30  ) :xyz} 5 5 -0.0
9580: 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35  0543.} {abc: 5 5
9590: 20 28 2d 30 30 30 2e 30 30 35 34 33 29 20 3a 78   (-000.00543) :x
95a0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
95b0: 74 66 2d 32 2e 32 2e 37 2e 37 20 7b 0a 20 20 73  tf-2.2.7.7 {.  s
95c0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
95d0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
95e0: 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20  d (%5.5f) :xyz} 
95f0: 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  5 5 -0.00543.} {
9600: 61 62 63 3a 20 35 20 35 20 28 2d 30 2e 30 30 35  abc: 5 5 (-0.005
9610: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
9620: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 38  t printf-2.2.7.8
9630: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9640: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9650: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
9660: 3a 78 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35  :xyz} 5 5 -0.005
9670: 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  43.} {abc: 5 5 (
9680: 2d 35 2e 34 33 30 30 30 65 2d 30 33 29 20 3a 78  -5.43000e-03) :x
9690: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
96a0: 74 66 2d 32 2e 32 2e 37 2e 39 20 7b 0a 20 20 73  tf-2.2.7.9 {.  s
96b0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
96c0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
96d0: 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20  d (%5.5g) :xyz} 
96e0: 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  5 5 -0.00543.} {
96f0: 61 62 63 3a 20 35 20 35 20 28 2d 30 2e 30 30 35  abc: 5 5 (-0.005
9700: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
9710: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 38 2e 31  t printf-2.2.8.1
9720: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9730: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9740: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
9750: 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  5 5 -1.0.} {abc:
9760: 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a   (-1.00000) :xyz
9770: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9780: 2d 32 2e 32 2e 38 2e 32 20 7b 0a 20 20 73 71 6c  -2.2.8.2 {.  sql
9790: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
97a0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
97b0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30  ) :xyz} 5 5 -1.0
97c0: 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30  .} {abc: (-1.000
97d0: 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
97e0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
97f0: 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.3 {.  sqlite3
9800: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
9810: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
9820: 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b  yz} 5 5 -1.0.} {
9830: 61 62 63 3a 20 28 20 20 20 2d 31 29 20 3a 78 79  abc: (   -1) :xy
9840: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
9850: 66 2d 32 2e 32 2e 38 2e 34 20 7b 0a 20 20 73 71  f-2.2.8.4 {.  sq
9860: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9870: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
9880: 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20   (%g) :xyz} 5 5 
9890: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35  -1.0.} {abc: 5 5
98a0: 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   (-1) :xyz}.do_t
98b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 38  est printf-2.2.8
98c0: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
98d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
98e0: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
98f0: 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d  :xyz} 5 5 -1.0.}
9900: 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 31 2e 30   {abc: 5 5 (-1.0
9910: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
9920: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 38  est printf-2.2.8
9930: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
9940: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
9950: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
9960: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30  ) :xyz} 5 5 -1.0
9970: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30  .} {abc: 5 5 (-0
9980: 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a  00000001) :xyz}.
9990: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
99a0: 2e 32 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .2.8.7 {.  sqlit
99b0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
99c0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
99d0: 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5f) :xyz} 5 5 
99e0: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35  -1.0.} {abc: 5 5
99f0: 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a   (-1.00000) :xyz
9a00: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9a10: 2d 32 2e 32 2e 38 2e 38 20 7b 0a 20 20 73 71 6c  -2.2.8.8 {.  sql
9a20: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
9a30: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
9a40: 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20  (%5.5e) :xyz} 5 
9a50: 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35  5 -1.0.} {abc: 5
9a60: 20 35 20 28 2d 31 2e 30 30 30 30 30 65 2b 30 30   5 (-1.00000e+00
9a70: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9a80: 70 72 69 6e 74 66 2d 32 2e 32 2e 38 2e 39 20 7b  printf-2.2.8.9 {
9a90: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
9aa0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9ab0: 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78  %d %d (%5.5g) :x
9ac0: 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b  yz} 5 5 -1.0.} {
9ad0: 61 62 63 3a 20 35 20 35 20 28 20 20 20 2d 31 29  abc: 5 5 (   -1)
9ae0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
9af0: 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 31 20 7b 0a  rintf-2.2.9.1 {.
9b00: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
9b10: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
9b20: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*f) :xyz} 5 5
9b30: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
9b40: 63 3a 20 28 2d 39 39 2e 39 39 39 39 39 29 20 3a  c: (-99.99999) :
9b50: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9b60: 6e 74 66 2d 32 2e 32 2e 39 2e 32 20 7b 0a 20 20  ntf-2.2.9.2 {.  
9b70: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9b80: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
9b90: 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  .*e) :xyz} 5 5 -
9ba0: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
9bb0: 20 28 2d 31 2e 30 30 30 30 30 65 2b 30 32 29 20   (-1.00000e+02) 
9bc0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9bd0: 69 6e 74 66 2d 32 2e 32 2e 39 2e 33 20 7b 0a 20  intf-2.2.9.3 {. 
9be0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9bf0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
9c00: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*g) :xyz} 5 5 
9c10: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
9c20: 3a 20 28 20 2d 31 30 30 29 20 3a 78 79 7a 7d 0a  : ( -100) :xyz}.
9c30: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
9c40: 2e 32 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .2.9.4 {.  sqlit
9c50: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9c60: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
9c70: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 39 39  g) :xyz} 5 5 -99
9c80: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35  .99999.} {abc: 5
9c90: 20 35 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a   5 (-100) :xyz}.
9ca0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
9cb0: 2e 32 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .2.9.5 {.  sqlit
9cc0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9cd0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
9ce0: 23 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 39  #g) :xyz} 5 5 -9
9cf0: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
9d00: 35 20 35 20 28 2d 31 30 30 2e 30 30 30 29 20 3a  5 5 (-100.000) :
9d10: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9d20: 6e 74 66 2d 32 2e 32 2e 39 2e 36 20 7b 0a 20 20  ntf-2.2.9.6 {.  
9d30: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9d40: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9d50: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
9d60: 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d   5 5 -99.99999.}
9d70: 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30 30 30   {abc: 5 5 (-000
9d80: 30 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000100) :xyz}.do
9d90: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
9da0: 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.7 {.  sqlite3
9db0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
9dc0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
9dd0: 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 39  5f) :xyz} 5 5 -9
9de0: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
9df0: 35 20 35 20 28 2d 39 39 2e 39 39 39 39 39 29 20  5 5 (-99.99999) 
9e00: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9e10: 69 6e 74 66 2d 32 2e 32 2e 39 2e 38 20 7b 0a 20  intf-2.2.9.8 {. 
9e20: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9e30: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
9e40: 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a   %d (%5.5e) :xyz
9e50: 7d 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a  } 5 5 -99.99999.
9e60: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 31 2e  } {abc: 5 5 (-1.
9e70: 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d  00000e+02) :xyz}
9e80: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
9e90: 32 2e 32 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69  2.2.9.9 {.  sqli
9ea0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
9eb0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
9ec0: 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5g) :xyz} 5 5
9ed0: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
9ee0: 63 3a 20 35 20 35 20 28 20 2d 31 30 30 29 20 3a  c: 5 5 ( -100) :
9ef0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9f00: 6e 74 66 2d 32 2e 32 2e 31 30 2e 31 20 7b 0a 20  ntf-2.2.10.1 {. 
9f10: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9f20: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
9f30: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*f) :xyz} 5 5 
9f40: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
9f50: 28 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 30  (3140000000.0000
9f60: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
9f70: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 32   printf-2.2.10.2
9f80: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9f90: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9fa0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
9fb0: 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  5 5 3.14e+9.} {a
9fc0: 62 63 3a 20 28 33 2e 31 34 30 30 30 65 2b 30 39  bc: (3.14000e+09
9fd0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9fe0: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 33 20  printf-2.2.10.3 
9ff0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a000: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a010: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35   (%*.*g) :xyz} 5
a020: 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
a030: 63 3a 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78  c: (3.14e+09) :x
a040: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a050: 74 66 2d 32 2e 32 2e 31 30 2e 34 20 7b 0a 20 20  tf-2.2.10.4 {.  
a060: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
a070: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
a080: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20  %d (%g) :xyz} 5 
a090: 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  5 3.14e+9.} {abc
a0a0: 3a 20 35 20 35 20 28 33 2e 31 34 65 2b 30 39 29  : 5 5 (3.14e+09)
a0b0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a0c0: 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 35 20 7b  rintf-2.2.10.5 {
a0d0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a0e0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a0f0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
a100: 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20  } 5 5 3.14e+9.} 
a110: 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 31 34 30  {abc: 5 5 (3.140
a120: 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  00e+09) :xyz}.do
a130: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
a140: 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .10.6 {.  sqlite
a150: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
a160: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
a170: 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33  10g) :xyz} 5 5 3
a180: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 35  .14e+9.} {abc: 5
a190: 20 35 20 28 30 30 33 2e 31 34 65 2b 30 39 29 20   5 (003.14e+09) 
a1a0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a1b0: 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 37 20 7b 0a  intf-2.2.10.7 {.
a1c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a1d0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
a1e0: 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79  d %d (%5.5f) :xy
a1f0: 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d  z} 5 5 3.14e+9.}
a200: 20 7b 61 62 63 3a 20 35 20 35 20 28 33 31 34 30   {abc: 5 5 (3140
a210: 30 30 30 30 30 30 2e 30 30 30 30 30 29 20 3a 78  000000.00000) :x
a220: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a230: 74 66 2d 32 2e 32 2e 31 30 2e 38 20 7b 0a 20 20  tf-2.2.10.8 {.  
a240: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
a250: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
a260: 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d  %d (%5.5e) :xyz}
a270: 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   5 5 3.14e+9.} {
a280: 61 62 63 3a 20 35 20 35 20 28 33 2e 31 34 30 30  abc: 5 5 (3.1400
a290: 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+09) :xyz}.do_
a2a0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
a2b0: 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.9 {.  sqlite3
a2c0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
a2d0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
a2e0: 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e  5g) :xyz} 5 5 3.
a2f0: 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 35 20  14e+9.} {abc: 5 
a300: 35 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79  5 (3.14e+09) :xy
a310: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
a320: 66 2d 32 2e 32 2e 31 31 2e 32 20 7b 0a 20 20 73  f-2.2.11.2 {.  s
a330: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
a340: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
a350: 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 34  *e) :xyz} 5 5 -4
a360: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
a370: 63 3a 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38  c: (-4.72732e+88
a380: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a390: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 33 20  printf-2.2.11.3 
a3a0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a3b0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a3c0: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35   (%*.*g) :xyz} 5
a3d0: 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a   5 -4.72732e+88.
a3e0: 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 33  } {abc: (-4.7273
a3f0: 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
a400: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
a410: 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.4 {.  sqlite3_
a420: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
a430: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
a440: 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37  :xyz} 5 5 -4.727
a450: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35  32e+88.} {abc: 5
a460: 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   5 (-4.72732e+88
a470: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a480: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 35 20  printf-2.2.11.5 
a490: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a4a0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a4b0: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
a4c0: 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32 65  z} 5 5 -4.72732e
a4d0: 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  +88.} {abc: 5 5 
a4e0: 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a  (-4.72732e+88) :
a4f0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
a500: 6e 74 66 2d 32 2e 32 2e 31 31 2e 36 20 7b 0a 20  ntf-2.2.11.6 {. 
a510: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
a520: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
a530: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
a540: 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32 65 2b  } 5 5 -4.72732e+
a550: 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  88.} {abc: 5 5 (
a560: 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
a570: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a580: 74 66 2d 32 2e 32 2e 31 31 2e 38 20 7b 0a 20 20  tf-2.2.11.8 {.  
a590: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
a5a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
a5b0: 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d  %d (%5.5e) :xyz}
a5c0: 20 35 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38   5 5 -4.72732e+8
a5d0: 38 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d  8.} {abc: 5 5 (-
a5e0: 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
a5f0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
a600: 66 2d 32 2e 32 2e 31 31 2e 39 20 7b 0a 20 20 73  f-2.2.11.9 {.  s
a610: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
a620: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
a630: 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20  d (%5.5g) :xyz} 
a640: 35 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  5 5 -4.72732e+88
a650: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 34  .} {abc: 5 5 (-4
a660: 2e 37 32 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d  .7273e+88) :xyz}
a670: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
a680: 32 2e 32 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c  2.2.12.2 {.  sql
a690: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
a6a0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
a6b0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 38 37  ) :xyz} 5 5 9.87
a6c0: 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
a6d0: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
a6e0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a6f0: 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 33 20 7b 0a  intf-2.2.12.3 {.
a700: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a710: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
a720: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*g) :xyz} 5 5
a730: 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
a740: 7b 61 62 63 3a 20 28 39 2e 38 37 39 39 65 2b 31  {abc: (9.8799e+1
a750: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
a760: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e  t printf-2.2.12.
a770: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
a780: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
a790: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
a7a0: 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65  yz} 5 5 9.87991e
a7b0: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35  +143.} {abc: 5 5
a7c0: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
a7d0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a7e0: 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 35 20 7b 0a  intf-2.2.12.5 {.
a7f0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a800: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
a810: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
a820: 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34   5 5 9.87991e+14
a830: 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 39  3.} {abc: 5 5 (9
a840: 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79  .87991e+143) :xy
a850: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
a860: 66 2d 32 2e 32 2e 31 32 2e 36 20 7b 0a 20 20 73  f-2.2.12.6 {.  s
a870: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
a880: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
a890: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
a8a0: 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33  5 5 9.87991e+143
a8b0: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 39 2e  .} {abc: 5 5 (9.
a8c0: 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
a8d0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
a8e0: 2d 32 2e 32 2e 31 32 2e 38 20 7b 0a 20 20 73 71  -2.2.12.8 {.  sq
a8f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
a900: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
a910: 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35   (%5.5e) :xyz} 5
a920: 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   5 9.87991e+143.
a930: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 39 2e 38  } {abc: 5 5 (9.8
a940: 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
a950: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
a960: 32 2e 32 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c  2.2.12.9 {.  sql
a970: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
a980: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
a990: 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20  (%5.5g) :xyz} 5 
a9a0: 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  5 9.87991e+143.}
a9b0: 20 7b 61 62 63 3a 20 35 20 35 20 28 39 2e 38 37   {abc: 5 5 (9.87
a9c0: 39 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  99e+143) :xyz}.d
a9d0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
a9e0: 32 2e 31 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74  2.13.1 {.  sqlit
a9f0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
aa00: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
aa10: 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37  :xyz} 5 5 -6.287
aa20: 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28  291e-9.} {abc: (
aa30: 2d 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  -0.00000) :xyz}.
aa40: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
aa50: 2e 32 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69  .2.13.2 {.  sqli
aa60: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
aa70: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
aa80: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38   :xyz} 5 5 -6.28
aa90: 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
aaa0: 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
aab0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
aac0: 6e 74 66 2d 32 2e 32 2e 31 33 2e 33 20 7b 0a 20  ntf-2.2.13.3 {. 
aad0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
aae0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
aaf0: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*g) :xyz} 5 5 
ab00: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
ab10: 61 62 63 3a 20 28 2d 36 2e 32 38 37 33 65 2d 30  abc: (-6.2873e-0
ab20: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
ab30: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 34   printf-2.2.13.4
ab40: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ab50: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ab60: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
ab70: 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31  z} 5 5 -6.287291
ab80: 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  e-9.} {abc: 5 5 
ab90: 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
aba0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
abb0: 6e 74 66 2d 32 2e 32 2e 31 33 2e 35 20 7b 0a 20  ntf-2.2.13.5 {. 
abc0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
abd0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
abe0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
abf0: 35 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  5 5 -6.287291e-9
ac00: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 36  .} {abc: 5 5 (-6
ac10: 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
ac20: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ac30: 2d 32 2e 32 2e 31 33 2e 36 20 7b 0a 20 20 73 71  -2.2.13.6 {.  sq
ac40: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
ac50: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
ac60: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 35   (%010g) :xyz} 5
ac70: 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   5 -6.287291e-9.
ac80: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 36 2e  } {abc: 5 5 (-6.
ac90: 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
aca0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
acb0: 32 2e 32 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c  2.2.13.7 {.  sql
acc0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
acd0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
ace0: 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20  (%5.5f) :xyz} 5 
acf0: 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
ad00: 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30 2e 30   {abc: 5 5 (-0.0
ad10: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
ad20: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
ad30: 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.8 {.  sqlite3_
ad40: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ad50: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
ad60: 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e  e) :xyz} 5 5 -6.
ad70: 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
ad80: 3a 20 35 20 35 20 28 2d 36 2e 32 38 37 32 39 65  : 5 5 (-6.28729e
ad90: 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
ada0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33  st printf-2.2.13
adb0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
adc0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
add0: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67  bc: %d %d (%5.5g
ade0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32  ) :xyz} 5 5 -6.2
adf0: 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
ae00: 20 35 20 35 20 28 2d 36 2e 32 38 37 33 65 2d 30   5 5 (-6.2873e-0
ae10: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
ae20: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e 31   printf-2.2.14.1
ae30: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ae40: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ae50: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
ae60: 35 20 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d  5 5 3.38826392e-
ae70: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  110.} {abc: (0.0
ae80: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
ae90: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
aea0: 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.2 {.  sqlite3_
aeb0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
aec0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
aed0: 7a 7d 20 35 20 35 20 33 2e 33 38 38 32 36 33 39  z} 5 5 3.3882639
aee0: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
aef0: 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
af00: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
af10: 74 66 2d 32 2e 32 2e 31 34 2e 33 20 7b 0a 20 20  tf-2.2.14.3 {.  
af20: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
af30: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
af40: 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33  .*g) :xyz} 5 5 3
af50: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
af60: 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 33 65 2d   {abc: (3.3883e-
af70: 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
af80: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34  st printf-2.2.14
af90: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
afa0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
afb0: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
afc0: 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38 32 36  xyz} 5 5 3.38826
afd0: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
afe0: 20 35 20 35 20 28 33 2e 33 38 38 32 36 65 2d 31   5 5 (3.38826e-1
aff0: 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
b000: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e  t printf-2.2.14.
b010: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
b020: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b030: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
b040: 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38 32 36  xyz} 5 5 3.38826
b050: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
b060: 20 35 20 35 20 28 33 2e 33 38 38 32 36 65 2d 31   5 5 (3.38826e-1
b070: 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
b080: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e  t printf-2.2.14.
b090: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
b0a0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b0b0: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
b0c0: 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38   :xyz} 5 5 3.388
b0d0: 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
b0e0: 63 3a 20 35 20 35 20 28 33 2e 33 38 38 32 36 65  c: 5 5 (3.38826e
b0f0: 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
b100: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
b110: 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.7 {.  sqlite3_
b120: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
b130: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
b140: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33  f) :xyz} 5 5 3.3
b150: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
b160: 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 30 30  abc: 5 5 (0.0000
b170: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
b180: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e 38   printf-2.2.14.8
b190: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
b1a0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
b1b0: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
b1c0: 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38 32  :xyz} 5 5 3.3882
b1d0: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
b1e0: 3a 20 35 20 35 20 28 33 2e 33 38 38 32 36 65 2d  : 5 5 (3.38826e-
b1f0: 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
b200: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34  st printf-2.2.14
b210: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
b220: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
b230: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67  bc: %d %d (%5.5g
b240: 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38  ) :xyz} 5 5 3.38
b250: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
b260: 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38 33 65  bc: 5 5 (3.3883e
b270: 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
b280: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
b290: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
b2a0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
b2b0: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
b2c0: 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a 7d 20  } 10 10 0.001.} 
b2d0: 7b 61 62 63 3a 20 28 30 2e 30 30 31 30 30 30 30  {abc: (0.0010000
b2e0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
b2f0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 2e  st printf-2.3.1.
b300: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
b310: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b320: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
b330: 20 31 30 20 31 30 20 30 2e 30 30 31 0a 7d 20 7b   10 10 0.001.} {
b340: 61 62 63 3a 20 28 31 2e 30 30 30 30 30 30 30 30  abc: (1.00000000
b350: 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  00e-03) :xyz}.do
b360: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b370: 2e 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.3 {.  sqlite3
b380: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b390: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
b3a0: 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a  yz} 10 10 0.001.
b3b0: 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20 30 2e  } {abc: (     0.
b3c0: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
b3d0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 2e  st printf-2.3.1.
b3e0: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
b3f0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b400: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
b410: 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a  yz} 10 10 0.001.
b420: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
b430: 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
b440: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
b450: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
b460: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
b470: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
b480: 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30  :xyz} 10 10 0.00
b490: 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  1.} {abc: 10 10 
b4a0: 28 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79  (0.00100000) :xy
b4b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
b4c0: 66 2d 32 2e 33 2e 31 2e 36 20 7b 0a 20 20 73 71  f-2.3.1.6 {.  sq
b4d0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
b4e0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
b4f0: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
b500: 30 20 31 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62  0 10 0.001.} {ab
b510: 63 3a 20 31 30 20 31 30 20 28 30 30 30 30 30 30  c: 10 10 (000000
b520: 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
b530: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
b540: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
b550: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
b560: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
b570: 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0f) :xyz} 10 10 
b580: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30  0.001.} {abc: 10
b590: 20 31 30 20 28 30 2e 30 30 31 30 30 30 30 30 30   10 (0.001000000
b5a0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
b5b0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 2e 38 20   printf-2.3.1.8 
b5c0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
b5d0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
b5e0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29   %d %d (%10.10e)
b5f0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
b600: 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  01.} {abc: 10 10
b610: 20 28 31 2e 30 30 30 30 30 30 30 30 30 30 65 2d   (1.0000000000e-
b620: 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
b630: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 2e 39  t printf-2.3.1.9
b640: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
b650: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
b660: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67  : %d %d (%10.10g
b670: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
b680: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  001.} {abc: 10 1
b690: 30 20 28 20 20 20 20 20 30 2e 30 30 31 29 20 3a  0 (     0.001) :
b6a0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
b6b0: 6e 74 66 2d 32 2e 33 2e 32 2e 31 20 7b 0a 20 20  ntf-2.3.2.1 {.  
b6c0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
b6d0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
b6e0: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*f) :xyz} 10 10
b6f0: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
b700: 20 28 30 2e 30 30 30 30 30 30 30 30 30 30 29 20   (0.0000000000) 
b710: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
b720: 69 6e 74 66 2d 32 2e 33 2e 32 2e 32 20 7b 0a 20  intf-2.3.2.2 {. 
b730: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
b740: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
b750: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*e) :xyz} 10 1
b760: 30 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  0 1.0e-20.} {abc
b770: 3a 20 28 31 2e 30 30 30 30 30 30 30 30 30 30 65  : (1.0000000000e
b780: 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
b790: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e  st printf-2.3.2.
b7a0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
b7b0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b7c0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
b7d0: 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d   10 10 1.0e-20.}
b7e0: 20 7b 61 62 63 3a 20 28 20 20 20 20 20 31 65 2d   {abc: (     1e-
b7f0: 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
b800: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 34  t printf-2.3.2.4
b810: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
b820: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
b830: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
b840: 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30  z} 10 10 1.0e-20
b850: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
b860: 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e-20) :xyz}.do_
b870: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
b880: 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.5 {.  sqlite3_
b890: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
b8a0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
b8b0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
b8c0: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e-20.} {abc: 10 
b8d0: 31 30 20 28 31 2e 30 30 30 30 30 65 2d 32 30 29  10 (1.00000e-20)
b8e0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
b8f0: 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 36 20 7b 0a  rintf-2.3.2.6 {.
b900: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
b910: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
b920: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
b930: 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30  z} 10 10 1.0e-20
b940: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
b950: 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79 7a  000001e-20) :xyz
b960: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
b970: 2d 32 2e 33 2e 32 2e 37 20 7b 0a 20 20 73 71 6c  -2.3.2.7 {.  sql
b980: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
b990: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
b9a0: 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20  (%10.10f) :xyz} 
b9b0: 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20  10 10 1.0e-20.} 
b9c0: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30 2e 30  {abc: 10 10 (0.0
b9d0: 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
b9e0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b9f0: 32 2e 33 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69  2.3.2.8 {.  sqli
ba00: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
ba10: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
ba20: 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31  %10.10e) :xyz} 1
ba30: 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20 7b  0 10 1.0e-20.} {
ba40: 61 62 63 3a 20 31 30 20 31 30 20 28 31 2e 30 30  abc: 10 10 (1.00
ba50: 30 30 30 30 30 30 30 30 65 2d 32 30 29 20 3a 78  00000000e-20) :x
ba60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
ba70: 74 66 2d 32 2e 33 2e 32 2e 39 20 7b 0a 20 20 73  tf-2.3.2.9 {.  s
ba80: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
ba90: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
baa0: 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a  d (%10.10g) :xyz
bab0: 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a  } 10 10 1.0e-20.
bac0: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 20  } {abc: 10 10 ( 
bad0: 20 20 20 20 31 65 2d 32 30 29 20 3a 78 79 7a 7d      1e-20) :xyz}
bae0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
baf0: 32 2e 33 2e 33 2e 31 20 7b 0a 20 20 73 71 6c 69  2.3.3.1 {.  sqli
bb00: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
bb10: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
bb20: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
bb30: 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30  .} {abc: (1.0000
bb40: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
bb50: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
bb60: 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.2 {.  sqlite3
bb70: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
bb80: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
bb90: 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d 20  yz} 10 10 1.0.} 
bba0: 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 30 30  {abc: (1.0000000
bbb0: 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
bbc0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
bbd0: 33 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  3.3.3 {.  sqlite
bbe0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
bbf0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
bc00: 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d  xyz} 10 10 1.0.}
bc10: 20 7b 61 62 63 3a 20 28 20 20 20 20 20 20 20 20   {abc: (        
bc20: 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73   1) :xyz}.do_tes
bc30: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 34  t printf-2.3.3.4
bc40: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
bc50: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
bc60: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
bc70: 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d 20 7b  z} 10 10 1.0.} {
bc80: 61 62 63 3a 20 31 30 20 31 30 20 28 31 29 20 3a  abc: 10 10 (1) :
bc90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
bca0: 6e 74 66 2d 32 2e 33 2e 33 2e 35 20 7b 0a 20 20  ntf-2.3.3.5 {.  
bcb0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
bcc0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
bcd0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
bce0: 30 20 31 30 20 31 2e 30 0a 7d 20 7b 61 62 63 3a  0 10 1.0.} {abc:
bcf0: 20 31 30 20 31 30 20 28 31 2e 30 30 30 30 30 29   10 10 (1.00000)
bd00: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
bd10: 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 36 20 7b 0a  rintf-2.3.3.6 {.
bd20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
bd30: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
bd40: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
bd50: 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d 20 7b  z} 10 10 1.0.} {
bd60: 61 62 63 3a 20 31 30 20 31 30 20 28 30 30 30 30  abc: 10 10 (0000
bd70: 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  000001) :xyz}.do
bd80: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
bd90: 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.7 {.  sqlite3
bda0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
bdb0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
bdc0: 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10f) :xyz} 10 1
bdd0: 30 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0 1.0.} {abc: 10
bde0: 20 31 30 20 28 31 2e 30 30 30 30 30 30 30 30 30   10 (1.000000000
bdf0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
be00: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 38 20   printf-2.3.3.8 
be10: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
be20: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
be30: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29   %d %d (%10.10e)
be40: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
be50: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
be60: 31 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30 30  1.0000000000e+00
be70: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
be80: 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 39 20 7b  printf-2.3.3.9 {
be90: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
bea0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
beb0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20  %d %d (%10.10g) 
bec0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a  :xyz} 10 10 1.0.
bed0: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 20  } {abc: 10 10 ( 
bee0: 20 20 20 20 20 20 20 20 31 29 20 3a 78 79 7a 7d          1) :xyz}
bef0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
bf00: 32 2e 33 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69  2.3.4.1 {.  sqli
bf10: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
bf20: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
bf30: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
bf40: 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30  .} {abc: (0.0000
bf50: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
bf60: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
bf70: 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.2 {.  sqlite3
bf80: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
bf90: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
bfa0: 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d 20  yz} 10 10 0.0.} 
bfb0: 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30 30 30  {abc: (0.0000000
bfc0: 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
bfd0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
bfe0: 33 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  3.4.3 {.  sqlite
bff0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
c000: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
c010: 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d  xyz} 10 10 0.0.}
c020: 20 7b 61 62 63 3a 20 28 20 20 20 20 20 20 20 20   {abc: (        
c030: 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73   0) :xyz}.do_tes
c040: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 34  t printf-2.3.4.4
c050: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c060: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c070: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
c080: 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d 20 7b  z} 10 10 0.0.} {
c090: 61 62 63 3a 20 31 30 20 31 30 20 28 30 29 20 3a  abc: 10 10 (0) :
c0a0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c0b0: 6e 74 66 2d 32 2e 33 2e 34 2e 35 20 7b 0a 20 20  ntf-2.3.4.5 {.  
c0c0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c0d0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
c0e0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
c0f0: 30 20 31 30 20 30 2e 30 0a 7d 20 7b 61 62 63 3a  0 10 0.0.} {abc:
c100: 20 31 30 20 31 30 20 28 30 2e 30 30 30 30 30 29   10 10 (0.00000)
c110: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c120: 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 36 20 7b 0a  rintf-2.3.4.6 {.
c130: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
c140: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
c150: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
c160: 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d 20 7b  z} 10 10 0.0.} {
c170: 61 62 63 3a 20 31 30 20 31 30 20 28 30 30 30 30  abc: 10 10 (0000
c180: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
c190: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c1a0: 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.7 {.  sqlite3
c1b0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c1c0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
c1d0: 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10f) :xyz} 10 1
c1e0: 30 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0 0.0.} {abc: 10
c1f0: 20 31 30 20 28 30 2e 30 30 30 30 30 30 30 30 30   10 (0.000000000
c200: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
c210: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 38 20   printf-2.3.4.8 
c220: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
c230: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
c240: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29   %d %d (%10.10e)
c250: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
c260: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
c270: 30 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30 30  0.0000000000e+00
c280: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
c290: 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 39 20 7b  printf-2.3.4.9 {
c2a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
c2b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
c2c0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20  %d %d (%10.10g) 
c2d0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a  :xyz} 10 10 0.0.
c2e0: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 20  } {abc: 10 10 ( 
c2f0: 20 20 20 20 20 20 20 20 30 29 20 3a 78 79 7a 7d          0) :xyz}
c300: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c310: 32 2e 33 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69  2.3.5.1 {.  sqli
c320: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c330: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
c340: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 30 30   :xyz} 10 10 100
c350: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e  .0.} {abc: (100.
c360: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
c370: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c380: 2d 32 2e 33 2e 35 2e 32 20 7b 0a 20 20 73 71 6c  -2.3.5.2 {.  sql
c390: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c3a0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
c3b0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 30  ) :xyz} 10 10 10
c3c0: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  0.0.} {abc: (1.0
c3d0: 30 30 30 30 30 30 30 30 30 65 2b 30 32 29 20 3a  000000000e+02) :
c3e0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c3f0: 6e 74 66 2d 32 2e 33 2e 35 2e 33 20 7b 0a 20 20  ntf-2.3.5.3 {.  
c400: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c410: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
c420: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*g) :xyz} 10 10
c430: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
c440: 20 20 20 20 20 20 20 31 30 30 29 20 3a 78 79 7a         100) :xyz
c450: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c460: 2d 32 2e 33 2e 35 2e 34 20 7b 0a 20 20 73 71 6c  -2.3.5.4 {.  sql
c470: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c480: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
c490: 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  (%g) :xyz} 10 10
c4a0: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   100.0.} {abc: 1
c4b0: 30 20 31 30 20 28 31 30 30 29 20 3a 78 79 7a 7d  0 10 (100) :xyz}
c4c0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c4d0: 32 2e 33 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69  2.3.5.5 {.  sqli
c4e0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c4f0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
c500: 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  %#g) :xyz} 10 10
c510: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   100.0.} {abc: 1
c520: 30 20 31 30 20 28 31 30 30 2e 30 30 30 29 20 3a  0 10 (100.000) :
c530: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c540: 6e 74 66 2d 32 2e 33 2e 35 2e 36 20 7b 0a 20 20  ntf-2.3.5.6 {.  
c550: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c560: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
c570: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
c580: 20 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b   10 10 100.0.} {
c590: 61 62 63 3a 20 31 30 20 31 30 20 28 30 30 30 30  abc: 10 10 (0000
c5a0: 30 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000100) :xyz}.do
c5b0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c5c0: 2e 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.7 {.  sqlite3
c5d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c5e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
c5f0: 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10f) :xyz} 10 1
c600: 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 100.0.} {abc: 
c610: 31 30 20 31 30 20 28 31 30 30 2e 30 30 30 30 30  10 10 (100.00000
c620: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
c630: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
c640: 35 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.8 {.  sqlite3_
c650: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
c660: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
c670: 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10e) :xyz} 10 10
c680: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   100.0.} {abc: 1
c690: 30 20 31 30 20 28 31 2e 30 30 30 30 30 30 30 30  0 10 (1.00000000
c6a0: 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
c6b0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c6c0: 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.9 {.  sqlite3
c6d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c6e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
c6f0: 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10g) :xyz} 10 1
c700: 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 100.0.} {abc: 
c710: 31 30 20 31 30 20 28 20 20 20 20 20 20 20 31 30  10 10 (       10
c720: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
c730: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 31 20   printf-2.3.6.1 
c740: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
c750: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
c760: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
c770: 30 20 31 30 20 39 2e 39 39 39 39 39 0a 7d 20 7b  0 10 9.99999.} {
c780: 61 62 63 3a 20 28 39 2e 39 39 39 39 39 30 30 30  abc: (9.99999000
c790: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
c7a0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 32  t printf-2.3.6.2
c7b0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c7c0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c7d0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
c7e0: 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a 7d 20  10 10 9.99999.} 
c7f0: 7b 61 62 63 3a 20 28 39 2e 39 39 39 39 39 30 30  {abc: (9.9999900
c800: 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
c810: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
c820: 33 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  3.6.3 {.  sqlite
c830: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
c840: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
c850: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39  xyz} 10 10 9.999
c860: 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 39  99.} {abc: (   9
c870: 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
c880: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c890: 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.4 {.  sqlite3
c8a0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c8b0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
c8c0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39   :xyz} 10 10 9.9
c8d0: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
c8e0: 31 30 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79  10 (9.99999) :xy
c8f0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
c900: 66 2d 32 2e 33 2e 36 2e 35 20 7b 0a 20 20 73 71  f-2.3.6.5 {.  sq
c910: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
c920: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
c930: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20   (%#g) :xyz} 10 
c940: 31 30 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62  10 9.99999.} {ab
c950: 63 3a 20 31 30 20 31 30 20 28 39 2e 39 39 39 39  c: 10 10 (9.9999
c960: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
c970: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 36 20   printf-2.3.6.6 
c980: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
c990: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
c9a0: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
c9b0: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39  xyz} 10 10 9.999
c9c0: 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  99.} {abc: 10 10
c9d0: 20 28 30 30 30 39 2e 39 39 39 39 39 29 20 3a 78   (0009.99999) :x
c9e0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
c9f0: 74 66 2d 32 2e 33 2e 36 2e 37 20 7b 0a 20 20 73  tf-2.3.6.7 {.  s
ca00: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
ca10: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
ca20: 64 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a  d (%10.10f) :xyz
ca30: 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a  } 10 10 9.99999.
ca40: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39  } {abc: 10 10 (9
ca50: 2e 39 39 39 39 39 30 30 30 30 30 29 20 3a 78 79  .9999900000) :xy
ca60: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
ca70: 66 2d 32 2e 33 2e 36 2e 38 20 7b 0a 20 20 73 71  f-2.3.6.8 {.  sq
ca80: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
ca90: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
caa0: 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d   (%10.10e) :xyz}
cab0: 20 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a 7d   10 10 9.99999.}
cac0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39 2e   {abc: 10 10 (9.
cad0: 39 39 39 39 39 30 30 30 30 30 65 2b 30 30 29 20  9999900000e+00) 
cae0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
caf0: 69 6e 74 66 2d 32 2e 33 2e 36 2e 39 20 7b 0a 20  intf-2.3.6.9 {. 
cb00: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
cb10: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
cb20: 20 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78   %d (%10.10g) :x
cb30: 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39  yz} 10 10 9.9999
cb40: 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  9.} {abc: 10 10 
cb50: 28 20 20 20 39 2e 39 39 39 39 39 29 20 3a 78 79  (   9.99999) :xy
cb60: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
cb70: 66 2d 32 2e 33 2e 37 2e 31 20 7b 0a 20 20 73 71  f-2.3.7.1 {.  sq
cb80: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
cb90: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
cba0: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  f) :xyz} 10 10 -
cbb0: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
cbc0: 28 2d 30 2e 30 30 35 34 33 30 30 30 30 30 29 20  (-0.0054300000) 
cbd0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
cbe0: 69 6e 74 66 2d 32 2e 33 2e 37 2e 32 20 7b 0a 20  intf-2.3.7.2 {. 
cbf0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
cc00: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
cc10: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*e) :xyz} 10 1
cc20: 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  0 -0.00543.} {ab
cc30: 63 3a 20 28 2d 35 2e 34 33 30 30 30 30 30 30 30  c: (-5.430000000
cc40: 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
cc50: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
cc60: 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.3 {.  sqlite3_
cc70: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
cc80: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
cc90: 7a 7d 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34  z} 10 10 -0.0054
cca0: 33 0a 7d 20 7b 61 62 63 3a 20 28 20 20 2d 30 2e  3.} {abc: (  -0.
ccb0: 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
ccc0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
ccd0: 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.4 {.  sqlite3_
cce0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ccf0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
cd00: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 30 2e 30  :xyz} 10 10 -0.0
cd10: 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20  0543.} {abc: 10 
cd20: 31 30 20 28 2d 30 2e 30 30 35 34 33 29 20 3a 78  10 (-0.00543) :x
cd30: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
cd40: 74 66 2d 32 2e 33 2e 37 2e 35 20 7b 0a 20 20 73  tf-2.3.7.5 {.  s
cd50: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
cd60: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
cd70: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
cd80: 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b   10 -0.00543.} {
cd90: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 30 2e 30  abc: 10 10 (-0.0
cda0: 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0543000) :xyz}.d
cdb0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
cdc0: 33 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  3.7.6 {.  sqlite
cdd0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
cde0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
cdf0: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10g) :xyz} 10 10
ce00: 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
ce10: 3a 20 31 30 20 31 30 20 28 2d 30 30 30 2e 30 30  : 10 10 (-000.00
ce20: 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
ce30: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e  st printf-2.3.7.
ce40: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
ce50: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
ce60: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
ce70: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  f) :xyz} 10 10 -
ce80: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
ce90: 31 30 20 31 30 20 28 2d 30 2e 30 30 35 34 33 30  10 10 (-0.005430
cea0: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
ceb0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 37  est printf-2.3.7
cec0: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
ced0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
cee0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
cef0: 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0e) :xyz} 10 10 
cf00: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
cf10: 20 31 30 20 31 30 20 28 2d 35 2e 34 33 30 30 30   10 10 (-5.43000
cf20: 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d  00000e-03) :xyz}
cf30: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
cf40: 32 2e 33 2e 37 2e 39 20 7b 0a 20 20 73 71 6c 69  2.3.7.9 {.  sqli
cf50: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
cf60: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
cf70: 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31  %10.10g) :xyz} 1
cf80: 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20  0 10 -0.00543.} 
cf90: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 20 20 2d  {abc: 10 10 (  -
cfa0: 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
cfb0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
cfc0: 33 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  3.8.1 {.  sqlite
cfd0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
cfe0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
cff0: 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a  xyz} 10 10 -1.0.
d000: 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 30  } {abc: (-1.0000
d010: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
d020: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d030: 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.2 {.  sqlite3
d040: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d050: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
d060: 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a 7d  yz} 10 10 -1.0.}
d070: 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 30 30   {abc: (-1.00000
d080: 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  00000e+00) :xyz}
d090: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d0a0: 32 2e 33 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69  2.3.8.3 {.  sqli
d0b0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
d0c0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
d0d0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e   :xyz} 10 10 -1.
d0e0: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  0.} {abc: (     
d0f0: 20 20 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f     -1) :xyz}.do_
d100: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
d110: 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.4 {.  sqlite3_
d120: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
d130: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
d140: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30  :xyz} 10 10 -1.0
d150: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
d160: 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  -1) :xyz}.do_tes
d170: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 35  t printf-2.3.8.5
d180: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
d190: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
d1a0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
d1b0: 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a 7d  yz} 10 10 -1.0.}
d1c0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 31   {abc: 10 10 (-1
d1d0: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
d1e0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d1f0: 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.6 {.  sqlite3
d200: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d210: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
d220: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0g) :xyz} 10 10 
d230: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -1.0.} {abc: 10 
d240: 31 30 20 28 2d 30 30 30 30 30 30 30 30 31 29 20  10 (-000000001) 
d250: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
d260: 69 6e 74 66 2d 32 2e 33 2e 38 2e 37 20 7b 0a 20  intf-2.3.8.7 {. 
d270: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
d280: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
d290: 20 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a 78   %d (%10.10f) :x
d2a0: 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a 7d  yz} 10 10 -1.0.}
d2b0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 31   {abc: 10 10 (-1
d2c0: 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  .0000000000) :xy
d2d0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d2e0: 66 2d 32 2e 33 2e 38 2e 38 20 7b 0a 20 20 73 71  f-2.3.8.8 {.  sq
d2f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d300: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
d310: 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d   (%10.10e) :xyz}
d320: 20 31 30 20 31 30 20 2d 31 2e 30 0a 7d 20 7b 61   10 10 -1.0.} {a
d330: 62 63 3a 20 31 30 20 31 30 20 28 2d 31 2e 30 30  bc: 10 10 (-1.00
d340: 30 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78  00000000e+00) :x
d350: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
d360: 74 66 2d 32 2e 33 2e 38 2e 39 20 7b 0a 20 20 73  tf-2.3.8.9 {.  s
d370: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d380: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
d390: 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a  d (%10.10g) :xyz
d3a0: 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a 7d 20 7b  } 10 10 -1.0.} {
d3b0: 61 62 63 3a 20 31 30 20 31 30 20 28 20 20 20 20  abc: 10 10 (    
d3c0: 20 20 20 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f      -1) :xyz}.do
d3d0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d3e0: 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.1 {.  sqlite3
d3f0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d400: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
d410: 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e 39 39  yz} 10 10 -99.99
d420: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 39 39  999.} {abc: (-99
d430: 2e 39 39 39 39 39 30 30 30 30 30 29 20 3a 78 79  .9999900000) :xy
d440: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d450: 66 2d 32 2e 33 2e 39 2e 32 20 7b 0a 20 20 73 71  f-2.3.9.2 {.  sq
d460: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d470: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
d480: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  e) :xyz} 10 10 -
d490: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
d4a0: 20 28 2d 39 2e 39 39 39 39 39 39 30 30 30 30 65   (-9.9999990000e
d4b0: 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +01) :xyz}.do_te
d4c0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e  st printf-2.3.9.
d4d0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
d4e0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
d4f0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
d500: 20 31 30 20 31 30 20 2d 39 39 2e 39 39 39 39 39   10 10 -99.99999
d510: 0a 7d 20 7b 61 62 63 3a 20 28 20 2d 39 39 2e 39  .} {abc: ( -99.9
d520: 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
d530: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39  est printf-2.3.9
d540: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
d550: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
d560: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
d570: 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e 39  xyz} 10 10 -99.9
d580: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
d590: 31 30 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a  10 (-100) :xyz}.
d5a0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
d5b0: 2e 33 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .3.9.5 {.  sqlit
d5c0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
d5d0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
d5e0: 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  #g) :xyz} 10 10 
d5f0: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
d600: 3a 20 31 30 20 31 30 20 28 2d 31 30 30 2e 30 30  : 10 10 (-100.00
d610: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
d620: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e 36 20   printf-2.3.9.6 
d630: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
d640: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
d650: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
d660: 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e 39  xyz} 10 10 -99.9
d670: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
d680: 31 30 20 28 2d 30 30 30 30 30 30 31 30 30 29 20  10 (-000000100) 
d690: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
d6a0: 69 6e 74 66 2d 32 2e 33 2e 39 2e 37 20 7b 0a 20  intf-2.3.9.7 {. 
d6b0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
d6c0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
d6d0: 20 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a 78   %d (%10.10f) :x
d6e0: 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e 39 39  yz} 10 10 -99.99
d6f0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  999.} {abc: 10 1
d700: 30 20 28 2d 39 39 2e 39 39 39 39 39 30 30 30 30  0 (-99.999990000
d710: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
d720: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e 38 20   printf-2.3.9.8 
d730: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
d740: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
d750: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29   %d %d (%10.10e)
d760: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39   :xyz} 10 10 -99
d770: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
d780: 30 20 31 30 20 28 2d 39 2e 39 39 39 39 39 39 30  0 10 (-9.9999990
d790: 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64  000e+01) :xyz}.d
d7a0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
d7b0: 33 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  3.9.9 {.  sqlite
d7c0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
d7d0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
d7e0: 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  0.10g) :xyz} 10 
d7f0: 31 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b  10 -99.99999.} {
d800: 61 62 63 3a 20 31 30 20 31 30 20 28 20 2d 39 39  abc: 10 10 ( -99
d810: 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
d820: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d830: 2e 31 30 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  .10.1 {.  sqlite
d840: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
d850: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
d860: 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65  xyz} 10 10 3.14e
d870: 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 31 34 30  +9.} {abc: (3140
d880: 30 30 30 30 30 30 2e 30 30 30 30 30 30 30 30 30  000000.000000000
d890: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
d8a0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30 2e 32   printf-2.3.10.2
d8b0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
d8c0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
d8d0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
d8e0: 31 30 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20  10 10 3.14e+9.} 
d8f0: 7b 61 62 63 3a 20 28 33 2e 31 34 30 30 30 30 30  {abc: (3.1400000
d900: 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  000e+09) :xyz}.d
d910: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
d920: 33 2e 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74  3.10.3 {.  sqlit
d930: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
d940: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
d950: 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34  :xyz} 10 10 3.14
d960: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 31 34  e+9.} {abc: (314
d970: 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0000000) :xyz}.d
d980: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
d990: 33 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74  3.10.4 {.  sqlit
d9a0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
d9b0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
d9c0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  g) :xyz} 10 10 3
d9d0: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
d9e0: 30 20 31 30 20 28 33 2e 31 34 65 2b 30 39 29 20  0 10 (3.14e+09) 
d9f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
da00: 69 6e 74 66 2d 32 2e 33 2e 31 30 2e 35 20 7b 0a  intf-2.3.10.5 {.
da10: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
da20: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
da30: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
da40: 20 31 30 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d   10 10 3.14e+9.}
da50: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e   {abc: 10 10 (3.
da60: 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d  14000e+09) :xyz}
da70: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
da80: 32 2e 33 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c  2.3.10.6 {.  sql
da90: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
daa0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
dab0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
dac0: 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61   10 3.14e+9.} {a
dad0: 62 63 3a 20 31 30 20 31 30 20 28 30 30 33 2e 31  bc: 10 10 (003.1
dae0: 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  4e+09) :xyz}.do_
daf0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
db00: 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.7 {.  sqlite3
db10: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
db20: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
db30: 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10f) :xyz} 10 1
db40: 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  0 3.14e+9.} {abc
db50: 3a 20 31 30 20 31 30 20 28 33 31 34 30 30 30 30  : 10 10 (3140000
db60: 30 30 30 2e 30 30 30 30 30 30 30 30 30 30 29 20  000.0000000000) 
db70: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
db80: 69 6e 74 66 2d 32 2e 33 2e 31 30 2e 38 20 7b 0a  intf-2.3.10.8 {.
db90: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
dba0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
dbb0: 64 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a  d %d (%10.10e) :
dbc0: 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65  xyz} 10 10 3.14e
dbd0: 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  +9.} {abc: 10 10
dbe0: 20 28 33 2e 31 34 30 30 30 30 30 30 30 30 65 2b   (3.1400000000e+
dbf0: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
dc00: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30 2e  t printf-2.3.10.
dc10: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
dc20: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
dc30: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
dc40: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  g) :xyz} 10 10 3
dc50: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
dc60: 30 20 31 30 20 28 33 31 34 30 30 30 30 30 30 30  0 10 (3140000000
dc70: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
dc80: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31 2e 32 20  printf-2.3.11.2 
dc90: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
dca0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
dcb0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
dcc0: 30 20 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38  0 10 -4.72732e+8
dcd0: 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32  8.} {abc: (-4.72
dce0: 37 33 32 30 30 30 30 30 65 2b 38 38 29 20 3a 78  73200000e+88) :x
dcf0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
dd00: 74 66 2d 32 2e 33 2e 31 31 2e 33 20 7b 0a 20 20  tf-2.3.11.3 {.  
dd10: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
dd20: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
dd30: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*g) :xyz} 10 10
dd40: 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
dd50: 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 33 32 65  {abc: (-4.72732e
dd60: 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
dd70: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31  st printf-2.3.11
dd80: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
dd90: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
dda0: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
ddb0: 78 79 7a 7d 20 31 30 20 31 30 20 2d 34 2e 37 32  xyz} 10 10 -4.72
ddc0: 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
ddd0: 31 30 20 31 30 20 28 2d 34 2e 37 32 37 33 32 65  10 10 (-4.72732e
dde0: 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
ddf0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31  st printf-2.3.11
de00: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
de10: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
de20: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
de30: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 34 2e 37  :xyz} 10 10 -4.7
de40: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
de50: 20 31 30 20 31 30 20 28 2d 34 2e 37 32 37 33 32   10 10 (-4.72732
de60: 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
de70: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
de80: 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.6 {.  sqlite3_
de90: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
dea0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
deb0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
dec0: 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
ded0: 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37 32  bc: 10 10 (-4.72
dee0: 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
def0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
df00: 33 2e 31 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74  3.11.8 {.  sqlit
df10: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
df20: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
df30: 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30  10.10e) :xyz} 10
df40: 20 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38   10 -4.72732e+88
df50: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
df60: 2d 34 2e 37 32 37 33 32 30 30 30 30 30 65 2b 38  -4.7273200000e+8
df70: 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
df80: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31 2e 39   printf-2.3.11.9
df90: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
dfa0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
dfb0: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67  : %d %d (%10.10g
dfc0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 34  ) :xyz} 10 10 -4
dfd0: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
dfe0: 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37 32 37  c: 10 10 (-4.727
dff0: 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  32e+88) :xyz}.do
e000: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
e010: 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .12.2 {.  sqlite
e020: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
e030: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
e040: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39  xyz} 10 10 9.879
e050: 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
e060: 28 39 2e 38 37 39 39 31 30 30 30 30 30 65 2b 31  (9.8799100000e+1
e070: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
e080: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 32 2e  t printf-2.3.12.
e090: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
e0a0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
e0b0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
e0c0: 20 31 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b   10 10 9.87991e+
e0d0: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38  143.} {abc: (9.8
e0e0: 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
e0f0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
e100: 32 2e 33 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c  2.3.12.4 {.  sql
e110: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
e120: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
e130: 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  (%g) :xyz} 10 10
e140: 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
e150: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39 2e 38  {abc: 10 10 (9.8
e160: 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
e170: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
e180: 32 2e 33 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c  2.3.12.5 {.  sql
e190: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
e1a0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
e1b0: 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  (%#g) :xyz} 10 1
e1c0: 30 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  0 9.87991e+143.}
e1d0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39 2e   {abc: 10 10 (9.
e1e0: 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
e1f0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
e200: 2d 32 2e 33 2e 31 32 2e 36 20 7b 0a 20 20 73 71  -2.3.12.6 {.  sq
e210: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
e220: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
e230: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
e240: 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31 34  0 10 9.87991e+14
e250: 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  3.} {abc: 10 10 
e260: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
e270: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
e280: 6e 74 66 2d 32 2e 33 2e 31 32 2e 38 20 7b 0a 20  ntf-2.3.12.8 {. 
e290: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
e2a0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
e2b0: 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78   %d (%10.10e) :x
e2c0: 79 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39  yz} 10 10 9.8799
e2d0: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31  1e+143.} {abc: 1
e2e0: 30 20 31 30 20 28 39 2e 38 37 39 39 31 30 30 30  0 10 (9.87991000
e2f0: 30 30 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  00e+143) :xyz}.d
e300: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
e310: 33 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74  3.12.9 {.  sqlit
e320: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
e330: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
e340: 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  10.10g) :xyz} 10
e350: 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31 34 33   10 9.87991e+143
e360: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
e370: 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78  9.87991e+143) :x
e380: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e390: 74 66 2d 32 2e 33 2e 31 33 2e 31 20 7b 0a 20 20  tf-2.3.13.1 {.  
e3a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e3b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
e3c0: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*f) :xyz} 10 10
e3d0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
e3e0: 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30 30 30 30  {abc: (-0.000000
e3f0: 30 30 36 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0063) :xyz}.do_t
e400: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
e410: 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.2 {.  sqlite3_
e420: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
e430: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
e440: 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32  z} 10 10 -6.2872
e450: 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  91e-9.} {abc: (-
e460: 36 2e 32 38 37 32 39 31 30 30 30 30 65 2d 30 39  6.2872910000e-09
e470: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e480: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 33 20  printf-2.3.13.3 
e490: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e4a0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e4b0: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
e4c0: 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d  0 10 -6.287291e-
e4d0: 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38  9.} {abc: (-6.28
e4e0: 37 32 39 31 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  7291e-09) :xyz}.
e4f0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
e500: 2e 33 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69  .3.13.4 {.  sqli
e510: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
e520: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
e530: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
e540: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
e550: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 36 2e 32  abc: 10 10 (-6.2
e560: 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
e570: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
e580: 2e 33 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69  .3.13.5 {.  sqli
e590: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
e5a0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
e5b0: 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  %#g) :xyz} 10 10
e5c0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
e5d0: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 36 2e  {abc: 10 10 (-6.
e5e0: 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
e5f0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
e600: 32 2e 33 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c  2.3.13.6 {.  sql
e610: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
e620: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
e630: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
e640: 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39   10 -6.287291e-9
e650: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
e660: 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
e670: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e680: 74 66 2d 32 2e 33 2e 31 33 2e 37 20 7b 0a 20 20  tf-2.3.13.7 {.  
e690: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e6a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e6b0: 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79  %d (%10.10f) :xy
e6c0: 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32  z} 10 10 -6.2872
e6d0: 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30  91e-9.} {abc: 10
e6e0: 20 31 30 20 28 2d 30 2e 30 30 30 30 30 30 30 30   10 (-0.00000000
e6f0: 36 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  63) :xyz}.do_tes
e700: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e  t printf-2.3.13.
e710: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
e720: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
e730: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
e740: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  e) :xyz} 10 10 -
e750: 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
e760: 62 63 3a 20 31 30 20 31 30 20 28 2d 36 2e 32 38  bc: 10 10 (-6.28
e770: 37 32 39 31 30 30 30 30 65 2d 30 39 29 20 3a 78  72910000e-09) :x
e780: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e790: 74 66 2d 32 2e 33 2e 31 33 2e 39 20 7b 0a 20 20  tf-2.3.13.9 {.  
e7a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e7b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e7c0: 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79  %d (%10.10g) :xy
e7d0: 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32  z} 10 10 -6.2872
e7e0: 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30  91e-9.} {abc: 10
e7f0: 20 31 30 20 28 2d 36 2e 32 38 37 32 39 31 65 2d   10 (-6.287291e-
e800: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
e810: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e  t printf-2.3.14.
e820: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
e830: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
e840: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
e850: 20 31 30 20 31 30 20 33 2e 33 38 38 32 36 33 39   10 10 3.3882639
e860: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
e870: 30 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a 78  0.0000000000) :x
e880: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e890: 74 66 2d 32 2e 33 2e 31 34 2e 32 20 7b 0a 20 20  tf-2.3.14.2 {.  
e8a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e8b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
e8c0: 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*e) :xyz} 10 10
e8d0: 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
e8e0: 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 32  .} {abc: (3.3882
e8f0: 36 33 39 32 30 30 65 2d 31 31 30 29 20 3a 78 79  639200e-110) :xy
e900: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
e910: 66 2d 32 2e 33 2e 31 34 2e 33 20 7b 0a 20 20 73  f-2.3.14.3 {.  s
e920: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
e930: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
e940: 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *g) :xyz} 10 10 
e950: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
e960: 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 32 36  } {abc: (3.38826
e970: 33 39 32 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  392e-110) :xyz}.
e980: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
e990: 2e 33 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69  .3.14.4 {.  sqli
e9a0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
e9b0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
e9c0: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
e9d0: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
e9e0: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33  } {abc: 10 10 (3
e9f0: 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
ea00: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
ea10: 66 2d 32 2e 33 2e 31 34 2e 35 20 7b 0a 20 20 73  f-2.3.14.5 {.  s
ea20: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
ea30: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
ea40: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
ea50: 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d   10 3.38826392e-
ea60: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  110.} {abc: 10 1
ea70: 30 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29  0 (3.38826e-110)
ea80: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
ea90: 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 36 20 7b  rintf-2.3.14.6 {
eaa0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
eab0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
eac0: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
ead0: 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38 32  yz} 10 10 3.3882
eae0: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
eaf0: 3a 20 31 30 20 31 30 20 28 33 2e 33 38 38 32 36  : 10 10 (3.38826
eb00: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
eb10: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
eb20: 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.7 {.  sqlite3
eb30: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
eb40: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
eb50: 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10f) :xyz} 10 1
eb60: 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  0 3.38826392e-11
eb70: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
eb80: 28 30 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a  (0.0000000000) :
eb90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
eba0: 6e 74 66 2d 32 2e 33 2e 31 34 2e 38 20 7b 0a 20  ntf-2.3.14.8 {. 
ebb0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ebc0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ebd0: 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78   %d (%10.10e) :x
ebe0: 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38 32  yz} 10 10 3.3882
ebf0: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
ec00: 3a 20 31 30 20 31 30 20 28 33 2e 33 38 38 32 36  : 10 10 (3.38826
ec10: 33 39 32 30 30 65 2d 31 31 30 29 20 3a 78 79 7a  39200e-110) :xyz
ec20: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ec30: 2d 32 2e 33 2e 31 34 2e 39 20 7b 0a 20 20 73 71  -2.3.14.9 {.  sq
ec40: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
ec50: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
ec60: 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d   (%10.10g) :xyz}
ec70: 20 31 30 20 31 30 20 33 2e 33 38 38 32 36 33 39   10 10 3.3882639
ec80: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31  2e-110.} {abc: 1
ec90: 30 20 31 30 20 28 33 2e 33 38 38 32 36 33 39 32  0 10 (3.38826392
eca0: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
ecb0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
ecc0: 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.1 {.  sqlite3_
ecd0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ece0: 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
ecf0: 7a 7d 20 31 30 20 35 20 30 2e 30 30 31 0a 7d 20  z} 10 5 0.001.} 
ed00: 7b 61 62 63 3a 20 28 20 20 20 30 2e 30 30 31 30  {abc: (   0.0010
ed10: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
ed20: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 32 20   printf-2.4.1.2 
ed30: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ed40: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ed50: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
ed60: 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  0 5 0.001.} {abc
ed70: 3a 20 28 31 2e 30 30 30 30 30 65 2d 30 33 29 20  : (1.00000e-03) 
ed80: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
ed90: 69 6e 74 66 2d 32 2e 34 2e 31 2e 33 20 7b 0a 20  intf-2.4.1.3 {. 
eda0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
edb0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
edc0: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*g) :xyz} 10 5
edd0: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28   0.001.} {abc: (
ede0: 20 20 20 20 20 30 2e 30 30 31 29 20 3a 78 79 7a       0.001) :xyz
edf0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ee00: 2d 32 2e 34 2e 31 2e 34 20 7b 0a 20 20 73 71 6c  -2.4.1.4 {.  sql
ee10: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ee20: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
ee30: 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  (%g) :xyz} 10 5 
ee40: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30  0.001.} {abc: 10
ee50: 20 35 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d   5 (0.001) :xyz}
ee60: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
ee70: 32 2e 34 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69  2.4.1.5 {.  sqli
ee80: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
ee90: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
eea0: 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  %#g) :xyz} 10 5 
eeb0: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30  0.001.} {abc: 10
eec0: 20 35 20 28 30 2e 30 30 31 30 30 30 30 30 29 20   5 (0.00100000) 
eed0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
eee0: 69 6e 74 66 2d 32 2e 34 2e 31 2e 36 20 7b 0a 20  intf-2.4.1.6 {. 
eef0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ef00: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ef10: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
ef20: 7d 20 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b  } 10 5 0.001.} {
ef30: 61 62 63 3a 20 31 30 20 35 20 28 30 30 30 30 30  abc: 10 5 (00000
ef40: 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.001) :xyz}.do_
ef50: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
ef60: 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.7 {.  sqlite3_
ef70: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ef80: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
ef90: 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30  5f) :xyz} 10 5 0
efa0: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20  .001.} {abc: 10 
efb0: 35 20 28 20 20 20 30 2e 30 30 31 30 30 29 20 3a  5 (   0.00100) :
efc0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
efd0: 6e 74 66 2d 32 2e 34 2e 31 2e 38 20 7b 0a 20 20  ntf-2.4.1.8 {.  
efe0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
eff0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
f000: 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
f010: 7d 20 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b  } 10 5 0.001.} {
f020: 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30  abc: 10 5 (1.000
f030: 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  00e-03) :xyz}.do
f040: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
f050: 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.9 {.  sqlite3
f060: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
f070: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
f080: 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .5g) :xyz} 10 5 
f090: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30  0.001.} {abc: 10
f0a0: 20 35 20 28 20 20 20 20 20 30 2e 30 30 31 29 20   5 (     0.001) 
f0b0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f0c0: 69 6e 74 66 2d 32 2e 34 2e 32 2e 31 20 7b 0a 20  intf-2.4.2.1 {. 
f0d0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f0e0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
f0f0: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*f) :xyz} 10 5
f100: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
f110: 20 28 20 20 20 30 2e 30 30 30 30 30 29 20 3a 78   (   0.00000) :x
f120: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
f130: 74 66 2d 32 2e 34 2e 32 2e 32 20 7b 0a 20 20 73  tf-2.4.2.2 {.  s
f140: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
f150: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
f160: 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  *e) :xyz} 10 5 1
f170: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
f180: 31 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79  1.00000e-20) :xy
f190: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
f1a0: 66 2d 32 2e 34 2e 32 2e 33 20 7b 0a 20 20 73 71  f-2.4.2.3 {.  sq
f1b0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
f1c0: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
f1d0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e  g) :xyz} 10 5 1.
f1e0: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 20  0e-20.} {abc: ( 
f1f0: 20 20 20 20 31 65 2d 32 30 29 20 3a 78 79 7a 7d      1e-20) :xyz}
f200: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f210: 32 2e 34 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69  2.4.2.4 {.  sqli
f220: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f230: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
f240: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  %g) :xyz} 10 5 1
f250: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31  .0e-20.} {abc: 1
f260: 30 20 35 20 28 31 65 2d 32 30 29 20 3a 78 79 7a  0 5 (1e-20) :xyz
f270: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
f280: 2d 32 2e 34 2e 32 2e 35 20 7b 0a 20 20 73 71 6c  -2.4.2.5 {.  sql
f290: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
f2a0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
f2b0: 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  (%#g) :xyz} 10 5
f2c0: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
f2d0: 20 31 30 20 35 20 28 31 2e 30 30 30 30 30 65 2d   10 5 (1.00000e-
f2e0: 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
f2f0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 36  t printf-2.4.2.6
f300: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
f310: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f320: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
f330: 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 65 2d  :xyz} 10 5 1.0e-
f340: 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  20.} {abc: 10 5 
f350: 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79  (000001e-20) :xy
f360: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
f370: 66 2d 32 2e 34 2e 32 2e 37 20 7b 0a 20 20 73 71  f-2.4.2.7 {.  sq
f380: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
f390: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
f3a0: 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20   (%10.5f) :xyz} 
f3b0: 31 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b  10 5 1.0e-20.} {
f3c0: 61 62 63 3a 20 31 30 20 35 20 28 20 20 20 30 2e  abc: 10 5 (   0.
f3d0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
f3e0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
f3f0: 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.8 {.  sqlite3_
f400: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
f410: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
f420: 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  5e) :xyz} 10 5 1
f430: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31  .0e-20.} {abc: 1
f440: 30 20 35 20 28 31 2e 30 30 30 30 30 65 2d 32 30  0 5 (1.00000e-20
f450: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
f460: 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 39 20 7b  printf-2.4.2.9 {
f470: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
f480: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
f490: 25 64 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a  %d %d (%10.5g) :
f4a0: 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 65 2d 32  xyz} 10 5 1.0e-2
f4b0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
f4c0: 20 20 20 20 20 31 65 2d 32 30 29 20 3a 78 79 7a       1e-20) :xyz
f4d0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
f4e0: 2d 32 2e 34 2e 33 2e 31 20 7b 0a 20 20 73 71 6c  -2.4.3.1 {.  sql
f4f0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
f500: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
f510: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30  ) :xyz} 10 5 1.0
f520: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 31 2e 30  .} {abc: (   1.0
f530: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
f540: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33  est printf-2.4.3
f550: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
f560: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
f570: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
f580: 7d 20 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62  } 10 5 1.0.} {ab
f590: 63 3a 20 28 31 2e 30 30 30 30 30 65 2b 30 30 29  c: (1.00000e+00)
f5a0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f5b0: 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 33 20 7b 0a  rintf-2.4.3.3 {.
f5c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f5d0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
f5e0: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*g) :xyz} 10 
f5f0: 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  5 1.0.} {abc: ( 
f600: 20 20 20 20 20 20 20 20 31 29 20 3a 78 79 7a 7d          1) :xyz}
f610: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f620: 32 2e 34 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69  2.4.3.4 {.  sqli
f630: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f640: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
f650: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  %g) :xyz} 10 5 1
f660: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
f670: 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (1) :xyz}.do_tes
f680: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 35  t printf-2.4.3.5
f690: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
f6a0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f6b0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
f6c0: 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a 7d 20 7b  yz} 10 5 1.0.} {
f6d0: 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30  abc: 10 5 (1.000
f6e0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
f6f0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 36  t printf-2.4.3.6
f700: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
f710: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f720: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
f730: 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a 7d  :xyz} 10 5 1.0.}
f740: 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 30 30   {abc: 10 5 (000
f750: 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64  0000001) :xyz}.d
f760: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f770: 34 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  4.3.7 {.  sqlite
f780: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f790: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
f7a0: 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5f) :xyz} 10 5
f7b0: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   1.0.} {abc: 10 
f7c0: 35 20 28 20 20 20 31 2e 30 30 30 30 30 29 20 3a  5 (   1.00000) :
f7d0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f7e0: 6e 74 66 2d 32 2e 34 2e 33 2e 38 20 7b 0a 20 20  ntf-2.4.3.8 {.  
f7f0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f800: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
f810: 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
f820: 7d 20 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62  } 10 5 1.0.} {ab
f830: 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30 30 30  c: 10 5 (1.00000
f840: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
f850: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33  est printf-2.4.3
f860: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
f870: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
f880: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
f890: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e  g) :xyz} 10 5 1.
f8a0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
f8b0: 20 20 20 20 20 20 20 20 20 31 29 20 3a 78 79 7a           1) :xyz
f8c0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
f8d0: 2d 32 2e 34 2e 34 2e 31 20 7b 0a 20 20 73 71 6c  -2.4.4.1 {.  sql
f8e0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
f8f0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
f900: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30  ) :xyz} 10 5 0.0
f910: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 30 2e 30  .} {abc: (   0.0
f920: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
f930: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34  est printf-2.4.4
f940: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
f950: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
f960: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
f970: 7d 20 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62  } 10 5 0.0.} {ab
f980: 63 3a 20 28 30 2e 30 30 30 30 30 65 2b 30 30 29  c: (0.00000e+00)
f990: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f9a0: 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 33 20 7b 0a  rintf-2.4.4.3 {.
f9b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f9c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
f9d0: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*g) :xyz} 10 
f9e0: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  5 0.0.} {abc: ( 
f9f0: 20 20 20 20 20 20 20 20 30 29 20 3a 78 79 7a 7d          0) :xyz}
fa00: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
fa10: 32 2e 34 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69  2.4.4.4 {.  sqli
fa20: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
fa30: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
fa40: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30  %g) :xyz} 10 5 0
fa50: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
fa60: 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (0) :xyz}.do_tes
fa70: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 35  t printf-2.4.4.5
fa80: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
fa90: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
faa0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
fab0: 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a 7d 20 7b  yz} 10 5 0.0.} {
fac0: 61 62 63 3a 20 31 30 20 35 20 28 30 2e 30 30 30  abc: 10 5 (0.000
fad0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
fae0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 36  t printf-2.4.4.6
faf0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
fb00: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
fb10: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
fb20: 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a 7d  :xyz} 10 5 0.0.}
fb30: 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 30 30   {abc: 10 5 (000
fb40: 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0000000) :xyz}.d
fb50: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
fb60: 34 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  4.4.7 {.  sqlite
fb70: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
fb80: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
fb90: 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5f) :xyz} 10 5
fba0: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   0.0.} {abc: 10 
fbb0: 35 20 28 20 20 20 30 2e 30 30 30 30 30 29 20 3a  5 (   0.00000) :
fbc0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
fbd0: 6e 74 66 2d 32 2e 34 2e 34 2e 38 20 7b 0a 20 20  ntf-2.4.4.8 {.  
fbe0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
fbf0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
fc00: 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
fc10: 7d 20 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62  } 10 5 0.0.} {ab
fc20: 63 3a 20 31 30 20 35 20 28 30 2e 30 30 30 30 30  c: 10 5 (0.00000
fc30: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
fc40: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34  est printf-2.4.4
fc50: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
fc60: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
fc70: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
fc80: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e  g) :xyz} 10 5 0.
fc90: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
fca0: 20 20 20 20 20 20 20 20 20 30 29 20 3a 78 79 7a           0) :xyz
fcb0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
fcc0: 2d 32 2e 34 2e 35 2e 31 20 7b 0a 20 20 73 71 6c  -2.4.5.1 {.  sql
fcd0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
fce0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
fcf0: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30  ) :xyz} 10 5 100
fd00: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30 30  .0.} {abc: ( 100
fd10: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
fd20: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
fd30: 2e 35 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.2 {.  sqlite3
fd40: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
fd50: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
fd60: 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d  yz} 10 5 100.0.}
fd70: 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 65   {abc: (1.00000e
fd80: 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
fd90: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e  st printf-2.4.5.
fda0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
fdb0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
fdc0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
fdd0: 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61   10 5 100.0.} {a
fde0: 62 63 3a 20 28 20 20 20 20 20 20 20 31 30 30 29  bc: (       100)
fdf0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
fe00: 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 34 20 7b 0a  rintf-2.4.5.4 {.
fe10: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
fe20: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
fe30: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
fe40: 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62  10 5 100.0.} {ab
fe50: 63 3a 20 31 30 20 35 20 28 31 30 30 29 20 3a 78  c: 10 5 (100) :x
fe60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
fe70: 74 66 2d 32 2e 34 2e 35 2e 35 20 7b 0a 20 20 73  tf-2.4.5.5 {.  s
fe80: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
fe90: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
fea0: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
feb0: 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   5 100.0.} {abc:
fec0: 20 31 30 20 35 20 28 31 30 30 2e 30 30 30 29 20   10 5 (100.000) 
fed0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
fee0: 69 6e 74 66 2d 32 2e 34 2e 35 2e 36 20 7b 0a 20  intf-2.4.5.6 {. 
fef0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ff00: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ff10: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
ff20: 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b  } 10 5 100.0.} {
ff30: 61 62 63 3a 20 31 30 20 35 20 28 30 30 30 30 30  abc: 10 5 (00000
ff40: 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00100) :xyz}.do_
ff50: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
ff60: 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.7 {.  sqlite3_
ff70: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ff80: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
ff90: 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  5f) :xyz} 10 5 1
ffa0: 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  00.0.} {abc: 10 
ffb0: 35 20 28 20 31 30 30 2e 30 30 30 30 30 29 20 3a  5 ( 100.00000) :
ffc0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
ffd0: 6e 74 66 2d 32 2e 34 2e 35 2e 38 20 7b 0a 20 20  ntf-2.4.5.8 {.  
ffe0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
fff0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
10000 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
10010 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b  } 10 5 100.0.} {
10020 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30  abc: 10 5 (1.000
10030 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
10040 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
10050 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.9 {.  sqlite3
10060 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10070 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
10080 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .5g) :xyz} 10 5 
10090 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  100.0.} {abc: 10
100a0 20 35 20 28 20 20 20 20 20 20 20 31 30 30 29 20   5 (       100) 
100b0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
100c0 69 6e 74 66 2d 32 2e 34 2e 36 2e 31 20 7b 0a 20  intf-2.4.6.1 {. 
100d0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
100e0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
100f0 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*f) :xyz} 10 5
10100 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
10110 20 28 20 20 20 39 2e 39 39 39 39 39 29 20 3a 78   (   9.99999) :x
10120 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10130 74 66 2d 32 2e 34 2e 36 2e 32 20 7b 0a 20 20 73  tf-2.4.6.2 {.  s
10140 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10150 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
10160 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39  *e) :xyz} 10 5 9
10170 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
10180 39 2e 39 39 39 39 39 65 2b 30 30 29 20 3a 78 79  9.99999e+00) :xy
10190 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
101a0 66 2d 32 2e 34 2e 36 2e 33 20 7b 0a 20 20 73 71  f-2.4.6.3 {.  sq
101b0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
101c0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
101d0 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e  g) :xyz} 10 5 9.
101e0 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20  99999.} {abc: ( 
101f0 20 20 20 20 20 20 20 31 30 29 20 3a 78 79 7a 7d         10) :xyz}
10200 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
10210 32 2e 34 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69  2.4.6.4 {.  sqli
10220 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
10230 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
10240 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39  %g) :xyz} 10 5 9
10250 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
10260 30 20 35 20 28 39 2e 39 39 39 39 39 29 20 3a 78  0 5 (9.99999) :x
10270 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10280 74 66 2d 32 2e 34 2e 36 2e 35 20 7b 0a 20 20 73  tf-2.4.6.5 {.  s
10290 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
102a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
102b0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
102c0 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
102d0 63 3a 20 31 30 20 35 20 28 39 2e 39 39 39 39 39  c: 10 5 (9.99999
102e0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
102f0 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 36 20 7b  printf-2.4.6.6 {
10300 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
10310 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
10320 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
10330 79 7a 7d 20 31 30 20 35 20 39 2e 39 39 39 39 39  yz} 10 5 9.99999
10340 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30  .} {abc: 10 5 (0
10350 30 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  009.99999) :xyz}
10360 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
10370 32 2e 34 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69  2.4.6.7 {.  sqli
10380 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
10390 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
103a0 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30  %10.5f) :xyz} 10
103b0 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
103c0 63 3a 20 31 30 20 35 20 28 20 20 20 39 2e 39 39  c: 10 5 (   9.99
103d0 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  999) :xyz}.do_te
103e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e  st printf-2.4.6.
103f0 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
10400 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10410 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65  c: %d %d (%10.5e
10420 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 39  ) :xyz} 10 5 9.9
10430 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
10440 35 20 28 39 2e 39 39 39 39 39 65 2b 30 30 29 20  5 (9.99999e+00) 
10450 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
10460 69 6e 74 66 2d 32 2e 34 2e 36 2e 39 20 7b 0a 20  intf-2.4.6.9 {. 
10470 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
10480 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
10490 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79   %d (%10.5g) :xy
104a0 7a 7d 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a  z} 10 5 9.99999.
104b0 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20  } {abc: 10 5 (  
104c0 20 20 20 20 20 20 31 30 29 20 3a 78 79 7a 7d 0a        10) :xyz}.
104d0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
104e0 2e 34 2e 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .4.7.1 {.  sqlit
104f0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10500 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
10510 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30  :xyz} 10 5 -0.00
10520 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 20 20 2d  543.} {abc: (  -
10530 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
10540 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10550 34 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  4.7.2 {.  sqlite
10560 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
10570 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
10580 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30 35  xyz} 10 5 -0.005
10590 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34  43.} {abc: (-5.4
105a0 33 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a  3000e-03) :xyz}.
105b0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
105c0 2e 34 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .4.7.3 {.  sqlit
105d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
105e0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
105f0 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30  :xyz} 10 5 -0.00
10600 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 20 20 2d  543.} {abc: (  -
10610 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
10620 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10630 34 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  4.7.4 {.  sqlite
10640 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
10650 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
10660 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e  ) :xyz} 10 5 -0.
10670 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30  00543.} {abc: 10
10680 20 35 20 28 2d 30 2e 30 30 35 34 33 29 20 3a 78   5 (-0.00543) :x
10690 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
106a0 74 66 2d 32 2e 34 2e 37 2e 35 20 7b 0a 20 20 73  tf-2.4.7.5 {.  s
106b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
106c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
106d0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
106e0 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   5 -0.00543.} {a
106f0 62 63 3a 20 31 30 20 35 20 28 2d 30 2e 30 30 35  bc: 10 5 (-0.005
10700 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  43000) :xyz}.do_
10710 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10720 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.6 {.  sqlite3_
10730 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10740 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
10750 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30  g) :xyz} 10 5 -0
10760 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31  .00543.} {abc: 1
10770 30 20 35 20 28 2d 30 30 30 2e 30 30 35 34 33 29  0 5 (-000.00543)
10780 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10790 72 69 6e 74 66 2d 32 2e 34 2e 37 2e 37 20 7b 0a  rintf-2.4.7.7 {.
107a0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
107b0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
107c0 64 20 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78  d %d (%10.5f) :x
107d0 79 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30 35 34  yz} 10 5 -0.0054
107e0 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  3.} {abc: 10 5 (
107f0 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a    -0.00543) :xyz
10800 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10810 2d 32 2e 34 2e 37 2e 38 20 7b 0a 20 20 73 71 6c  -2.4.7.8 {.  sql
10820 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10830 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
10840 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31  (%10.5e) :xyz} 1
10850 30 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  0 5 -0.00543.} {
10860 61 62 63 3a 20 31 30 20 35 20 28 2d 35 2e 34 33  abc: 10 5 (-5.43
10870 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  000e-03) :xyz}.d
10880 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10890 34 2e 37 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  4.7.9 {.  sqlite
108a0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
108b0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
108c0 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5g) :xyz} 10 5
108d0 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
108e0 3a 20 31 30 20 35 20 28 20 20 2d 30 2e 30 30 35  : 10 5 (  -0.005
108f0 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
10900 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 31  t printf-2.4.8.1
10910 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
10920 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
10930 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
10940 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63  10 5 -1.0.} {abc
10950 3a 20 28 20 20 2d 31 2e 30 30 30 30 30 29 20 3a  : (  -1.00000) :
10960 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
10970 6e 74 66 2d 32 2e 34 2e 38 2e 32 20 7b 0a 20 20  ntf-2.4.8.2 {.  
10980 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10990 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
109a0 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*e) :xyz} 10 5 
109b0 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
109c0 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  .00000e+00) :xyz
109d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
109e0 2d 32 2e 34 2e 38 2e 33 20 7b 0a 20 20 73 71 6c  -2.4.8.3 {.  sql
109f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10a00 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
10a10 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e  ) :xyz} 10 5 -1.
10a20 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  0.} {abc: (     
10a30 20 20 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f     -1) :xyz}.do_
10a40 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10a50 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.4 {.  sqlite3_
10a60 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10a70 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
10a80 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a  :xyz} 10 5 -1.0.
10a90 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 31  } {abc: 10 5 (-1
10aa0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
10ab0 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 35 20 7b  printf-2.4.8.5 {
10ac0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
10ad0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
10ae0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
10af0 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61  } 10 5 -1.0.} {a
10b00 62 63 3a 20 31 30 20 35 20 28 2d 31 2e 30 30 30  bc: 10 5 (-1.000
10b10 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
10b20 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 36  t printf-2.4.8.6
10b30 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
10b40 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
10b50 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
10b60 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a  :xyz} 10 5 -1.0.
10b70 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 30  } {abc: 10 5 (-0
10b80 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a  00000001) :xyz}.
10b90 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
10ba0 2e 34 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .4.8.7 {.  sqlit
10bb0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10bc0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10bd0 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20  10.5f) :xyz} 10 
10be0 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31  5 -1.0.} {abc: 1
10bf0 30 20 35 20 28 20 20 2d 31 2e 30 30 30 30 30 29  0 5 (  -1.00000)
10c00 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10c10 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 38 20 7b 0a  rintf-2.4.8.8 {.
10c20 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10c30 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
10c40 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78  d %d (%10.5e) :x
10c50 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20  yz} 10 5 -1.0.} 
10c60 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 31 2e 30  {abc: 10 5 (-1.0
10c70 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0000e+00) :xyz}.
10c80 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
10c90 2e 34 2e 38 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .4.8.9 {.  sqlit
10ca0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10cb0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10cc0 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20  10.5g) :xyz} 10 
10cd0 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31  5 -1.0.} {abc: 1
10ce0 30 20 35 20 28 20 20 20 20 20 20 20 20 2d 31 29  0 5 (        -1)
10cf0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10d00 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 31 20 7b 0a  rintf-2.4.9.1 {.
10d10 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10d20 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
10d30 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*f) :xyz} 10 
10d40 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
10d50 62 63 3a 20 28 20 2d 39 39 2e 39 39 39 39 39 29  bc: ( -99.99999)
10d60 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10d70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 32 20 7b 0a  rintf-2.4.9.2 {.
10d80 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10d90 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
10da0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
10db0 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
10dc0 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 65 2b 30  bc: (-1.00000e+0
10dd0 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
10de0 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 33 20   printf-2.4.9.3 
10df0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
10e00 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
10e10 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
10e20 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  0 5 -99.99999.} 
10e30 7b 61 62 63 3a 20 28 20 20 20 20 20 20 2d 31 30  {abc: (      -10
10e40 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
10e50 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 34 20   printf-2.4.9.4 
10e60 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
10e70 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
10e80 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
10e90 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39  } 10 5 -99.99999
10ea0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
10eb0 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
10ec0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e  st printf-2.4.9.
10ed0 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
10ee0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10ef0 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
10f00 78 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39 39  xyz} 10 5 -99.99
10f10 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  999.} {abc: 10 5
10f20 20 28 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a   (-100.000) :xyz
10f30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10f40 2d 32 2e 34 2e 39 2e 36 20 7b 0a 20 20 73 71 6c  -2.4.9.6 {.  sql
10f50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10f60 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
10f70 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
10f80 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   5 -99.99999.} {
10f90 61 62 63 3a 20 31 30 20 35 20 28 2d 30 30 30 30  abc: 10 5 (-0000
10fa0 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00100) :xyz}.do_
10fb0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10fc0 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.7 {.  sqlite3_
10fd0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10fe0 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
10ff0 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  5f) :xyz} 10 5 -
11000 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
11010 20 31 30 20 35 20 28 20 2d 39 39 2e 39 39 39 39   10 5 ( -99.9999
11020 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
11030 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 38 20   printf-2.4.9.8 
11040 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
11050 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
11060 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20   %d %d (%10.5e) 
11070 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39  :xyz} 10 5 -99.9
11080 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
11090 35 20 28 2d 31 2e 30 30 30 30 30 65 2b 30 32 29  5 (-1.00000e+02)
110a0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
110b0 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 39 20 7b 0a  rintf-2.4.9.9 {.
110c0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
110d0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
110e0 64 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a 78  d %d (%10.5g) :x
110f0 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39  yz} 10 5 -99.999
11100 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  99.} {abc: 10 5 
11110 28 20 20 20 20 20 20 2d 31 30 30 29 20 3a 78 79  (      -100) :xy
11120 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11130 66 2d 32 2e 34 2e 31 30 2e 31 20 7b 0a 20 20 73  f-2.4.10.1 {.  s
11140 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11150 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
11160 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33  *f) :xyz} 10 5 3
11170 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
11180 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 30 30  3140000000.00000
11190 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
111a0 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 32 20  printf-2.4.10.2 
111b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
111c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
111d0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
111e0 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  0 5 3.14e+9.} {a
111f0 62 63 3a 20 28 33 2e 31 34 30 30 30 65 2b 30 39  bc: (3.14000e+09
11200 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
11210 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 33 20  printf-2.4.10.3 
11220 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
11230 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
11240 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
11250 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  0 5 3.14e+9.} {a
11260 62 63 3a 20 28 20 20 33 2e 31 34 65 2b 30 39 29  bc: (  3.14e+09)
11270 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
11280 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 34 20 7b  rintf-2.4.10.4 {
11290 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
112a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
112b0 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
112c0 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20   10 5 3.14e+9.} 
112d0 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e 31 34  {abc: 10 5 (3.14
112e0 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
112f0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11300 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.5 {.  sqlite3_
11310 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11320 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
11330 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 31 34   :xyz} 10 5 3.14
11340 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  e+9.} {abc: 10 5
11350 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20 3a   (3.14000e+09) :
11360 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
11370 6e 74 66 2d 32 2e 34 2e 31 30 2e 36 20 7b 0a 20  ntf-2.4.10.6 {. 
11380 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
11390 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
113a0 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
113b0 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d  } 10 5 3.14e+9.}
113c0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 30 33   {abc: 10 5 (003
113d0 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
113e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
113f0 34 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74  4.10.7 {.  sqlit
11400 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11410 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11420 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20  10.5f) :xyz} 10 
11430 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  5 3.14e+9.} {abc
11440 3a 20 31 30 20 35 20 28 33 31 34 30 30 30 30 30  : 10 5 (31400000
11450 30 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  00.00000) :xyz}.
11460 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11470 2e 34 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69  .4.10.8 {.  sqli
11480 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11490 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
114a0 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30  %10.5e) :xyz} 10
114b0 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
114c0 63 3a 20 31 30 20 35 20 28 33 2e 31 34 30 30 30  c: 10 5 (3.14000
114d0 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
114e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
114f0 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.9 {.  sqlite3_
11500 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11510 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
11520 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33  5g) :xyz} 10 5 3
11530 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
11540 30 20 35 20 28 20 20 33 2e 31 34 65 2b 30 39 29  0 5 (  3.14e+09)
11550 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
11560 72 69 6e 74 66 2d 32 2e 34 2e 31 31 2e 32 20 7b  rintf-2.4.11.2 {
11570 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
11580 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
11590 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
115a0 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a   5 -4.72732e+88.
115b0 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 33  } {abc: (-4.7273
115c0 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
115d0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
115e0 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.3 {.  sqlite3
115f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
11600 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
11610 79 7a 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33  yz} 10 5 -4.7273
11620 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
11630 34 2e 37 32 37 33 65 2b 38 38 29 20 3a 78 79 7a  4.7273e+88) :xyz
11640 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
11650 2d 32 2e 34 2e 31 31 2e 34 20 7b 0a 20 20 73 71  -2.4.11.4 {.  sq
11660 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11670 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11680 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35   (%g) :xyz} 10 5
11690 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
116a0 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 34 2e 37  {abc: 10 5 (-4.7
116b0 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
116c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
116d0 2e 34 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69  .4.11.5 {.  sqli
116e0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
116f0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11700 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  %#g) :xyz} 10 5 
11710 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
11720 61 62 63 3a 20 31 30 20 35 20 28 2d 34 2e 37 32  abc: 10 5 (-4.72
11730 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
11740 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11750 34 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74  4.11.6 {.  sqlit
11760 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11770 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11780 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  010g) :xyz} 10 5
11790 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
117a0 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 34 2e 37  {abc: 10 5 (-4.7
117b0 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
117c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
117d0 2e 34 2e 31 31 2e 38 20 7b 0a 20 20 73 71 6c 69  .4.11.8 {.  sqli
117e0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
117f0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11800 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30  %10.5e) :xyz} 10
11810 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a   5 -4.72732e+88.
11820 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 34  } {abc: 10 5 (-4
11830 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a  .72732e+88) :xyz
11840 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
11850 2d 32 2e 34 2e 31 31 2e 39 20 7b 0a 20 20 73 71  -2.4.11.9 {.  sq
11860 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11870 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11880 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
11890 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38  10 5 -4.72732e+8
118a0 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  8.} {abc: 10 5 (
118b0 2d 34 2e 37 32 37 33 65 2b 38 38 29 20 3a 78 79  -4.7273e+88) :xy
118c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
118d0 66 2d 32 2e 34 2e 31 32 2e 32 20 7b 0a 20 20 73  f-2.4.12.2 {.  s
118e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
118f0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
11900 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39  *e) :xyz} 10 5 9
11910 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
11920 62 63 3a 20 28 39 2e 38 37 39 39 31 65 2b 31 34  bc: (9.87991e+14
11930 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
11940 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 32 2e 33   printf-2.4.12.3
11950 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
11960 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
11970 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
11980 31 30 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34  10 5 9.87991e+14
11990 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38 37 39  3.} {abc: (9.879
119a0 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  9e+143) :xyz}.do
119b0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
119c0 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .12.4 {.  sqlite
119d0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
119e0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
119f0 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 38  ) :xyz} 10 5 9.8
11a00 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
11a10 3a 20 31 30 20 35 20 28 39 2e 38 37 39 39 31 65  : 10 5 (9.87991e
11a20 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  +143) :xyz}.do_t
11a30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11a40 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.5 {.  sqlite3_
11a50 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11a60 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
11a70 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 38 37   :xyz} 10 5 9.87
11a80 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
11a90 20 31 30 20 35 20 28 39 2e 38 37 39 39 31 65 2b   10 5 (9.87991e+
11aa0 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
11ab0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 32  st printf-2.4.12
11ac0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
11ad0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
11ae0 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
11af0 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 38  ) :xyz} 10 5 9.8
11b00 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
11b10 3a 20 31 30 20 35 20 28 39 2e 38 37 39 39 31 65  : 10 5 (9.87991e
11b20 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  +143) :xyz}.do_t
11b30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11b40 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.8 {.  sqlite3_
11b50 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11b60 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
11b70 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39  5e) :xyz} 10 5 9
11b80 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
11b90 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37 39 39  bc: 10 5 (9.8799
11ba0 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
11bb0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11bc0 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .12.9 {.  sqlite
11bd0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
11be0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
11bf0 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5g) :xyz} 10 5
11c00 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
11c10 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37  {abc: 10 5 (9.87
11c20 39 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  99e+143) :xyz}.d
11c30 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11c40 34 2e 31 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74  4.13.1 {.  sqlit
11c50 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11c60 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
11c70 3a 78 79 7a 7d 20 31 30 20 35 20 2d 36 2e 32 38  :xyz} 10 5 -6.28
11c80 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
11c90 28 20 20 2d 30 2e 30 30 30 30 30 29 20 3a 78 79  (  -0.00000) :xy
11ca0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11cb0 66 2d 32 2e 34 2e 31 33 2e 32 20 7b 0a 20 20 73  f-2.4.13.2 {.  s
11cc0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11cd0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
11ce0 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  *e) :xyz} 10 5 -
11cf0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
11d00 62 63 3a 20 28 2d 36 2e 32 38 37 32 39 65 2d 30  bc: (-6.28729e-0
11d10 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
11d20 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 33 2e 33   printf-2.4.13.3
11d30 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
11d40 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
11d50 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
11d60 31 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d  10 5 -6.287291e-
11d70 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38  9.} {abc: (-6.28
11d80 37 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  73e-09) :xyz}.do
11d90 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11da0 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .13.4 {.  sqlite
11db0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
11dc0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
11dd0 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 36 2e  ) :xyz} 10 5 -6.
11de0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
11df0 3a 20 31 30 20 35 20 28 2d 36 2e 32 38 37 32 39  : 10 5 (-6.28729
11e00 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
11e10 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11e20 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.5 {.  sqlite3_
11e30 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11e40 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
11e50 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 36 2e 32   :xyz} 10 5 -6.2
11e60 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
11e70 20 31 30 20 35 20 28 2d 36 2e 32 38 37 32 39 65   10 5 (-6.28729e
11e80 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
11e90 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 33  st printf-2.4.13
11ea0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
11eb0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
11ec0 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
11ed0 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 36 2e  ) :xyz} 10 5 -6.
11ee0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
11ef0 3a 20 31 30 20 35 20 28 2d 36 2e 32 38 37 32 39  : 10 5 (-6.28729
11f00 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
11f10 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11f20 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.7 {.  sqlite3_
11f30 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11f40 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
11f50 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  5f) :xyz} 10 5 -
11f60 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
11f70 62 63 3a 20 31 30 20 35 20 28 20 20 2d 30 2e 30  bc: 10 5 (  -0.0
11f80 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
11f90 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11fa0 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.8 {.  sqlite3_
11fb0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11fc0 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
11fd0 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  5e) :xyz} 10 5 -
11fe0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
11ff0 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32 38 37  bc: 10 5 (-6.287
12000 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
12010 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
12020 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .13.9 {.  sqlite
12030 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12040 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
12050 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5g) :xyz} 10 5
12060 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
12070 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32  {abc: 10 5 (-6.2
12080 38 37 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  873e-09) :xyz}.d
12090 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
120a0 34 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74  4.14.1 {.  sqlit
120b0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
120c0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
120d0 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38  :xyz} 10 5 3.388
120e0 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
120f0 63 3a 20 28 20 20 20 30 2e 30 30 30 30 30 29 20  c: (   0.00000) 
12100 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12110 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 32 20 7b 0a  intf-2.4.14.2 {.
12120 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12130 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
12140 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
12150 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  5 3.38826392e-11
12160 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38  0.} {abc: (3.388
12170 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
12180 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12190 34 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74  4.14.3 {.  sqlit
121a0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
121b0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
121c0 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38  :xyz} 10 5 3.388
121d0 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
121e0 63 3a 20 28 33 2e 33 38 38 33 65 2d 31 31 30 29  c: (3.3883e-110)
121f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
12200 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 34 20 7b  rintf-2.4.14.4 {
12210 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12220 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12230 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
12240 20 31 30 20 35 20 33 2e 33 38 38 32 36 33 39 32   10 5 3.38826392
12250 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30  e-110.} {abc: 10
12260 20 35 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30   5 (3.38826e-110
12270 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12280 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 35 20  printf-2.4.14.5 
12290 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
122a0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
122b0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
122c0 7a 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36 33  z} 10 5 3.388263
122d0 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
122e0 31 30 20 35 20 28 33 2e 33 38 38 32 36 65 2d 31  10 5 (3.38826e-1
122f0 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
12300 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e  t printf-2.4.14.
12310 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
12320 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12330 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
12340 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38   :xyz} 10 5 3.38
12350 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
12360 62 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38 32  bc: 10 5 (3.3882
12370 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
12380 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
12390 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .14.7 {.  sqlite
123a0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
123b0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
123c0 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5f) :xyz} 10 5
123d0 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
123e0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20  .} {abc: 10 5 ( 
123f0 20 20 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d    0.00000) :xyz}
12400 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12410 32 2e 34 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c  2.4.14.8 {.  sql
12420 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12430 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12440 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31  (%10.5e) :xyz} 1
12450 30 20 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d  0 5 3.38826392e-
12460 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  110.} {abc: 10 5
12470 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20   (3.38826e-110) 
12480 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12490 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 39 20 7b 0a  intf-2.4.14.9 {.
124a0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
124b0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
124c0 64 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a 78  d %d (%10.5g) :x
124d0 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36  yz} 10 5 3.38826
124e0 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
124f0 20 31 30 20 35 20 28 33 2e 33 38 38 33 65 2d 31   10 5 (3.3883e-1
12500 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
12510 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 31  t printf-2.5.1.1
12520 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
12530 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
12540 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
12550 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  2 2 0.001.} {abc
12560 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  : (0.00) :xyz}.d
12570 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12580 35 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  5.1.2 {.  sqlite
12590 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
125a0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
125b0 78 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d  xyz} 2 2 0.001.}
125c0 20 7b 61 62 63 3a 20 28 31 2e 30 30 65 2d 30 33   {abc: (1.00e-03
125d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
125e0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 33 20 7b  printf-2.5.1.3 {
125f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12600 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12610 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
12620 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  2 0.001.} {abc: 
12630 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (0.001) :xyz}.do
12640 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
12650 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.4 {.  sqlite3
12660 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12670 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
12680 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 30 31   :xyz} 2 2 0.001
12690 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30 2e  .} {abc: 2 2 (0.
126a0 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
126b0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e  st printf-2.5.1.
126c0 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
126d0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
126e0 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
126f0 78 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d  xyz} 2 2 0.001.}
12700 20 7b 61 62 63 3a 20 32 20 32 20 28 30 2e 30 30   {abc: 2 2 (0.00
12710 31 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  100000) :xyz}.do
12720 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
12730 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.6 {.  sqlite3
12740 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12750 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
12760 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e  0g) :xyz} 2 2 0.
12770 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  001.} {abc: 2 2 
12780 28 30 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79  (000000.001) :xy
12790 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
127a0 66 2d 32 2e 35 2e 31 2e 37 20 7b 0a 20 20 73 71  f-2.5.1.7 {.  sq
127b0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
127c0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
127d0 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32   (%2.2f) :xyz} 2
127e0 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   2 0.001.} {abc:
127f0 20 32 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a   2 2 (0.00) :xyz
12800 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12810 2d 32 2e 35 2e 31 2e 38 20 7b 0a 20 20 73 71 6c  -2.5.1.8 {.  sql
12820 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12830 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12840 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20  (%2.2e) :xyz} 2 
12850 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  2 0.001.} {abc: 
12860 32 20 32 20 28 31 2e 30 30 65 2d 30 33 29 20 3a  2 2 (1.00e-03) :
12870 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
12880 6e 74 66 2d 32 2e 35 2e 31 2e 39 20 7b 0a 20 20  ntf-2.5.1.9 {.  
12890 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
128a0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
128b0 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d  %d (%2.2g) :xyz}
128c0 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62   2 2 0.001.} {ab
128d0 63 3a 20 32 20 32 20 28 30 2e 30 30 31 29 20 3a  c: 2 2 (0.001) :
128e0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
128f0 6e 74 66 2d 32 2e 35 2e 32 2e 31 20 7b 0a 20 20  ntf-2.5.2.1 {.  
12900 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
12910 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
12920 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  .*f) :xyz} 2 2 1
12930 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
12940 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
12950 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32  est printf-2.5.2
12960 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
12970 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
12980 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
12990 7d 20 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20  } 2 2 1.0e-20.} 
129a0 7b 61 62 63 3a 20 28 31 2e 30 30 65 2d 32 30 29  {abc: (1.00e-20)
129b0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
129c0 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 33 20 7b 0a  rintf-2.5.2.3 {.
129d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
129e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
129f0 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*g) :xyz} 2 2
12a00 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
12a10 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64   (1e-20) :xyz}.d
12a20 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12a30 35 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  5.2.4 {.  sqlite
12a40 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12a50 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
12a60 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 65  ) :xyz} 2 2 1.0e
12a70 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  -20.} {abc: 2 2 
12a80 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  (1e-20) :xyz}.do
12a90 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
12aa0 2e 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.5 {.  sqlite3
12ab0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12ac0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
12ad0 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 65  ) :xyz} 2 2 1.0e
12ae0 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  -20.} {abc: 2 2 
12af0 28 31 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78  (1.00000e-20) :x
12b00 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
12b10 74 66 2d 32 2e 35 2e 32 2e 36 20 7b 0a 20 20 73  tf-2.5.2.6 {.  s
12b20 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
12b30 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
12b40 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
12b50 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  2 2 1.0e-20.} {a
12b60 62 63 3a 20 32 20 32 20 28 30 30 30 30 30 31 65  bc: 2 2 (000001e
12b70 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
12b80 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e  st printf-2.5.2.
12b90 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
12ba0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12bb0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29  c: %d %d (%2.2f)
12bc0 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 65 2d   :xyz} 2 2 1.0e-
12bd0 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  20.} {abc: 2 2 (
12be0 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
12bf0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32  est printf-2.5.2
12c00 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
12c10 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
12c20 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65  bc: %d %d (%2.2e
12c30 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 65  ) :xyz} 2 2 1.0e
12c40 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  -20.} {abc: 2 2 
12c50 28 31 2e 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d  (1.00e-20) :xyz}
12c60 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12c70 32 2e 35 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69  2.5.2.9 {.  sqli
12c80 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12c90 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
12ca0 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2g) :xyz} 2 2
12cb0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
12cc0 20 32 20 32 20 28 31 65 2d 32 30 29 20 3a 78 79   2 2 (1e-20) :xy
12cd0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12ce0 66 2d 32 2e 35 2e 33 2e 31 20 7b 0a 20 20 73 71  f-2.5.3.1 {.  sq
12cf0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12d00 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
12d10 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30  f) :xyz} 2 2 1.0
12d20 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 29 20  .} {abc: (1.00) 
12d30 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12d40 69 6e 74 66 2d 32 2e 35 2e 33 2e 32 20 7b 0a 20  intf-2.5.3.2 {. 
12d50 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12d60 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
12d70 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
12d80 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  1.0.} {abc: (1.0
12d90 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
12da0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
12db0 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.3 {.  sqlite3_
12dc0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
12dd0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
12de0 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 2 1.0.} {ab
12df0 63 3a 20 28 20 31 29 20 3a 78 79 7a 7d 0a 64 6f  c: ( 1) :xyz}.do
12e00 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
12e10 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.4 {.  sqlite3
12e20 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12e30 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
12e40 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d   :xyz} 2 2 1.0.}
12e50 20 7b 61 62 63 3a 20 32 20 32 20 28 31 29 20 3a   {abc: 2 2 (1) :
12e60 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
12e70 6e 74 66 2d 32 2e 35 2e 33 2e 35 20 7b 0a 20 20  ntf-2.5.3.5 {.  
12e80 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
12e90 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
12ea0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
12eb0 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 1.0.} {abc: 2
12ec0 20 32 20 28 31 2e 30 30 30 30 30 29 20 3a 78 79   2 (1.00000) :xy
12ed0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12ee0 66 2d 32 2e 35 2e 33 2e 36 20 7b 0a 20 20 73 71  f-2.5.3.6 {.  sq
12ef0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12f00 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12f10 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
12f20 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 1.0.} {abc: 2
12f30 20 32 20 28 30 30 30 30 30 30 30 30 30 31 29 20   2 (0000000001) 
12f40 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12f50 69 6e 74 66 2d 32 2e 35 2e 33 2e 37 20 7b 0a 20  intf-2.5.3.7 {. 
12f60 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12f70 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
12f80 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a   %d (%2.2f) :xyz
12f90 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 2 1.0.} {abc
12fa0 3a 20 32 20 32 20 28 31 2e 30 30 29 20 3a 78 79  : 2 2 (1.00) :xy
12fb0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12fc0 66 2d 32 2e 35 2e 33 2e 38 20 7b 0a 20 20 73 71  f-2.5.3.8 {.  sq
12fd0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12fe0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12ff0 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32   (%2.2e) :xyz} 2
13000 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 1.0.} {abc: 2
13010 20 32 20 28 31 2e 30 30 65 2b 30 30 29 20 3a 78   2 (1.00e+00) :x
13020 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13030 74 66 2d 32 2e 35 2e 33 2e 39 20 7b 0a 20 20 73  tf-2.5.3.9 {.  s
13040 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
13050 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
13060 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%2.2g) :xyz} 
13070 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 2 1.0.} {abc: 
13080 32 20 32 20 28 20 31 29 20 3a 78 79 7a 7d 0a 64  2 2 ( 1) :xyz}.d
13090 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
130a0 35 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  5.4.1 {.  sqlite
130b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
130c0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
130d0 78 79 7a 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b  xyz} 2 2 0.0.} {
130e0 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a  abc: (0.00) :xyz
130f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13100 2d 32 2e 35 2e 34 2e 32 20 7b 0a 20 20 73 71 6c  -2.5.4.2 {.  sql
13110 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13120 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
13130 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 0a  ) :xyz} 2 2 0.0.
13140 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 65 2b 30  } {abc: (0.00e+0
13150 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
13160 20 70 72 69 6e 74 66 2d 32 2e 35 2e 34 2e 33 20   printf-2.5.4.3 
13170 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
13180 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
13190 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32   (%*.*g) :xyz} 2
131a0 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   2 0.0.} {abc: (
131b0 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73   0) :xyz}.do_tes
131c0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 34 2e 34  t printf-2.5.4.4
131d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
131e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
131f0 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
13200 7a 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 2 2 0.0.} {ab
13210 63 3a 20 32 20 32 20 28 30 29 20 3a 78 79 7a 7d  c: 2 2 (0) :xyz}
13220 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13230 32 2e 35 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69  2.5.4.5 {.  sqli
13240 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13250 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13260 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30  %#g) :xyz} 2 2 0
13270 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
13280 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
13290 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
132a0 35 2e 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  5.4.6 {.  sqlite
132b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
132c0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
132d0 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30  10g) :xyz} 2 2 0
132e0 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
132f0 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
13300 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13310 2d 32 2e 35 2e 34 2e 37 20 7b 0a 20 20 73 71 6c  -2.5.4.7 {.  sql
13320 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13330 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
13340 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20  (%2.2f) :xyz} 2 
13350 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20  2 0.0.} {abc: 2 
13360 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  2 (0.00) :xyz}.d
13370 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
13380 35 2e 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  5.4.8 {.  sqlite
13390 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
133a0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
133b0 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 30  .2e) :xyz} 2 2 0
133c0 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
133d0 30 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0.00e+00) :xyz}.
133e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
133f0 2e 35 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .5.4.9 {.  sqlit
13400 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13410 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
13420 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2g) :xyz} 2 2 
13430 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  0.0.} {abc: 2 2 
13440 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  ( 0) :xyz}.do_te
13450 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 35 2e  st printf-2.5.5.
13460 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
13470 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
13480 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
13490 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 2 100.0.} {ab
134a0 63 3a 20 28 31 30 30 2e 30 30 29 20 3a 78 79 7a  c: (100.00) :xyz
134b0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
134c0 2d 32 2e 35 2e 35 2e 32 20 7b 0a 20 20 73 71 6c  -2.5.5.2 {.  sql
134d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
134e0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
134f0 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 30 30 2e  ) :xyz} 2 2 100.
13500 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65  0.} {abc: (1.00e
13510 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
13520 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 35 2e  st printf-2.5.5.
13530 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
13540 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
13550 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
13560 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 2 100.0.} {ab
13570 63 3a 20 28 31 65 2b 30 32 29 20 3a 78 79 7a 7d  c: (1e+02) :xyz}
13580 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13590 32 2e 35 2e 35 2e 34 20 7b 0a 20 20 73 71 6c 69  2.5.5.4 {.  sqli
135a0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
135b0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
135c0 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 30  %g) :xyz} 2 2 10
135d0 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  0.0.} {abc: 2 2 
135e0 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (100) :xyz}.do_t
135f0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 35  est printf-2.5.5
13600 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
13610 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13620 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
13630 3a 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a  :xyz} 2 2 100.0.
13640 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 31 30 30  } {abc: 2 2 (100
13650 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
13660 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 35  est printf-2.5.5
13670 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
13680 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13690 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
136a0 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 30 30 2e  ) :xyz} 2 2 100.
136b0 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30  0.} {abc: 2 2 (0
136c0 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
136d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
136e0 32 2e 35 2e 35 2e 37 20 7b 0a 20 20 73 71 6c 69  2.5.5.7 {.  sqli
136f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13700 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13710 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2f) :xyz} 2 2
13720 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   100.0.} {abc: 2
13730 20 32 20 28 31 30 30 2e 30 30 29 20 3a 78 79 7a   2 (100.00) :xyz
13740 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13750 2d 32 2e 35 2e 35 2e 38 20 7b 0a 20 20 73 71 6c  -2.5.5.8 {.  sql
13760 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13770 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
13780 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20  (%2.2e) :xyz} 2 
13790 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 100.0.} {abc: 
137a0 32 20 32 20 28 31 2e 30 30 65 2b 30 32 29 20 3a  2 2 (1.00e+02) :
137b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
137c0 6e 74 66 2d 32 2e 35 2e 35 2e 39 20 7b 0a 20 20  ntf-2.5.5.9 {.  
137d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
137e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
137f0 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d  %d (%2.2g) :xyz}
13800 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 2 100.0.} {ab
13810 63 3a 20 32 20 32 20 28 31 65 2b 30 32 29 20 3a  c: 2 2 (1e+02) :
13820 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13830 6e 74 66 2d 32 2e 35 2e 36 2e 31 20 7b 0a 20 20  ntf-2.5.6.1 {.  
13840 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13850 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
13860 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 39  .*f) :xyz} 2 2 9
13870 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
13880 31 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  10.00) :xyz}.do_
13890 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
138a0 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.2 {.  sqlite3_
138b0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
138c0 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
138d0 7a 7d 20 32 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 2 2 9.99999.}
138e0 20 7b 61 62 63 3a 20 28 31 2e 30 30 65 2b 30 31   {abc: (1.00e+01
138f0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
13900 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 33 20 7b  printf-2.5.6.3 {
13910 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
13920 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
13930 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
13940 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  2 9.99999.} {abc
13950 3a 20 28 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  : (10) :xyz}.do_
13960 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
13970 36 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.4 {.  sqlite3_
13980 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
13990 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
139a0 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39 39 39  :xyz} 2 2 9.9999
139b0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39  9.} {abc: 2 2 (9
139c0 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
139d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
139e0 2e 36 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.5 {.  sqlite3
139f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13a00 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
13a10 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39  ) :xyz} 2 2 9.99
13a20 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  999.} {abc: 2 2 
13a30 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  (9.99999) :xyz}.
13a40 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13a50 2e 35 2e 36 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .5.6.6 {.  sqlit
13a60 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13a70 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
13a80 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  010g) :xyz} 2 2 
13a90 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
13aa0 32 20 32 20 28 30 30 30 39 2e 39 39 39 39 39 29  2 2 (0009.99999)
13ab0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13ac0 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 37 20 7b 0a  rintf-2.5.6.7 {.
13ad0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13ae0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
13af0 64 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79  d %d (%2.2f) :xy
13b00 7a 7d 20 32 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 2 2 9.99999.}
13b10 20 7b 61 62 63 3a 20 32 20 32 20 28 31 30 2e 30   {abc: 2 2 (10.0
13b20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
13b30 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 38 20   printf-2.5.6.8 
13b40 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
13b50 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
13b60 20 25 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a   %d %d (%2.2e) :
13b70 78 79 7a 7d 20 32 20 32 20 39 2e 39 39 39 39 39  xyz} 2 2 9.99999
13b80 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 31 2e  .} {abc: 2 2 (1.
13b90 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  00e+01) :xyz}.do
13ba0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13bb0 2e 36 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.9 {.  sqlite3
13bc0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13bd0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
13be0 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e  2g) :xyz} 2 2 9.
13bf0 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20  99999.} {abc: 2 
13c00 32 20 28 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2 (10) :xyz}.do_
13c10 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
13c20 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.1 {.  sqlite3_
13c30 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
13c40 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
13c50 7a 7d 20 32 20 32 20 2d 30 2e 30 30 35 34 33 0a  z} 2 2 -0.00543.
13c60 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 31 29 20  } {abc: (-0.01) 
13c70 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13c80 69 6e 74 66 2d 32 2e 35 2e 37 2e 32 20 7b 0a 20  intf-2.5.7.2 {. 
13c90 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13ca0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
13cb0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
13cc0 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
13cd0 20 28 2d 35 2e 34 33 65 2d 30 33 29 20 3a 78 79   (-5.43e-03) :xy
13ce0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13cf0 66 2d 32 2e 35 2e 37 2e 33 20 7b 0a 20 20 73 71  f-2.5.7.3 {.  sq
13d00 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13d10 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
13d20 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e  g) :xyz} 2 2 -0.
13d30 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d  00543.} {abc: (-
13d40 30 2e 30 30 35 34 29 20 3a 78 79 7a 7d 0a 64 6f  0.0054) :xyz}.do
13d50 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13d60 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.4 {.  sqlite3
13d70 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13d80 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
13d90 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30   :xyz} 2 2 -0.00
13da0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  543.} {abc: 2 2 
13db0 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d  (-0.00543) :xyz}
13dc0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13dd0 32 2e 35 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69  2.5.7.5 {.  sqli
13de0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13df0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13e00 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  %#g) :xyz} 2 2 -
13e10 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
13e20 32 20 32 20 28 2d 30 2e 30 30 35 34 33 30 30 30  2 2 (-0.00543000
13e30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
13e40 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 36 20 7b  printf-2.5.7.6 {
13e50 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
13e60 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
13e70 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
13e80 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30 35 34 33  yz} 2 2 -0.00543
13e90 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 30  .} {abc: 2 2 (-0
13ea0 30 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  00.00543) :xyz}.
13eb0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13ec0 2e 35 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .5.7.7 {.  sqlit
13ed0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13ee0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
13ef0 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2f) :xyz} 2 2 
13f00 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
13f10 20 32 20 32 20 28 2d 30 2e 30 31 29 20 3a 78 79   2 2 (-0.01) :xy
13f20 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13f30 66 2d 32 2e 35 2e 37 2e 38 20 7b 0a 20 20 73 71  f-2.5.7.8 {.  sq
13f40 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13f50 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13f60 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32   (%2.2e) :xyz} 2
13f70 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   2 -0.00543.} {a
13f80 62 63 3a 20 32 20 32 20 28 2d 35 2e 34 33 65 2d  bc: 2 2 (-5.43e-
13f90 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
13fa0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 39  t printf-2.5.7.9
13fb0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
13fc0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
13fd0 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20  : %d %d (%2.2g) 
13fe0 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30 35  :xyz} 2 2 -0.005
13ff0 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  43.} {abc: 2 2 (
14000 2d 30 2e 30 30 35 34 29 20 3a 78 79 7a 7d 0a 64  -0.0054) :xyz}.d
14010 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14020 35 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  5.8.1 {.  sqlite
14030 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14040 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
14050 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a 7d 20  xyz} 2 2 -1.0.} 
14060 7b 61 62 63 3a 20 28 2d 31 2e 30 30 29 20 3a 78  {abc: (-1.00) :x
14070 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14080 74 66 2d 32 2e 35 2e 38 2e 32 20 7b 0a 20 20 73  tf-2.5.8.2 {.  s
14090 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
140a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
140b0 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31  *e) :xyz} 2 2 -1
140c0 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  .0.} {abc: (-1.0
140d0 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
140e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
140f0 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.3 {.  sqlite3_
14100 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
14110 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
14120 7a 7d 20 32 20 32 20 2d 31 2e 30 0a 7d 20 7b 61  z} 2 2 -1.0.} {a
14130 62 63 3a 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64  bc: (-1) :xyz}.d
14140 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14150 35 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  5.8.4 {.  sqlite
14160 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14170 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
14180 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30  ) :xyz} 2 2 -1.0
14190 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31  .} {abc: 2 2 (-1
141a0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
141b0 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e 35 20 7b  printf-2.5.8.5 {
141c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
141d0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
141e0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
141f0 7d 20 32 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 2 2 -1.0.} {ab
14200 63 3a 20 32 20 32 20 28 2d 31 2e 30 30 30 30 30  c: 2 2 (-1.00000
14210 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14220 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e 36 20 7b  printf-2.5.8.6 {
14230 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14240 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14250 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
14260 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a 7d 20 7b  yz} 2 2 -1.0.} {
14270 61 62 63 3a 20 32 20 32 20 28 2d 30 30 30 30 30  abc: 2 2 (-00000
14280 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0001) :xyz}.do_t
14290 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38  est printf-2.5.8
142a0 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
142b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
142c0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66  bc: %d %d (%2.2f
142d0 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30  ) :xyz} 2 2 -1.0
142e0 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31  .} {abc: 2 2 (-1
142f0 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
14300 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e  st printf-2.5.8.
14310 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
14320 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
14330 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65 29  c: %d %d (%2.2e)
14340 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a   :xyz} 2 2 -1.0.
14350 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31 2e  } {abc: 2 2 (-1.
14360 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
14370 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
14380 2e 38 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.9 {.  sqlite3
14390 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
143a0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
143b0 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31  2g) :xyz} 2 2 -1
143c0 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
143d0 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  -1) :xyz}.do_tes
143e0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 31  t printf-2.5.9.1
143f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
14400 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
14410 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
14420 32 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  2 2 -99.99999.} 
14430 7b 61 62 63 3a 20 28 2d 31 30 30 2e 30 30 29 20  {abc: (-100.00) 
14440 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14450 69 6e 74 66 2d 32 2e 35 2e 39 2e 32 20 7b 0a 20  intf-2.5.9.2 {. 
14460 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14470 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
14480 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
14490 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
144a0 3a 20 28 2d 31 2e 30 30 65 2b 30 32 29 20 3a 78  : (-1.00e+02) :x
144b0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
144c0 74 66 2d 32 2e 35 2e 39 2e 33 20 7b 0a 20 20 73  tf-2.5.9.3 {.  s
144d0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
144e0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
144f0 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 39  *g) :xyz} 2 2 -9
14500 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
14510 28 2d 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  (-1e+02) :xyz}.d
14520 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14530 35 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  5.9.4 {.  sqlite
14540 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14550 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
14560 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 39 39 2e  ) :xyz} 2 2 -99.
14570 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20  99999.} {abc: 2 
14580 32 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64  2 (-100) :xyz}.d
14590 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
145a0 35 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  5.9.5 {.  sqlite
145b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
145c0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
145d0 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 39 39  g) :xyz} 2 2 -99
145e0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
145f0 20 32 20 28 2d 31 30 30 2e 30 30 30 29 20 3a 78   2 (-100.000) :x
14600 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14610 74 66 2d 32 2e 35 2e 39 2e 36 20 7b 0a 20 20 73  tf-2.5.9.6 {.  s
14620 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14630 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
14640 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
14650 32 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  2 2 -99.99999.} 
14660 7b 61 62 63 3a 20 32 20 32 20 28 2d 30 30 30 30  {abc: 2 2 (-0000
14670 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00100) :xyz}.do_
14680 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
14690 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.7 {.  sqlite3_
146a0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
146b0 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32  abc: %d %d (%2.2
146c0 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 39 39  f) :xyz} 2 2 -99
146d0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
146e0 20 32 20 28 2d 31 30 30 2e 30 30 29 20 3a 78 79   2 (-100.00) :xy
146f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
14700 66 2d 32 2e 35 2e 39 2e 38 20 7b 0a 20 20 73 71  f-2.5.9.8 {.  sq
14710 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14720 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
14730 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32   (%2.2e) :xyz} 2
14740 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   2 -99.99999.} {
14750 61 62 63 3a 20 32 20 32 20 28 2d 31 2e 30 30 65  abc: 2 2 (-1.00e
14760 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
14770 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e  st printf-2.5.9.
14780 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
14790 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
147a0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67 29  c: %d %d (%2.2g)
147b0 20 3a 78 79 7a 7d 20 32 20 32 20 2d 39 39 2e 39   :xyz} 2 2 -99.9
147c0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32  9999.} {abc: 2 2
147d0 20 28 2d 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a   (-1e+02) :xyz}.
147e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
147f0 2e 35 2e 31 30 2e 31 20 7b 0a 20 20 73 71 6c 69  .5.10.1 {.  sqli
14800 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
14810 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
14820 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65   :xyz} 2 2 3.14e
14830 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 31 34 30  +9.} {abc: (3140
14840 30 30 30 30 30 30 2e 30 30 29 20 3a 78 79 7a 7d  000000.00) :xyz}
14850 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
14860 32 2e 35 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c  2.5.10.2 {.  sql
14870 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14880 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
14890 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34  ) :xyz} 2 2 3.14
148a0 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31  e+9.} {abc: (3.1
148b0 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  4e+09) :xyz}.do_
148c0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
148d0 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.3 {.  sqlite3
148e0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
148f0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
14900 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 2 2 3.14e+9.
14910 7d 20 7b 61 62 63 3a 20 28 33 2e 31 65 2b 30 39  } {abc: (3.1e+09
14920 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14930 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30 2e 34 20  printf-2.5.10.4 
14940 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
14950 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
14960 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
14970 7d 20 32 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20  } 2 2 3.14e+9.} 
14980 7b 61 62 63 3a 20 32 20 32 20 28 33 2e 31 34 65  {abc: 2 2 (3.14e
14990 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
149a0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30  st printf-2.5.10
149b0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
149c0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
149d0 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
149e0 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b  :xyz} 2 2 3.14e+
149f0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33  9.} {abc: 2 2 (3
14a00 2e 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a  .14000e+09) :xyz
14a10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14a20 2d 32 2e 35 2e 31 30 2e 36 20 7b 0a 20 20 73 71  -2.5.10.6 {.  sq
14a30 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14a40 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
14a50 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
14a60 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   2 3.14e+9.} {ab
14a70 63 3a 20 32 20 32 20 28 30 30 33 2e 31 34 65 2b  c: 2 2 (003.14e+
14a80 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
14a90 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30 2e  t printf-2.5.10.
14aa0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
14ab0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
14ac0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29  c: %d %d (%2.2f)
14ad0 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65   :xyz} 2 2 3.14e
14ae0 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  +9.} {abc: 2 2 (
14af0 33 31 34 30 30 30 30 30 30 30 2e 30 30 29 20 3a  3140000000.00) :
14b00 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14b10 6e 74 66 2d 32 2e 35 2e 31 30 2e 38 20 7b 0a 20  ntf-2.5.10.8 {. 
14b20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14b30 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
14b40 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
14b50 7d 20 32 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20  } 2 2 3.14e+9.} 
14b60 7b 61 62 63 3a 20 32 20 32 20 28 33 2e 31 34 65  {abc: 2 2 (3.14e
14b70 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
14b80 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30  st printf-2.5.10
14b90 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
14ba0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
14bb0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67  bc: %d %d (%2.2g
14bc0 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34  ) :xyz} 2 2 3.14
14bd0 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  e+9.} {abc: 2 2 
14be0 28 33 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  (3.1e+09) :xyz}.
14bf0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14c00 2e 35 2e 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69  .5.11.2 {.  sqli
14c10 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
14c20 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
14c30 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e 37 32   :xyz} 2 2 -4.72
14c40 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
14c50 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a  (-4.73e+88) :xyz
14c60 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14c70 2d 32 2e 35 2e 31 31 2e 33 20 7b 0a 20 20 73 71  -2.5.11.3 {.  sq
14c80 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14c90 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
14ca0 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e  g) :xyz} 2 2 -4.
14cb0 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
14cc0 3a 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79  : (-4.7e+88) :xy
14cd0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
14ce0 66 2d 32 2e 35 2e 31 31 2e 34 20 7b 0a 20 20 73  f-2.5.11.4 {.  s
14cf0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14d00 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
14d10 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32  d (%g) :xyz} 2 2
14d20 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
14d30 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 32  {abc: 2 2 (-4.72
14d40 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
14d50 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14d60 35 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  5.11.5 {.  sqlit
14d70 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14d80 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14d90 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34  #g) :xyz} 2 2 -4
14da0 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
14db0 63 3a 20 32 20 32 20 28 2d 34 2e 37 32 37 33 32  c: 2 2 (-4.72732
14dc0 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
14dd0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
14de0 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.6 {.  sqlite3_
14df0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
14e00 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
14e10 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e  g) :xyz} 2 2 -4.
14e20 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
14e30 3a 20 32 20 32 20 28 2d 34 2e 37 32 37 33 32 65  : 2 2 (-4.72732e
14e40 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
14e50 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 31  st printf-2.5.11
14e60 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
14e70 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
14e80 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65  bc: %d %d (%2.2e
14e90 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e 37  ) :xyz} 2 2 -4.7
14ea0 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
14eb0 20 32 20 32 20 28 2d 34 2e 37 33 65 2b 38 38 29   2 2 (-4.73e+88)
14ec0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14ed0 72 69 6e 74 66 2d 32 2e 35 2e 31 31 2e 39 20 7b  rintf-2.5.11.9 {
14ee0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14ef0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14f00 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78  %d %d (%2.2g) :x
14f10 79 7a 7d 20 32 20 32 20 2d 34 2e 37 32 37 33 32  yz} 2 2 -4.72732
14f20 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 32  e+88.} {abc: 2 2
14f30 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a   (-4.7e+88) :xyz
14f40 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14f50 2d 32 2e 35 2e 31 32 2e 32 20 7b 0a 20 20 73 71  -2.5.12.2 {.  sq
14f60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14f70 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
14f80 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 38  e) :xyz} 2 2 9.8
14f90 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
14fa0 3a 20 28 39 2e 38 38 65 2b 31 34 33 29 20 3a 78  : (9.88e+143) :x
14fb0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14fc0 74 66 2d 32 2e 35 2e 31 32 2e 33 20 7b 0a 20 20  tf-2.5.12.3 {.  
14fd0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
14fe0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
14ff0 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39  .*g) :xyz} 2 2 9
15000 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
15010 62 63 3a 20 28 39 2e 39 65 2b 31 34 33 29 20 3a  bc: (9.9e+143) :
15020 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15030 6e 74 66 2d 32 2e 35 2e 31 32 2e 34 20 7b 0a 20  ntf-2.5.12.4 {. 
15040 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15050 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15060 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
15070 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   2 9.87991e+143.
15080 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38  } {abc: 2 2 (9.8
15090 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
150a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
150b0 32 2e 35 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c  2.5.12.5 {.  sql
150c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
150d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
150e0 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  (%#g) :xyz} 2 2 
150f0 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
15100 61 62 63 3a 20 32 20 32 20 28 39 2e 38 37 39 39  abc: 2 2 (9.8799
15110 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
15120 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
15130 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .12.6 {.  sqlite
15140 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
15150 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
15160 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39  10g) :xyz} 2 2 9
15170 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
15180 62 63 3a 20 32 20 32 20 28 39 2e 38 37 39 39 31  bc: 2 2 (9.87991
15190 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
151a0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
151b0 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.8 {.  sqlite3
151c0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
151d0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
151e0 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e  2e) :xyz} 2 2 9.
151f0 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
15200 63 3a 20 32 20 32 20 28 39 2e 38 38 65 2b 31 34  c: 2 2 (9.88e+14
15210 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
15220 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 39   printf-2.5.12.9
15230 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
15240 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
15250 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20  : %d %d (%2.2g) 
15260 3a 78 79 7a 7d 20 32 20 32 20 39 2e 38 37 39 39  :xyz} 2 2 9.8799
15270 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 32  1e+143.} {abc: 2
15280 20 32 20 28 39 2e 39 65 2b 31 34 33 29 20 3a 78   2 (9.9e+143) :x
15290 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
152a0 74 66 2d 32 2e 35 2e 31 33 2e 31 20 7b 0a 20 20  tf-2.5.13.1 {.  
152b0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
152c0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
152d0 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .*f) :xyz} 2 2 -
152e0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
152f0 62 63 3a 20 28 2d 30 2e 30 30 29 20 3a 78 79 7a  bc: (-0.00) :xyz
15300 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
15310 2d 32 2e 35 2e 31 33 2e 32 20 7b 0a 20 20 73 71  -2.5.13.2 {.  sq
15320 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15330 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
15340 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 36 2e  e) :xyz} 2 2 -6.
15350 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
15360 3a 20 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78  : (-6.29e-09) :x
15370 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15380 74 66 2d 32 2e 35 2e 31 33 2e 33 20 7b 0a 20 20  tf-2.5.13.3 {.  
15390 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
153a0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
153b0 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .*g) :xyz} 2 2 -
153c0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
153d0 62 63 3a 20 28 2d 36 2e 33 65 2d 30 39 29 20 3a  bc: (-6.3e-09) :
153e0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
153f0 6e 74 66 2d 32 2e 35 2e 31 33 2e 34 20 7b 0a 20  ntf-2.5.13.4 {. 
15400 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15410 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15420 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
15430 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
15440 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36 2e  } {abc: 2 2 (-6.
15450 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
15460 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15470 32 2e 35 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c  2.5.13.5 {.  sql
15480 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15490 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
154a0 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  (%#g) :xyz} 2 2 
154b0 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
154c0 61 62 63 3a 20 32 20 32 20 28 2d 36 2e 32 38 37  abc: 2 2 (-6.287
154d0 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
154e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
154f0 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .13.6 {.  sqlite
15500 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
15510 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
15520 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  10g) :xyz} 2 2 -
15530 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
15540 62 63 3a 20 32 20 32 20 28 2d 36 2e 32 38 37 32  bc: 2 2 (-6.2872
15550 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e-09) :xyz}.do_
15560 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
15570 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.7 {.  sqlite3
15580 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
15590 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
155a0 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 36  2f) :xyz} 2 2 -6
155b0 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
155c0 63 3a 20 32 20 32 20 28 2d 30 2e 30 30 29 20 3a  c: 2 2 (-0.00) :
155d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
155e0 6e 74 66 2d 32 2e 35 2e 31 33 2e 38 20 7b 0a 20  ntf-2.5.13.8 {. 
155f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15600 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15610 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
15620 7d 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65  } 2 2 -6.287291e
15630 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  -9.} {abc: 2 2 (
15640 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  -6.29e-09) :xyz}
15650 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15660 32 2e 35 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c  2.5.13.9 {.  sql
15670 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15680 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
15690 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.2g) :xyz} 2 
156a0 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
156b0 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36 2e 33   {abc: 2 2 (-6.3
156c0 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
156d0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
156e0 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.1 {.  sqlite3_
156f0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15700 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
15710 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39  z} 2 2 3.3882639
15720 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
15730 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
15740 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
15750 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.2 {.  sqlite3_
15760 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15770 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
15780 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39  z} 2 2 3.3882639
15790 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
157a0 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d  3.39e-110) :xyz}
157b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
157c0 32 2e 35 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c  2.5.14.3 {.  sql
157d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
157e0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
157f0 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38  ) :xyz} 2 2 3.38
15800 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
15810 62 63 3a 20 28 33 2e 34 65 2d 31 31 30 29 20 3a  bc: (3.4e-110) :
15820 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15830 6e 74 66 2d 32 2e 35 2e 31 34 2e 34 20 7b 0a 20  ntf-2.5.14.4 {. 
15840 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15850 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15860 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
15870 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
15880 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  10.} {abc: 2 2 (
15890 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
158a0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
158b0 74 66 2d 32 2e 35 2e 31 34 2e 35 20 7b 0a 20 20  tf-2.5.14.5 {.  
158c0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
158d0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
158e0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
158f0 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
15900 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  10.} {abc: 2 2 (
15910 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
15920 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15930 74 66 2d 32 2e 35 2e 31 34 2e 36 20 7b 0a 20 20  tf-2.5.14.6 {.  
15940 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
15950 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
15960 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
15970 20 32 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   2 2 3.38826392e
15980 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  -110.} {abc: 2 2
15990 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20   (3.38826e-110) 
159a0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
159b0 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 37 20 7b 0a  intf-2.5.14.7 {.
159c0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
159d0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
159e0 64 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79  d %d (%2.2f) :xy
159f0 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39  z} 2 2 3.3882639
15a00 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32  2e-110.} {abc: 2
15a10 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a   2 (0.00) :xyz}.
15a20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15a30 2e 35 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69  .5.14.8 {.  sqli
15a40 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15a50 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
15a60 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2e) :xyz} 2 2
15a70 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
15a80 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33 2e  .} {abc: 2 2 (3.
15a90 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  39e-110) :xyz}.d
15aa0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
15ab0 35 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74  5.14.9 {.  sqlit
15ac0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15ad0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
15ae0 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2g) :xyz} 2 2 
15af0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
15b00 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33 2e 34  } {abc: 2 2 (3.4
15b10 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
15b20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
15b30 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.1 {.  sqlite3_
15b40 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15b50 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
15b60 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 3 0.001.} {
15b70 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79  abc: (0.001) :xy
15b80 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15b90 66 2d 32 2e 36 2e 31 2e 32 20 7b 0a 20 20 73 71  f-2.6.1.2 {.  sq
15ba0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15bb0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
15bc0 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30  e) :xyz} 2 3 0.0
15bd0 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  01.} {abc: (1.00
15be0 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
15bf0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
15c00 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.3 {.  sqlite3_
15c10 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15c20 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
15c30 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 3 0.001.} {
15c40 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79  abc: (0.001) :xy
15c50 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15c60 66 2d 32 2e 36 2e 31 2e 34 20 7b 0a 20 20 73 71  f-2.6.1.4 {.  sq
15c70 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15c80 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
15c90 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20   (%g) :xyz} 2 3 
15ca0 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20  0.001.} {abc: 2 
15cb0 33 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  3 (0.001) :xyz}.
15cc0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15cd0 2e 36 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .6.1.5 {.  sqlit
15ce0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15cf0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
15d00 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e  #g) :xyz} 2 3 0.
15d10 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  001.} {abc: 2 3 
15d20 28 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79  (0.00100000) :xy
15d30 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15d40 66 2d 32 2e 36 2e 31 2e 36 20 7b 0a 20 20 73 71  f-2.6.1.6 {.  sq
15d50 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15d60 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
15d70 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
15d80 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   3 0.001.} {abc:
15d90 20 32 20 33 20 28 30 30 30 30 30 30 2e 30 30 31   2 3 (000000.001
15da0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15db0 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 37 20 7b  printf-2.6.1.7 {
15dc0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15dd0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15de0 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78  %d %d (%2.3f) :x
15df0 79 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20  yz} 2 3 0.001.} 
15e00 7b 61 62 63 3a 20 32 20 33 20 28 30 2e 30 30 31  {abc: 2 3 (0.001
15e10 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15e20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 38 20 7b  printf-2.6.1.8 {
15e30 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15e40 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15e50 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78  %d %d (%2.3e) :x
15e60 79 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20  yz} 2 3 0.001.} 
15e70 7b 61 62 63 3a 20 32 20 33 20 28 31 2e 30 30 30  {abc: 2 3 (1.000
15e80 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
15e90 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
15ea0 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
15eb0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
15ec0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67  bc: %d %d (%2.3g
15ed0 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30  ) :xyz} 2 3 0.00
15ee0 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30  1.} {abc: 2 3 (0
15ef0 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
15f00 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32  est printf-2.6.2
15f10 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
15f20 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
15f30 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
15f40 7d 20 32 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20  } 2 3 1.0e-20.} 
15f50 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78  {abc: (0.000) :x
15f60 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15f70 74 66 2d 32 2e 36 2e 32 2e 32 20 7b 0a 20 20 73  tf-2.6.2.2 {.  s
15f80 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15f90 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
15fa0 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e  *e) :xyz} 2 3 1.
15fb0 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31  0e-20.} {abc: (1
15fc0 2e 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  .000e-20) :xyz}.
15fd0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15fe0 2e 36 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .6.2.3 {.  sqlit
15ff0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16000 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
16010 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32  :xyz} 2 3 1.0e-2
16020 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32 30  0.} {abc: (1e-20
16030 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16040 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 34 20 7b  printf-2.6.2.4 {
16050 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16060 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16070 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
16080 20 32 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   2 3 1.0e-20.} {
16090 61 62 63 3a 20 32 20 33 20 28 31 65 2d 32 30 29  abc: 2 3 (1e-20)
160a0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
160b0 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 35 20 7b 0a  rintf-2.6.2.5 {.
160c0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
160d0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
160e0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
160f0 20 32 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   2 3 1.0e-20.} {
16100 61 62 63 3a 20 32 20 33 20 28 31 2e 30 30 30 30  abc: 2 3 (1.0000
16110 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-20) :xyz}.do_
16120 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
16130 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.6 {.  sqlite3_
16140 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
16150 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
16160 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30  g) :xyz} 2 3 1.0
16170 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33  e-20.} {abc: 2 3
16180 20 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78   (000001e-20) :x
16190 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
161a0 74 66 2d 32 2e 36 2e 32 2e 37 20 7b 0a 20 20 73  tf-2.6.2.7 {.  s
161b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
161c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
161d0 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%2.3f) :xyz} 
161e0 32 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  2 3 1.0e-20.} {a
161f0 62 63 3a 20 32 20 33 20 28 30 2e 30 30 30 29 20  bc: 2 3 (0.000) 
16200 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16210 69 6e 74 66 2d 32 2e 36 2e 32 2e 38 20 7b 0a 20  intf-2.6.2.8 {. 
16220 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16230 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16240 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a   %d (%2.3e) :xyz
16250 7d 20 32 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20  } 2 3 1.0e-20.} 
16260 7b 61 62 63 3a 20 32 20 33 20 28 31 2e 30 30 30  {abc: 2 3 (1.000
16270 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
16280 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32  est printf-2.6.2
16290 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
162a0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
162b0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67  bc: %d %d (%2.3g
162c0 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65  ) :xyz} 2 3 1.0e
162d0 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  -20.} {abc: 2 3 
162e0 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  (1e-20) :xyz}.do
162f0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
16300 2e 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.1 {.  sqlite3
16310 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
16320 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
16330 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 2 3 1.0.} {a
16340 62 63 3a 20 28 31 2e 30 30 30 29 20 3a 78 79 7a  bc: (1.000) :xyz
16350 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16360 2d 32 2e 36 2e 33 2e 32 20 7b 0a 20 20 73 71 6c  -2.6.3.2 {.  sql
16370 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16380 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
16390 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 0a  ) :xyz} 2 3 1.0.
163a0 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 65 2b  } {abc: (1.000e+
163b0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
163c0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 33  t printf-2.6.3.3
163d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
163e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
163f0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
16400 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 1.0.} {abc: 
16410 28 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  ( 1) :xyz}.do_te
16420 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 33 2e  st printf-2.6.3.
16430 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
16440 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16450 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
16460 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 2 3 1.0.} {a
16470 62 63 3a 20 32 20 33 20 28 31 29 20 3a 78 79 7a  bc: 2 3 (1) :xyz
16480 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16490 2d 32 2e 36 2e 33 2e 35 20 7b 0a 20 20 73 71 6c  -2.6.3.5 {.  sql
164a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
164b0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
164c0 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  (%#g) :xyz} 2 3 
164d0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  1.0.} {abc: 2 3 
164e0 28 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  (1.00000) :xyz}.
164f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
16500 2e 36 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .6.3.6 {.  sqlit
16510 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16520 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
16530 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  010g) :xyz} 2 3 
16540 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  1.0.} {abc: 2 3 
16550 28 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79  (0000000001) :xy
16560 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16570 66 2d 32 2e 36 2e 33 2e 37 20 7b 0a 20 20 73 71  f-2.6.3.7 {.  sq
16580 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16590 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
165a0 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32   (%2.3f) :xyz} 2
165b0 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 1.0.} {abc: 2
165c0 20 33 20 28 31 2e 30 30 30 29 20 3a 78 79 7a 7d   3 (1.000) :xyz}
165d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
165e0 32 2e 36 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69  2.6.3.8 {.  sqli
165f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
16600 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
16610 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3e) :xyz} 2 3
16620 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33   1.0.} {abc: 2 3
16630 20 28 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79   (1.000e+00) :xy
16640 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16650 66 2d 32 2e 36 2e 33 2e 39 20 7b 0a 20 20 73 71  f-2.6.3.9 {.  sq
16660 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16670 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16680 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32   (%2.3g) :xyz} 2
16690 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 1.0.} {abc: 2
166a0 20 33 20 28 20 31 29 20 3a 78 79 7a 7d 0a 64 6f   3 ( 1) :xyz}.do
166b0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
166c0 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.1 {.  sqlite3
166d0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
166e0 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
166f0 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61  yz} 2 3 0.0.} {a
16700 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78 79 7a  bc: (0.000) :xyz
16710 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16720 2d 32 2e 36 2e 34 2e 32 20 7b 0a 20 20 73 71 6c  -2.6.4.2 {.  sql
16730 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16740 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
16750 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 0a  ) :xyz} 2 3 0.0.
16760 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 65 2b  } {abc: (0.000e+
16770 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
16780 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 33  t printf-2.6.4.3
16790 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
167a0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
167b0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
167c0 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 0.0.} {abc: 
167d0 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  ( 0) :xyz}.do_te
167e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 34 2e  st printf-2.6.4.
167f0 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
16800 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16810 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
16820 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61  yz} 2 3 0.0.} {a
16830 62 63 3a 20 32 20 33 20 28 30 29 20 3a 78 79 7a  bc: 2 3 (0) :xyz
16840 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16850 2d 32 2e 36 2e 34 2e 35 20 7b 0a 20 20 73 71 6c  -2.6.4.5 {.  sql
16860 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16870 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
16880 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  (%#g) :xyz} 2 3 
16890 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  0.0.} {abc: 2 3 
168a0 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  (0.00000) :xyz}.
168b0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
168c0 2e 36 2e 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .6.4.6 {.  sqlit
168d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
168e0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
168f0 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  010g) :xyz} 2 3 
16900 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  0.0.} {abc: 2 3 
16910 28 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  (0000000000) :xy
16920 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16930 66 2d 32 2e 36 2e 34 2e 37 20 7b 0a 20 20 73 71  f-2.6.4.7 {.  sq
16940 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16950 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16960 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32   (%2.3f) :xyz} 2
16970 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 0.0.} {abc: 2
16980 20 33 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d   3 (0.000) :xyz}
16990 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
169a0 32 2e 36 2e 34 2e 38 20 7b 0a 20 20 73 71 6c 69  2.6.4.8 {.  sqli
169b0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
169c0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
169d0 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3e) :xyz} 2 3
169e0 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33   0.0.} {abc: 2 3
169f0 20 28 30 2e 30 30 30 65 2b 30 30 29 20 3a 78 79   (0.000e+00) :xy
16a00 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16a10 66 2d 32 2e 36 2e 34 2e 39 20 7b 0a 20 20 73 71  f-2.6.4.9 {.  sq
16a20 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16a30 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16a40 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32   (%2.3g) :xyz} 2
16a50 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 0.0.} {abc: 2
16a60 20 33 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f   3 ( 0) :xyz}.do
16a70 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
16a80 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.1 {.  sqlite3
16a90 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
16aa0 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
16ab0 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d 20  yz} 2 3 100.0.} 
16ac0 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 30 29 20  {abc: (100.000) 
16ad0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16ae0 69 6e 74 66 2d 32 2e 36 2e 35 2e 32 20 7b 0a 20  intf-2.6.5.2 {. 
16af0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16b00 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
16b10 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
16b20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  100.0.} {abc: (1
16b30 2e 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  .000e+02) :xyz}.
16b40 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
16b50 2e 36 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .6.5.3 {.  sqlit
16b60 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16b70 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
16b80 3a 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a  :xyz} 2 3 100.0.
16b90 7d 20 7b 61 62 63 3a 20 28 31 30 30 29 20 3a 78  } {abc: (100) :x
16ba0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16bb0 74 66 2d 32 2e 36 2e 35 2e 34 20 7b 0a 20 20 73  tf-2.6.5.4 {.  s
16bc0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16bd0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16be0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33  d (%g) :xyz} 2 3
16bf0 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   100.0.} {abc: 2
16c00 20 33 20 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64   3 (100) :xyz}.d
16c10 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16c20 36 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  6.5.5 {.  sqlite
16c30 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
16c40 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
16c50 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30  g) :xyz} 2 3 100
16c60 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  .0.} {abc: 2 3 (
16c70 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  100.000) :xyz}.d
16c80 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16c90 36 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  6.5.6 {.  sqlite
16ca0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
16cb0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
16cc0 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31  10g) :xyz} 2 3 1
16cd0 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33  00.0.} {abc: 2 3
16ce0 20 28 30 30 30 30 30 30 30 31 30 30 29 20 3a 78   (0000000100) :x
16cf0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16d00 74 66 2d 32 2e 36 2e 35 2e 37 20 7b 0a 20 20 73  tf-2.6.5.7 {.  s
16d10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16d20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16d30 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%2.3f) :xyz} 
16d40 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  2 3 100.0.} {abc
16d50 3a 20 32 20 33 20 28 31 30 30 2e 30 30 30 29 20  : 2 3 (100.000) 
16d60 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16d70 69 6e 74 66 2d 32 2e 36 2e 35 2e 38 20 7b 0a 20  intf-2.6.5.8 {. 
16d80 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16d90 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16da0 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a   %d (%2.3e) :xyz
16db0 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61  } 2 3 100.0.} {a
16dc0 62 63 3a 20 32 20 33 20 28 31 2e 30 30 30 65 2b  bc: 2 3 (1.000e+
16dd0 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
16de0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 39  t printf-2.6.5.9
16df0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
16e00 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
16e10 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20  : %d %d (%2.3g) 
16e20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a  :xyz} 2 3 100.0.
16e30 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 30 30  } {abc: 2 3 (100
16e40 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16e50 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 31 20 7b  printf-2.6.6.1 {
16e60 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16e70 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16e80 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
16e90 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  3 9.99999.} {abc
16ea0 3a 20 28 31 30 2e 30 30 30 29 20 3a 78 79 7a 7d  : (10.000) :xyz}
16eb0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
16ec0 32 2e 36 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69  2.6.6.2 {.  sqli
16ed0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
16ee0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
16ef0 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39   :xyz} 2 3 9.999
16f00 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  99.} {abc: (1.00
16f10 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+01) :xyz}.do_
16f20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
16f30 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.3 {.  sqlite3_
16f40 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
16f50 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
16f60 7a 7d 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d  z} 2 3 9.99999.}
16f70 20 7b 61 62 63 3a 20 28 31 30 29 20 3a 78 79 7a   {abc: (10) :xyz
16f80 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16f90 2d 32 2e 36 2e 36 2e 34 20 7b 0a 20 20 73 71 6c  -2.6.6.4 {.  sql
16fa0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16fb0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
16fc0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  (%g) :xyz} 2 3 9
16fd0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
16fe0 20 33 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   3 (9.99999) :xy
16ff0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17000 66 2d 32 2e 36 2e 36 2e 35 20 7b 0a 20 20 73 71  f-2.6.6.5 {.  sq
17010 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17020 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17030 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33   (%#g) :xyz} 2 3
17040 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
17050 20 32 20 33 20 28 39 2e 39 39 39 39 39 29 20 3a   2 3 (9.99999) :
17060 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17070 6e 74 66 2d 32 2e 36 2e 36 2e 36 20 7b 0a 20 20  ntf-2.6.6.6 {.  
17080 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17090 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
170a0 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
170b0 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   2 3 9.99999.} {
170c0 61 62 63 3a 20 32 20 33 20 28 30 30 30 39 2e 39  abc: 2 3 (0009.9
170d0 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
170e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36  est printf-2.6.6
170f0 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
17100 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17110 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 66  bc: %d %d (%2.3f
17120 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39  ) :xyz} 2 3 9.99
17130 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  999.} {abc: 2 3 
17140 28 31 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  (10.000) :xyz}.d
17150 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17160 36 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  6.6.8 {.  sqlite
17170 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17180 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
17190 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  .3e) :xyz} 2 3 9
171a0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
171b0 20 33 20 28 31 2e 30 30 30 65 2b 30 31 29 20 3a   3 (1.000e+01) :
171c0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
171d0 6e 74 66 2d 32 2e 36 2e 36 2e 39 20 7b 0a 20 20  ntf-2.6.6.9 {.  
171e0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
171f0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
17200 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d  %d (%2.3g) :xyz}
17210 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   2 3 9.99999.} {
17220 61 62 63 3a 20 32 20 33 20 28 31 30 29 20 3a 78  abc: 2 3 (10) :x
17230 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17240 74 66 2d 32 2e 36 2e 37 2e 31 20 7b 0a 20 20 73  tf-2.6.7.1 {.  s
17250 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
17260 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
17270 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30  *f) :xyz} 2 3 -0
17280 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
17290 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a 64 6f  -0.005) :xyz}.do
172a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
172b0 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.2 {.  sqlite3
172c0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
172d0 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
172e0 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34 33  yz} 2 3 -0.00543
172f0 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34 33 30  .} {abc: (-5.430
17300 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
17310 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37  est printf-2.6.7
17320 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
17330 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17340 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
17350 7d 20 32 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d  } 2 3 -0.00543.}
17360 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35 34 33   {abc: (-0.00543
17370 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17380 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 34 20 7b  printf-2.6.7.4 {
17390 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
173a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
173b0 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
173c0 20 32 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20   2 3 -0.00543.} 
173d0 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 2e 30 30  {abc: 2 3 (-0.00
173e0 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
173f0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e  st printf-2.6.7.
17400 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
17410 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17420 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
17430 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34  xyz} 2 3 -0.0054
17440 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  3.} {abc: 2 3 (-
17450 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a  0.00543000) :xyz
17460 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17470 2d 32 2e 36 2e 37 2e 36 20 7b 0a 20 20 73 71 6c  -2.6.7.6 {.  sql
17480 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17490 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
174a0 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
174b0 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  3 -0.00543.} {ab
174c0 63 3a 20 32 20 33 20 28 2d 30 30 30 2e 30 30 35  c: 2 3 (-000.005
174d0 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
174e0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 37  t printf-2.6.7.7
174f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17500 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17510 3a 20 25 64 20 25 64 20 28 25 32 2e 33 66 29 20  : %d %d (%2.3f) 
17520 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35  :xyz} 2 3 -0.005
17530 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  43.} {abc: 2 3 (
17540 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a 64 6f  -0.005) :xyz}.do
17550 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17560 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.8 {.  sqlite3
17570 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17580 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
17590 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30  3e) :xyz} 2 3 -0
175a0 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32  .00543.} {abc: 2
175b0 20 33 20 28 2d 35 2e 34 33 30 65 2d 30 33 29 20   3 (-5.430e-03) 
175c0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
175d0 69 6e 74 66 2d 32 2e 36 2e 37 2e 39 20 7b 0a 20  intf-2.6.7.9 {. 
175e0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
175f0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
17600 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a   %d (%2.3g) :xyz
17610 7d 20 32 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d  } 2 3 -0.00543.}
17620 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 2e 30   {abc: 2 3 (-0.0
17630 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
17640 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38  est printf-2.6.8
17650 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
17660 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17670 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
17680 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 2 3 -1.0.} {ab
17690 63 3a 20 28 2d 31 2e 30 30 30 29 20 3a 78 79 7a  c: (-1.000) :xyz
176a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
176b0 2d 32 2e 36 2e 38 2e 32 20 7b 0a 20 20 73 71 6c  -2.6.8.2 {.  sql
176c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
176d0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
176e0 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30  ) :xyz} 2 3 -1.0
176f0 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30  .} {abc: (-1.000
17700 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
17710 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38  est printf-2.6.8
17720 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
17730 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17740 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
17750 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 2 3 -1.0.} {ab
17760 63 3a 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f  c: (-1) :xyz}.do
17770 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17780 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.4 {.  sqlite3
17790 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
177a0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
177b0 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a   :xyz} 2 3 -1.0.
177c0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 31 29  } {abc: 2 3 (-1)
177d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
177e0 72 69 6e 74 66 2d 32 2e 36 2e 38 2e 35 20 7b 0a  rintf-2.6.8.5 {.
177f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17800 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
17810 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
17820 20 32 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   2 3 -1.0.} {abc
17830 3a 20 32 20 33 20 28 2d 31 2e 30 30 30 30 30 29  : 2 3 (-1.00000)
17840 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
17850 72 69 6e 74 66 2d 32 2e 36 2e 38 2e 36 20 7b 0a  rintf-2.6.8.6 {.
17860 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17870 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
17880 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
17890 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20 7b 61  z} 2 3 -1.0.} {a
178a0 62 63 3a 20 32 20 33 20 28 2d 30 30 30 30 30 30  bc: 2 3 (-000000
178b0 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
178c0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38 2e  st printf-2.6.8.
178d0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
178e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
178f0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 66 29  c: %d %d (%2.3f)
17900 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a   :xyz} 2 3 -1.0.
17910 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 31 2e  } {abc: 2 3 (-1.
17920 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
17930 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38 2e  st printf-2.6.8.
17940 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
17950 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17960 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29  c: %d %d (%2.3e)
17970 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a   :xyz} 2 3 -1.0.
17980 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 31 2e  } {abc: 2 3 (-1.
17990 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
179a0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
179b0 36 2e 38 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  6.8.9 {.  sqlite
179c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
179d0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
179e0 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  .3g) :xyz} 2 3 -
179f0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  1.0.} {abc: 2 3 
17a00 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  (-1) :xyz}.do_te
17a10 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e  st printf-2.6.9.
17a20 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
17a30 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17a40 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
17a50 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   2 3 -99.99999.}
17a60 20 7b 61 62 63 3a 20 28 2d 31 30 30 2e 30 30 30   {abc: (-100.000
17a70 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17a80 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 32 20 7b  printf-2.6.9.2 {
17a90 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
17aa0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
17ab0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
17ac0 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 -99.99999.} {a
17ad0 62 63 3a 20 28 2d 31 2e 30 30 30 65 2b 30 32 29  bc: (-1.000e+02)
17ae0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
17af0 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 33 20 7b 0a  rintf-2.6.9.3 {.
17b00 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17b10 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
17b20 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*g) :xyz} 2 3
17b30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
17b40 63 3a 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a  c: (-100) :xyz}.
17b50 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17b60 2e 36 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .6.9.4 {.  sqlit
17b70 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17b80 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
17b90 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 39 39  g) :xyz} 2 3 -99
17ba0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
17bb0 20 33 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a   3 (-100) :xyz}.
17bc0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17bd0 2e 36 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .6.9.5 {.  sqlit
17be0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17bf0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
17c00 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 39  #g) :xyz} 2 3 -9
17c10 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
17c20 32 20 33 20 28 2d 31 30 30 2e 30 30 30 29 20 3a  2 3 (-100.000) :
17c30 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17c40 6e 74 66 2d 32 2e 36 2e 39 2e 36 20 7b 0a 20 20  ntf-2.6.9.6 {.  
17c50 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17c60 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
17c70 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
17c80 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   2 3 -99.99999.}
17c90 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 30 30   {abc: 2 3 (-000
17ca0 30 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000100) :xyz}.do
17cb0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17cc0 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.7 {.  sqlite3
17cd0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17ce0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
17cf0 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 39  3f) :xyz} 2 3 -9
17d00 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
17d10 32 20 33 20 28 2d 31 30 30 2e 30 30 30 29 20 3a  2 3 (-100.000) :
17d20 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17d30 6e 74 66 2d 32 2e 36 2e 39 2e 38 20 7b 0a 20 20  ntf-2.6.9.8 {.  
17d40 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17d50 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
17d60 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d  %d (%2.3e) :xyz}
17d70 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   2 3 -99.99999.}
17d80 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 31 2e 30   {abc: 2 3 (-1.0
17d90 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
17da0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17db0 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.9 {.  sqlite3
17dc0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17dd0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
17de0 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 39  3g) :xyz} 2 3 -9
17df0 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
17e00 32 20 33 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d  2 3 (-100) :xyz}
17e10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17e20 32 2e 36 2e 31 30 2e 31 20 7b 0a 20 20 73 71 6c  2.6.10.1 {.  sql
17e30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17e40 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
17e50 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34  ) :xyz} 2 3 3.14
17e60 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 31 34  e+9.} {abc: (314
17e70 30 30 30 30 30 30 30 2e 30 30 30 29 20 3a 78 79  0000000.000) :xy
17e80 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17e90 66 2d 32 2e 36 2e 31 30 2e 32 20 7b 0a 20 20 73  f-2.6.10.2 {.  s
17ea0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
17eb0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
17ec0 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  *e) :xyz} 2 3 3.
17ed0 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33  14e+9.} {abc: (3
17ee0 2e 31 34 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  .140e+09) :xyz}.
17ef0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17f00 2e 36 2e 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69  .6.10.3 {.  sqli
17f10 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17f20 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
17f30 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34 65   :xyz} 2 3 3.14e
17f40 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34  +9.} {abc: (3.14
17f50 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
17f60 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
17f70 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.4 {.  sqlite3_
17f80 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
17f90 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
17fa0 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34 65 2b  :xyz} 2 3 3.14e+
17fb0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 33  9.} {abc: 2 3 (3
17fc0 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
17fd0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17fe0 36 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74  6.10.5 {.  sqlit
17ff0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18000 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18010 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  #g) :xyz} 2 3 3.
18020 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20  14e+9.} {abc: 2 
18030 33 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20  3 (3.14000e+09) 
18040 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
18050 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 36 20 7b 0a  intf-2.6.10.6 {.
18060 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
18070 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
18080 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
18090 7a 7d 20 32 20 33 20 33 2e 31 34 65 2b 39 0a 7d  z} 2 3 3.14e+9.}
180a0 20 7b 61 62 63 3a 20 32 20 33 20 28 30 30 33 2e   {abc: 2 3 (003.
180b0 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  14e+09) :xyz}.do
180c0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
180d0 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .10.7 {.  sqlite
180e0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
180f0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
18100 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .3f) :xyz} 2 3 3
18110 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32  .14e+9.} {abc: 2
18120 20 33 20 28 33 31 34 30 30 30 30 30 30 30 2e 30   3 (3140000000.0
18130 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
18140 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 30 2e  t printf-2.6.10.
18150 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
18160 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18170 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29  c: %d %d (%2.3e)
18180 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34 65   :xyz} 2 3 3.14e
18190 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  +9.} {abc: 2 3 (
181a0 33 2e 31 34 30 65 2b 30 39 29 20 3a 78 79 7a 7d  3.140e+09) :xyz}
181b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
181c0 32 2e 36 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c  2.6.10.9 {.  sql
181d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
181e0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
181f0 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.3g) :xyz} 2 
18200 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
18210 3a 20 32 20 33 20 28 33 2e 31 34 65 2b 30 39 29  : 2 3 (3.14e+09)
18220 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18230 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 32 20 7b  rintf-2.6.11.2 {
18240 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18250 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18260 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
18270 33 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  3 -4.72732e+88.}
18280 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 65 2b   {abc: (-4.727e+
18290 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
182a0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e  t printf-2.6.11.
182b0 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
182c0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
182d0 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
182e0 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b 38   2 3 -4.72732e+8
182f0 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 33  8.} {abc: (-4.73
18300 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
18310 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18320 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.4 {.  sqlite3_
18330 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18340 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
18350 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37  :xyz} 2 3 -4.727
18360 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32  32e+88.} {abc: 2
18370 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   3 (-4.72732e+88
18380 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
18390 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 35 20  printf-2.6.11.5 
183a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
183b0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
183c0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
183d0 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65  z} 2 3 -4.72732e
183e0 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  +88.} {abc: 2 3 
183f0 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a  (-4.72732e+88) :
18400 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18410 6e 74 66 2d 32 2e 36 2e 31 31 2e 36 20 7b 0a 20  ntf-2.6.11.6 {. 
18420 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18430 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
18440 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
18450 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b  } 2 3 -4.72732e+
18460 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  88.} {abc: 2 3 (
18470 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
18480 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
18490 74 66 2d 32 2e 36 2e 31 31 2e 38 20 7b 0a 20 20  tf-2.6.11.8 {.  
184a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
184b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
184c0 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d  %d (%2.3e) :xyz}
184d0 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b 38   2 3 -4.72732e+8
184e0 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  8.} {abc: 2 3 (-
184f0 34 2e 37 32 37 65 2b 38 38 29 20 3a 78 79 7a 7d  4.727e+88) :xyz}
18500 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
18510 32 2e 36 2e 31 31 2e 39 20 7b 0a 20 20 73 71 6c  2.6.11.9 {.  sql
18520 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18530 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18540 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.3g) :xyz} 2 
18550 33 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  3 -4.72732e+88.}
18560 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 34 2e 37   {abc: 2 3 (-4.7
18570 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e+88) :xyz}.do_
18580 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18590 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.2 {.  sqlite3
185a0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
185b0 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
185c0 79 7a 7d 20 32 20 33 20 39 2e 38 37 39 39 31 65  yz} 2 3 9.87991e
185d0 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e  +143.} {abc: (9.
185e0 38 38 30 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  880e+143) :xyz}.
185f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18600 2e 36 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69  .6.12.3 {.  sqli
18610 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18620 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
18630 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37 39   :xyz} 2 3 9.879
18640 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
18650 28 39 2e 38 38 65 2b 31 34 33 29 20 3a 78 79 7a  (9.88e+143) :xyz
18660 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18670 2d 32 2e 36 2e 31 32 2e 34 20 7b 0a 20 20 73 71  -2.6.12.4 {.  sq
18680 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18690 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
186a0 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20   (%g) :xyz} 2 3 
186b0 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
186c0 61 62 63 3a 20 32 20 33 20 28 39 2e 38 37 39 39  abc: 2 3 (9.8799
186d0 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
186e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
186f0 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .12.5 {.  sqlite
18700 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
18710 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
18720 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38  g) :xyz} 2 3 9.8
18730 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
18740 3a 20 32 20 33 20 28 39 2e 38 37 39 39 31 65 2b  : 2 3 (9.87991e+
18750 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
18760 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 32  st printf-2.6.12
18770 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
18780 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18790 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
187a0 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37  ) :xyz} 2 3 9.87
187b0 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
187c0 20 32 20 33 20 28 39 2e 38 37 39 39 31 65 2b 31   2 3 (9.87991e+1
187d0 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
187e0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 32 2e  t printf-2.6.12.
187f0 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
18800 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18810 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29  c: %d %d (%2.3e)
18820 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37 39   :xyz} 2 3 9.879
18830 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
18840 32 20 33 20 28 39 2e 38 38 30 65 2b 31 34 33 29  2 3 (9.880e+143)
18850 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18860 72 69 6e 74 66 2d 32 2e 36 2e 31 32 2e 39 20 7b  rintf-2.6.12.9 {
18870 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18880 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18890 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78  %d %d (%2.3g) :x
188a0 79 7a 7d 20 32 20 33 20 39 2e 38 37 39 39 31 65  yz} 2 3 9.87991e
188b0 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33  +143.} {abc: 2 3
188c0 20 28 39 2e 38 38 65 2b 31 34 33 29 20 3a 78 79   (9.88e+143) :xy
188d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
188e0 66 2d 32 2e 36 2e 31 33 2e 31 20 7b 0a 20 20 73  f-2.6.13.1 {.  s
188f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
18900 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
18910 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 36  *f) :xyz} 2 3 -6
18920 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
18930 63 3a 20 28 2d 30 2e 30 30 30 29 20 3a 78 79 7a  c: (-0.000) :xyz
18940 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18950 2d 32 2e 36 2e 31 33 2e 32 20 7b 0a 20 20 73 71  -2.6.13.2 {.  sq
18960 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18970 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
18980 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 36 2e  e) :xyz} 2 3 -6.
18990 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
189a0 3a 20 28 2d 36 2e 32 38 37 65 2d 30 39 29 20 3a  : (-6.287e-09) :
189b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
189c0 6e 74 66 2d 32 2e 36 2e 31 33 2e 33 20 7b 0a 20  ntf-2.6.13.3 {. 
189d0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
189e0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
189f0 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*g) :xyz} 2 3 
18a00 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
18a10 61 62 63 3a 20 28 2d 36 2e 32 39 65 2d 30 39 29  abc: (-6.29e-09)
18a20 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18a30 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 34 20 7b  rintf-2.6.13.4 {
18a40 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18a50 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18a60 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
18a70 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 3 -6.287291e-
18a80 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  9.} {abc: 2 3 (-
18a90 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
18aa0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
18ab0 66 2d 32 2e 36 2e 31 33 2e 35 20 7b 0a 20 20 73  f-2.6.13.5 {.  s
18ac0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
18ad0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
18ae0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
18af0 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  3 -6.287291e-9.}
18b00 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 36 2e 32   {abc: 2 3 (-6.2
18b10 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
18b20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18b30 2e 36 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69  .6.13.6 {.  sqli
18b40 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18b50 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
18b60 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33  %010g) :xyz} 2 3
18b70 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
18b80 7b 61 62 63 3a 20 32 20 33 20 28 2d 36 2e 32 38  {abc: 2 3 (-6.28
18b90 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
18ba0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
18bb0 36 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74  6.13.7 {.  sqlit
18bc0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18bd0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18be0 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3f) :xyz} 2 3 
18bf0 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
18c00 61 62 63 3a 20 32 20 33 20 28 2d 30 2e 30 30 30  abc: 2 3 (-0.000
18c10 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
18c20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 38 20  printf-2.6.13.8 
18c30 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
18c40 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
18c50 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a   %d %d (%2.3e) :
18c60 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37 32  xyz} 2 3 -6.2872
18c70 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20  91e-9.} {abc: 2 
18c80 33 20 28 2d 36 2e 32 38 37 65 2d 30 39 29 20 3a  3 (-6.287e-09) :
18c90 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18ca0 6e 74 66 2d 32 2e 36 2e 31 33 2e 39 20 7b 0a 20  ntf-2.6.13.9 {. 
18cb0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18cc0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
18cd0 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a   %d (%2.3g) :xyz
18ce0 7d 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65  } 2 3 -6.287291e
18cf0 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  -9.} {abc: 2 3 (
18d00 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  -6.29e-09) :xyz}
18d10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
18d20 32 2e 36 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c  2.6.14.1 {.  sql
18d30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18d40 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
18d50 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33 38  ) :xyz} 2 3 3.38
18d60 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
18d70 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78 79 7a  bc: (0.000) :xyz
18d80 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18d90 2d 32 2e 36 2e 31 34 2e 32 20 7b 0a 20 20 73 71  -2.6.14.2 {.  sq
18da0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18db0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
18dc0 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33  e) :xyz} 2 3 3.3
18dd0 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
18de0 61 62 63 3a 20 28 33 2e 33 38 38 65 2d 31 31 30  abc: (3.388e-110
18df0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
18e00 70 72 69 6e 74 66 2d 32 2e 36 2e 31 34 2e 33 20  printf-2.6.14.3 
18e10 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
18e20 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
18e30 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32   (%*.*g) :xyz} 2
18e40 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
18e50 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 39  10.} {abc: (3.39
18e60 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
18e70 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18e80 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.4 {.  sqlite3
18e90 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18ea0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
18eb0 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33 38 38   :xyz} 2 3 3.388
18ec0 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
18ed0 63 3a 20 32 20 33 20 28 33 2e 33 38 38 32 36 65  c: 2 3 (3.38826e
18ee0 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
18ef0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18f00 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.5 {.  sqlite3_
18f10 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18f20 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
18f30 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33 38 38   :xyz} 2 3 3.388
18f40 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
18f50 63 3a 20 32 20 33 20 28 33 2e 33 38 38 32 36 65  c: 2 3 (3.38826e
18f60 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
18f70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18f80 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.6 {.  sqlite3_
18f90 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18fa0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
18fb0 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33  g) :xyz} 2 3 3.3
18fc0 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
18fd0 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38 38 32  abc: 2 3 (3.3882
18fe0 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
18ff0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
19000 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .14.7 {.  sqlite
19010 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19020 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
19030 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .3f) :xyz} 2 3 3
19040 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
19050 20 7b 61 62 63 3a 20 32 20 33 20 28 30 2e 30 30   {abc: 2 3 (0.00
19060 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
19070 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 34 2e 38   printf-2.6.14.8
19080 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19090 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
190a0 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20  : %d %d (%2.3e) 
190b0 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33 38 38 32  :xyz} 2 3 3.3882
190c0 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
190d0 3a 20 32 20 33 20 28 33 2e 33 38 38 65 2d 31 31  : 2 3 (3.388e-11
190e0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
190f0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 34 2e 39   printf-2.6.14.9
19100 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19110 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19120 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20  : %d %d (%2.3g) 
19130 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33 38 38 32  :xyz} 2 3 3.3882
19140 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
19150 3a 20 32 20 33 20 28 33 2e 33 39 65 2d 31 31 30  : 2 3 (3.39e-110
19160 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19170 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 31 20 7b  printf-2.7.1.1 {
19180 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
19190 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
191a0 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
191b0 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  3 0.001.} {abc: 
191c0 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (0.001) :xyz}.do
191d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
191e0 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.2 {.  sqlite3
191f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19200 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
19210 79 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20  yz} 3 3 0.001.} 
19220 7b 61 62 63 3a 20 28 31 2e 30 30 30 65 2d 30 33  {abc: (1.000e-03
19230 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19240 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 33 20 7b  printf-2.7.1.3 {
19250 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
19260 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
19270 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20  (%*.*g) :xyz} 3 
19280 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  3 0.001.} {abc: 
19290 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (0.001) :xyz}.do
192a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
192b0 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.4 {.  sqlite3
192c0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
192d0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
192e0 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30 31   :xyz} 3 3 0.001
192f0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 2e  .} {abc: 3 3 (0.
19300 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
19310 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e  st printf-2.7.1.
19320 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
19330 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19340 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
19350 78 79 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d  xyz} 3 3 0.001.}
19360 20 7b 61 62 63 3a 20 33 20 33 20 28 30 2e 30 30   {abc: 3 3 (0.00
19370 31 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  100000) :xyz}.do
19380 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19390 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.6 {.  sqlite3
193a0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
193b0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
193c0 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e  0g) :xyz} 3 3 0.
193d0 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  001.} {abc: 3 3 
193e0 28 30 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79  (000000.001) :xy
193f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19400 66 2d 32 2e 37 2e 31 2e 37 20 7b 0a 20 20 73 71  f-2.7.1.7 {.  sq
19410 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19420 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19430 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33   (%3.3f) :xyz} 3
19440 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   3 0.001.} {abc:
19450 20 33 20 33 20 28 30 2e 30 30 31 29 20 3a 78 79   3 3 (0.001) :xy
19460 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19470 66 2d 32 2e 37 2e 31 2e 38 20 7b 0a 20 20 73 71  f-2.7.1.8 {.  sq
19480 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19490 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
194a0 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33   (%3.3e) :xyz} 3
194b0 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   3 0.001.} {abc:
194c0 20 33 20 33 20 28 31 2e 30 30 30 65 2d 30 33 29   3 3 (1.000e-03)
194d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
194e0 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 39 20 7b 0a  rintf-2.7.1.9 {.
194f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
19500 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
19510 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79  d %d (%3.3g) :xy
19520 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 3 0.001.} {
19530 61 62 63 3a 20 33 20 33 20 28 30 2e 30 30 31 29  abc: 3 3 (0.001)
19540 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
19550 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 31 20 7b 0a  rintf-2.7.2.1 {.
19560 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
19570 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
19580 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*f) :xyz} 3 3
19590 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
195a0 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64   (0.000) :xyz}.d
195b0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
195c0 37 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  7.2.2 {.  sqlite
195d0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
195e0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
195f0 78 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32 30  xyz} 3 3 1.0e-20
19600 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 65  .} {abc: (1.000e
19610 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
19620 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e  st printf-2.7.2.
19630 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
19640 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19650 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
19660 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 3 1.0e-20.} {
19670 61 62 63 3a 20 28 31 65 2d 32 30 29 20 3a 78 79  abc: (1e-20) :xy
19680 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19690 66 2d 32 2e 37 2e 32 2e 34 20 7b 0a 20 20 73 71  f-2.7.2.4 {.  sq
196a0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
196b0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
196c0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
196d0 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
196e0 33 20 33 20 28 31 65 2d 32 30 29 20 3a 78 79 7a  3 3 (1e-20) :xyz
196f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19700 2d 32 2e 37 2e 32 2e 35 20 7b 0a 20 20 73 71 6c  -2.7.2.5 {.  sql
19710 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19720 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19730 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  (%#g) :xyz} 3 3 
19740 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
19750 33 20 33 20 28 31 2e 30 30 30 30 30 65 2d 32 30  3 3 (1.00000e-20
19760 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19770 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 36 20 7b  printf-2.7.2.6 {
19780 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
19790 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
197a0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
197b0 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32 30 0a  yz} 3 3 1.0e-20.
197c0 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 30 30  } {abc: 3 3 (000
197d0 30 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  001e-20) :xyz}.d
197e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
197f0 37 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  7.2.7 {.  sqlite
19800 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19810 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
19820 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  .3f) :xyz} 3 3 1
19830 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33  .0e-20.} {abc: 3
19840 20 33 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d   3 (0.000) :xyz}
19850 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19860 32 2e 37 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69  2.7.2.8 {.  sqli
19870 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19880 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
19890 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
198a0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
198b0 20 33 20 33 20 28 31 2e 30 30 30 65 2d 32 30 29   3 3 (1.000e-20)
198c0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
198d0 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 39 20 7b 0a  rintf-2.7.2.9 {.
198e0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
198f0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
19900 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79  d %d (%3.3g) :xy
19910 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d  z} 3 3 1.0e-20.}
19920 20 7b 61 62 63 3a 20 33 20 33 20 28 31 65 2d 32   {abc: 3 3 (1e-2
19930 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
19940 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e 31 20   printf-2.7.3.1 
19950 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
19960 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
19970 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
19980 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   3 1.0.} {abc: (
19990 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1.000) :xyz}.do_
199a0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
199b0 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.2 {.  sqlite3_
199c0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
199d0 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
199e0 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62  z} 3 3 1.0.} {ab
199f0 63 3a 20 28 31 2e 30 30 30 65 2b 30 30 29 20 3a  c: (1.000e+00) :
19a00 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
19a10 6e 74 66 2d 32 2e 37 2e 33 2e 33 20 7b 0a 20 20  ntf-2.7.3.3 {.  
19a20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
19a30 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
19a40 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  .*g) :xyz} 3 3 1
19a50 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 31 29  .0.} {abc: (  1)
19a60 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
19a70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e 34 20 7b 0a  rintf-2.7.3.4 {.
19a80 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
19a90 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
19aa0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
19ab0 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 1.0.} {abc: 
19ac0 33 20 33 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f  3 3 (1) :xyz}.do
19ad0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19ae0 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.5 {.  sqlite3
19af0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19b00 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
19b10 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 0a  ) :xyz} 3 3 1.0.
19b20 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 31 2e 30  } {abc: 3 3 (1.0
19b30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
19b40 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33  est printf-2.7.3
19b50 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
19b60 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19b70 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
19b80 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 0a  ) :xyz} 3 3 1.0.
19b90 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 30 30  } {abc: 3 3 (000
19ba0 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64  0000001) :xyz}.d
19bb0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19bc0 37 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  7.3.7 {.  sqlite
19bd0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19be0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
19bf0 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  .3f) :xyz} 3 3 1
19c00 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
19c10 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1.000) :xyz}.do_
19c20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
19c30 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.8 {.  sqlite3_
19c40 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
19c50 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
19c60 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30  e) :xyz} 3 3 1.0
19c70 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 31 2e  .} {abc: 3 3 (1.
19c80 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
19c90 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19ca0 37 2e 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  7.3.9 {.  sqlite
19cb0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19cc0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
19cd0 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  .3g) :xyz} 3 3 1
19ce0 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
19cf0 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65    1) :xyz}.do_te
19d00 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 34 2e  st printf-2.7.4.
19d10 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
19d20 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19d30 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
19d40 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 3 0.0.} {abc:
19d50 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64   (0.000) :xyz}.d
19d60 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19d70 37 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  7.4.2 {.  sqlite
19d80 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19d90 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
19da0 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b  xyz} 3 3 0.0.} {
19db0 61 62 63 3a 20 28 30 2e 30 30 30 65 2b 30 30 29  abc: (0.000e+00)
19dc0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
19dd0 72 69 6e 74 66 2d 32 2e 37 2e 34 2e 33 20 7b 0a  rintf-2.7.4.3 {.
19de0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
19df0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
19e00 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*g) :xyz} 3 3
19e10 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20   0.0.} {abc: (  
19e20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
19e30 20 70 72 69 6e 74 66 2d 32 2e 37 2e 34 2e 34 20   printf-2.7.4.4 
19e40 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
19e50 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
19e60 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
19e70 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 3 0.0.} {abc
19e80 3a 20 33 20 33 20 28 30 29 20 3a 78 79 7a 7d 0a  : 3 3 (0) :xyz}.
19e90 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
19ea0 2e 37 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .7.4.5 {.  sqlit
19eb0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
19ec0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
19ed0 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e  #g) :xyz} 3 3 0.
19ee0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  0.} {abc: 3 3 (0
19ef0 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
19f00 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19f10 2e 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.6 {.  sqlite3
19f20 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19f30 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
19f40 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e  0g) :xyz} 3 3 0.
19f50 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  0.} {abc: 3 3 (0
19f60 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
19f70 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19f80 32 2e 37 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69  2.7.4.7 {.  sqli
19f90 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19fa0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
19fb0 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3f) :xyz} 3 3
19fc0 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   0.0.} {abc: 3 3
19fd0 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64   (0.000) :xyz}.d
19fe0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19ff0 37 2e 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  7.4.8 {.  sqlite
1a000 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a010 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1a020 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 30  .3e) :xyz} 3 3 0
1a030 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
1a040 30 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  0.000e+00) :xyz}
1a050 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1a060 32 2e 37 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69  2.7.4.9 {.  sqli
1a070 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1a080 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1a090 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3g) :xyz} 3 3
1a0a0 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   0.0.} {abc: 3 3
1a0b0 20 28 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   (  0) :xyz}.do_
1a0c0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1a0d0 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.1 {.  sqlite3_
1a0e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1a0f0 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
1a100 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b  z} 3 3 100.0.} {
1a110 61 62 63 3a 20 28 31 30 30 2e 30 30 30 29 20 3a  abc: (100.000) :
1a120 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a130 6e 74 66 2d 32 2e 37 2e 35 2e 32 20 7b 0a 20 20  ntf-2.7.5.2 {.  
1a140 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a150 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1a160 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  .*e) :xyz} 3 3 1
1a170 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  00.0.} {abc: (1.
1a180 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  000e+02) :xyz}.d
1a190 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1a1a0 37 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  7.5.3 {.  sqlite
1a1b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a1c0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1a1d0 78 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d  xyz} 3 3 100.0.}
1a1e0 20 7b 61 62 63 3a 20 28 31 30 30 29 20 3a 78 79   {abc: (100) :xy
1a1f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a200 66 2d 32 2e 37 2e 35 2e 34 20 7b 0a 20 20 73 71  f-2.7.5.4 {.  sq
1a210 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a220 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1a230 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
1a240 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  100.0.} {abc: 3 
1a250 33 20 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  3 (100) :xyz}.do
1a260 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1a270 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.5 {.  sqlite3
1a280 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1a290 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
1a2a0 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e  ) :xyz} 3 3 100.
1a2b0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 31  0.} {abc: 3 3 (1
1a2c0 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00.000) :xyz}.do
1a2d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1a2e0 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.6 {.  sqlite3
1a2f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1a300 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
1a310 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30  0g) :xyz} 3 3 10
1a320 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  0.0.} {abc: 3 3 
1a330 28 30 30 30 30 30 30 30 31 30 30 29 20 3a 78 79  (0000000100) :xy
1a340 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a350 66 2d 32 2e 37 2e 35 2e 37 20 7b 0a 20 20 73 71  f-2.7.5.7 {.  sq
1a360 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a370 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1a380 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33   (%3.3f) :xyz} 3
1a390 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 100.0.} {abc:
1a3a0 20 33 20 33 20 28 31 30 30 2e 30 30 30 29 20 3a   3 3 (100.000) :
1a3b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a3c0 6e 74 66 2d 32 2e 37 2e 35 2e 38 20 7b 0a 20 20  ntf-2.7.5.8 {.  
1a3d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a3e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1a3f0 25 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d  %d (%3.3e) :xyz}
1a400 20 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62   3 3 100.0.} {ab
1a410 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65 2b 30  c: 3 3 (1.000e+0
1a420 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
1a430 20 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 39 20   printf-2.7.5.9 
1a440 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1a450 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1a460 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a   %d %d (%3.3g) :
1a470 78 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d  xyz} 3 3 100.0.}
1a480 20 7b 61 62 63 3a 20 33 20 33 20 28 31 30 30 29   {abc: 3 3 (100)
1a490 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1a4a0 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 31 20 7b 0a  rintf-2.7.6.1 {.
1a4b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1a4c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1a4d0 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*f) :xyz} 3 3
1a4e0 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
1a4f0 20 28 31 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a   (10.000) :xyz}.
1a500 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1a510 2e 37 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .7.6.2 {.  sqlit
1a520 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1a530 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1a540 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39  :xyz} 3 3 9.9999
1a550 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  9.} {abc: (1.000
1a560 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+01) :xyz}.do_t
1a570 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36  est printf-2.7.6
1a580 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1a590 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1a5a0 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1a5b0 7d 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20  } 3 3 9.99999.} 
1a5c0 7b 61 62 63 3a 20 28 20 31 30 29 20 3a 78 79 7a  {abc: ( 10) :xyz
1a5d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a5e0 2d 32 2e 37 2e 36 2e 34 20 7b 0a 20 20 73 71 6c  -2.7.6.4 {.  sql
1a5f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a600 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1a610 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  (%g) :xyz} 3 3 9
1a620 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1a630 20 33 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   3 (9.99999) :xy
1a640 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a650 66 2d 32 2e 37 2e 36 2e 35 20 7b 0a 20 20 73 71  f-2.7.6.5 {.  sq
1a660 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a670 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1a680 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
1a690 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
1a6a0 20 33 20 33 20 28 39 2e 39 39 39 39 39 29 20 3a   3 3 (9.99999) :
1a6b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a6c0 6e 74 66 2d 32 2e 37 2e 36 2e 36 20 7b 0a 20 20  ntf-2.7.6.6 {.  
1a6d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a6e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1a6f0 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
1a700 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   3 3 9.99999.} {
1a710 61 62 63 3a 20 33 20 33 20 28 30 30 30 39 2e 39  abc: 3 3 (0009.9
1a720 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
1a730 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36  est printf-2.7.6
1a740 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
1a750 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1a760 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 66  bc: %d %d (%3.3f
1a770 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39 39  ) :xyz} 3 3 9.99
1a780 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  999.} {abc: 3 3 
1a790 28 31 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  (10.000) :xyz}.d
1a7a0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1a7b0 37 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  7.6.8 {.  sqlite
1a7c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a7d0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1a7e0 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  .3e) :xyz} 3 3 9
1a7f0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1a800 20 33 20 28 31 2e 30 30 30 65 2b 30 31 29 20 3a   3 (1.000e+01) :
1a810 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a820 6e 74 66 2d 32 2e 37 2e 36 2e 39 20 7b 0a 20 20  ntf-2.7.6.9 {.  
1a830 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a840 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1a850 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d  %d (%3.3g) :xyz}
1a860 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   3 3 9.99999.} {
1a870 61 62 63 3a 20 33 20 33 20 28 20 31 30 29 20 3a  abc: 3 3 ( 10) :
1a880 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a890 6e 74 66 2d 32 2e 37 2e 37 2e 31 20 7b 0a 20 20  ntf-2.7.7.1 {.  
1a8a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a8b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1a8c0 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d  .*f) :xyz} 3 3 -
1a8d0 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
1a8e0 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a 64  (-0.005) :xyz}.d
1a8f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1a900 37 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  7.7.2 {.  sqlite
1a910 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a920 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1a930 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35 34  xyz} 3 3 -0.0054
1a940 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34 33  3.} {abc: (-5.43
1a950 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
1a960 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1a970 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.3 {.  sqlite3_
1a980 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1a990 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1a9a0 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35 34 33 0a  z} 3 3 -0.00543.
1a9b0 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35 34  } {abc: (-0.0054
1a9c0 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1a9d0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 34 20   printf-2.7.7.4 
1a9e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1a9f0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1aa00 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
1aa10 7d 20 33 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d  } 3 3 -0.00543.}
1aa20 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30 2e 30   {abc: 3 3 (-0.0
1aa30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
1aa40 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37  est printf-2.7.7
1aa50 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1aa60 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1aa70 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1aa80 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35  :xyz} 3 3 -0.005
1aa90 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  43.} {abc: 3 3 (
1aaa0 2d 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79  -0.00543000) :xy
1aab0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1aac0 66 2d 32 2e 37 2e 37 2e 36 20 7b 0a 20 20 73 71  f-2.7.7.6 {.  sq
1aad0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1aae0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1aaf0 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1ab00 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   3 -0.00543.} {a
1ab10 62 63 3a 20 33 20 33 20 28 2d 30 30 30 2e 30 30  bc: 3 3 (-000.00
1ab20 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
1ab30 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e  st printf-2.7.7.
1ab40 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1ab50 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1ab60 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 66 29  c: %d %d (%3.3f)
1ab70 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30   :xyz} 3 3 -0.00
1ab80 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  543.} {abc: 3 3 
1ab90 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a 64  (-0.005) :xyz}.d
1aba0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1abb0 37 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  7.7.8 {.  sqlite
1abc0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1abd0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1abe0 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d  .3e) :xyz} 3 3 -
1abf0 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
1ac00 33 20 33 20 28 2d 35 2e 34 33 30 65 2d 30 33 29  3 3 (-5.430e-03)
1ac10 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ac20 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 39 20 7b 0a  rintf-2.7.7.9 {.
1ac30 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ac40 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1ac50 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79  d %d (%3.3g) :xy
1ac60 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35 34 33 0a  z} 3 3 -0.00543.
1ac70 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30 2e  } {abc: 3 3 (-0.
1ac80 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
1ac90 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1aca0 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.1 {.  sqlite3_
1acb0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1acc0 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
1acd0 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d 20 7b 61  z} 3 3 -1.0.} {a
1ace0 62 63 3a 20 28 2d 31 2e 30 30 30 29 20 3a 78 79  bc: (-1.000) :xy
1acf0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1ad00 66 2d 32 2e 37 2e 38 2e 32 20 7b 0a 20 20 73 71  f-2.7.8.2 {.  sq
1ad10 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1ad20 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1ad30 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e  e) :xyz} 3 3 -1.
1ad40 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30  0.} {abc: (-1.00
1ad50 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
1ad60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1ad70 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.3 {.  sqlite3_
1ad80 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ad90 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1ada0 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d 20 7b 61  z} 3 3 -1.0.} {a
1adb0 62 63 3a 20 28 20 2d 31 29 20 3a 78 79 7a 7d 0a  bc: ( -1) :xyz}.
1adc0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1add0 2e 37 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .7.8.4 {.  sqlit
1ade0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1adf0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1ae00 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e  g) :xyz} 3 3 -1.
1ae10 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  0.} {abc: 3 3 (-
1ae20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
1ae30 20 70 72 69 6e 74 66 2d 32 2e 37 2e 38 2e 35 20   printf-2.7.8.5 
1ae40 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ae50 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ae60 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
1ae70 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d 20 7b 61  z} 3 3 -1.0.} {a
1ae80 62 63 3a 20 33 20 33 20 28 2d 31 2e 30 30 30 30  bc: 3 3 (-1.0000
1ae90 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1aea0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 38 2e 36 20   printf-2.7.8.6 
1aeb0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1aec0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1aed0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1aee0 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d 20  xyz} 3 3 -1.0.} 
1aef0 7b 61 62 63 3a 20 33 20 33 20 28 2d 30 30 30 30  {abc: 3 3 (-0000
1af00 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00001) :xyz}.do_
1af10 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1af20 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.7 {.  sqlite3_
1af30 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1af40 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1af50 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e  f) :xyz} 3 3 -1.
1af60 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  0.} {abc: 3 3 (-
1af70 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1.000) :xyz}.do_
1af80 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1af90 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.8 {.  sqlite3_
1afa0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1afb0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1afc0 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e  e) :xyz} 3 3 -1.
1afd0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  0.} {abc: 3 3 (-
1afe0 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  1.000e+00) :xyz}
1aff0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b000 32 2e 37 2e 38 2e 39 20 7b 0a 20 20 73 71 6c 69  2.7.8.9 {.  sqli
1b010 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1b020 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1b030 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3g) :xyz} 3 3
1b040 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20   -1.0.} {abc: 3 
1b050 33 20 28 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f  3 ( -1) :xyz}.do
1b060 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1b070 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.1 {.  sqlite3
1b080 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1b090 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
1b0a0 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39  yz} 3 3 -99.9999
1b0b0 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 2e  9.} {abc: (-100.
1b0c0 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
1b0d0 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e  st printf-2.7.9.
1b0e0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1b0f0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1b100 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1b110 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   3 3 -99.99999.}
1b120 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 65 2b   {abc: (-1.000e+
1b130 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
1b140 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 33  t printf-2.7.9.3
1b150 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1b160 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1b170 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
1b180 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  3 3 -99.99999.} 
1b190 7b 61 62 63 3a 20 28 2d 31 30 30 29 20 3a 78 79  {abc: (-100) :xy
1b1a0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1b1b0 66 2d 32 2e 37 2e 39 2e 34 20 7b 0a 20 20 73 71  f-2.7.9.4 {.  sq
1b1c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b1d0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1b1e0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
1b1f0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
1b200 3a 20 33 20 33 20 28 2d 31 30 30 29 20 3a 78 79  : 3 3 (-100) :xy
1b210 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1b220 66 2d 32 2e 37 2e 39 2e 35 20 7b 0a 20 20 73 71  f-2.7.9.5 {.  sq
1b230 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b240 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1b250 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
1b260 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
1b270 63 3a 20 33 20 33 20 28 2d 31 30 30 2e 30 30 30  c: 3 3 (-100.000
1b280 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b290 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 36 20 7b  printf-2.7.9.6 {
1b2a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b2b0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b2c0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1b2d0 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39  yz} 3 3 -99.9999
1b2e0 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  9.} {abc: 3 3 (-
1b2f0 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
1b300 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b310 32 2e 37 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69  2.7.9.7 {.  sqli
1b320 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1b330 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1b340 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3f) :xyz} 3 3
1b350 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
1b360 63 3a 20 33 20 33 20 28 2d 31 30 30 2e 30 30 30  c: 3 3 (-100.000
1b370 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b380 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 38 20 7b  printf-2.7.9.8 {
1b390 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b3a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b3b0 25 64 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78  %d %d (%3.3e) :x
1b3c0 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39  yz} 3 3 -99.9999
1b3d0 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  9.} {abc: 3 3 (-
1b3e0 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d  1.000e+02) :xyz}
1b3f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b400 32 2e 37 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69  2.7.9.9 {.  sqli
1b410 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1b420 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1b430 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3g) :xyz} 3 3
1b440 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
1b450 63 3a 20 33 20 33 20 28 2d 31 30 30 29 20 3a 78  c: 3 3 (-100) :x
1b460 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b470 74 66 2d 32 2e 37 2e 31 30 2e 31 20 7b 0a 20 20  tf-2.7.10.1 {.  
1b480 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b490 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1b4a0 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 33  .*f) :xyz} 3 3 3
1b4b0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
1b4c0 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 29 20  3140000000.000) 
1b4d0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b4e0 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 32 20 7b 0a  intf-2.7.10.2 {.
1b4f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1b500 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1b510 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*e) :xyz} 3 3
1b520 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1b530 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a 78 79   (3.140e+09) :xy
1b540 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1b550 66 2d 32 2e 37 2e 31 30 2e 33 20 7b 0a 20 20 73  f-2.7.10.3 {.  s
1b560 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1b570 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1b580 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e  *g) :xyz} 3 3 3.
1b590 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33  14e+9.} {abc: (3
1b5a0 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
1b5b0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1b5c0 37 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74  7.10.4 {.  sqlit
1b5d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1b5e0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1b5f0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e 31  g) :xyz} 3 3 3.1
1b600 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  4e+9.} {abc: 3 3
1b610 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a   (3.14e+09) :xyz
1b620 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1b630 2d 32 2e 37 2e 31 30 2e 35 20 7b 0a 20 20 73 71  -2.7.10.5 {.  sq
1b640 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b650 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1b660 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
1b670 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1b680 20 33 20 33 20 28 33 2e 31 34 30 30 30 65 2b 30   3 3 (3.14000e+0
1b690 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1b6a0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 36   printf-2.7.10.6
1b6b0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1b6c0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1b6d0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
1b6e0 3a 78 79 7a 7d 20 33 20 33 20 33 2e 31 34 65 2b  :xyz} 3 3 3.14e+
1b6f0 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  9.} {abc: 3 3 (0
1b700 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  03.14e+09) :xyz}
1b710 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b720 32 2e 37 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c  2.7.10.7 {.  sql
1b730 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1b740 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1b750 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20  (%3.3f) :xyz} 3 
1b760 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
1b770 3a 20 33 20 33 20 28 33 31 34 30 30 30 30 30 30  : 3 3 (314000000
1b780 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
1b790 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b7a0 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.8 {.  sqlite3
1b7b0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1b7c0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1b7d0 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e  3e) :xyz} 3 3 3.
1b7e0 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33 20  14e+9.} {abc: 3 
1b7f0 33 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a 78  3 (3.140e+09) :x
1b800 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b810 74 66 2d 32 2e 37 2e 31 30 2e 39 20 7b 0a 20 20  tf-2.7.10.9 {.  
1b820 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b830 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1b840 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d  %d (%3.3g) :xyz}
1b850 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 3 3.14e+9.} {
1b860 61 62 63 3a 20 33 20 33 20 28 33 2e 31 34 65 2b  abc: 3 3 (3.14e+
1b870 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1b880 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e  t printf-2.7.11.
1b890 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1b8a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1b8b0 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1b8c0 20 33 20 33 20 2d 34 2e 37 32 37 33 32 65 2b 38   3 3 -4.72732e+8
1b8d0 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32  8.} {abc: (-4.72
1b8e0 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  7e+88) :xyz}.do_
1b8f0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b900 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.3 {.  sqlite3
1b910 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1b920 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1b930 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33 32  yz} 3 3 -4.72732
1b940 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
1b950 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  .73e+88) :xyz}.d
1b960 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1b970 37 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  7.11.4 {.  sqlit
1b980 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1b990 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1b9a0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e  g) :xyz} 3 3 -4.
1b9b0 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
1b9c0 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 33 32 65  : 3 3 (-4.72732e
1b9d0 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
1b9e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31  st printf-2.7.11
1b9f0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1ba00 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ba10 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1ba20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37  :xyz} 3 3 -4.727
1ba30 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33  32e+88.} {abc: 3
1ba40 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   3 (-4.72732e+88
1ba50 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ba60 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e 36 20  printf-2.7.11.6 
1ba70 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ba80 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ba90 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1baa0 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33  xyz} 3 3 -4.7273
1bab0 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20  2e+88.} {abc: 3 
1bac0 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  3 (-4.72732e+88)
1bad0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1bae0 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e 38 20 7b  rintf-2.7.11.8 {
1baf0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1bb00 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1bb10 25 64 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78  %d %d (%3.3e) :x
1bb20 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33 32  yz} 3 3 -4.72732
1bb30 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20 33  e+88.} {abc: 3 3
1bb40 20 28 2d 34 2e 37 32 37 65 2b 38 38 29 20 3a 78   (-4.727e+88) :x
1bb50 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1bb60 74 66 2d 32 2e 37 2e 31 31 2e 39 20 7b 0a 20 20  tf-2.7.11.9 {.  
1bb70 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1bb80 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1bb90 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d  %d (%3.3g) :xyz}
1bba0 20 33 20 33 20 2d 34 2e 37 32 37 33 32 65 2b 38   3 3 -4.72732e+8
1bbb0 38 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  8.} {abc: 3 3 (-
1bbc0 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  4.73e+88) :xyz}.
1bbd0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1bbe0 2e 37 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69  .7.12.2 {.  sqli
1bbf0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1bc00 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
1bc10 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e 38 37 39   :xyz} 3 3 9.879
1bc20 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
1bc30 28 39 2e 38 38 30 65 2b 31 34 33 29 20 3a 78 79  (9.880e+143) :xy
1bc40 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1bc50 66 2d 32 2e 37 2e 31 32 2e 33 20 7b 0a 20 20 73  f-2.7.12.3 {.  s
1bc60 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1bc70 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1bc80 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e  *g) :xyz} 3 3 9.
1bc90 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
1bca0 63 3a 20 28 39 2e 38 38 65 2b 31 34 33 29 20 3a  c: (9.88e+143) :
1bcb0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1bcc0 6e 74 66 2d 32 2e 37 2e 31 32 2e 34 20 7b 0a 20  ntf-2.7.12.4 {. 
1bcd0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1bce0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1bcf0 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1bd00 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   3 9.87991e+143.
1bd10 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38  } {abc: 3 3 (9.8
1bd20 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
1bd30 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1bd40 32 2e 37 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c  2.7.12.5 {.  sql
1bd50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1bd60 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1bd70 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  (%#g) :xyz} 3 3 
1bd80 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
1bd90 61 62 63 3a 20 33 20 33 20 28 39 2e 38 37 39 39  abc: 3 3 (9.8799
1bda0 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
1bdb0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1bdc0 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .12.6 {.  sqlite
1bdd0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1bde0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
1bdf0 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  10g) :xyz} 3 3 9
1be00 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
1be10 62 63 3a 20 33 20 33 20 28 39 2e 38 37 39 39 31  bc: 3 3 (9.87991
1be20 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
1be30 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1be40 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.8 {.  sqlite3
1be50 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1be60 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1be70 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e  3e) :xyz} 3 3 9.
1be80 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
1be90 63 3a 20 33 20 33 20 28 39 2e 38 38 30 65 2b 31  c: 3 3 (9.880e+1
1bea0 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1beb0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 32 2e  t printf-2.7.12.
1bec0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
1bed0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1bee0 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29  c: %d %d (%3.3g)
1bef0 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e 38 37 39   :xyz} 3 3 9.879
1bf00 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
1bf10 33 20 33 20 28 39 2e 38 38 65 2b 31 34 33 29 20  3 3 (9.88e+143) 
1bf20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1bf30 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 31 20 7b 0a  intf-2.7.13.1 {.
1bf40 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1bf50 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1bf60 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*f) :xyz} 3 3
1bf70 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
1bf80 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30 29 20 3a  {abc: (-0.000) :
1bf90 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1bfa0 6e 74 66 2d 32 2e 37 2e 31 33 2e 32 20 7b 0a 20  ntf-2.7.13.2 {. 
1bfb0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1bfc0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1bfd0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  *.*e) :xyz} 3 3 
1bfe0 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
1bff0 61 62 63 3a 20 28 2d 36 2e 32 38 37 65 2d 30 39  abc: (-6.287e-09
1c000 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1c010 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 33 20  printf-2.7.13.3 
1c020 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1c030 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1c040 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33   (%*.*g) :xyz} 3
1c050 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   3 -6.287291e-9.
1c060 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 39 65 2d  } {abc: (-6.29e-
1c070 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1c080 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e  t printf-2.7.13.
1c090 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
1c0a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1c0b0 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
1c0c0 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39  yz} 3 3 -6.28729
1c0d0 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  1e-9.} {abc: 3 3
1c0e0 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
1c0f0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1c100 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 35 20 7b 0a  intf-2.7.13.5 {.
1c110 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1c120 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1c130 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1c140 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   3 3 -6.287291e-
1c150 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  9.} {abc: 3 3 (-
1c160 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
1c170 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c180 66 2d 32 2e 37 2e 31 33 2e 36 20 7b 0a 20 20 73  f-2.7.13.6 {.  s
1c190 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1c1a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1c1b0 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1c1c0 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  3 3 -6.287291e-9
1c1d0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 36  .} {abc: 3 3 (-6
1c1e0 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
1c1f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1c200 2d 32 2e 37 2e 31 33 2e 37 20 7b 0a 20 20 73 71  -2.7.13.7 {.  sq
1c210 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1c220 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1c230 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33   (%3.3f) :xyz} 3
1c240 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   3 -6.287291e-9.
1c250 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30 2e  } {abc: 3 3 (-0.
1c260 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
1c270 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33  st printf-2.7.13
1c280 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
1c290 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c2a0 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 65  bc: %d %d (%3.3e
1c2b0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32  ) :xyz} 3 3 -6.2
1c2c0 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1c2d0 20 33 20 33 20 28 2d 36 2e 32 38 37 65 2d 30 39   3 3 (-6.287e-09
1c2e0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1c2f0 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 39 20  printf-2.7.13.9 
1c300 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1c310 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1c320 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a   %d %d (%3.3g) :
1c330 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32  xyz} 3 3 -6.2872
1c340 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20  91e-9.} {abc: 3 
1c350 33 20 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78  3 (-6.29e-09) :x
1c360 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c370 74 66 2d 32 2e 37 2e 31 34 2e 31 20 7b 0a 20 20  tf-2.7.14.1 {.  
1c380 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1c390 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1c3a0 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 33  .*f) :xyz} 3 3 3
1c3b0 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
1c3c0 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a   {abc: (0.000) :
1c3d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1c3e0 6e 74 66 2d 32 2e 37 2e 31 34 2e 32 20 7b 0a 20  ntf-2.7.14.2 {. 
1c3f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1c400 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1c410 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  *.*e) :xyz} 3 3 
1c420 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1c430 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 65 2d  } {abc: (3.388e-
1c440 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
1c450 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 34  st printf-2.7.14
1c460 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1c470 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c480 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1c490 7d 20 33 20 33 20 33 2e 33 38 38 32 36 33 39 32  } 3 3 3.38826392
1c4a0 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33  e-110.} {abc: (3
1c4b0 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  .39e-110) :xyz}.
1c4c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c4d0 2e 37 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69  .7.14.4 {.  sqli
1c4e0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1c4f0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1c500 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e  %g) :xyz} 3 3 3.
1c510 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1c520 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 33 38 38  {abc: 3 3 (3.388
1c530 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
1c540 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c550 37 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74  7.14.5 {.  sqlit
1c560 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c570 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c580 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e  #g) :xyz} 3 3 3.
1c590 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1c5a0 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 33 38 38  {abc: 3 3 (3.388
1c5b0 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
1c5c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c5d0 37 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  7.14.6 {.  sqlit
1c5e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c5f0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c600 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  010g) :xyz} 3 3 
1c610 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1c620 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 33  } {abc: 3 3 (3.3
1c630 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
1c640 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1c650 32 2e 37 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c  2.7.14.7 {.  sql
1c660 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1c670 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1c680 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20  (%3.3f) :xyz} 3 
1c690 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
1c6a0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  0.} {abc: 3 3 (0
1c6b0 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
1c6c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1c6d0 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.8 {.  sqlite3_
1c6e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1c6f0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1c700 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e 33  e) :xyz} 3 3 3.3
1c710 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
1c720 61 62 63 3a 20 33 20 33 20 28 33 2e 33 38 38 65  abc: 3 3 (3.388e
1c730 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
1c740 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1c750 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.9 {.  sqlite3_
1c760 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1c770 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1c780 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e 33  g) :xyz} 3 3 3.3
1c790 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
1c7a0 61 62 63 3a 20 33 20 33 20 28 33 2e 33 39 65 2d  abc: 3 3 (3.39e-
1c7b0 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
1c7c0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e  st printf-2.8.1.
1c7d0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1c7e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1c7f0 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
1c800 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62   3 2 0.001.} {ab
1c810 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  c: (0.00) :xyz}.
1c820 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c830 2e 38 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .8.1.2 {.  sqlit
1c840 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c850 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1c860 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a  :xyz} 3 2 0.001.
1c870 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65 2d 30  } {abc: (1.00e-0
1c880 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1c890 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 33 20   printf-2.8.1.3 
1c8a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1c8b0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1c8c0 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33   (%*.*g) :xyz} 3
1c8d0 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   2 0.001.} {abc:
1c8e0 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
1c8f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c900 38 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  8.1.4 {.  sqlite
1c910 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1c920 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
1c930 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 30  ) :xyz} 3 2 0.00
1c940 31 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30  1.} {abc: 3 2 (0
1c950 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
1c960 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1c970 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1c980 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c990 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1c9a0 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a  :xyz} 3 2 0.001.
1c9b0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30  } {abc: 3 2 (0.0
1c9c0 30 31 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0100000) :xyz}.d
1c9d0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c9e0 38 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  8.1.6 {.  sqlite
1c9f0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1ca00 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
1ca10 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  10g) :xyz} 3 2 0
1ca20 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 32  .001.} {abc: 3 2
1ca30 20 28 30 30 30 30 30 30 2e 30 30 31 29 20 3a 78   (000000.001) :x
1ca40 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ca50 74 66 2d 32 2e 38 2e 31 2e 37 20 7b 0a 20 20 73  tf-2.8.1.7 {.  s
1ca60 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1ca70 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1ca80 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20  d (%3.2f) :xyz} 
1ca90 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  3 2 0.001.} {abc
1caa0 3a 20 33 20 32 20 28 30 2e 30 30 29 20 3a 78 79  : 3 2 (0.00) :xy
1cab0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1cac0 66 2d 32 2e 38 2e 31 2e 38 20 7b 0a 20 20 73 71  f-2.8.1.8 {.  sq
1cad0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1cae0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1caf0 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33   (%3.2e) :xyz} 3
1cb00 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   2 0.001.} {abc:
1cb10 20 33 20 32 20 28 31 2e 30 30 65 2d 30 33 29 20   3 2 (1.00e-03) 
1cb20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1cb30 69 6e 74 66 2d 32 2e 38 2e 31 2e 39 20 7b 0a 20  intf-2.8.1.9 {. 
1cb40 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1cb50 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1cb60 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1cb70 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 2 0.001.} {a
1cb80 62 63 3a 20 33 20 32 20 28 30 2e 30 30 31 29 20  bc: 3 2 (0.001) 
1cb90 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1cba0 69 6e 74 66 2d 32 2e 38 2e 32 2e 31 20 7b 0a 20  intf-2.8.2.1 {. 
1cbb0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1cbc0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1cbd0 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*f) :xyz} 3 2 
1cbe0 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
1cbf0 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  (0.00) :xyz}.do_
1cc00 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1cc10 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.2 {.  sqlite3_
1cc20 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1cc30 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
1cc40 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d  z} 3 2 1.0e-20.}
1cc50 20 7b 61 62 63 3a 20 28 31 2e 30 30 65 2d 32 30   {abc: (1.00e-20
1cc60 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1cc70 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 33 20 7b  printf-2.8.2.3 {
1cc80 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1cc90 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1cca0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20  (%*.*g) :xyz} 3 
1ccb0 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  2 1.0e-20.} {abc
1ccc0 3a 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  : (1e-20) :xyz}.
1ccd0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1cce0 2e 38 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .8.2.4 {.  sqlit
1ccf0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1cd00 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1cd10 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30  g) :xyz} 3 2 1.0
1cd20 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  e-20.} {abc: 3 2
1cd30 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64   (1e-20) :xyz}.d
1cd40 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1cd50 38 2e 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  8.2.5 {.  sqlite
1cd60 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1cd70 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
1cd80 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30  g) :xyz} 3 2 1.0
1cd90 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  e-20.} {abc: 3 2
1cda0 20 28 31 2e 30 30 30 30 30 65 2d 32 30 29 20 3a   (1.00000e-20) :
1cdb0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1cdc0 6e 74 66 2d 32 2e 38 2e 32 2e 36 20 7b 0a 20 20  ntf-2.8.2.6 {.  
1cdd0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1cde0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1cdf0 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
1ce00 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 2 1.0e-20.} {
1ce10 61 62 63 3a 20 33 20 32 20 28 30 30 30 30 30 31  abc: 3 2 (000001
1ce20 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
1ce30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32  est printf-2.8.2
1ce40 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
1ce50 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ce60 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66  bc: %d %d (%3.2f
1ce70 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 65  ) :xyz} 3 2 1.0e
1ce80 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  -20.} {abc: 3 2 
1ce90 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  (0.00) :xyz}.do_
1cea0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1ceb0 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.8 {.  sqlite3_
1cec0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ced0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1cee0 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30  e) :xyz} 3 2 1.0
1cef0 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  e-20.} {abc: 3 2
1cf00 20 28 31 2e 30 30 65 2d 32 30 29 20 3a 78 79 7a   (1.00e-20) :xyz
1cf10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1cf20 2d 32 2e 38 2e 32 2e 39 20 7b 0a 20 20 73 71 6c  -2.8.2.9 {.  sql
1cf30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1cf40 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1cf50 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20  (%3.2g) :xyz} 3 
1cf60 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  2 1.0e-20.} {abc
1cf70 3a 20 33 20 32 20 28 31 65 2d 32 30 29 20 3a 78  : 3 2 (1e-20) :x
1cf80 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1cf90 74 66 2d 32 2e 38 2e 33 2e 31 20 7b 0a 20 20 73  tf-2.8.3.1 {.  s
1cfa0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1cfb0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1cfc0 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e  *f) :xyz} 3 2 1.
1cfd0 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 29  0.} {abc: (1.00)
1cfe0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1cff0 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 32 20 7b 0a  rintf-2.8.3.2 {.
1d000 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d010 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1d020 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*e) :xyz} 3 2
1d030 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e   1.0.} {abc: (1.
1d040 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
1d050 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1d060 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.3 {.  sqlite3
1d070 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1d080 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1d090 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 3 2 1.0.} {a
1d0a0 62 63 3a 20 28 20 20 31 29 20 3a 78 79 7a 7d 0a  bc: (  1) :xyz}.
1d0b0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1d0c0 2e 38 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .8.3.4 {.  sqlit
1d0d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1d0e0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1d0f0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30  g) :xyz} 3 2 1.0
1d100 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 29  .} {abc: 3 2 (1)
1d110 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1d120 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 35 20 7b 0a  rintf-2.8.3.5 {.
1d130 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d140 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1d150 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1d160 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   3 2 1.0.} {abc:
1d170 20 33 20 32 20 28 31 2e 30 30 30 30 30 29 20 3a   3 2 (1.00000) :
1d180 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d190 6e 74 66 2d 32 2e 38 2e 33 2e 36 20 7b 0a 20 20  ntf-2.8.3.6 {.  
1d1a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d1b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1d1c0 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
1d1d0 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   3 2 1.0.} {abc:
1d1e0 20 33 20 32 20 28 30 30 30 30 30 30 30 30 30 31   3 2 (0000000001
1d1f0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d200 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 37 20 7b  printf-2.8.3.7 {
1d210 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d220 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d230 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78  %d %d (%3.2f) :x
1d240 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 3 2 1.0.} {a
1d250 62 63 3a 20 33 20 32 20 28 31 2e 30 30 29 20 3a  bc: 3 2 (1.00) :
1d260 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d270 6e 74 66 2d 32 2e 38 2e 33 2e 38 20 7b 0a 20 20  ntf-2.8.3.8 {.  
1d280 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d290 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1d2a0 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d  %d (%3.2e) :xyz}
1d2b0 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   3 2 1.0.} {abc:
1d2c0 20 33 20 32 20 28 31 2e 30 30 65 2b 30 30 29 20   3 2 (1.00e+00) 
1d2d0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d2e0 69 6e 74 66 2d 32 2e 38 2e 33 2e 39 20 7b 0a 20  intf-2.8.3.9 {. 
1d2f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d300 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d310 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1d320 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63  } 3 2 1.0.} {abc
1d330 3a 20 33 20 32 20 28 20 20 31 29 20 3a 78 79 7a  : 3 2 (  1) :xyz
1d340 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1d350 2d 32 2e 38 2e 34 2e 31 20 7b 0a 20 20 73 71 6c  -2.8.4.1 {.  sql
1d360 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1d370 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
1d380 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a  ) :xyz} 3 2 0.0.
1d390 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a  } {abc: (0.00) :
1d3a0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d3b0 6e 74 66 2d 32 2e 38 2e 34 2e 32 20 7b 0a 20 20  ntf-2.8.4.2 {.  
1d3c0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d3d0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1d3e0 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  .*e) :xyz} 3 2 0
1d3f0 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  .0.} {abc: (0.00
1d400 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
1d410 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34  est printf-2.8.4
1d420 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1d430 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1d440 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1d450 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 2 0.0.} {abc
1d460 3a 20 28 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f  : (  0) :xyz}.do
1d470 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1d480 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.4 {.  sqlite3
1d490 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1d4a0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
1d4b0 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d   :xyz} 3 2 0.0.}
1d4c0 20 7b 61 62 63 3a 20 33 20 32 20 28 30 29 20 3a   {abc: 3 2 (0) :
1d4d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d4e0 6e 74 66 2d 32 2e 38 2e 34 2e 35 20 7b 0a 20 20  ntf-2.8.4.5 {.  
1d4f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d500 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1d510 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
1d520 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   2 0.0.} {abc: 3
1d530 20 32 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79   2 (0.00000) :xy
1d540 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d550 66 2d 32 2e 38 2e 34 2e 36 20 7b 0a 20 20 73 71  f-2.8.4.6 {.  sq
1d560 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d570 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1d580 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1d590 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   2 0.0.} {abc: 3
1d5a0 20 32 20 28 30 30 30 30 30 30 30 30 30 30 29 20   2 (0000000000) 
1d5b0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d5c0 69 6e 74 66 2d 32 2e 38 2e 34 2e 37 20 7b 0a 20  intf-2.8.4.7 {. 
1d5d0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d5e0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d5f0 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a   %d (%3.2f) :xyz
1d600 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 2 0.0.} {abc
1d610 3a 20 33 20 32 20 28 30 2e 30 30 29 20 3a 78 79  : 3 2 (0.00) :xy
1d620 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d630 66 2d 32 2e 38 2e 34 2e 38 20 7b 0a 20 20 73 71  f-2.8.4.8 {.  sq
1d640 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d650 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1d660 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33   (%3.2e) :xyz} 3
1d670 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   2 0.0.} {abc: 3
1d680 20 32 20 28 30 2e 30 30 65 2b 30 30 29 20 3a 78   2 (0.00e+00) :x
1d690 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1d6a0 74 66 2d 32 2e 38 2e 34 2e 39 20 7b 0a 20 20 73  tf-2.8.4.9 {.  s
1d6b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1d6c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1d6d0 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%3.2g) :xyz} 
1d6e0 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 2 0.0.} {abc: 
1d6f0 33 20 32 20 28 20 20 30 29 20 3a 78 79 7a 7d 0a  3 2 (  0) :xyz}.
1d700 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1d710 2e 38 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .8.5.1 {.  sqlit
1d720 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1d730 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
1d740 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a  :xyz} 3 2 100.0.
1d750 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 29  } {abc: (100.00)
1d760 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1d770 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 32 20 7b 0a  rintf-2.8.5.2 {.
1d780 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d790 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1d7a0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*e) :xyz} 3 2
1d7b0 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
1d7c0 31 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  1.00e+02) :xyz}.
1d7d0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1d7e0 2e 38 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .8.5.3 {.  sqlit
1d7f0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1d800 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1d810 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a  :xyz} 3 2 100.0.
1d820 7d 20 7b 61 62 63 3a 20 28 31 65 2b 30 32 29 20  } {abc: (1e+02) 
1d830 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d840 69 6e 74 66 2d 32 2e 38 2e 35 2e 34 20 7b 0a 20  intf-2.8.5.4 {. 
1d850 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d860 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d870 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1d880 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 100.0.} {abc:
1d890 20 33 20 32 20 28 31 30 30 29 20 3a 78 79 7a 7d   3 2 (100) :xyz}
1d8a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1d8b0 32 2e 38 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69  2.8.5.5 {.  sqli
1d8c0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1d8d0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1d8e0 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31  %#g) :xyz} 3 2 1
1d8f0 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  00.0.} {abc: 3 2
1d900 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d   (100.000) :xyz}
1d910 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1d920 32 2e 38 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69  2.8.5.6 {.  sqli
1d930 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1d940 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1d950 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32  %010g) :xyz} 3 2
1d960 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   100.0.} {abc: 3
1d970 20 32 20 28 30 30 30 30 30 30 30 31 30 30 29 20   2 (0000000100) 
1d980 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d990 69 6e 74 66 2d 32 2e 38 2e 35 2e 37 20 7b 0a 20  intf-2.8.5.7 {. 
1d9a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d9b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d9c0 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a   %d (%3.2f) :xyz
1d9d0 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61  } 3 2 100.0.} {a
1d9e0 62 63 3a 20 33 20 32 20 28 31 30 30 2e 30 30 29  bc: 3 2 (100.00)
1d9f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1da00 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 38 20 7b 0a  rintf-2.8.5.8 {.
1da10 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1da20 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1da30 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79  d %d (%3.2e) :xy
1da40 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b  z} 3 2 100.0.} {
1da50 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65 2b  abc: 3 2 (1.00e+
1da60 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
1da70 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 39  t printf-2.8.5.9
1da80 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1da90 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1daa0 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20  : %d %d (%3.2g) 
1dab0 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a  :xyz} 3 2 100.0.
1dac0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 65 2b  } {abc: 3 2 (1e+
1dad0 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
1dae0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 31  t printf-2.8.6.1
1daf0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1db00 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1db10 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1db20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 2 9.99999.} {a
1db30 62 63 3a 20 28 31 30 2e 30 30 29 20 3a 78 79 7a  bc: (10.00) :xyz
1db40 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1db50 2d 32 2e 38 2e 36 2e 32 20 7b 0a 20 20 73 71 6c  -2.8.6.2 {.  sql
1db60 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1db70 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
1db80 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39 39  ) :xyz} 3 2 9.99
1db90 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  999.} {abc: (1.0
1dba0 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+01) :xyz}.do_
1dbb0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1dbc0 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.3 {.  sqlite3_
1dbd0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1dbe0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1dbf0 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 3 2 9.99999.}
1dc00 20 7b 61 62 63 3a 20 28 20 31 30 29 20 3a 78 79   {abc: ( 10) :xy
1dc10 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1dc20 66 2d 32 2e 38 2e 36 2e 34 20 7b 0a 20 20 73 71  f-2.8.6.4 {.  sq
1dc30 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1dc40 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1dc50 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1dc60 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
1dc70 33 20 32 20 28 39 2e 39 39 39 39 39 29 20 3a 78  3 2 (9.99999) :x
1dc80 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1dc90 74 66 2d 32 2e 38 2e 36 2e 35 20 7b 0a 20 20 73  tf-2.8.6.5 {.  s
1dca0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1dcb0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1dcc0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20  d (%#g) :xyz} 3 
1dcd0 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  2 9.99999.} {abc
1dce0 3a 20 33 20 32 20 28 39 2e 39 39 39 39 39 29 20  : 3 2 (9.99999) 
1dcf0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1dd00 69 6e 74 66 2d 32 2e 38 2e 36 2e 36 20 7b 0a 20  intf-2.8.6.6 {. 
1dd10 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1dd20 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1dd30 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
1dd40 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20  } 3 2 9.99999.} 
1dd50 7b 61 62 63 3a 20 33 20 32 20 28 30 30 30 39 2e  {abc: 3 2 (0009.
1dd60 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  99999) :xyz}.do_
1dd70 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1dd80 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.7 {.  sqlite3_
1dd90 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1dda0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1ddb0 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39  f) :xyz} 3 2 9.9
1ddc0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32  9999.} {abc: 3 2
1ddd0 20 28 31 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64   (10.00) :xyz}.d
1dde0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1ddf0 38 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  8.6.8 {.  sqlite
1de00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1de10 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1de20 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 39  .2e) :xyz} 3 2 9
1de30 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1de40 20 32 20 28 31 2e 30 30 65 2b 30 31 29 20 3a 78   2 (1.00e+01) :x
1de50 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1de60 74 66 2d 32 2e 38 2e 36 2e 39 20 7b 0a 20 20 73  tf-2.8.6.9 {.  s
1de70 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1de80 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1de90 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%3.2g) :xyz} 
1dea0 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 2 9.99999.} {a
1deb0 62 63 3a 20 33 20 32 20 28 20 31 30 29 20 3a 78  bc: 3 2 ( 10) :x
1dec0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ded0 74 66 2d 32 2e 38 2e 37 2e 31 20 7b 0a 20 20 73  tf-2.8.7.1 {.  s
1dee0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1def0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1df00 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30  *f) :xyz} 3 2 -0
1df10 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
1df20 2d 30 2e 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  -0.01) :xyz}.do_
1df30 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1df40 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.2 {.  sqlite3_
1df50 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1df60 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
1df70 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a  z} 3 2 -0.00543.
1df80 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34 33 65 2d  } {abc: (-5.43e-
1df90 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
1dfa0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 33  t printf-2.8.7.3
1dfb0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1dfc0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1dfd0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
1dfe0 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  3 2 -0.00543.} {
1dff0 61 62 63 3a 20 28 2d 30 2e 30 30 35 34 29 20 3a  abc: (-0.0054) :
1e000 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1e010 6e 74 66 2d 32 2e 38 2e 37 2e 34 20 7b 0a 20 20  ntf-2.8.7.4 {.  
1e020 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1e030 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1e040 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1e050 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  2 -0.00543.} {ab
1e060 63 3a 20 33 20 32 20 28 2d 30 2e 30 30 35 34 33  c: 3 2 (-0.00543
1e070 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e080 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 35 20 7b  printf-2.8.7.5 {
1e090 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e0a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e0b0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1e0c0 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d  } 3 2 -0.00543.}
1e0d0 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e 30   {abc: 3 2 (-0.0
1e0e0 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0543000) :xyz}.d
1e0f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1e100 38 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  8.7.6 {.  sqlite
1e110 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1e120 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
1e130 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  10g) :xyz} 3 2 -
1e140 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
1e150 33 20 32 20 28 2d 30 30 30 2e 30 30 35 34 33 29  3 2 (-000.00543)
1e160 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1e170 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 37 20 7b 0a  rintf-2.8.7.7 {.
1e180 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1e190 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1e1a0 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79  d %d (%3.2f) :xy
1e1b0 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a  z} 3 2 -0.00543.
1e1c0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e  } {abc: 3 2 (-0.
1e1d0 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
1e1e0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 38  t printf-2.8.7.8
1e1f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e200 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e210 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20  : %d %d (%3.2e) 
1e220 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35  :xyz} 3 2 -0.005
1e230 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  43.} {abc: 3 2 (
1e240 2d 35 2e 34 33 65 2d 30 33 29 20 3a 78 79 7a 7d  -5.43e-03) :xyz}
1e250 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1e260 32 2e 38 2e 37 2e 39 20 7b 0a 20 20 73 71 6c 69  2.8.7.9 {.  sqli
1e270 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1e280 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1e290 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32  %3.2g) :xyz} 3 2
1e2a0 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
1e2b0 3a 20 33 20 32 20 28 2d 30 2e 30 30 35 34 29 20  : 3 2 (-0.0054) 
1e2c0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1e2d0 69 6e 74 66 2d 32 2e 38 2e 38 2e 31 20 7b 0a 20  intf-2.8.8.1 {. 
1e2e0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1e2f0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1e300 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*f) :xyz} 3 2 
1e310 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
1e320 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
1e330 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e  st printf-2.8.8.
1e340 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1e350 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e360 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1e370 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   3 2 -1.0.} {abc
1e380 3a 20 28 2d 31 2e 30 30 65 2b 30 30 29 20 3a 78  : (-1.00e+00) :x
1e390 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e3a0 74 66 2d 32 2e 38 2e 38 2e 33 20 7b 0a 20 20 73  tf-2.8.8.3 {.  s
1e3b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e3c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1e3d0 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 31  *g) :xyz} 3 2 -1
1e3e0 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 2d 31 29  .0.} {abc: ( -1)
1e3f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1e400 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 34 20 7b 0a  rintf-2.8.8.4 {.
1e410 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1e420 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1e430 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
1e440 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  3 2 -1.0.} {abc:
1e450 20 33 20 32 20 28 2d 31 29 20 3a 78 79 7a 7d 0a   3 2 (-1) :xyz}.
1e460 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1e470 2e 38 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .8.8.5 {.  sqlit
1e480 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1e490 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1e4a0 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 31  #g) :xyz} 3 2 -1
1e4b0 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  .0.} {abc: 3 2 (
1e4c0 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  -1.00000) :xyz}.
1e4d0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1e4e0 2e 38 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .8.8.6 {.  sqlit
1e4f0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1e500 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1e510 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  010g) :xyz} 3 2 
1e520 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  -1.0.} {abc: 3 2
1e530 20 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a 78   (-000000001) :x
1e540 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e550 74 66 2d 32 2e 38 2e 38 2e 37 20 7b 0a 20 20 73  tf-2.8.8.7 {.  s
1e560 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e570 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1e580 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20  d (%3.2f) :xyz} 
1e590 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  3 2 -1.0.} {abc:
1e5a0 20 33 20 32 20 28 2d 31 2e 30 30 29 20 3a 78 79   3 2 (-1.00) :xy
1e5b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1e5c0 66 2d 32 2e 38 2e 38 2e 38 20 7b 0a 20 20 73 71  f-2.8.8.8 {.  sq
1e5d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1e5e0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1e5f0 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33   (%3.2e) :xyz} 3
1e600 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
1e610 33 20 32 20 28 2d 31 2e 30 30 65 2b 30 30 29 20  3 2 (-1.00e+00) 
1e620 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1e630 69 6e 74 66 2d 32 2e 38 2e 38 2e 39 20 7b 0a 20  intf-2.8.8.9 {. 
1e640 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1e650 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1e660 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1e670 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 3 2 -1.0.} {ab
1e680 63 3a 20 33 20 32 20 28 20 2d 31 29 20 3a 78 79  c: 3 2 ( -1) :xy
1e690 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1e6a0 66 2d 32 2e 38 2e 39 2e 31 20 7b 0a 20 20 73 71  f-2.8.9.1 {.  sq
1e6b0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1e6c0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1e6d0 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39  f) :xyz} 3 2 -99
1e6e0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
1e6f0 2d 31 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  -100.00) :xyz}.d
1e700 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1e710 38 2e 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  8.9.2 {.  sqlite
1e720 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1e730 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1e740 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39  xyz} 3 2 -99.999
1e750 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  99.} {abc: (-1.0
1e760 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+02) :xyz}.do_
1e770 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e780 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.3 {.  sqlite3_
1e790 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1e7a0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1e7b0 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39 39 39  z} 3 2 -99.99999
1e7c0 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 65 2b 30 32  .} {abc: (-1e+02
1e7d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e7e0 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 34 20 7b  printf-2.8.9.4 {
1e7f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e800 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e810 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
1e820 20 33 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d   3 2 -99.99999.}
1e830 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 31 30 30   {abc: 3 2 (-100
1e840 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e850 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 35 20 7b  printf-2.8.9.5 {
1e860 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e870 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e880 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1e890 7d 20 33 20 32 20 2d 39 39 2e 39 39 39 39 39 0a  } 3 2 -99.99999.
1e8a0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 31 30  } {abc: 3 2 (-10
1e8b0 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
1e8c0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e8d0 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.6 {.  sqlite3_
1e8e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1e8f0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1e900 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39  g) :xyz} 3 2 -99
1e910 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1e920 20 32 20 28 2d 30 30 30 30 30 30 31 30 30 29 20   2 (-000000100) 
1e930 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1e940 69 6e 74 66 2d 32 2e 38 2e 39 2e 37 20 7b 0a 20  intf-2.8.9.7 {. 
1e950 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1e960 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1e970 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a   %d (%3.2f) :xyz
1e980 7d 20 33 20 32 20 2d 39 39 2e 39 39 39 39 39 0a  } 3 2 -99.99999.
1e990 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 31 30  } {abc: 3 2 (-10
1e9a0 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
1e9b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39  est printf-2.8.9
1e9c0 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
1e9d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1e9e0 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65  bc: %d %d (%3.2e
1e9f0 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e  ) :xyz} 3 2 -99.
1ea00 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20  99999.} {abc: 3 
1ea10 32 20 28 2d 31 2e 30 30 65 2b 30 32 29 20 3a 78  2 (-1.00e+02) :x
1ea20 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ea30 74 66 2d 32 2e 38 2e 39 2e 39 20 7b 0a 20 20 73  tf-2.8.9.9 {.  s
1ea40 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1ea50 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1ea60 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%3.2g) :xyz} 
1ea70 33 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  3 2 -99.99999.} 
1ea80 7b 61 62 63 3a 20 33 20 32 20 28 2d 31 65 2b 30  {abc: 3 2 (-1e+0
1ea90 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
1eaa0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 31   printf-2.8.10.1
1eab0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1eac0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1ead0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1eae0 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 2 3.14e+9.} {a
1eaf0 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e  bc: (3140000000.
1eb00 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1eb10 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e  t printf-2.8.10.
1eb20 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1eb30 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1eb40 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1eb50 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 2 3.14e+9.} {
1eb60 61 62 63 3a 20 28 33 2e 31 34 65 2b 30 39 29 20  abc: (3.14e+09) 
1eb70 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1eb80 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 33 20 7b 0a  intf-2.8.10.3 {.
1eb90 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1eba0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1ebb0 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*g) :xyz} 3 2
1ebc0 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1ebd0 20 28 33 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d   (3.1e+09) :xyz}
1ebe0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1ebf0 32 2e 38 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c  2.8.10.4 {.  sql
1ec00 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1ec10 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1ec20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  (%g) :xyz} 3 2 3
1ec30 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33  .14e+9.} {abc: 3
1ec40 20 32 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78   2 (3.14e+09) :x
1ec50 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ec60 74 66 2d 32 2e 38 2e 31 30 2e 35 20 7b 0a 20 20  tf-2.8.10.5 {.  
1ec70 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1ec80 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1ec90 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
1eca0 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   2 3.14e+9.} {ab
1ecb0 63 3a 20 33 20 32 20 28 33 2e 31 34 30 30 30 65  c: 3 2 (3.14000e
1ecc0 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
1ecd0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30  st printf-2.8.10
1ece0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
1ecf0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ed00 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
1ed10 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 31 34  ) :xyz} 3 2 3.14
1ed20 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  e+9.} {abc: 3 2 
1ed30 28 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79  (003.14e+09) :xy
1ed40 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1ed50 66 2d 32 2e 38 2e 31 30 2e 37 20 7b 0a 20 20 73  f-2.8.10.7 {.  s
1ed60 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1ed70 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1ed80 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20  d (%3.2f) :xyz} 
1ed90 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 2 3.14e+9.} {a
1eda0 62 63 3a 20 33 20 32 20 28 33 31 34 30 30 30 30  bc: 3 2 (3140000
1edb0 30 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000.00) :xyz}.do
1edc0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1edd0 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .10.8 {.  sqlite
1ede0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1edf0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1ee00 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  .2e) :xyz} 3 2 3
1ee10 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33  .14e+9.} {abc: 3
1ee20 20 32 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78   2 (3.14e+09) :x
1ee30 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ee40 74 66 2d 32 2e 38 2e 31 30 2e 39 20 7b 0a 20 20  tf-2.8.10.9 {.  
1ee50 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1ee60 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1ee70 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d  %d (%3.2g) :xyz}
1ee80 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 2 3.14e+9.} {
1ee90 61 62 63 3a 20 33 20 32 20 28 33 2e 31 65 2b 30  abc: 3 2 (3.1e+0
1eea0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1eeb0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 32   printf-2.8.11.2
1eec0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1eed0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1eee0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1eef0 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  3 2 -4.72732e+88
1ef00 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 33 65  .} {abc: (-4.73e
1ef10 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
1ef20 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31  st printf-2.8.11
1ef30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1ef40 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ef50 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1ef60 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b  } 3 2 -4.72732e+
1ef70 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37  88.} {abc: (-4.7
1ef80 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
1ef90 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1efa0 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.4 {.  sqlite3_
1efb0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1efc0 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
1efd0 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37  :xyz} 3 2 -4.727
1efe0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33  32e+88.} {abc: 3
1eff0 20 32 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   2 (-4.72732e+88
1f000 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1f010 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 35 20  printf-2.8.11.5 
1f020 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1f030 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1f040 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
1f050 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65  z} 3 2 -4.72732e
1f060 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  +88.} {abc: 3 2 
1f070 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a  (-4.72732e+88) :
1f080 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1f090 6e 74 66 2d 32 2e 38 2e 31 31 2e 36 20 7b 0a 20  ntf-2.8.11.6 {. 
1f0a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1f0b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1f0c0 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
1f0d0 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b  } 3 2 -4.72732e+
1f0e0 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  88.} {abc: 3 2 (
1f0f0 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
1f100 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1f110 74 66 2d 32 2e 38 2e 31 31 2e 38 20 7b 0a 20 20  tf-2.8.11.8 {.  
1f120 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1f130 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1f140 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d  %d (%3.2e) :xyz}
1f150 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38   3 2 -4.72732e+8
1f160 38 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d  8.} {abc: 3 2 (-
1f170 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  4.73e+88) :xyz}.
1f180 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1f190 2e 38 2e 31 31 2e 39 20 7b 0a 20 20 73 71 6c 69  .8.11.9 {.  sqli
1f1a0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1f1b0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1f1c0 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32  %3.2g) :xyz} 3 2
1f1d0 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
1f1e0 7b 61 62 63 3a 20 33 20 32 20 28 2d 34 2e 37 65  {abc: 3 2 (-4.7e
1f1f0 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
1f200 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32  st printf-2.8.12
1f210 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
1f220 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f230 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
1f240 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65 2b 31  } 3 2 9.87991e+1
1f250 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38 38  43.} {abc: (9.88
1f260 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
1f270 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f280 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.3 {.  sqlite3
1f290 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f2a0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1f2b0 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65  yz} 3 2 9.87991e
1f2c0 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e  +143.} {abc: (9.
1f2d0 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  9e+143) :xyz}.do
1f2e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f2f0 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .12.4 {.  sqlite
1f300 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f310 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
1f320 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37  ) :xyz} 3 2 9.87
1f330 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
1f340 20 33 20 32 20 28 39 2e 38 37 39 39 31 65 2b 31   3 2 (9.87991e+1
1f350 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1f360 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32 2e  t printf-2.8.12.
1f370 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1f380 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f390 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
1f3a0 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31  xyz} 3 2 9.87991
1f3b0 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20  e+143.} {abc: 3 
1f3c0 32 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  2 (9.87991e+143)
1f3d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1f3e0 72 69 6e 74 66 2d 32 2e 38 2e 31 32 2e 36 20 7b  rintf-2.8.12.6 {
1f3f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1f400 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1f410 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1f420 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65  yz} 3 2 9.87991e
1f430 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32  +143.} {abc: 3 2
1f440 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
1f450 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1f460 69 6e 74 66 2d 32 2e 38 2e 31 32 2e 38 20 7b 0a  intf-2.8.12.8 {.
1f470 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1f480 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1f490 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79  d %d (%3.2e) :xy
1f4a0 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65 2b  z} 3 2 9.87991e+
1f4b0 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  143.} {abc: 3 2 
1f4c0 28 39 2e 38 38 65 2b 31 34 33 29 20 3a 78 79 7a  (9.88e+143) :xyz
1f4d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f4e0 2d 32 2e 38 2e 31 32 2e 39 20 7b 0a 20 20 73 71  -2.8.12.9 {.  sq
1f4f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f500 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1f510 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20 33   (%3.2g) :xyz} 3
1f520 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   2 9.87991e+143.
1f530 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 39 2e 39  } {abc: 3 2 (9.9
1f540 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
1f550 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f560 31 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.1 {.  sqlite3
1f570 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f580 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
1f590 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37 32 39  yz} 3 2 -6.28729
1f5a0 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30  1e-9.} {abc: (-0
1f5b0 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
1f5c0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33  st printf-2.8.13
1f5d0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
1f5e0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f5f0 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
1f600 7d 20 33 20 32 20 2d 36 2e 32 38 37 32 39 31 65  } 3 2 -6.287291e
1f610 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32  -9.} {abc: (-6.2
1f620 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e-09) :xyz}.do_
1f630 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f640 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.3 {.  sqlite3
1f650 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f660 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1f670 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37 32 39  yz} 3 2 -6.28729
1f680 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36  1e-9.} {abc: (-6
1f690 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  .3e-09) :xyz}.do
1f6a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f6b0 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .13.4 {.  sqlite
1f6c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f6d0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
1f6e0 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32  ) :xyz} 3 2 -6.2
1f6f0 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1f700 20 33 20 32 20 28 2d 36 2e 32 38 37 32 39 65 2d   3 2 (-6.28729e-
1f710 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1f720 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33 2e  t printf-2.8.13.
1f730 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1f740 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f750 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
1f760 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37 32  xyz} 3 2 -6.2872
1f770 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20  91e-9.} {abc: 3 
1f780 32 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29  2 (-6.28729e-09)
1f790 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1f7a0 72 69 6e 74 66 2d 32 2e 38 2e 31 33 2e 36 20 7b  rintf-2.8.13.6 {
1f7b0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1f7c0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1f7d0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1f7e0 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37 32 39  yz} 3 2 -6.28729
1f7f0 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32  1e-9.} {abc: 3 2
1f800 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
1f810 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1f820 69 6e 74 66 2d 32 2e 38 2e 31 33 2e 37 20 7b 0a  intf-2.8.13.7 {.
1f830 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1f840 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1f850 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79  d %d (%3.2f) :xy
1f860 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37 32 39 31  z} 3 2 -6.287291
1f870 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  e-9.} {abc: 3 2 
1f880 28 2d 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  (-0.00) :xyz}.do
1f890 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f8a0 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .13.8 {.  sqlite
1f8b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f8c0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1f8d0 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  .2e) :xyz} 3 2 -
1f8e0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
1f8f0 62 63 3a 20 33 20 32 20 28 2d 36 2e 32 39 65 2d  bc: 3 2 (-6.29e-
1f900 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1f910 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33 2e  t printf-2.8.13.
1f920 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
1f930 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f940 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29  c: %d %d (%3.2g)
1f950 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38   :xyz} 3 2 -6.28
1f960 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1f970 33 20 32 20 28 2d 36 2e 33 65 2d 30 39 29 20 3a  3 2 (-6.3e-09) :
1f980 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1f990 6e 74 66 2d 32 2e 38 2e 31 34 2e 31 20 7b 0a 20  ntf-2.8.14.1 {. 
1f9a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1f9b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1f9c0 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*f) :xyz} 3 2 
1f9d0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1f9e0 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a  } {abc: (0.00) :
1f9f0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1fa00 6e 74 66 2d 32 2e 38 2e 31 34 2e 32 20 7b 0a 20  ntf-2.8.14.2 {. 
1fa10 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1fa20 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1fa30 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*e) :xyz} 3 2 
1fa40 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1fa50 7d 20 7b 61 62 63 3a 20 28 33 2e 33 39 65 2d 31  } {abc: (3.39e-1
1fa60 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
1fa70 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e  t printf-2.8.14.
1fa80 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
1fa90 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1faa0 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
1fab0 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   3 2 3.38826392e
1fac0 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
1fad0 34 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  4e-110) :xyz}.do
1fae0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1faf0 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .14.4 {.  sqlite
1fb00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1fb10 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
1fb20 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38  ) :xyz} 3 2 3.38
1fb30 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
1fb40 62 63 3a 20 33 20 32 20 28 33 2e 33 38 38 32 36  bc: 3 2 (3.38826
1fb50 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
1fb60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1fb70 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.5 {.  sqlite3
1fb80 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1fb90 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
1fba0 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38  ) :xyz} 3 2 3.38
1fbb0 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
1fbc0 62 63 3a 20 33 20 32 20 28 33 2e 33 38 38 32 36  bc: 3 2 (3.38826
1fbd0 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
1fbe0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1fbf0 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.6 {.  sqlite3
1fc00 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1fc10 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
1fc20 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  0g) :xyz} 3 2 3.
1fc30 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1fc40 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33 38 38  {abc: 3 2 (3.388
1fc50 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
1fc60 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1fc70 38 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74  8.14.7 {.  sqlit
1fc80 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1fc90 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1fca0 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2f) :xyz} 3 2 
1fcb0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1fcc0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30  } {abc: 3 2 (0.0
1fcd0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1fce0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e 38   printf-2.8.14.8
1fcf0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1fd00 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1fd10 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20  : %d %d (%3.2e) 
1fd20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32  :xyz} 3 2 3.3882
1fd30 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
1fd40 3a 20 33 20 32 20 28 33 2e 33 39 65 2d 31 31 30  : 3 2 (3.39e-110
1fd50 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1fd60 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e 39 20  printf-2.8.14.9 
1fd70 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1fd80 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1fd90 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1fda0 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36  xyz} 3 2 3.38826
1fdb0 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
1fdc0 20 33 20 32 20 28 33 2e 34 65 2d 31 31 30 29 20   3 2 (3.4e-110) 
1fdd0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1fde0 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 31 20 7b 0a  intf-2.8.15.1 {.
1fdf0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1fe00 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1fe10 25 20 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  % *.*f) :xyz} 3 
1fe20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  2 3.38826392e-11
1fe30 30 0a 7d 20 7b 61 62 63 3a 20 28 20 30 2e 30 30  0.} {abc: ( 0.00
1fe40 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1fe50 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 32 20  printf-2.8.15.2 
1fe60 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1fe70 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1fe80 20 28 25 20 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20   (% *.*e) :xyz} 
1fe90 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 2 3.38826392e-
1fea0 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 20 33 2e  110.} {abc: ( 3.
1feb0 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  39e-110) :xyz}.d
1fec0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1fed0 38 2e 31 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74  8.15.3 {.  sqlit
1fee0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1fef0 65 20 7b 61 62 63 3a 20 28 25 20 2a 2e 2a 67 29  e {abc: (% *.*g)
1ff00 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38   :xyz} 3 2 3.388
1ff10 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
1ff20 63 3a 20 28 20 33 2e 34 65 2d 31 31 30 29 20 3a  c: ( 3.4e-110) :
1ff30 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1ff40 6e 74 66 2d 32 2e 38 2e 31 35 2e 34 20 7b 0a 20  ntf-2.8.15.4 {. 
1ff50 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1ff60 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1ff70 20 25 64 20 28 25 20 67 29 20 3a 78 79 7a 7d 20   %d (% g) :xyz} 
1ff80 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 2 3.38826392e-
1ff90 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  110.} {abc: 3 2 
1ffa0 28 20 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20  ( 3.38826e-110) 
1ffb0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1ffc0 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 35 20 7b 0a  intf-2.8.15.5 {.
1ffd0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ffe0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1fff0 64 20 25 64 20 28 25 20 23 67 29 20 3a 78 79 7a  d %d (% #g) :xyz
20000 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32  } 3 2 3.38826392
20010 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20  e-110.} {abc: 3 
20020 32 20 28 20 33 2e 33 38 38 32 36 65 2d 31 31 30  2 ( 3.38826e-110
20030 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
20040 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 36 20  printf-2.8.15.6 
20050 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20060 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
20070 20 25 64 20 25 64 20 28 25 30 20 31 30 67 29 20   %d %d (%0 10g) 
20080 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32  :xyz} 3 2 3.3882
20090 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
200a0 3a 20 33 20 32 20 28 20 33 2e 33 38 38 32 36 65  : 3 2 ( 3.38826e
200b0 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
200c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
200d0 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.7 {.  sqlite3_
200e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
200f0 61 62 63 3a 20 25 64 20 25 64 20 28 25 20 33 2e  abc: %d %d (% 3.
20100 32 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  2f) :xyz} 3 2 3.
20110 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
20120 7b 61 62 63 3a 20 33 20 32 20 28 20 30 2e 30 30  {abc: 3 2 ( 0.00
20130 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
20140 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 38 20  printf-2.8.15.8 
20150 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20160 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
20170 20 25 64 20 25 64 20 28 25 20 33 2e 32 65 29 20   %d %d (% 3.2e) 
20180 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32  :xyz} 3 2 3.3882
20190 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
201a0 3a 20 33 20 32 20 28 20 33 2e 33 39 65 2d 31 31  : 3 2 ( 3.39e-11
201b0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
201c0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 39   printf-2.8.15.9
201d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
201e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
201f0 3a 20 25 64 20 25 64 20 28 25 20 33 2e 32 67 29  : %d %d (% 3.2g)
20200 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38   :xyz} 3 2 3.388
20210 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
20220 63 3a 20 33 20 32 20 28 20 33 2e 34 65 2d 31 31  c: 3 2 ( 3.4e-11
20230 30 29 20 3a 78 79 7a 7d 0a 0a 64 6f 5f 74 65 73  0) :xyz}..do_tes
20240 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e 31 20 7b  t printf-2.9.1 {
20250 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20260 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
20270 25 64 20 25 64 20 28 25 35 2e 30 67 29 20 3a 78  %d %d (%5.0g) :x
20280 79 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a 7d 20  yz} 0 0 1.234.} 
20290 7b 61 62 63 3a 20 30 20 30 20 28 20 20 20 20 31  {abc: 0 0 (    1
202a0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
202b0 70 72 69 6e 74 66 2d 32 2e 39 2e 32 20 7b 0a 20  printf-2.9.2 {. 
202c0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
202d0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
202e0 20 25 64 20 28 25 2b 35 2e 30 67 29 20 3a 78 79   %d (%+5.0g) :xy
202f0 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a 7d 20 7b  z} 0 0 1.234.} {
20300 61 62 63 3a 20 30 20 30 20 28 20 20 20 2b 31 29  abc: 0 0 (   +1)
20310 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
20320 72 69 6e 74 66 2d 32 2e 39 2e 33 20 7b 0a 20 20  rintf-2.9.3 {.  
20330 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
20340 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
20350 25 64 20 28 25 2b 2d 35 2e 30 67 29 20 3a 78 79  %d (%+-5.0g) :xy
20360 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a 7d 20 7b  z} 0 0 1.234.} {
20370 61 62 63 3a 20 30 20 30 20 28 2b 31 20 20 20 29  abc: 0 0 (+1   )
20380 20 3a 78 79 7a 7d 0a 0a 64 6f 5f 74 65 73 74 20   :xyz}..do_test 
20390 70 72 69 6e 74 66 2d 32 2e 31 30 2e 31 20 7b 0a  printf-2.10.1 {.
203a0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
203b0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
203c0 64 20 25 64 20 28 25 2d 30 31 30 2e 35 66 29 20  d %d (%-010.5f) 
203d0 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a  :xyz} 0 0 1.234.
203e0 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 31 2e 32  } {abc: 0 0 (1.2
203f0 33 34 30 30 20 20 20 29 20 3a 78 79 7a 7d 0a 64  3400   ) :xyz}.d
20400 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
20410 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.2 {.  sqlite3
20420 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
20430 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
20440 30 2e 35 66 29 20 3a 78 79 7a 7d 20 30 20 30 20  0.5f) :xyz} 0 0 
20450 31 2e 32 33 34 0a 7d 20 7b 61 62 63 3a 20 30 20  1.234.} {abc: 0 
20460 30 20 28 30 30 30 31 2e 32 33 34 30 30 29 20 3a  0 (0001.23400) :
20470 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
20480 6e 74 66 2d 32 2e 31 30 2e 33 20 7b 0a 20 20 73  ntf-2.10.3 {.  s
20490 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
204a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
204b0 64 20 28 25 2b 30 31 30 2e 35 66 29 20 3a 78 79  d (%+010.5f) :xy
204c0 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a 7d 20 7b  z} 0 0 1.234.} {
204d0 61 62 63 3a 20 30 20 30 20 28 2b 30 30 31 2e 32  abc: 0 0 (+001.2
204e0 33 34 30 30 29 20 3a 78 79 7a 7d 0a 0a 64 6f 5f  3400) :xyz}..do_
204f0 74 65 73 74 20 70 72 69 6e 74 66 2d 33 2e 31 20  test printf-3.1 
20500 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20510 6e 74 66 5f 73 74 72 20 7b 41 20 53 74 72 69 6e  ntf_str {A Strin
20520 67 3a 20 28 25 2a 2e 2a 73 29 7d 20 31 30 20 31  g: (%*.*s)} 10 1
20530 30 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73  0 {This is the s
20540 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d 61 74  tring}.} [format
20550 20 7b 41 20 53 74 72 69 6e 67 3a 20 28 25 2a 2e   {A String: (%*.
20560 2a 73 29 7d 20 31 30 20 31 30 20 7b 54 68 69 73  *s)} 10 10 {This
20570 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 5d   is the string}]
20580 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
20590 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.2 {.  sqlite3_
205a0 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 41 20 53  mprintf_str {A S
205b0 74 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20  tring: (%*.*s)} 
205c0 31 30 20 35 20 7b 54 68 69 73 20 69 73 20 74 68  10 5 {This is th
205d0 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72  e string}.} [for
205e0 6d 61 74 20 7b 41 20 53 74 72 69 6e 67 3a 20 28  mat {A String: (
205f0 25 2a 2e 2a 73 29 7d 20 31 30 20 35 20 7b 54 68  %*.*s)} 10 5 {Th
20600 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20610 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  }].do_test print
20620 66 2d 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  f-3.3 {.  sqlite
20630 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 41  3_mprintf_str {A
20640 20 53 74 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29   String: (%*.*s)
20650 7d 20 2d 31 30 20 35 20 7b 54 68 69 73 20 69 73  } -10 5 {This is
20660 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b   the string}.} [
20670 66 6f 72 6d 61 74 20 7b 41 20 53 74 72 69 6e 67  format {A String
20680 3a 20 28 25 2a 2e 2a 73 29 7d 20 2d 31 30 20 35  : (%*.*s)} -10 5
20690 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
206a0 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70  ring}].do_test p
206b0 72 69 6e 74 66 2d 33 2e 34 20 7b 0a 20 20 73 71  rintf-3.4 {.  sq
206c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
206d0 72 20 7b 25 64 20 25 64 20 41 20 53 74 72 69 6e  r {%d %d A Strin
206e0 67 3a 20 28 25 73 29 7d 20 31 20 32 20 7b 54 68  g: (%s)} 1 2 {Th
206f0 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20700 7d 0a 7d 20 5b 66 6f 72 6d 61 74 20 7b 25 64 20  }.} [format {%d 
20710 25 64 20 41 20 53 74 72 69 6e 67 3a 20 28 25 73  %d A String: (%s
20720 29 7d 20 31 20 32 20 7b 54 68 69 73 20 69 73 20  )} 1 2 {This is 
20730 74 68 65 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f  the string}].do_
20740 74 65 73 74 20 70 72 69 6e 74 66 2d 33 2e 35 20  test printf-3.5 
20750 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20760 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41  ntf_str {%d %d A
20770 20 53 74 72 69 6e 67 3a 20 28 25 33 30 73 29 7d   String: (%30s)}
20780 20 31 20 32 20 7b 54 68 69 73 20 69 73 20 74 68   1 2 {This is th
20790 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72  e string}.} [for
207a0 6d 61 74 20 7b 25 64 20 25 64 20 41 20 53 74 72  mat {%d %d A Str
207b0 69 6e 67 3a 20 28 25 33 30 73 29 7d 20 31 20 32  ing: (%30s)} 1 2
207c0 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
207d0 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70  ring}].do_test p
207e0 72 69 6e 74 66 2d 33 2e 36 20 7b 0a 20 20 73 71  rintf-3.6 {.  sq
207f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
20800 72 20 7b 25 64 20 25 64 20 41 20 53 74 72 69 6e  r {%d %d A Strin
20810 67 3a 20 28 25 2d 33 30 73 29 7d 20 31 20 32 20  g: (%-30s)} 1 2 
20820 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20830 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d 61 74 20 7b  ing}.} [format {
20840 25 64 20 25 64 20 41 20 53 74 72 69 6e 67 3a 20  %d %d A String: 
20850 28 25 2d 33 30 73 29 7d 20 31 20 32 20 7b 54 68  (%-30s)} 1 2 {Th
20860 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20870 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  }].do_test print
20880 66 2d 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  f-3.7 {.  sqlite
20890 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25  3_mprintf_str {%
208a0 64 20 41 20 53 74 72 69 6e 67 3a 20 28 25 2a 73  d A String: (%*s
208b0 29 7d 20 31 20 32 31 34 37 34 38 33 36 34 37 20  )} 1 2147483647 
208c0 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
208d0 69 6e 67 7d 0a 7d 20 5b 5d 0a 64 6f 5f 74 65 73  ing}.} [].do_tes
208e0 74 20 70 72 69 6e 74 66 2d 33 2e 38 20 7b 0a 20  t printf-3.8 {. 
208f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
20900 5f 73 74 72 20 7b 25 64 20 41 20 53 74 72 69 6e  _str {%d A Strin
20910 67 3a 20 28 25 2a 73 29 7d 20 31 20 2d 32 31 34  g: (%*s)} 1 -214
20920 37 34 38 33 36 34 38 20 7b 54 68 69 73 20 69 73  7483648 {This is
20930 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b   the string}.} {
20940 31 20 41 20 53 74 72 69 6e 67 3a 20 28 54 68 69  1 A String: (Thi
20950 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 29  s is the string)
20960 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
20970 2d 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  -3.9 {.  sqlite3
20980 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
20990 20 41 20 53 74 72 69 6e 67 3a 20 28 25 2e 2a 73   A String: (%.*s
209a0 29 7d 20 31 20 2d 32 31 34 37 34 38 33 36 34 38  )} 1 -2147483648
209b0 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
209c0 72 69 6e 67 7d 0a 7d 20 7b 31 20 41 20 53 74 72  ring}.} {1 A Str
209d0 69 6e 67 3a 20 28 54 68 69 73 20 69 73 20 74 68  ing: (This is th
209e0 65 20 73 74 72 69 6e 67 29 7d 0a 64 6f 5f 74 65  e string)}.do_te
209f0 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 31  st snprintf-3.11
20a00 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70   {.  sqlite3_snp
20a10 72 69 6e 74 66 5f 73 74 72 20 32 20 7b 78 25 64  rintf_str 2 {x%d
20a20 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54   %d %s} 10 10 {T
20a30 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e  his is the strin
20a40 67 7d 0a 7d 20 7b 78 7d 0a 64 6f 5f 74 65 73 74  g}.} {x}.do_test
20a50 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 32 20 7b   snprintf-3.12 {
20a60 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69  .  sqlite3_snpri
20a70 6e 74 66 5f 73 74 72 20 33 20 7b 78 25 64 20 25  ntf_str 3 {x%d %
20a80 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69  d %s} 10 10 {Thi
20a90 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d  s is the string}
20aa0 0a 7d 20 7b 78 31 7d 0a 64 6f 5f 74 65 73 74 20  .} {x1}.do_test 
20ab0 73 6e 70 72 69 6e 74 66 2d 33 2e 31 33 20 7b 0a  snprintf-3.13 {.
20ac0 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e    sqlite3_snprin
20ad0 74 66 5f 73 74 72 20 34 20 7b 78 25 64 20 25 64  tf_str 4 {x%d %d
20ae0 20 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69 73   %s} 10 10 {This
20af0 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a   is the string}.
20b00 7d 20 7b 78 31 30 7d 0a 64 6f 5f 74 65 73 74 20  } {x10}.do_test 
20b10 73 6e 70 72 69 6e 74 66 2d 33 2e 31 34 20 7b 0a  snprintf-3.14 {.
20b20 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e    sqlite3_snprin
20b30 74 66 5f 73 74 72 20 35 20 7b 78 25 64 20 25 64  tf_str 5 {x%d %d
20b40 20 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69 73   %s} 10 10 {This
20b50 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a   is the string}.
20b60 7d 20 7b 78 31 30 20 7d 0a 64 6f 5f 74 65 73 74  } {x10 }.do_test
20b70 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 35 20 7b   snprintf-3.15 {
20b80 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69  .  sqlite3_snpri
20b90 6e 74 66 5f 73 74 72 20 36 20 7b 78 25 64 20 25  ntf_str 6 {x%d %
20ba0 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69  d %s} 10 10 {Thi
20bb0 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d  s is the string}
20bc0 0a 7d 20 7b 78 31 30 20 31 7d 0a 64 6f 5f 74 65  .} {x10 1}.do_te
20bd0 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 36  st snprintf-3.16
20be0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70   {.  sqlite3_snp
20bf0 72 69 6e 74 66 5f 73 74 72 20 37 20 7b 78 25 64  rintf_str 7 {x%d
20c00 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54   %d %s} 10 10 {T
20c10 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e  his is the strin
20c20 67 7d 0a 7d 20 7b 78 31 30 20 31 30 7d 0a 64 6f  g}.} {x10 10}.do
20c30 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33  _test snprintf-3
20c40 2e 31 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  .17 {.  sqlite3_
20c50 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 38 20 7b  snprintf_str 8 {
20c60 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20c70 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20c80 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 30 20  ring}.} {x10 10 
20c90 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70 72 69 6e  }.do_test snprin
20ca0 74 66 2d 33 2e 31 38 20 7b 0a 20 20 73 71 6c 69  tf-3.18 {.  sqli
20cb0 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 73 74 72  te3_snprintf_str
20cc0 20 39 20 7b 78 25 64 20 25 64 20 25 73 7d 20 31   9 {x%d %d %s} 1
20cd0 30 20 31 30 20 7b 54 68 69 73 20 69 73 20 74 68  0 10 {This is th
20ce0 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 78 31 30  e string}.} {x10
20cf0 20 31 30 20 54 7d 0a 64 6f 5f 74 65 73 74 20 73   10 T}.do_test s
20d00 6e 70 72 69 6e 74 66 2d 33 2e 31 39 20 7b 0a 20  nprintf-3.19 {. 
20d10 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74   sqlite3_snprint
20d20 66 5f 73 74 72 20 31 30 30 20 7b 78 25 64 20 25  f_str 100 {x%d %
20d30 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69  d %s} 10 10 {Thi
20d40 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d  s is the string}
20d50 0a 7d 20 7b 78 31 30 20 31 30 20 54 68 69 73 20  .} {x10 10 This 
20d60 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 0a  is the string}..
20d70 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34  do_test printf-4
20d80 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
20d90 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
20da0 64 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  d A quoted strin
20db0 67 3a 20 27 25 71 27 7d 20 31 20 32 20 7b 48 69  g: '%q'} 1 2 {Hi
20dc0 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41   Y'all}.} {1 2 A
20dd0 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20   quoted string: 
20de0 27 48 69 20 59 27 27 61 6c 6c 27 7d 0a 64 6f 5f  'Hi Y''all'}.do_
20df0 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 32 20  test printf-4.2 
20e00 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20e10 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41  ntf_str {%d %d A
20e20 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 20 69 6e   NULL pointer in
20e30 20 25 25 71 3a 20 27 25 71 27 7d 20 31 20 32 0a   %%q: '%q'} 1 2.
20e40 7d 20 7b 31 20 32 20 41 20 4e 55 4c 4c 20 70 6f  } {1 2 A NULL po
20e50 69 6e 74 65 72 20 69 6e 20 25 71 3a 20 27 28 4e  inter in %q: '(N
20e60 55 4c 4c 29 27 7d 0a 64 6f 5f 74 65 73 74 20 70  ULL)'}.do_test p
20e70 72 69 6e 74 66 2d 34 2e 33 20 7b 0a 20 20 73 71  rintf-4.3 {.  sq
20e80 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
20e90 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65  r {%d %d A quote
20ea0 64 20 73 74 72 69 6e 67 3a 20 25 51 7d 20 31 20  d string: %Q} 1 
20eb0 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b  2 {Hi Y'all}.} {
20ec0 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72  1 2 A quoted str
20ed0 69 6e 67 3a 20 27 48 69 20 59 27 27 61 6c 6c 27  ing: 'Hi Y''all'
20ee0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
20ef0 2d 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  -4.4 {.  sqlite3
20f00 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
20f10 20 25 64 20 41 20 4e 55 4c 4c 20 70 6f 69 6e 74   %d A NULL point
20f20 65 72 20 69 6e 20 25 25 51 3a 20 25 51 7d 20 31  er in %%Q: %Q} 1
20f30 20 32 0a 7d 20 7b 31 20 32 20 41 20 4e 55 4c 4c   2.} {1 2 A NULL
20f40 20 70 6f 69 6e 74 65 72 20 69 6e 20 25 51 3a 20   pointer in %Q: 
20f50 4e 55 4c 4c 7d 0a 64 6f 5f 74 65 73 74 20 70 72  NULL}.do_test pr
20f60 69 6e 74 66 2d 34 2e 35 20 7b 0a 20 20 73 71 6c  intf-4.5 {.  sql
20f70 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
20f80 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64   {%d %d A quoted
20f90 20 73 74 72 69 6e 67 3a 20 27 25 2e 31 30 71 27   string: '%.10q'
20fa0 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d  } 1 2 {Hi Y'all}
20fb0 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64  .} {1 2 A quoted
20fc0 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27   string: 'Hi Y''
20fd0 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72  all'}.do_test pr
20fe0 69 6e 74 66 2d 34 2e 36 20 7b 0a 20 20 73 71 6c  intf-4.6 {.  sql
20ff0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
21000 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64   {%d %d A quoted
21010 20 73 74 72 69 6e 67 3a 20 27 25 2e 39 71 27 7d   string: '%.9q'}
21020 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a   1 2 {Hi Y'all}.
21030 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20  } {1 2 A quoted 
21040 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27 61  string: 'Hi Y''a
21050 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  ll'}.do_test pri
21060 6e 74 66 2d 34 2e 37 20 7b 0a 20 20 73 71 6c 69  ntf-4.7 {.  sqli
21070 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
21080 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20  {%d %d A quoted 
21090 73 74 72 69 6e 67 3a 20 27 25 2e 38 71 27 7d 20  string: '%.8q'} 
210a0 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d  1 2 {Hi Y'all}.}
210b0 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20 73   {1 2 A quoted s
210c0 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27 61 6c  tring: 'Hi Y''al
210d0 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  l'}.do_test prin
210e0 74 66 2d 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74  tf-4.8 {.  sqlit
210f0 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b  e3_mprintf_str {
21100 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20 73  %d %d A quoted s
21110 74 72 69 6e 67 3a 20 27 25 2e 37 71 27 7d 20 31  tring: '%.7q'} 1
21120 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20   2 {Hi Y'all}.} 
21130 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74  {1 2 A quoted st
21140 72 69 6e 67 3a 20 27 48 69 20 59 27 27 61 6c 27  ring: 'Hi Y''al'
21150 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
21160 2d 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  -4.9 {.  sqlite3
21170 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
21180 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74 72   %d A quoted str
21190 69 6e 67 3a 20 27 25 2e 36 71 27 7d 20 31 20 32  ing: '%.6q'} 1 2
211a0 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31   {Hi Y'all}.} {1
211b0 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72 69   2 A quoted stri
211c0 6e 67 3a 20 27 48 69 20 59 27 27 61 27 7d 0a 64  ng: 'Hi Y''a'}.d
211d0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e  o_test printf-4.
211e0 31 30 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  10 {.  sqlite3_m
211f0 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
21200 64 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  d A quoted strin
21210 67 3a 20 27 25 2e 35 71 27 7d 20 31 20 32 20 7b  g: '%.5q'} 1 2 {
21220 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32  Hi Y'all}.} {1 2
21230 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67   A quoted string
21240 3a 20 27 48 69 20 59 27 27 27 7d 0a 64 6f 5f 74  : 'Hi Y'''}.do_t
21250 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 31 20  est printf-4.11 
21260 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21270 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41  ntf_str {%d %d A
21280 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20   quoted string: 
21290 27 25 2e 34 71 27 7d 20 31 20 32 20 7b 48 69 20  '%.4q'} 1 2 {Hi 
212a0 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20  Y'all}.} {1 2 A 
212b0 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27  quoted string: '
212c0 48 69 20 59 27 7d 0a 64 6f 5f 74 65 73 74 20 70  Hi Y'}.do_test p
212d0 72 69 6e 74 66 2d 34 2e 31 32 20 7b 0a 20 20 73  rintf-4.12 {.  s
212e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
212f0 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74  tr {%d %d A quot
21300 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 33 71  ed string: '%.3q
21310 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c  '} 1 2 {Hi Y'all
21320 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65  }.} {1 2 A quote
21330 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 27 7d  d string: 'Hi '}
21340 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21350 34 2e 31 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  4.13 {.  sqlite3
21360 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
21370 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74 72   %d A quoted str
21380 69 6e 67 3a 20 27 25 2e 32 71 27 7d 20 31 20 32  ing: '%.2q'} 1 2
21390 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31   {Hi Y'all}.} {1
213a0 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72 69   2 A quoted stri
213b0 6e 67 3a 20 27 48 69 27 7d 0a 64 6f 5f 74 65 73  ng: 'Hi'}.do_tes
213c0 74 20 70 72 69 6e 74 66 2d 34 2e 31 34 20 7b 0a  t printf-4.14 {.
213d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
213e0 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 71  f_str {%d %d A q
213f0 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25  uoted string: '%
21400 2e 31 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27  .1q'} 1 2 {Hi Y'
21410 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75  all}.} {1 2 A qu
21420 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 27  oted string: 'H'
21430 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
21440 2d 34 2e 31 35 20 7b 0a 20 20 73 71 6c 69 74 65  -4.15 {.  sqlite
21450 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25  3_mprintf_str {%
21460 64 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74  d %d A quoted st
21470 72 69 6e 67 3a 20 27 25 2e 30 71 27 7d 20 31 20  ring: '%.0q'} 1 
21480 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b  2 {Hi Y'all}.} {
21490 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72  1 2 A quoted str
214a0 69 6e 67 3a 20 27 27 7d 0a 64 6f 5f 74 65 73 74  ing: ''}.do_test
214b0 20 70 72 69 6e 74 66 2d 34 2e 31 36 20 7b 0a 20   printf-4.16 {. 
214c0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
214d0 5f 73 74 72 20 7b 25 64 20 41 20 71 75 6f 74 65  _str {%d A quote
214e0 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 2a 71 27  d string: '%.*q'
214f0 7d 20 31 20 36 20 7b 48 69 20 59 27 61 6c 6c 7d  } 1 6 {Hi Y'all}
21500 0a 7d 20 7b 31 20 41 20 71 75 6f 74 65 64 20 73  .} {1 A quoted s
21510 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27 61 27  tring: 'Hi Y''a'
21520 7d 0a 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  }...do_test prin
21530 74 66 2d 35 2e 31 20 7b 0a 20 20 73 65 74 20 78  tf-5.1 {.  set x
21540 20 5b 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74   [sqlite3_mprint
21550 66 5f 73 74 72 20 7b 25 64 20 25 64 20 25 31 30  f_str {%d %d %10
21560 30 30 30 30 73 7d 20 30 20 30 20 7b 48 65 6c 6c  0000s} 0 0 {Hell
21570 6f 7d 5d 0a 20 20 73 74 72 69 6e 67 20 6c 65 6e  o}].  string len
21580 67 74 68 20 24 78 0a 7d 20 7b 31 30 30 30 30 34  gth $x.} {100004
21590 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
215a0 2d 35 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  -5.2 {.  sqlite3
215b0 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
215c0 20 25 64 20 28 25 2d 31 30 2e 31 30 73 29 20 25   %d (%-10.10s) %
215d0 7d 20 2d 39 20 2d 31 30 20 7b 48 65 6c 6c 6f 48  } -9 -10 {HelloH
215e0 65 6c 6c 6f 48 65 6c 6c 6f 7d 0a 7d 20 7b 2d 39  elloHello}.} {-9
215f0 20 2d 31 30 20 28 48 65 6c 6c 6f 48 65 6c 6c 6f   -10 (HelloHello
21600 29 20 25 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72  ) %}..do_test pr
21610 69 6e 74 66 2d 36 2e 31 20 7b 0a 20 20 73 71 6c  intf-6.1 {.  sql
21620 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 7a 5f 74  ite3_mprintf_z_t
21630 65 73 74 20 2c 20 6f 6e 65 20 74 77 6f 20 74 68  est , one two th
21640 72 65 65 20 66 6f 75 72 20 66 69 76 65 20 73 69  ree four five si
21650 78 0a 7d 20 7b 2c 6f 6e 65 2c 74 77 6f 2c 74 68  x.} {,one,two,th
21660 72 65 65 2c 66 6f 75 72 2c 66 69 76 65 2c 73 69  ree,four,five,si
21670 78 7d 0a 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69  x}...do_test pri
21680 6e 74 66 2d 37 2e 31 20 7b 0a 20 20 73 71 6c 69  ntf-7.1 {.  sqli
21690 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c  te3_mprintf_scal
216a0 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a 20 25 67  ed {A double: %g
216b0 7d 20 31 2e 30 65 33 30 37 20 31 2e 30 0a 7d 20  } 1.0e307 1.0.} 
216c0 7b 41 20 64 6f 75 62 6c 65 3a 20 31 65 2b 33 30  {A double: 1e+30
216d0 37 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  7}.do_test print
216e0 66 2d 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  f-7.2 {.  sqlite
216f0 33 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c 65 64  3_mprintf_scaled
21700 20 7b 41 20 64 6f 75 62 6c 65 3a 20 25 67 7d 20   {A double: %g} 
21710 31 2e 30 65 33 30 37 20 31 30 2e 30 0a 7d 20 7b  1.0e307 10.0.} {
21720 41 20 64 6f 75 62 6c 65 3a 20 31 65 2b 33 30 38  A double: 1e+308
21730 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
21740 2d 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  -7.3 {.  sqlite3
21750 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c 65 64 20  _mprintf_scaled 
21760 7b 41 20 64 6f 75 62 6c 65 3a 20 25 67 7d 20 31  {A double: %g} 1
21770 2e 30 65 33 30 37 20 31 30 30 2e 30 0a 7d 20 7b  .0e307 100.0.} {
21780 41 20 64 6f 75 62 6c 65 3a 20 49 6e 66 7d 0a 64  A double: Inf}.d
21790 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 37 2e  o_test printf-7.
217a0 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
217b0 72 69 6e 74 66 5f 73 63 61 6c 65 64 20 7b 41 20  rintf_scaled {A 
217c0 64 6f 75 62 6c 65 3a 20 25 67 7d 20 2d 31 2e 30  double: %g} -1.0
217d0 65 33 30 37 20 31 30 30 2e 30 0a 7d 20 7b 41 20  e307 100.0.} {A 
217e0 64 6f 75 62 6c 65 3a 20 2d 49 6e 66 7d 0a 64 6f  double: -Inf}.do
217f0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 37 2e 35  _test printf-7.5
21800 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
21810 69 6e 74 66 5f 73 63 61 6c 65 64 20 7b 41 20 64  intf_scaled {A d
21820 6f 75 62 6c 65 3a 20 25 2b 67 7d 20 31 2e 30 65  ouble: %+g} 1.0e
21830 33 30 37 20 31 30 30 2e 30 0a 7d 20 7b 41 20 64  307 100.0.} {A d
21840 6f 75 62 6c 65 3a 20 2b 49 6e 66 7d 0a 0a 64 6f  ouble: +Inf}..do
21850 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 38 2e 31  _test printf-8.1
21860 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
21870 69 6e 74 66 5f 69 6e 74 20 7b 25 75 20 25 75 20  intf_int {%u %u 
21880 25 75 7d 20 30 78 37 66 66 66 66 66 66 66 20 30  %u} 0x7fffffff 0
21890 78 38 30 30 30 30 30 30 30 20 30 78 66 66 66 66  x80000000 0xffff
218a0 66 66 66 66 0a 7d 20 7b 32 31 34 37 34 38 33 36  ffff.} {21474836
218b0 34 37 20 32 31 34 37 34 38 33 36 34 38 20 34 32  47 2147483648 42
218c0 39 34 39 36 37 32 39 35 7d 0a 64 6f 5f 74 65 73  94967295}.do_tes
218d0 74 20 70 72 69 6e 74 66 2d 38 2e 32 20 7b 0a 20  t printf-8.2 {. 
218e0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
218f0 5f 6c 6f 6e 67 20 7b 25 6c 75 20 25 6c 75 20 25  _long {%lu %lu %
21900 6c 75 7d 20 30 78 37 66 66 66 66 66 66 66 20 30  lu} 0x7fffffff 0
21910 78 38 30 30 30 30 30 30 30 20 30 78 66 66 66 66  x80000000 0xffff
21920 66 66 66 66 0a 7d 20 7b 32 31 34 37 34 38 33 36  ffff.} {21474836
21930 34 37 20 32 31 34 37 34 38 33 36 34 38 20 34 32  47 2147483648 42
21940 39 34 39 36 37 32 39 35 7d 0a 64 6f 5f 74 65 73  94967295}.do_tes
21950 74 20 70 72 69 6e 74 66 2d 38 2e 33 20 7b 0a 20  t printf-8.3 {. 
21960 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
21970 5f 69 6e 74 36 34 20 7b 25 6c 6c 75 20 25 6c 6c  _int64 {%llu %ll
21980 75 20 25 6c 6c 75 7d 20 32 31 34 37 34 38 33 36  u %llu} 21474836
21990 34 37 20 32 31 34 37 34 38 33 36 34 38 20 34 32  47 2147483648 42
219a0 39 34 39 36 37 32 39 36 0a 7d 20 7b 32 31 34 37  94967296.} {2147
219b0 34 38 33 36 34 37 20 32 31 34 37 34 38 33 36 34  483647 214748364
219c0 38 20 34 32 39 34 39 36 37 32 39 36 7d 0a 64 6f  8 4294967296}.do
219d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 38 2e 34  _test printf-8.4
219e0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
219f0 69 6e 74 66 5f 69 6e 74 36 34 20 7b 25 6c 6c 64  intf_int64 {%lld
21a00 20 25 6c 6c 64 20 25 6c 6c 64 7d 20 32 31 34 37   %lld %lld} 2147
21a10 34 38 33 36 34 37 20 32 31 34 37 34 38 33 36 34  483647 214748364
21a20 38 20 34 32 39 34 39 36 37 32 39 36 0a 7d 20 7b  8 4294967296.} {
21a30 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37 34  2147483647 21474
21a40 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39 36  83648 4294967296
21a50 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
21a60 2d 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  -8.5 {.  sqlite3
21a70 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 36 34 20 7b  _mprintf_int64 {
21a80 25 6c 6c 78 20 25 6c 6c 78 20 25 6c 6c 78 7d 20  %llx %llx %llx} 
21a90 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37 34  2147483647 21474
21aa0 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39 36  83648 4294967296
21ab0 0a 7d 20 7b 37 66 66 66 66 66 66 66 20 38 30 30  .} {7fffffff 800
21ac0 30 30 30 30 30 20 31 30 30 30 30 30 30 30 30 7d  00000 100000000}
21ad0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21ae0 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.6 {.  sqlite3_
21af0 6d 70 72 69 6e 74 66 5f 69 6e 74 36 34 20 7b 25  mprintf_int64 {%
21b00 6c 6c 78 20 25 6c 6c 6f 20 25 6c 6c 64 7d 20 2d  llx %llo %lld} -
21b10 31 20 2d 31 20 2d 31 0a 7d 20 7b 66 66 66 66 66  1 -1 -1.} {fffff
21b20 66 66 66 66 66 66 66 66 66 66 66 20 31 37 37 37  fffffffffff 1777
21b30 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37  7777777777777777
21b40 37 37 20 2d 31 7d 0a 64 6f 5f 74 65 73 74 20 70  77 -1}.do_test p
21b50 72 69 6e 74 66 2d 38 2e 37 20 7b 0a 20 20 73 71  rintf-8.7 {.  sq
21b60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
21b70 74 36 34 20 7b 25 6c 6c 78 20 25 6c 6c 78 20 25  t64 {%llx %llx %
21b80 6c 6c 78 7d 20 2b 32 31 34 37 34 38 33 36 34 37  llx} +2147483647
21b90 20 2b 32 31 34 37 34 38 33 36 34 38 20 2b 34 32   +2147483648 +42
21ba0 39 34 39 36 37 32 39 36 0a 7d 20 7b 37 66 66 66  94967296.} {7fff
21bb0 66 66 66 66 20 38 30 30 30 30 30 30 30 20 31 30  ffff 80000000 10
21bc0 30 30 30 30 30 30 30 7d 0a 0a 64 6f 5f 74 65 73  0000000}..do_tes
21bd0 74 20 70 72 69 6e 74 66 2d 39 2e 31 20 7b 0a 20  t printf-9.1 {. 
21be0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
21bf0 5f 69 6e 74 20 7b 25 2a 2e 2a 63 7d 20 34 20 34  _int {%*.*c} 4 4
21c00 20 36 35 0a 7d 20 7b 41 41 41 41 7d 0a 64 6f 5f   65.} {AAAA}.do_
21c10 74 65 73 74 20 70 72 69 6e 74 66 2d 39 2e 32 20  test printf-9.2 
21c20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21c30 6e 74 66 5f 69 6e 74 20 7b 25 2a 2e 2a 63 7d 20  ntf_int {%*.*c} 
21c40 2d 34 20 31 20 36 36 0a 7d 20 7b 42 20 20 20 7d  -4 1 66.} {B   }
21c50 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21c60 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.3 {.  sqlite3_
21c70 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25 2a 2e  mprintf_int {%*.
21c80 2a 63 7d 20 34 20 31 20 36 37 0a 7d 20 7b 20 20  *c} 4 1 67.} {  
21c90 20 43 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e   C}.do_test prin
21ca0 74 66 2d 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74  tf-9.4 {.  sqlit
21cb0 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b  e3_mprintf_int {
21cc0 25 64 20 25 64 20 25 63 7d 20 34 20 31 20 36 37  %d %d %c} 4 1 67
21cd0 0a 7d 20 7b 34 20 31 20 43 7d 0a 73 65 74 20 74  .} {4 1 C}.set t
21ce0 65 6e 20 7b 20 20 20 20 20 20 20 20 20 20 7d 0a  en {          }.
21cf0 73 65 74 20 66 69 66 74 79 20 24 74 65 6e 24 74  set fifty $ten$t
21d00 65 6e 24 74 65 6e 24 74 65 6e 24 74 65 6e 0a 64  en$ten$ten$ten.d
21d10 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 39 2e  o_test printf-9.
21d20 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
21d30 72 69 6e 74 66 5f 69 6e 74 20 7b 25 64 20 25 2a  rintf_int {%d %*
21d40 63 7d 20 31 20 2d 32 30 31 20 36 37 0a 7d 20 22  c} 1 -201 67.} "
21d50 31 20 43 24 66 69 66 74 79 24 66 69 66 74 79 24  1 C$fifty$fifty$
21d60 66 69 66 74 79 24 66 69 66 74 79 22 0a 64 6f 5f  fifty$fifty".do_
21d70 74 65 73 74 20 70 72 69 6e 74 66 2d 39 2e 36 20  test printf-9.6 
21d80 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21d90 6e 74 66 5f 69 6e 74 20 7b 68 69 25 31 32 33 34  ntf_int {hi%1234
21da0 35 2e 31 32 33 34 36 79 68 65 6c 6c 6f 7d 20 30  5.12346yhello} 0
21db0 20 30 20 30 0a 7d 20 7b 68 69 7d 0a 0a 23 20 54   0 0.} {hi}..# T
21dc0 69 63 6b 65 74 20 23 38 31 32 0a 23 0a 64 6f 5f  icket #812.#.do_
21dd0 74 65 73 74 20 70 72 69 6e 74 66 2d 31 30 2e 31  test printf-10.1
21de0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
21df0 69 6e 74 66 5f 73 74 72 6f 6e 6c 79 20 25 73 20  intf_stronly %s 
21e00 7b 7d 0a 7d 20 7b 7d 0a 0a 23 20 54 69 63 6b 65  {}.} {}..# Ticke
21e10 74 20 23 38 33 31 0a 23 0a 64 6f 5f 74 65 73 74  t #831.#.do_test
21e20 20 70 72 69 6e 74 66 2d 31 30 2e 32 20 7b 0a 20   printf-10.2 {. 
21e30 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
21e40 5f 73 74 72 6f 6e 6c 79 20 25 71 20 7b 7d 0a 7d  _stronly %q {}.}
21e50 20 7b 7d 0a 0a 23 20 54 69 63 6b 65 74 20 23 31   {}..# Ticket #1
21e60 33 34 30 3a 20 20 54 65 73 74 20 66 6f 72 20 6c  340:  Test for l
21e70 6f 73 73 20 6f 66 20 70 72 65 63 69 73 69 6f 6e  oss of precision
21e80 20 6f 6e 20 6c 61 72 67 65 20 70 6f 73 69 74 69   on large positi
21e90 76 65 20 65 78 70 6f 6e 65 6e 74 73 0a 23 0a 64  ve exponents.#.d
21ea0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 30  o_test printf-10
21eb0 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
21ec0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25  printf_double {%
21ed0 64 20 25 64 20 25 66 7d 20 31 20 31 20 31 65 33  d %d %f} 1 1 1e3
21ee0 30 30 0a 7d 20 7b 31 20 31 20 31 30 30 30 30 30  00.} {1 1 100000
21ef0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f00 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f10 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f20 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f40 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f50 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f70 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f80 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21f90 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21fa0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21fb0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21fc0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21fd0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21fe0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21ff0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
22000 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
22010 30 30 30 30 30 30 30 2e 30 30 30 30 30 30 7d 0a  0000000.000000}.
22020 0a 23 20 54 68 65 20 6e 6f 6e 2d 73 74 61 6e 64  .# The non-stand
22030 61 72 64 20 27 21 27 20 66 6c 61 67 20 6f 6e 20  ard '!' flag on 
22040 61 20 27 67 27 20 63 6f 6e 76 65 72 73 69 6f 6e  a 'g' conversion
22050 20 66 6f 72 63 65 73 20 61 20 64 65 63 69 6d 61   forces a decima
22060 6c 20 70 6f 69 6e 74 0a 23 20 61 6e 64 20 61 74  l point.# and at
22070 20 6c 65 61 73 74 20 6f 6e 65 20 64 69 67 69 74   least one digit
22080 20 6f 6e 20 65 69 74 68 65 72 20 73 69 64 65 20   on either side 
22090 6f 66 20 74 68 65 20 64 65 63 69 6d 61 6c 20 70  of the decimal p
220a0 6f 69 6e 74 2e 0a 23 0a 64 6f 5f 74 65 73 74 20  oint..#.do_test 
220b0 70 72 69 6e 74 66 2d 31 31 2e 31 20 7b 0a 20 20  printf-11.1 {.  
220c0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
220d0 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25 21  double {%d %d %!
220e0 67 7d 20 31 20 31 20 31 0a 7d 20 7b 31 20 31 20  g} 1 1 1.} {1 1 
220f0 31 2e 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  1.0}.do_test pri
22100 6e 74 66 2d 31 31 2e 32 20 7b 0a 20 20 73 71 6c  ntf-11.2 {.  sql
22110 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
22120 62 6c 65 20 7b 25 64 20 25 64 20 25 21 67 7d 20  ble {%d %d %!g} 
22130 31 20 31 20 31 32 33 0a 7d 20 7b 31 20 31 20 31  1 1 123.} {1 1 1
22140 32 33 2e 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72  23.0}.do_test pr
22150 69 6e 74 66 2d 31 31 2e 33 20 7b 0a 20 20 73 71  intf-11.3 {.  sq
22160 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
22170 75 62 6c 65 20 7b 25 64 20 25 64 20 25 21 67 7d  uble {%d %d %!g}
22180 20 31 20 31 20 31 32 2e 33 0a 7d 20 7b 31 20 31   1 1 12.3.} {1 1
22190 20 31 32 2e 33 7d 0a 64 6f 5f 74 65 73 74 20 70   12.3}.do_test p
221a0 72 69 6e 74 66 2d 31 31 2e 34 20 7b 0a 20 20 73  rintf-11.4 {.  s
221b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
221c0 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25 21 67  ouble {%d %d %!g
221d0 7d 20 31 20 31 20 30 2e 31 32 33 0a 7d 20 7b 31  } 1 1 0.123.} {1
221e0 20 31 20 30 2e 31 32 33 7d 0a 64 6f 5f 74 65 73   1 0.123}.do_tes
221f0 74 20 70 72 69 6e 74 66 2d 31 31 2e 35 20 7b 0a  t printf-11.5 {.
22200 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
22210 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20  f_double {%d %d 
22220 25 21 2e 31 35 67 7d 20 31 20 31 20 31 0a 7d 20  %!.15g} 1 1 1.} 
22230 7b 31 20 31 20 31 2e 30 7d 0a 64 6f 5f 74 65 73  {1 1 1.0}.do_tes
22240 74 20 70 72 69 6e 74 66 2d 31 31 2e 36 20 7b 0a  t printf-11.6 {.
22250 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
22260 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20  f_double {%d %d 
22270 25 21 2e 31 35 67 7d 20 31 20 31 20 31 65 31 30  %!.15g} 1 1 1e10
22280 0a 7d 20 7b 31 20 31 20 31 30 30 30 30 30 30 30  .} {1 1 10000000
22290 30 30 30 2e 30 7d 0a 64 6f 5f 74 65 73 74 20 70  000.0}.do_test p
222a0 72 69 6e 74 66 2d 31 31 2e 37 20 7b 0a 20 20 73  rintf-11.7 {.  s
222b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
222c0 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25 21 2e  ouble {%d %d %!.
222d0 31 35 67 7d 20 31 20 31 20 31 65 33 30 30 0a 7d  15g} 1 1 1e300.}
222e0 20 7b 31 20 31 20 31 2e 30 65 2b 33 30 30 7d 0a   {1 1 1.0e+300}.
222f0 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c 20 74 65  .# Additional te
22300 73 74 73 20 66 6f 72 20 63 6f 76 65 72 61 67 65  sts for coverage
22310 0a 23 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  .#.do_test print
22320 66 2d 31 32 2e 31 20 7b 0a 20 20 73 71 6c 69 74  f-12.1 {.  sqlit
22330 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
22340 65 20 7b 25 64 20 25 64 20 25 2e 32 30 30 30 67  e {%d %d %.2000g
22350 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 31 20 31  } 1 1 1.0.} {1 1
22360 20 31 7d 0a 0a 23 20 46 6c 6f 61 74 69 6e 67 20   1}..# Floating 
22370 70 6f 69 6e 74 20 62 6f 75 6e 64 61 72 79 20 63  point boundary c
22380 61 73 65 73 0a 23 0a 64 6f 5f 74 65 73 74 20 70  ases.#.do_test p
22390 72 69 6e 74 66 2d 31 33 2e 31 20 7b 0a 20 20 73  rintf-13.1 {.  s
223a0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 68  qlite3_mprintf_h
223b0 65 78 64 6f 75 62 6c 65 20 25 2e 32 30 66 20 34  exdouble %.20f 4
223c0 30 32 34 30 30 30 30 30 30 30 30 30 30 30 30 0a  024000000000000.
223d0 7d 20 7b 31 30 2e 30 30 30 30 30 30 30 30 30 30  } {10.0000000000
223e0 30 30 30 30 30 30 30 30 30 30 7d 0a 64 6f 5f 74  0000000000}.do_t
223f0 65 73 74 20 70 72 69 6e 74 66 2d 31 33 2e 32 20  est printf-13.2 
22400 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
22410 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65 20 25 2e  ntf_hexdouble %.
22420 32 30 66 20 34 31 39 37 64 37 38 34 30 30 30 30  20f 4197d7840000
22430 30 30 30 30 0a 7d 20 7b 31 30 30 30 30 30 30 30  0000.} {10000000
22440 30 2e 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0.00000000000000
22450 30 30 30 30 30 30 7d 0a 64 6f 5f 74 65 73 74 20  000000}.do_test 
22460 70 72 69 6e 74 66 2d 31 33 2e 33 20 7b 0a 20 20  printf-13.3 {.  
22470 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
22480 68 65 78 64 6f 75 62 6c 65 20 25 2e 32 30 66 20  hexdouble %.20f 
22490 34 36 39 33 62 38 62 35 62 35 30 35 36 65 31 37  4693b8b5b5056e17
224a0 0a 7d 20 7b 31 30 30 30 30 30 30 30 30 30 30 30  .} {100000000000
224b0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
224c0 30 30 30 30 30 2e 30 30 30 30 30 30 30 30 30 30  00000.0000000000
224d0 30 30 30 30 30 30 30 30 30 30 7d 0a 64 6f 5f 74  0000000000}.do_t
224e0 65 73 74 20 70 72 69 6e 74 66 2d 31 33 2e 34 20  est printf-13.4 
224f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
22500 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65 20 25 2e  ntf_hexdouble %.
22510 32 30 66 20 37 66 66 30 30 30 30 30 30 30 30 30  20f 7ff000000000
22520 30 30 30 30 0a 7d 20 7b 49 6e 66 7d 0a 64 6f 5f  0000.} {Inf}.do_
22530 74 65 73 74 20 70 72 69 6e 74 66 2d 31 33 2e 35  test printf-13.5
22540 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
22550 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65 20 25  intf_hexdouble %
22560 2e 32 30 66 20 66 66 66 30 30 30 30 30 30 30 30  .20f fff00000000
22570 30 30 30 30 30 0a 7d 20 7b 2d 49 6e 66 7d 0a 64  00000.} {-Inf}.d
22580 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 33  o_test printf-13
22590 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
225a0 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65  printf_hexdouble
225b0 20 25 2e 32 30 66 20 66 66 66 38 30 30 30 30 30   %.20f fff800000
225c0 30 30 30 30 30 30 30 0a 7d 20 7b 4e 61 4e 7d 0a  0000000.} {NaN}.
225d0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
225e0 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.7 {.  sqlite3_
225f0 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c  mprintf_hexdoubl
22600 65 20 25 32 31 34 37 34 38 33 36 34 38 2e 31 30  e %2147483648.10
22610 30 30 30 66 20 34 36 39 33 62 38 62 35 62 35 30  000f 4693b8b5b50
22620 35 36 65 31 37 0a 7d 20 7b 2f 31 30 30 30 30 30  56e17.} {/100000
22630 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
22640 30 30 30 30 30 30 30 30 30 30 30 2e 30 30 2f 7d  00000000000.00/}
22650 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  ..do_test printf
22660 2d 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  -14.1 {.  sqlite
22670 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 61  3_mprintf_str {a
22680 62 63 2d 25 79 2d 31 32 33 7d 20 30 20 30 20 7b  bc-%y-123} 0 0 {
22690 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63  not used}.} {abc
226a0 2d 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  -}.do_test print
226b0 66 2d 31 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74  f-14.2 {.  sqlit
226c0 65 33 5f 6d 70 72 69 6e 74 66 5f 6e 5f 74 65 73  e3_mprintf_n_tes
226d0 74 20 7b 78 79 7a 7a 79 7d 0a 7d 20 35 0a 64 6f  t {xyzzy}.} 5.do
226e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e  _test printf-14.
226f0 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
22700 72 69 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25  rintf_str {abc-%
22710 54 2d 31 32 33 7d 20 30 20 30 20 7b 6e 6f 74 20  T-123} 0 0 {not 
22720 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 7d 0a 64  used}.} {abc-}.d
22730 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 34  o_test printf-14
22740 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
22750 70 72 69 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d  printf_str {abc-
22760 25 23 7d 20 30 20 30 20 7b 6e 6f 74 20 75 73 65  %#} 0 0 {not use
22770 64 7d 0a 7d 20 7b 61 62 63 2d 7d 0a 64 6f 5f 74  d}.} {abc-}.do_t
22780 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 35 20  est printf-14.5 
22790 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
227a0 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25 2a 2e  ntf_str {abc-%*.
227b0 2a 73 2d 78 79 7a 7d 20 31 30 20 2d 31 30 20 7b  *s-xyz} 10 -10 {
227c0 61 5f 76 65 72 79 5f 6c 6f 6e 67 5f 73 74 72 69  a_very_long_stri
227d0 6e 67 7d 0a 7d 20 7b 61 62 63 2d 61 5f 76 65 72  ng}.} {abc-a_ver
227e0 79 5f 6c 6f 6e 2d 78 79 7a 7d 0a 64 6f 5f 74 65  y_lon-xyz}.do_te
227f0 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 36 20 7b  st printf-14.6 {
22800 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
22810 74 66 5f 73 74 72 20 7b 61 62 63 2d 25 35 2e 31  tf_str {abc-%5.1
22820 30 2f 7d 20 30 20 30 20 7b 6e 6f 74 20 75 73 65  0/} 0 0 {not use
22830 64 7d 0a 7d 20 7b 61 62 63 2d 7d 0a 64 6f 5f 74  d}.} {abc-}.do_t
22840 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 37 20  est printf-14.7 
22850 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
22860 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25 30 35  ntf_str {abc-%05
22870 2e 35 64 7d 20 31 32 33 20 30 20 7b 6e 6f 74 20  .5d} 123 0 {not 
22880 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 30 30 31  used}.} {abc-001
22890 32 33 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  23}.do_test prin
228a0 74 66 2d 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69  tf-14.8 {.  sqli
228b0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
228c0 7b 61 62 63 2d 25 30 35 2e 35 64 7d 20 31 32 33  {abc-%05.5d} 123
228d0 34 35 36 37 20 30 20 7b 6e 6f 74 20 75 73 65 64  4567 0 {not used
228e0 7d 0a 7d 20 7b 61 62 63 2d 31 32 33 34 35 36 37  }.} {abc-1234567
228f0 7d 0a 0a 66 6f 72 20 7b 73 65 74 20 69 20 32 7d  }..for {set i 2}
22900 20 7b 24 69 3c 32 30 30 7d 20 7b 69 6e 63 72 20   {$i<200} {incr 
22910 69 7d 20 7b 0a 20 20 73 65 74 20 72 65 73 20 5b  i} {.  set res [
22920 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 7b 20  string repeat { 
22930 7d 20 5b 65 78 70 72 20 7b 24 69 2d 31 7d 5d 5d  } [expr {$i-1}]]
22940 78 0a 20 20 64 6f 5f 74 65 73 74 20 70 72 69 6e  x.  do_test prin
22950 74 66 2d 31 34 2e 39 30 2e 24 69 20 22 0a 20 20  tf-14.90.$i ".  
22960 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
22970 66 5f 73 74 72 20 7b 25 2a 2e 2a 73 7d 20 24 69  f_str {%*.*s} $i
22980 20 35 30 30 20 78 0a 20 20 22 20 24 72 65 73 0a   500 x.  " $res.
22990 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  }..do_test print
229a0 66 2d 31 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74  f-15.1 {.  sqlit
229b0 65 33 5f 73 6e 70 72 69 6e 74 66 5f 69 6e 74 20  e3_snprintf_int 
229c0 35 20 7b 31 32 33 34 35 7d 20 30 0a 7d 20 7b 31  5 {12345} 0.} {1
229d0 32 33 34 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  234}.do_test pri
229e0 6e 74 66 2d 31 35 2e 32 20 7b 0a 20 20 73 71 6c  ntf-15.2 {.  sql
229f0 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 69 6e  ite3_snprintf_in
22a00 74 20 35 20 7b 7d 20 30 0a 7d 20 7b 7d 0a 64 6f  t 5 {} 0.} {}.do
22a10 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 35 2e  _test printf-15.
22a20 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e  3 {.  sqlite3_sn
22a30 70 72 69 6e 74 66 5f 69 6e 74 20 30 20 7b 7d 20  printf_int 0 {} 
22a40 30 0a 7d 20 7b 61 62 63 64 65 66 67 68 69 6a 6b  0.} {abcdefghijk
22a50 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 7d  lmnopqrstuvwxyz}
22a60 0a 0a 23 20 4e 6f 77 20 74 65 73 74 20 6d 61 6c  ..# Now test mal
22a70 6c 6f 63 28 29 20 66 61 69 6c 75 72 65 20 77 69  loc() failure wi
22a80 74 68 69 6e 20 61 20 73 71 6c 69 74 65 33 5f 6d  thin a sqlite3_m
22a90 70 72 69 6e 74 66 28 29 3a 0a 23 0a 66 6f 72 65  printf():.#.fore
22aa0 61 63 68 20 76 61 72 20 7b 61 20 62 20 63 20 64  ach var {a b c d
22ab0 7d 20 7b 0a 20 20 73 65 74 20 24 76 61 72 20 5b  } {.  set $var [
22ac0 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 24 76  string repeat $v
22ad0 61 72 20 34 30 30 5d 0a 7d 0a 73 65 74 20 73 74  ar 400].}.set st
22ae0 72 31 20 22 5b 73 74 72 69 6e 67 20 72 65 70 65  r1 "[string repe
22af0 61 74 20 41 20 33 36 30 5d 25 64 25 64 25 73 22  at A 360]%d%d%s"
22b00 0a 73 65 74 20 73 74 72 32 20 5b 73 74 72 69 6e  .set str2 [strin
22b10 67 20 72 65 70 65 61 74 20 42 20 35 30 30 30 5d  g repeat B 5000]
22b20 0a 73 65 74 20 7a 53 75 63 63 65 73 73 20 22 5b  .set zSuccess "[
22b30 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 41 20  string repeat A 
22b40 33 36 30 5d 31 31 5b 73 74 72 69 6e 67 20 72 65  360]11[string re
22b50 70 65 61 74 20 42 20 35 30 30 30 5d 22 0a 66 6f  peat B 5000]".fo
22b60 72 65 61 63 68 20 3a 3a 69 52 65 70 65 61 74 20  reach ::iRepeat 
22b70 7b 30 20 31 7d 20 7b 0a 20 20 73 65 74 20 6e 54  {0 1} {.  set nT
22b80 65 73 74 4e 75 6d 20 31 0a 20 20 77 68 69 6c 65  estNum 1.  while
22b90 20 7b 31 7d 20 7b 0a 20 20 20 20 73 71 6c 69 74   {1} {.    sqlit
22ba0 65 33 5f 6d 65 6d 64 65 62 75 67 5f 66 61 69 6c  e3_memdebug_fail
22bb0 20 24 6e 54 65 73 74 4e 75 6d 20 2d 72 65 70 65   $nTestNum -repe
22bc0 61 74 20 24 3a 3a 69 52 65 70 65 61 74 0a 20 20  at $::iRepeat.  
22bd0 20 20 73 65 74 20 7a 20 5b 73 71 6c 69 74 65 33    set z [sqlite3
22be0 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 24 73 74  _mprintf_str $st
22bf0 72 31 20 31 20 31 20 24 73 74 72 32 5d 0a 20 20  r1 1 1 $str2].  
22c00 20 20 73 65 74 20 6e 46 61 69 6c 20 5b 73 71 6c    set nFail [sql
22c10 69 74 65 33 5f 6d 65 6d 64 65 62 75 67 5f 66 61  ite3_memdebug_fa
22c20 69 6c 20 2d 31 20 2d 62 65 6e 69 67 6e 20 6e 42  il -1 -benign nB
22c30 65 6e 69 67 6e 5d 0a 20 20 20 20 64 6f 5f 74 65  enign].    do_te
22c40 73 74 20 70 72 69 6e 74 66 2d 6d 61 6c 6c 6f 63  st printf-malloc
22c50 2d 24 3a 3a 69 52 65 70 65 61 74 2e 24 6e 54 65  -$::iRepeat.$nTe
22c60 73 74 4e 75 6d 20 7b 0a 20 20 20 20 20 20 65 78  stNum {.      ex
22c70 70 72 20 7b 28 24 6e 46 61 69 6c 3e 30 20 26 26  pr {($nFail>0 &&
22c80 20 24 7a 20 65 71 20 22 22 29 20 7c 7c 20 28 24   $z eq "") || ($
22c90 6e 46 61 69 6c 3d 3d 24 6e 42 65 6e 69 67 6e 20  nFail==$nBenign 
22ca0 26 26 20 24 7a 20 65 71 20 24 7a 53 75 63 63 65  && $z eq $zSucce
22cb0 73 73 29 7d 0a 20 20 20 20 7d 20 7b 31 7d 0a 20  ss)}.    } {1}. 
22cc0 20 20 20 69 66 20 7b 24 6e 46 61 69 6c 20 3d 3d     if {$nFail ==
22cd0 20 30 7d 20 62 72 65 61 6b 0a 20 20 20 20 69 6e   0} break.    in
22ce0 63 72 20 6e 54 65 73 74 4e 75 6d 0a 20 20 7d 0a  cr nTestNum.  }.
22cf0 7d 0a 0a 66 69 6e 69 73 68 5f 74 65 73 74 0a     }..finish_test.