/ Hex Artifact Content
Login

Artifact b3ff34e73d59124140eaf89f7672e21bc2ca5fcc:


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 61 62 63 3a 20 7d 0a 64 6f 5f 74 65 73  } {abc: }.do_tes
4da0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 31  t printf-2.1.3.1
4db0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
4dc0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
4dd0: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
4de0: 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 1 1.0.} {abc: 
4df0: 28 31 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (1.0) :xyz}.do_t
4e00: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33  est printf-2.1.3
4e10: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
4e20: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
4e30: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
4e40: 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63  } 1 1 1.0.} {abc
4e50: 3a 20 28 31 2e 30 65 2b 30 30 29 20 3a 78 79 7a  : (1.0e+00) :xyz
4e60: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
4e70: 2d 32 2e 31 2e 33 2e 33 20 7b 0a 20 20 73 71 6c  -2.1.3.3 {.  sql
4e80: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
4e90: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
4ea0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 0a  ) :xyz} 1 1 1.0.
4eb0: 7d 20 7b 61 62 63 3a 20 28 31 29 20 3a 78 79 7a  } {abc: (1) :xyz
4ec0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
4ed0: 2d 32 2e 31 2e 33 2e 34 20 7b 0a 20 20 73 71 6c  -2.1.3.4 {.  sql
4ee0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
4ef0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
4f00: 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  (%g) :xyz} 1 1 1
4f10: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  .0.} {abc: 1 1 (
4f20: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
4f30: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 35 20   printf-2.1.3.5 
4f40: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
4f50: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
4f60: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
4f70: 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62  z} 1 1 1.0.} {ab
4f80: 63 3a 20 31 20 31 20 28 31 2e 30 30 30 30 30 29  c: 1 1 (1.00000)
4f90: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4fa0: 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 36 20 7b 0a  rintf-2.1.3.6 {.
4fb0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4fc0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
4fd0: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
4fe0: 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62  z} 1 1 1.0.} {ab
4ff0: 63 3a 20 31 20 31 20 28 30 30 30 30 30 30 30 30  c: 1 1 (00000000
5000: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
5010: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 37  t printf-2.1.3.7
5020: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5030: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5040: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20  : %d %d (%1.1f) 
5050: 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20  :xyz} 1 1 1.0.} 
5060: 7b 61 62 63 3a 20 31 20 31 20 28 31 2e 30 29 20  {abc: 1 1 (1.0) 
5070: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5080: 69 6e 74 66 2d 32 2e 31 2e 33 2e 38 20 7b 0a 20  intf-2.1.3.8 {. 
5090: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
50a0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
50b0: 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a   %d (%1.1e) :xyz
50c0: 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63  } 1 1 1.0.} {abc
50d0: 3a 20 31 20 31 20 28 31 2e 30 65 2b 30 30 29 20  : 1 1 (1.0e+00) 
50e0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
50f0: 69 6e 74 66 2d 32 2e 31 2e 33 2e 39 20 7b 0a 20  intf-2.1.3.9 {. 
5100: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5110: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
5120: 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a   %d (%1.1g) :xyz
5130: 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63  } 1 1 1.0.} {abc
5140: 3a 20 31 20 31 20 28 31 29 20 3a 78 79 7a 7d 0a  : 1 1 (1) :xyz}.
5150: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
5160: 2e 31 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .1.4.1 {.  sqlit
5170: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
5180: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
5190: 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20  :xyz} 1 1 0.0.} 
51a0: 7b 61 62 63 3a 20 28 30 2e 30 29 20 3a 78 79 7a  {abc: (0.0) :xyz
51b0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
51c0: 2d 32 2e 31 2e 34 2e 32 20 7b 0a 20 20 73 71 6c  -2.1.4.2 {.  sql
51d0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
51e0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
51f0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a  ) :xyz} 1 1 0.0.
5200: 7d 20 7b 61 62 63 3a 20 28 30 2e 30 65 2b 30 30  } {abc: (0.0e+00
5210: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5220: 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 33 20 7b  printf-2.1.4.3 {
5230: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5240: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5250: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20  (%*.*g) :xyz} 1 
5260: 31 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30  1 0.0.} {abc: (0
5270: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5280: 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 34 20 7b  printf-2.1.4.4 {
5290: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
52a0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
52b0: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
52c0: 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 0.0.} {abc:
52d0: 20 31 20 31 20 28 30 29 20 3a 78 79 7a 7d 0a 64   1 1 (0) :xyz}.d
52e0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
52f0: 31 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  1.4.5 {.  sqlite
5300: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5310: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
5320: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30  g) :xyz} 1 1 0.0
5330: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e  .} {abc: 1 1 (0.
5340: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
5350: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
5360: 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.6 {.  sqlite3_
5370: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5380: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
5390: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30  g) :xyz} 1 1 0.0
53a0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30  .} {abc: 1 1 (00
53b0: 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  00000000) :xyz}.
53c0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
53d0: 2e 31 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .1.4.7 {.  sqlit
53e0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
53f0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
5400: 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20  1.1f) :xyz} 1 1 
5410: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  0.0.} {abc: 1 1 
5420: 28 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (0.0) :xyz}.do_t
5430: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34  est printf-2.1.4
5440: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
5450: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
5460: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65  bc: %d %d (%1.1e
5470: 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a  ) :xyz} 1 1 0.0.
5480: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30  } {abc: 1 1 (0.0
5490: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
54a0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34  est printf-2.1.4
54b0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
54c0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
54d0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67  bc: %d %d (%1.1g
54e0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a  ) :xyz} 1 1 0.0.
54f0: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 29 20  } {abc: 1 1 (0) 
5500: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5510: 69 6e 74 66 2d 32 2e 31 2e 35 2e 31 20 7b 0a 20  intf-2.1.5.1 {. 
5520: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5530: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
5540: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20  *.*f) :xyz} 1 1 
5550: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  100.0.} {abc: (1
5560: 30 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  00.0) :xyz}.do_t
5570: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35  est printf-2.1.5
5580: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
5590: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
55a0: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
55b0: 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61  } 1 1 100.0.} {a
55c0: 62 63 3a 20 28 31 2e 30 65 2b 30 32 29 20 3a 78  bc: (1.0e+02) :x
55d0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
55e0: 74 66 2d 32 2e 31 2e 35 2e 33 20 7b 0a 20 20 73  tf-2.1.5.3 {.  s
55f0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5600: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
5610: 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 30  *g) :xyz} 1 1 10
5620: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2b  0.0.} {abc: (1e+
5630: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
5640: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 34  t printf-2.1.5.4
5650: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5660: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5670: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
5680: 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b  z} 1 1 100.0.} {
5690: 61 62 63 3a 20 31 20 31 20 28 31 30 30 29 20 3a  abc: 1 1 (100) :
56a0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
56b0: 6e 74 66 2d 32 2e 31 2e 35 2e 35 20 7b 0a 20 20  ntf-2.1.5.5 {.  
56c0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
56d0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
56e0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
56f0: 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   1 100.0.} {abc:
5700: 20 31 20 31 20 28 31 30 30 2e 30 30 30 29 20 3a   1 1 (100.000) :
5710: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5720: 6e 74 66 2d 32 2e 31 2e 35 2e 36 20 7b 0a 20 20  ntf-2.1.5.6 {.  
5730: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5740: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5750: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
5760: 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62   1 1 100.0.} {ab
5770: 63 3a 20 31 20 31 20 28 30 30 30 30 30 30 30 31  c: 1 1 (00000001
5780: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
5790: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 37  t printf-2.1.5.7
57a0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
57b0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
57c0: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20  : %d %d (%1.1f) 
57d0: 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a  :xyz} 1 1 100.0.
57e0: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 30 30  } {abc: 1 1 (100
57f0: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
5800: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 38  t printf-2.1.5.8
5810: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5820: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5830: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
5840: 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a  :xyz} 1 1 100.0.
5850: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 2e 30  } {abc: 1 1 (1.0
5860: 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
5870: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35  est printf-2.1.5
5880: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
5890: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
58a0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67  bc: %d %d (%1.1g
58b0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e  ) :xyz} 1 1 100.
58c0: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31  0.} {abc: 1 1 (1
58d0: 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
58e0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36  est printf-2.1.6
58f0: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
5900: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
5910: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
5920: 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20  } 1 1 9.99999.} 
5930: 7b 61 62 63 3a 20 28 31 30 2e 30 29 20 3a 78 79  {abc: (10.0) :xy
5940: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5950: 66 2d 32 2e 31 2e 36 2e 32 20 7b 0a 20 20 73 71  f-2.1.6.2 {.  sq
5960: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5970: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
5980: 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39  e) :xyz} 1 1 9.9
5990: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  9999.} {abc: (1.
59a0: 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+01) :xyz}.do_
59b0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
59c0: 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.3 {.  sqlite3_
59d0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
59e0: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
59f0: 7a 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d  z} 1 1 9.99999.}
5a00: 20 7b 61 62 63 3a 20 28 31 65 2b 30 31 29 20 3a   {abc: (1e+01) :
5a10: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5a20: 6e 74 66 2d 32 2e 31 2e 36 2e 34 20 7b 0a 20 20  ntf-2.1.6.4 {.  
5a30: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5a40: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5a50: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20  %d (%g) :xyz} 1 
5a60: 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  1 9.99999.} {abc
5a70: 3a 20 31 20 31 20 28 39 2e 39 39 39 39 39 29 20  : 1 1 (9.99999) 
5a80: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5a90: 69 6e 74 66 2d 32 2e 31 2e 36 2e 35 20 7b 0a 20  intf-2.1.6.5 {. 
5aa0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5ab0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
5ac0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
5ad0: 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  1 1 9.99999.} {a
5ae0: 62 63 3a 20 31 20 31 20 28 39 2e 39 39 39 39 39  bc: 1 1 (9.99999
5af0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5b00: 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e 36 20 7b  printf-2.1.6.6 {
5b10: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5b20: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5b30: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
5b40: 79 7a 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a  yz} 1 1 9.99999.
5b50: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30 30  } {abc: 1 1 (000
5b60: 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
5b70: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
5b80: 31 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  1.6.7 {.  sqlite
5b90: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5ba0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
5bb0: 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 39  .1f) :xyz} 1 1 9
5bc0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
5bd0: 20 31 20 28 31 30 2e 30 29 20 3a 78 79 7a 7d 0a   1 (10.0) :xyz}.
5be0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
5bf0: 2e 31 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .1.6.8 {.  sqlit
5c00: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
5c10: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
5c20: 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31 20 31 20  1.1e) :xyz} 1 1 
5c30: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
5c40: 31 20 31 20 28 31 2e 30 65 2b 30 31 29 20 3a 78  1 1 (1.0e+01) :x
5c50: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5c60: 74 66 2d 32 2e 31 2e 36 2e 39 20 7b 0a 20 20 73  tf-2.1.6.9 {.  s
5c70: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5c80: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5c90: 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20  d (%1.1g) :xyz} 
5ca0: 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  1 1 9.99999.} {a
5cb0: 62 63 3a 20 31 20 31 20 28 31 65 2b 30 31 29 20  bc: 1 1 (1e+01) 
5cc0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5cd0: 69 6e 74 66 2d 32 2e 31 2e 37 2e 31 20 7b 0a 20  intf-2.1.7.1 {. 
5ce0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5cf0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
5d00: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20  *.*f) :xyz} 1 1 
5d10: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
5d20: 20 28 2d 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f   (-0.0) :xyz}.do
5d30: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
5d40: 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.2 {.  sqlite3
5d50: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
5d60: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
5d70: 79 7a 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33  yz} 1 1 -0.00543
5d80: 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34 65 2d  .} {abc: (-5.4e-
5d90: 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
5da0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 33  t printf-2.1.7.3
5db0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5dc0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5dd0: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
5de0: 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  1 1 -0.00543.} {
5df0: 61 62 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78  abc: (-0.005) :x
5e00: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5e10: 74 66 2d 32 2e 31 2e 37 2e 34 20 7b 0a 20 20 73  tf-2.1.7.4 {.  s
5e20: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5e30: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5e40: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31  d (%g) :xyz} 1 1
5e50: 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
5e60: 3a 20 31 20 31 20 28 2d 30 2e 30 30 35 34 33 29  : 1 1 (-0.00543)
5e70: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5e80: 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 35 20 7b 0a  rintf-2.1.7.5 {.
5e90: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5ea0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
5eb0: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
5ec0: 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20   1 1 -0.00543.} 
5ed0: 7b 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 30  {abc: 1 1 (-0.00
5ee0: 35 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  543000) :xyz}.do
5ef0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
5f00: 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.6 {.  sqlite3
5f10: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
5f20: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
5f30: 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30  0g) :xyz} 1 1 -0
5f40: 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31  .00543.} {abc: 1
5f50: 20 31 20 28 2d 30 30 30 2e 30 30 35 34 33 29 20   1 (-000.00543) 
5f60: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5f70: 69 6e 74 66 2d 32 2e 31 2e 37 2e 37 20 7b 0a 20  intf-2.1.7.7 {. 
5f80: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5f90: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
5fa0: 20 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a   %d (%1.1f) :xyz
5fb0: 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d  } 1 1 -0.00543.}
5fc0: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30   {abc: 1 1 (-0.0
5fd0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5fe0: 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 38 20 7b  printf-2.1.7.8 {
5ff0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6000: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6010: 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78  %d %d (%1.1e) :x
6020: 79 7a 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33  yz} 1 1 -0.00543
6030: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 35  .} {abc: 1 1 (-5
6040: 2e 34 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  .4e-03) :xyz}.do
6050: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6060: 2e 37 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.9 {.  sqlite3
6070: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
6080: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
6090: 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30  1g) :xyz} 1 1 -0
60a0: 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31  .00543.} {abc: 1
60b0: 20 31 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a   1 (-0.005) :xyz
60c0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
60d0: 2d 32 2e 31 2e 38 2e 31 20 7b 0a 20 20 73 71 6c  -2.1.8.1 {.  sql
60e0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
60f0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
6100: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30  ) :xyz} 1 1 -1.0
6110: 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 29 20  .} {abc: (-1.0) 
6120: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6130: 69 6e 74 66 2d 32 2e 31 2e 38 2e 32 20 7b 0a 20  intf-2.1.8.2 {. 
6140: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
6150: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
6160: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20  *.*e) :xyz} 1 1 
6170: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
6180: 2e 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .0e+00) :xyz}.do
6190: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
61a0: 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.3 {.  sqlite3
61b0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
61c0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
61d0: 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b  yz} 1 1 -1.0.} {
61e0: 61 62 63 3a 20 28 2d 31 29 20 3a 78 79 7a 7d 0a  abc: (-1) :xyz}.
61f0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
6200: 2e 31 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .1.8.4 {.  sqlit
6210: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6220: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
6230: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e  g) :xyz} 1 1 -1.
6240: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  0.} {abc: 1 1 (-
6250: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
6260: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 35 20   printf-2.1.8.5 
6270: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
6280: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
6290: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
62a0: 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61  z} 1 1 -1.0.} {a
62b0: 62 63 3a 20 31 20 31 20 28 2d 31 2e 30 30 30 30  bc: 1 1 (-1.0000
62c0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
62d0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 36 20   printf-2.1.8.6 
62e0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
62f0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
6300: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
6310: 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20  xyz} 1 1 -1.0.} 
6320: 7b 61 62 63 3a 20 31 20 31 20 28 2d 30 30 30 30  {abc: 1 1 (-0000
6330: 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00001) :xyz}.do_
6340: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
6350: 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.7 {.  sqlite3_
6360: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
6370: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
6380: 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e  f) :xyz} 1 1 -1.
6390: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  0.} {abc: 1 1 (-
63a0: 31 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  1.0) :xyz}.do_te
63b0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e  st printf-2.1.8.
63c0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
63d0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
63e0: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
63f0: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a   :xyz} 1 1 -1.0.
6400: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 2e  } {abc: 1 1 (-1.
6410: 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
6420: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
6430: 38 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.9 {.  sqlite3_
6440: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
6450: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
6460: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e  g) :xyz} 1 1 -1.
6470: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  0.} {abc: 1 1 (-
6480: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
6490: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 31 20   printf-2.1.9.1 
64a0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
64b0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
64c0: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
64d0: 20 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   1 -99.99999.} {
64e0: 61 62 63 3a 20 28 2d 31 30 30 2e 30 29 20 3a 78  abc: (-100.0) :x
64f0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6500: 74 66 2d 32 2e 31 2e 39 2e 32 20 7b 0a 20 20 73  tf-2.1.9.2 {.  s
6510: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6520: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
6530: 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39  *e) :xyz} 1 1 -9
6540: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
6550: 28 2d 31 2e 30 65 2b 30 32 29 20 3a 78 79 7a 7d  (-1.0e+02) :xyz}
6560: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6570: 32 2e 31 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69  2.1.9.3 {.  sqli
6580: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
6590: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
65a0: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39   :xyz} 1 1 -99.9
65b0: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  9999.} {abc: (-1
65c0: 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
65d0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39  est printf-2.1.9
65e0: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
65f0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6600: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
6610: 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39  xyz} 1 1 -99.999
6620: 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  99.} {abc: 1 1 (
6630: 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -100) :xyz}.do_t
6640: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39  est printf-2.1.9
6650: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
6660: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6670: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
6680: 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39  :xyz} 1 1 -99.99
6690: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  999.} {abc: 1 1 
66a0: 28 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d  (-100.000) :xyz}
66b0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
66c0: 32 2e 31 2e 39 2e 36 20 7b 0a 20 20 73 71 6c 69  2.1.9.6 {.  sqli
66d0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
66e0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
66f0: 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31  %010g) :xyz} 1 1
6700: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
6710: 63 3a 20 31 20 31 20 28 2d 30 30 30 30 30 30 31  c: 1 1 (-0000001
6720: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
6730: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 37  t printf-2.1.9.7
6740: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6750: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6760: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20  : %d %d (%1.1f) 
6770: 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39  :xyz} 1 1 -99.99
6780: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  999.} {abc: 1 1 
6790: 28 2d 31 30 30 2e 30 29 20 3a 78 79 7a 7d 0a 64  (-100.0) :xyz}.d
67a0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
67b0: 31 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  1.9.8 {.  sqlite
67c0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
67d0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
67e0: 2e 31 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .1e) :xyz} 1 1 -
67f0: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
6800: 20 31 20 31 20 28 2d 31 2e 30 65 2b 30 32 29 20   1 1 (-1.0e+02) 
6810: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6820: 69 6e 74 66 2d 32 2e 31 2e 39 2e 39 20 7b 0a 20  intf-2.1.9.9 {. 
6830: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
6840: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
6850: 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a   %d (%1.1g) :xyz
6860: 7d 20 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a  } 1 1 -99.99999.
6870: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 65  } {abc: 1 1 (-1e
6880: 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
6890: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30  st printf-2.1.10
68a0: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
68b0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
68c0: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
68d0: 7d 20 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20  } 1 1 3.14e+9.} 
68e0: 7b 61 62 63 3a 20 28 33 31 34 30 30 30 30 30 30  {abc: (314000000
68f0: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
6900: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30  st printf-2.1.10
6910: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
6920: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6930: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
6940: 7d 20 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20  } 1 1 3.14e+9.} 
6950: 7b 61 62 63 3a 20 28 33 2e 31 65 2b 30 39 29 20  {abc: (3.1e+09) 
6960: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6970: 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 33 20 7b 0a  intf-2.1.10.3 {.
6980: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6990: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
69a0: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*g) :xyz} 1 1
69b0: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
69c0: 20 28 33 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64   (3e+09) :xyz}.d
69d0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
69e0: 31 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74  1.10.4 {.  sqlit
69f0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6a00: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
6a10: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31  g) :xyz} 1 1 3.1
6a20: 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31  4e+9.} {abc: 1 1
6a30: 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a   (3.14e+09) :xyz
6a40: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
6a50: 2d 32 2e 31 2e 31 30 2e 35 20 7b 0a 20 20 73 71  -2.1.10.5 {.  sq
6a60: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
6a70: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
6a80: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31   (%#g) :xyz} 1 1
6a90: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
6aa0: 20 31 20 31 20 28 33 2e 31 34 30 30 30 65 2b 30   1 1 (3.14000e+0
6ab0: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
6ac0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 36   printf-2.1.10.6
6ad0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6ae0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6af0: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
6b00: 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34 65 2b  :xyz} 1 1 3.14e+
6b10: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30  9.} {abc: 1 1 (0
6b20: 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  03.14e+09) :xyz}
6b30: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6b40: 32 2e 31 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c  2.1.10.7 {.  sql
6b50: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
6b60: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
6b70: 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20  (%1.1f) :xyz} 1 
6b80: 31 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  1 3.14e+9.} {abc
6b90: 3a 20 31 20 31 20 28 33 31 34 30 30 30 30 30 30  : 1 1 (314000000
6ba0: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
6bb0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30  st printf-2.1.10
6bc0: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
6bd0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6be0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65  bc: %d %d (%1.1e
6bf0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34  ) :xyz} 1 1 3.14
6c00: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  e+9.} {abc: 1 1 
6c10: 28 33 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  (3.1e+09) :xyz}.
6c20: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
6c30: 2e 31 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69  .1.10.9 {.  sqli
6c40: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
6c50: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
6c60: 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1g) :xyz} 1 1
6c70: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
6c80: 20 31 20 31 20 28 33 65 2b 30 39 29 20 3a 78 79   1 1 (3e+09) :xy
6c90: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
6ca0: 66 2d 32 2e 31 2e 31 31 2e 32 20 7b 0a 20 20 73  f-2.1.11.2 {.  s
6cb0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6cc0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
6cd0: 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34  *e) :xyz} 1 1 -4
6ce0: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
6cf0: 63 3a 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78  c: (-4.7e+88) :x
6d00: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6d10: 74 66 2d 32 2e 31 2e 31 31 2e 33 20 7b 0a 20 20  tf-2.1.11.3 {.  
6d20: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
6d30: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
6d40: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .*g) :xyz} 1 1 -
6d50: 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
6d60: 62 63 3a 20 28 2d 35 65 2b 38 38 29 20 3a 78 79  bc: (-5e+88) :xy
6d70: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
6d80: 66 2d 32 2e 31 2e 31 31 2e 34 20 7b 0a 20 20 73  f-2.1.11.4 {.  s
6d90: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6da0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
6db0: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31  d (%g) :xyz} 1 1
6dc0: 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
6dd0: 7b 61 62 63 3a 20 31 20 31 20 28 2d 34 2e 37 32  {abc: 1 1 (-4.72
6de0: 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
6df0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6e00: 31 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  1.11.5 {.  sqlit
6e10: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6e20: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
6e30: 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34  #g) :xyz} 1 1 -4
6e40: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
6e50: 63 3a 20 31 20 31 20 28 2d 34 2e 37 32 37 33 32  c: 1 1 (-4.72732
6e60: 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
6e70: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
6e80: 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.6 {.  sqlite3_
6e90: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
6ea0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
6eb0: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e  g) :xyz} 1 1 -4.
6ec0: 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
6ed0: 3a 20 31 20 31 20 28 2d 34 2e 37 32 37 33 32 65  : 1 1 (-4.72732e
6ee0: 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
6ef0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 31  st printf-2.1.11
6f00: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
6f10: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6f20: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65  bc: %d %d (%1.1e
6f30: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37  ) :xyz} 1 1 -4.7
6f40: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
6f50: 20 31 20 31 20 28 2d 34 2e 37 65 2b 38 38 29 20   1 1 (-4.7e+88) 
6f60: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
6f70: 69 6e 74 66 2d 32 2e 31 2e 31 31 2e 39 20 7b 0a  intf-2.1.11.9 {.
6f80: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6f90: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6fa0: 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79  d %d (%1.1g) :xy
6fb0: 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37 33 32 65  z} 1 1 -4.72732e
6fc0: 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  +88.} {abc: 1 1 
6fd0: 28 2d 35 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  (-5e+88) :xyz}.d
6fe0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6ff0: 31 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74  1.12.2 {.  sqlit
7000: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7010: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
7020: 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39  :xyz} 1 1 9.8799
7030: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28  1e+143.} {abc: (
7040: 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  9.9e+143) :xyz}.
7050: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
7060: 2e 31 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69  .1.12.3 {.  sqli
7070: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
7080: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
7090: 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39   :xyz} 1 1 9.879
70a0: 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
70b0: 28 31 65 2b 31 34 34 29 20 3a 78 79 7a 7d 0a 64  (1e+144) :xyz}.d
70c0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
70d0: 31 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74  1.12.4 {.  sqlit
70e0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
70f0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7100: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38  g) :xyz} 1 1 9.8
7110: 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
7120: 3a 20 31 20 31 20 28 39 2e 38 37 39 39 31 65 2b  : 1 1 (9.87991e+
7130: 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
7140: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32  st printf-2.1.12
7150: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
7160: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7170: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
7180: 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39  :xyz} 1 1 9.8799
7190: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31  1e+143.} {abc: 1
71a0: 20 31 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33   1 (9.87991e+143
71b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
71c0: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 36 20  printf-2.1.12.6 
71d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
71e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
71f0: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
7200: 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31  xyz} 1 1 9.87991
7210: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20  e+143.} {abc: 1 
7220: 31 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  1 (9.87991e+143)
7230: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
7240: 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 38 20 7b  rintf-2.1.12.8 {
7250: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
7260: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
7270: 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78  %d %d (%1.1e) :x
7280: 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65  yz} 1 1 9.87991e
7290: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  +143.} {abc: 1 1
72a0: 20 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a   (9.9e+143) :xyz
72b0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
72c0: 2d 32 2e 31 2e 31 32 2e 39 20 7b 0a 20 20 73 71  -2.1.12.9 {.  sq
72d0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
72e0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
72f0: 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31   (%1.1g) :xyz} 1
7300: 20 31 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   1 9.87991e+143.
7310: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 65 2b  } {abc: 1 1 (1e+
7320: 31 34 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  144) :xyz}.do_te
7330: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33  st printf-2.1.13
7340: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
7350: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7360: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
7370: 7d 20 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65  } 1 1 -6.287291e
7380: 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30  -9.} {abc: (-0.0
7390: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
73a0: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 32 20  printf-2.1.13.2 
73b0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
73c0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
73d0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
73e0: 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   1 -6.287291e-9.
73f0: 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 33 65 2d 30  } {abc: (-6.3e-0
7400: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
7410: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 33   printf-2.1.13.3
7420: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7430: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7440: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
7450: 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  1 1 -6.287291e-9
7460: 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 65 2d 30 39  .} {abc: (-6e-09
7470: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
7480: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 34 20  printf-2.1.13.4 
7490: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
74a0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
74b0: 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
74c0: 7d 20 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65  } 1 1 -6.287291e
74d0: 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  -9.} {abc: 1 1 (
74e0: 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
74f0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
7500: 74 66 2d 32 2e 31 2e 31 33 2e 35 20 7b 0a 20 20  tf-2.1.13.5 {.  
7510: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
7520: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
7530: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
7540: 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   1 -6.287291e-9.
7550: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e  } {abc: 1 1 (-6.
7560: 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
7570: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
7580: 32 2e 31 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c  2.1.13.6 {.  sql
7590: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
75a0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
75b0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20  (%010g) :xyz} 1 
75c0: 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  1 -6.287291e-9.}
75d0: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e 32   {abc: 1 1 (-6.2
75e0: 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
75f0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
7600: 2e 31 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69  .1.13.7 {.  sqli
7610: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
7620: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
7630: 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1f) :xyz} 1 1
7640: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
7650: 7b 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 29  {abc: 1 1 (-0.0)
7660: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
7670: 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 38 20 7b  rintf-2.1.13.8 {
7680: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
7690: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
76a0: 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78  %d %d (%1.1e) :x
76b0: 79 7a 7d 20 31 20 31 20 2d 36 2e 32 38 37 32 39  yz} 1 1 -6.28729
76c0: 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31  1e-9.} {abc: 1 1
76d0: 20 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a   (-6.3e-09) :xyz
76e0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
76f0: 2d 32 2e 31 2e 31 33 2e 39 20 7b 0a 20 20 73 71  -2.1.13.9 {.  sq
7700: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7710: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
7720: 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31   (%1.1g) :xyz} 1
7730: 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   1 -6.287291e-9.
7740: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 65  } {abc: 1 1 (-6e
7750: 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
7760: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34  st printf-2.1.14
7770: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
7780: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7790: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
77a0: 7d 20 31 20 31 20 33 2e 33 38 38 32 36 33 39 32  } 1 1 3.38826392
77b0: 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30  e-110.} {abc: (0
77c0: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
77d0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e  t printf-2.1.14.
77e0: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
77f0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7800: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
7810: 20 31 20 31 20 33 2e 33 38 38 32 36 33 39 32 65   1 1 3.38826392e
7820: 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
7830: 34 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  4e-110) :xyz}.do
7840: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
7850: 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .14.3 {.  sqlite
7860: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
7870: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
7880: 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36  xyz} 1 1 3.38826
7890: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
78a0: 20 28 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a   (3e-110) :xyz}.
78b0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
78c0: 2e 31 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69  .1.14.4 {.  sqli
78d0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
78e0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
78f0: 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e  %g) :xyz} 1 1 3.
7900: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
7910: 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38  {abc: 1 1 (3.388
7920: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
7930: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7940: 31 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74  1.14.5 {.  sqlit
7950: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7960: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7970: 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e  #g) :xyz} 1 1 3.
7980: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
7990: 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38  {abc: 1 1 (3.388
79a0: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
79b0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
79c0: 31 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  1.14.6 {.  sqlit
79d0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
79e0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
79f0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  010g) :xyz} 1 1 
7a00: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
7a10: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 33  } {abc: 1 1 (3.3
7a20: 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
7a30: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
7a40: 32 2e 31 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c  2.1.14.7 {.  sql
7a50: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
7a60: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
7a70: 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20  (%1.1f) :xyz} 1 
7a80: 31 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  1 3.38826392e-11
7a90: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30  0.} {abc: 1 1 (0
7aa0: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
7ab0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e  t printf-2.1.14.
7ac0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
7ad0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7ae0: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
7af0: 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38   :xyz} 1 1 3.388
7b00: 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
7b10: 63 3a 20 31 20 31 20 28 33 2e 34 65 2d 31 31 30  c: 1 1 (3.4e-110
7b20: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
7b30: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 39 20  printf-2.1.14.9 
7b40: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7b50: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7b60: 20 25 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a   %d %d (%1.1g) :
7b70: 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36  xyz} 1 1 3.38826
7b80: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
7b90: 20 31 20 31 20 28 33 65 2d 31 31 30 29 20 3a 78   1 1 (3e-110) :x
7ba0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
7bb0: 74 66 2d 32 2e 32 2e 31 2e 31 20 7b 0a 20 20 73  tf-2.2.1.1 {.  s
7bc0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
7bd0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
7be0: 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  *f) :xyz} 5 5 0.
7bf0: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  001.} {abc: (0.0
7c00: 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0100) :xyz}.do_t
7c10: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
7c20: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
7c30: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7c40: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
7c50: 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61  } 5 5 0.001.} {a
7c60: 62 63 3a 20 28 31 2e 30 30 30 30 30 65 2d 30 33  bc: (1.00000e-03
7c70: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
7c80: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 33 20 7b  printf-2.2.1.3 {
7c90: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
7ca0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
7cb0: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20  (%*.*g) :xyz} 5 
7cc0: 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  5 0.001.} {abc: 
7cd0: 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (0.001) :xyz}.do
7ce0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
7cf0: 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.4 {.  sqlite3
7d00: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
7d10: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
7d20: 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31   :xyz} 5 5 0.001
7d30: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e  .} {abc: 5 5 (0.
7d40: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
7d50: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e  st printf-2.2.1.
7d60: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
7d70: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7d80: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
7d90: 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d  xyz} 5 5 0.001.}
7da0: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30   {abc: 5 5 (0.00
7db0: 31 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  100000) :xyz}.do
7dc0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
7dd0: 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.6 {.  sqlite3
7de0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
7df0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
7e00: 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  0g) :xyz} 5 5 0.
7e10: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  001.} {abc: 5 5 
7e20: 28 30 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79  (000000.001) :xy
7e30: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
7e40: 66 2d 32 2e 32 2e 31 2e 37 20 7b 0a 20 20 73 71  f-2.2.1.7 {.  sq
7e50: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7e60: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
7e70: 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35   (%5.5f) :xyz} 5
7e80: 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   5 0.001.} {abc:
7e90: 20 35 20 35 20 28 30 2e 30 30 31 30 30 29 20 3a   5 5 (0.00100) :
7ea0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
7eb0: 6e 74 66 2d 32 2e 32 2e 31 2e 38 20 7b 0a 20 20  ntf-2.2.1.8 {.  
7ec0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
7ed0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
7ee0: 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d  %d (%5.5e) :xyz}
7ef0: 20 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62   5 5 0.001.} {ab
7f00: 63 3a 20 35 20 35 20 28 31 2e 30 30 30 30 30 65  c: 5 5 (1.00000e
7f10: 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
7f20: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e  st printf-2.2.1.
7f30: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
7f40: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7f50: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67 29  c: %d %d (%5.5g)
7f60: 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31   :xyz} 5 5 0.001
7f70: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e  .} {abc: 5 5 (0.
7f80: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
7f90: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e  st printf-2.2.2.
7fa0: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
7fb0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7fc0: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
7fd0: 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   5 5 1.0e-20.} {
7fe0: 61 62 63 3a 20 28 30 2e 30 30 30 30 30 29 20 3a  abc: (0.00000) :
7ff0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8000: 6e 74 66 2d 32 2e 32 2e 32 2e 32 20 7b 0a 20 20  ntf-2.2.2.2 {.  
8010: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8020: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
8030: 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .*e) :xyz} 5 5 1
8040: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
8050: 31 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79  1.00000e-20) :xy
8060: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8070: 66 2d 32 2e 32 2e 32 2e 33 20 7b 0a 20 20 73 71  f-2.2.2.3 {.  sq
8080: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8090: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
80a0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30  g) :xyz} 5 5 1.0
80b0: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65  e-20.} {abc: (1e
80c0: 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
80d0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e  st printf-2.2.2.
80e0: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
80f0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
8100: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
8110: 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a  yz} 5 5 1.0e-20.
8120: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 65 2d  } {abc: 5 5 (1e-
8130: 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
8140: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 35  t printf-2.2.2.5
8150: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
8160: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
8170: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
8180: 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a  yz} 5 5 1.0e-20.
8190: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30  } {abc: 5 5 (1.0
81a0: 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  0000e-20) :xyz}.
81b0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
81c0: 2e 32 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .2.2.6 {.  sqlit
81d0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
81e0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
81f0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  010g) :xyz} 5 5 
8200: 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
8210: 35 20 35 20 28 30 30 30 30 30 31 65 2d 32 30 29  5 5 (000001e-20)
8220: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8230: 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 37 20 7b 0a  rintf-2.2.2.7 {.
8240: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8250: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
8260: 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79  d %d (%5.5f) :xy
8270: 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d  z} 5 5 1.0e-20.}
8280: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30   {abc: 5 5 (0.00
8290: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
82a0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e  st printf-2.2.2.
82b0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
82c0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
82d0: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29  c: %d %d (%5.5e)
82e0: 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d   :xyz} 5 5 1.0e-
82f0: 32 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  20.} {abc: 5 5 (
8300: 31 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79  1.00000e-20) :xy
8310: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8320: 66 2d 32 2e 32 2e 32 2e 39 20 7b 0a 20 20 73 71  f-2.2.2.9 {.  sq
8330: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8340: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
8350: 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35   (%5.5g) :xyz} 5
8360: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
8370: 63 3a 20 35 20 35 20 28 31 65 2d 32 30 29 20 3a  c: 5 5 (1e-20) :
8380: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8390: 6e 74 66 2d 32 2e 32 2e 33 2e 31 20 7b 0a 20 20  ntf-2.2.3.1 {.  
83a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
83b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
83c0: 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .*f) :xyz} 5 5 1
83d0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  .0.} {abc: (1.00
83e0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
83f0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e  st printf-2.2.3.
8400: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
8410: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
8420: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
8430: 20 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   5 5 1.0.} {abc:
8440: 20 28 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a   (1.00000e+00) :
8450: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8460: 6e 74 66 2d 32 2e 32 2e 33 2e 33 20 7b 0a 20 20  ntf-2.2.3.3 {.  
8470: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8480: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
8490: 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .*g) :xyz} 5 5 1
84a0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20  .0.} {abc: (    
84b0: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
84c0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e 34 20   printf-2.2.3.4 
84d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
84e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
84f0: 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
8500: 7d 20 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63  } 5 5 1.0.} {abc
8510: 3a 20 35 20 35 20 28 31 29 20 3a 78 79 7a 7d 0a  : 5 5 (1) :xyz}.
8520: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8530: 2e 32 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .2.3.5 {.  sqlit
8540: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8550: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
8560: 23 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  #g) :xyz} 5 5 1.
8570: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31  0.} {abc: 5 5 (1
8580: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
8590: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
85a0: 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.6 {.  sqlite3
85b0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
85c0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
85d0: 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  0g) :xyz} 5 5 1.
85e0: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30  0.} {abc: 5 5 (0
85f0: 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d  000000001) :xyz}
8600: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8610: 32 2e 32 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69  2.2.3.7 {.  sqli
8620: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8630: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
8640: 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5f) :xyz} 5 5
8650: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35   1.0.} {abc: 5 5
8660: 20 28 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d   (1.00000) :xyz}
8670: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8680: 32 2e 32 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69  2.2.3.8 {.  sqli
8690: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
86a0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
86b0: 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5e) :xyz} 5 5
86c0: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35   1.0.} {abc: 5 5
86d0: 20 28 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a   (1.00000e+00) :
86e0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
86f0: 6e 74 66 2d 32 2e 32 2e 33 2e 39 20 7b 0a 20 20  ntf-2.2.3.9 {.  
8700: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8710: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
8720: 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d  %d (%5.5g) :xyz}
8730: 20 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   5 5 1.0.} {abc:
8740: 20 35 20 35 20 28 20 20 20 20 31 29 20 3a 78 79   5 5 (    1) :xy
8750: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8760: 66 2d 32 2e 32 2e 34 2e 31 20 7b 0a 20 20 73 71  f-2.2.4.1 {.  sq
8770: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8780: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
8790: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  f) :xyz} 5 5 0.0
87a0: 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30  .} {abc: (0.0000
87b0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
87c0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 32 20   printf-2.2.4.2 
87d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
87e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
87f0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35   (%*.*e) :xyz} 5
8800: 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   5 0.0.} {abc: (
8810: 30 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  0.00000e+00) :xy
8820: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8830: 66 2d 32 2e 32 2e 34 2e 33 20 7b 0a 20 20 73 71  f-2.2.4.3 {.  sq
8840: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8850: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
8860: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  g) :xyz} 5 5 0.0
8870: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 30 29  .} {abc: (    0)
8880: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8890: 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 34 20 7b 0a  rintf-2.2.4.4 {.
88a0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
88b0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
88c0: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
88d0: 35 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 5 0.0.} {abc: 
88e0: 35 20 35 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f  5 5 (0) :xyz}.do
88f0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8900: 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.5 {.  sqlite3
8910: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8920: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
8930: 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a  ) :xyz} 5 5 0.0.
8940: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30  } {abc: 5 5 (0.0
8950: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
8960: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34  est printf-2.2.4
8970: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
8980: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8990: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
89a0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a  ) :xyz} 5 5 0.0.
89b0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30  } {abc: 5 5 (000
89c0: 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0000000) :xyz}.d
89d0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
89e0: 32 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  2.4.7 {.  sqlite
89f0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8a00: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
8a10: 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30  .5f) :xyz} 5 5 0
8a20: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
8a30: 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
8a40: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8a50: 32 2e 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  2.4.8 {.  sqlite
8a60: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8a70: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
8a80: 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 30  .5e) :xyz} 5 5 0
8a90: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
8aa0: 30 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  0.00000e+00) :xy
8ab0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8ac0: 66 2d 32 2e 32 2e 34 2e 39 20 7b 0a 20 20 73 71  f-2.2.4.9 {.  sq
8ad0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8ae0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
8af0: 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35   (%5.5g) :xyz} 5
8b00: 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35   5 0.0.} {abc: 5
8b10: 20 35 20 28 20 20 20 20 30 29 20 3a 78 79 7a 7d   5 (    0) :xyz}
8b20: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8b30: 32 2e 32 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69  2.2.5.1 {.  sqli
8b40: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8b50: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
8b60: 20 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e 30   :xyz} 5 5 100.0
8b70: 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30  .} {abc: (100.00
8b80: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
8b90: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e  st printf-2.2.5.
8ba0: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
8bb0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
8bc0: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
8bd0: 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62   5 5 100.0.} {ab
8be0: 63 3a 20 28 31 2e 30 30 30 30 30 65 2b 30 32 29  c: (1.00000e+02)
8bf0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8c00: 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 33 20 7b 0a  rintf-2.2.5.3 {.
8c10: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8c20: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
8c30: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*g) :xyz} 5 5
8c40: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
8c50: 20 20 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f    100) :xyz}.do_
8c60: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
8c70: 35 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.4 {.  sqlite3_
8c80: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
8c90: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
8ca0: 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a  :xyz} 5 5 100.0.
8cb0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 30 30  } {abc: 5 5 (100
8cc0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
8cd0: 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 35 20 7b  printf-2.2.5.5 {
8ce0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8cf0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8d00: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
8d10: 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61  } 5 5 100.0.} {a
8d20: 62 63 3a 20 35 20 35 20 28 31 30 30 2e 30 30 30  bc: 5 5 (100.000
8d30: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
8d40: 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 36 20 7b  printf-2.2.5.6 {
8d50: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8d60: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8d70: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
8d80: 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20  yz} 5 5 100.0.} 
8d90: 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30 30 30  {abc: 5 5 (00000
8da0: 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00100) :xyz}.do_
8db0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
8dc0: 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.7 {.  sqlite3_
8dd0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
8de0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
8df0: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 30 30  f) :xyz} 5 5 100
8e00: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
8e10: 31 30 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d  100.00000) :xyz}
8e20: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8e30: 32 2e 32 2e 35 2e 38 20 7b 0a 20 20 73 71 6c 69  2.2.5.8 {.  sqli
8e40: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8e50: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
8e60: 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5e) :xyz} 5 5
8e70: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35   100.0.} {abc: 5
8e80: 20 35 20 28 31 2e 30 30 30 30 30 65 2b 30 32 29   5 (1.00000e+02)
8e90: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8ea0: 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 39 20 7b 0a  rintf-2.2.5.9 {.
8eb0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8ec0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
8ed0: 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79  d %d (%5.5g) :xy
8ee0: 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b  z} 5 5 100.0.} {
8ef0: 61 62 63 3a 20 35 20 35 20 28 20 20 31 30 30 29  abc: 5 5 (  100)
8f00: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8f10: 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 31 20 7b 0a  rintf-2.2.6.1 {.
8f20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8f30: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
8f40: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*f) :xyz} 5 5
8f50: 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
8f60: 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d   (9.99999) :xyz}
8f70: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8f80: 32 2e 32 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69  2.2.6.2 {.  sqli
8f90: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8fa0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
8fb0: 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39   :xyz} 5 5 9.999
8fc0: 39 39 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39  99.} {abc: (9.99
8fd0: 39 39 39 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  999e+00) :xyz}.d
8fe0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8ff0: 32 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  2.6.3 {.  sqlite
9000: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9010: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
9020: 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39  xyz} 5 5 9.99999
9030: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 31 30 29  .} {abc: (   10)
9040: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
9050: 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 34 20 7b 0a  rintf-2.2.6.4 {.
9060: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
9070: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
9080: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
9090: 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 5 9.99999.} {a
90a0: 62 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39 39  bc: 5 5 (9.99999
90b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
90c0: 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 35 20 7b  printf-2.2.6.5 {
90d0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
90e0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
90f0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
9100: 7d 20 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20  } 5 5 9.99999.} 
9110: 7b 61 62 63 3a 20 35 20 35 20 28 39 2e 39 39 39  {abc: 5 5 (9.999
9120: 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
9130: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 36  t printf-2.2.6.6
9140: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9150: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9160: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
9170: 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39  :xyz} 5 5 9.9999
9180: 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30  9.} {abc: 5 5 (0
9190: 30 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  009.99999) :xyz}
91a0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
91b0: 32 2e 32 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69  2.2.6.7 {.  sqli
91c0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
91d0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
91e0: 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5f) :xyz} 5 5
91f0: 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
9200: 20 35 20 35 20 28 39 2e 39 39 39 39 39 29 20 3a   5 5 (9.99999) :
9210: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9220: 6e 74 66 2d 32 2e 32 2e 36 2e 38 20 7b 0a 20 20  ntf-2.2.6.8 {.  
9230: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9240: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9250: 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d  %d (%5.5e) :xyz}
9260: 20 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b   5 5 9.99999.} {
9270: 61 62 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39  abc: 5 5 (9.9999
9280: 39 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e+00) :xyz}.do_
9290: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
92a0: 36 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.9 {.  sqlite3_
92b0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
92c0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
92d0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39  g) :xyz} 5 5 9.9
92e0: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35  9999.} {abc: 5 5
92f0: 20 28 20 20 20 31 30 29 20 3a 78 79 7a 7d 0a 64   (   10) :xyz}.d
9300: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
9310: 32 2e 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  2.7.1 {.  sqlite
9320: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9330: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
9340: 78 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34  xyz} 5 5 -0.0054
9350: 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30  3.} {abc: (-0.00
9360: 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
9370: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e  st printf-2.2.7.
9380: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
9390: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
93a0: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
93b0: 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20   5 5 -0.00543.} 
93c0: 7b 61 62 63 3a 20 28 2d 35 2e 34 33 30 30 30 65  {abc: (-5.43000e
93d0: 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
93e0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e  st printf-2.2.7.
93f0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
9400: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
9410: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
9420: 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20   5 5 -0.00543.} 
9430: 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35 34 33 29  {abc: (-0.00543)
9440: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
9450: 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 34 20 7b 0a  rintf-2.2.7.4 {.
9460: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
9470: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
9480: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
9490: 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  5 5 -0.00543.} {
94a0: 61 62 63 3a 20 35 20 35 20 28 2d 30 2e 30 30 35  abc: 5 5 (-0.005
94b0: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
94c0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 35  t printf-2.2.7.5
94d0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
94e0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
94f0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
9500: 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33  yz} 5 5 -0.00543
9510: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30  .} {abc: 5 5 (-0
9520: 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d  .00543000) :xyz}
9530: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
9540: 32 2e 32 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69  2.2.7.6 {.  sqli
9550: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
9560: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
9570: 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35  %010g) :xyz} 5 5
9580: 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
9590: 3a 20 35 20 35 20 28 2d 30 30 30 2e 30 30 35 34  : 5 5 (-000.0054
95a0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
95b0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 37 20   printf-2.2.7.7 
95c0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
95d0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
95e0: 20 25 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a   %d %d (%5.5f) :
95f0: 78 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34  xyz} 5 5 -0.0054
9600: 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d  3.} {abc: 5 5 (-
9610: 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
9620: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
9630: 32 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  2.7.8 {.  sqlite
9640: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9650: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
9660: 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  .5e) :xyz} 5 5 -
9670: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
9680: 35 20 35 20 28 2d 35 2e 34 33 30 30 30 65 2d 30  5 5 (-5.43000e-0
9690: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
96a0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 39 20   printf-2.2.7.9 
96b0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
96c0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
96d0: 20 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a   %d %d (%5.5g) :
96e0: 78 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34  xyz} 5 5 -0.0054
96f0: 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d  3.} {abc: 5 5 (-
9700: 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
9710: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
9720: 32 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  2.8.1 {.  sqlite
9730: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9740: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
9750: 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20  xyz} 5 5 -1.0.} 
9760: 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 29  {abc: (-1.00000)
9770: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
9780: 72 69 6e 74 66 2d 32 2e 32 2e 38 2e 32 20 7b 0a  rintf-2.2.8.2 {.
9790: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
97a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
97b0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*e) :xyz} 5 5
97c0: 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d   -1.0.} {abc: (-
97d0: 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  1.00000e+00) :xy
97e0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
97f0: 66 2d 32 2e 32 2e 38 2e 33 20 7b 0a 20 20 73 71  f-2.2.8.3 {.  sq
9800: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9810: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
9820: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e  g) :xyz} 5 5 -1.
9830: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 2d 31  0.} {abc: (   -1
9840: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9850: 70 72 69 6e 74 66 2d 32 2e 32 2e 38 2e 34 20 7b  printf-2.2.8.4 {
9860: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
9870: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9880: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
9890: 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   5 5 -1.0.} {abc
98a0: 3a 20 35 20 35 20 28 2d 31 29 20 3a 78 79 7a 7d  : 5 5 (-1) :xyz}
98b0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
98c0: 32 2e 32 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69  2.2.8.5 {.  sqli
98d0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
98e0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
98f0: 25 23 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  %#g) :xyz} 5 5 -
9900: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  1.0.} {abc: 5 5 
9910: 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d  (-1.00000) :xyz}
9920: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
9930: 32 2e 32 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69  2.2.8.6 {.  sqli
9940: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
9950: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
9960: 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35  %010g) :xyz} 5 5
9970: 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20   -1.0.} {abc: 5 
9980: 35 20 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a  5 (-000000001) :
9990: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
99a0: 6e 74 66 2d 32 2e 32 2e 38 2e 37 20 7b 0a 20 20  ntf-2.2.8.7 {.  
99b0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
99c0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
99d0: 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d  %d (%5.5f) :xyz}
99e0: 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   5 5 -1.0.} {abc
99f0: 3a 20 35 20 35 20 28 2d 31 2e 30 30 30 30 30 29  : 5 5 (-1.00000)
9a00: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
9a10: 72 69 6e 74 66 2d 32 2e 32 2e 38 2e 38 20 7b 0a  rintf-2.2.8.8 {.
9a20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
9a30: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
9a40: 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79  d %d (%5.5e) :xy
9a50: 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61  z} 5 5 -1.0.} {a
9a60: 62 63 3a 20 35 20 35 20 28 2d 31 2e 30 30 30 30  bc: 5 5 (-1.0000
9a70: 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
9a80: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
9a90: 38 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.9 {.  sqlite3_
9aa0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9ab0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
9ac0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e  g) :xyz} 5 5 -1.
9ad0: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 20  0.} {abc: 5 5 ( 
9ae0: 20 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74    -1) :xyz}.do_t
9af0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39  est printf-2.2.9
9b00: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
9b10: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
9b20: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
9b30: 7d 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a  } 5 5 -99.99999.
9b40: 7d 20 7b 61 62 63 3a 20 28 2d 39 39 2e 39 39 39  } {abc: (-99.999
9b50: 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
9b60: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 32  t printf-2.2.9.2
9b70: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9b80: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9b90: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
9ba0: 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  5 5 -99.99999.} 
9bb0: 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 65  {abc: (-1.00000e
9bc0: 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
9bd0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e  st printf-2.2.9.
9be0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
9bf0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
9c00: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
9c10: 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d   5 5 -99.99999.}
9c20: 20 7b 61 62 63 3a 20 28 20 2d 31 30 30 29 20 3a   {abc: ( -100) :
9c30: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9c40: 6e 74 66 2d 32 2e 32 2e 39 2e 34 20 7b 0a 20 20  ntf-2.2.9.4 {.  
9c50: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9c60: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9c70: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20  %d (%g) :xyz} 5 
9c80: 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
9c90: 62 63 3a 20 35 20 35 20 28 2d 31 30 30 29 20 3a  bc: 5 5 (-100) :
9ca0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9cb0: 6e 74 66 2d 32 2e 32 2e 39 2e 35 20 7b 0a 20 20  ntf-2.2.9.5 {.  
9cc0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9cd0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9ce0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35  %d (%#g) :xyz} 5
9cf0: 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   5 -99.99999.} {
9d00: 61 62 63 3a 20 35 20 35 20 28 2d 31 30 30 2e 30  abc: 5 5 (-100.0
9d10: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
9d20: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 36  t printf-2.2.9.6
9d30: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9d40: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9d50: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
9d60: 3a 78 79 7a 7d 20 35 20 35 20 2d 39 39 2e 39 39  :xyz} 5 5 -99.99
9d70: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  999.} {abc: 5 5 
9d80: 28 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78 79  (-000000100) :xy
9d90: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
9da0: 66 2d 32 2e 32 2e 39 2e 37 20 7b 0a 20 20 73 71  f-2.2.9.7 {.  sq
9db0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9dc0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
9dd0: 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35   (%5.5f) :xyz} 5
9de0: 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   5 -99.99999.} {
9df0: 61 62 63 3a 20 35 20 35 20 28 2d 39 39 2e 39 39  abc: 5 5 (-99.99
9e00: 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  999) :xyz}.do_te
9e10: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e  st printf-2.2.9.
9e20: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
9e30: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
9e40: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29  c: %d %d (%5.5e)
9e50: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 39 39 2e 39   :xyz} 5 5 -99.9
9e60: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35  9999.} {abc: 5 5
9e70: 20 28 2d 31 2e 30 30 30 30 30 65 2b 30 32 29 20   (-1.00000e+02) 
9e80: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9e90: 69 6e 74 66 2d 32 2e 32 2e 39 2e 39 20 7b 0a 20  intf-2.2.9.9 {. 
9ea0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9eb0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
9ec0: 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a   %d (%5.5g) :xyz
9ed0: 7d 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a  } 5 5 -99.99999.
9ee0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 20 2d 31  } {abc: 5 5 ( -1
9ef0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
9f00: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e  t printf-2.2.10.
9f10: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
9f20: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
9f30: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
9f40: 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   5 5 3.14e+9.} {
9f50: 61 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30  abc: (3140000000
9f60: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
9f70: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
9f80: 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .10.2 {.  sqlite
9f90: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9fa0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
9fb0: 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39  xyz} 5 5 3.14e+9
9fc0: 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30  .} {abc: (3.1400
9fd0: 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+09) :xyz}.do_
9fe0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
9ff0: 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.3 {.  sqlite3
a000: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
a010: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
a020: 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a  yz} 5 5 3.14e+9.
a030: 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 65 2b 30  } {abc: (3.14e+0
a040: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
a050: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 34   printf-2.2.10.4
a060: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a070: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a080: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
a090: 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d  z} 5 5 3.14e+9.}
a0a0: 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 31 34   {abc: 5 5 (3.14
a0b0: 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
a0c0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
a0d0: 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.5 {.  sqlite3_
a0e0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
a0f0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
a100: 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65   :xyz} 5 5 3.14e
a110: 2b 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  +9.} {abc: 5 5 (
a120: 33 2e 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79  3.14000e+09) :xy
a130: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
a140: 66 2d 32 2e 32 2e 31 30 2e 36 20 7b 0a 20 20 73  f-2.2.10.6 {.  s
a150: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
a160: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
a170: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
a180: 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  5 5 3.14e+9.} {a
a190: 62 63 3a 20 35 20 35 20 28 30 30 33 2e 31 34 65  bc: 5 5 (003.14e
a1a0: 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
a1b0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30  st printf-2.2.10
a1c0: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
a1d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
a1e0: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66  bc: %d %d (%5.5f
a1f0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 31 34  ) :xyz} 5 5 3.14
a200: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  e+9.} {abc: 5 5 
a210: 28 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 30  (3140000000.0000
a220: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
a230: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 38   printf-2.2.10.8
a240: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a250: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a260: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
a270: 3a 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b  :xyz} 5 5 3.14e+
a280: 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33  9.} {abc: 5 5 (3
a290: 2e 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a  .14000e+09) :xyz
a2a0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
a2b0: 2d 32 2e 32 2e 31 30 2e 39 20 7b 0a 20 20 73 71  -2.2.10.9 {.  sq
a2c0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
a2d0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
a2e0: 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35   (%5.5g) :xyz} 5
a2f0: 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
a300: 63 3a 20 35 20 35 20 28 33 2e 31 34 65 2b 30 39  c: 5 5 (3.14e+09
a310: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a320: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 32 20  printf-2.2.11.2 
a330: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a340: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a350: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35   (%*.*e) :xyz} 5
a360: 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a   5 -4.72732e+88.
a370: 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 33  } {abc: (-4.7273
a380: 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
a390: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
a3a0: 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.3 {.  sqlite3
a3b0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
a3c0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
a3d0: 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32  yz} 5 5 -4.72732
a3e0: 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
a3f0: 2e 37 32 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d  .7273e+88) :xyz}
a400: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
a410: 32 2e 32 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c  2.2.11.4 {.  sql
a420: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
a430: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
a440: 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  (%g) :xyz} 5 5 -
a450: 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
a460: 62 63 3a 20 35 20 35 20 28 2d 34 2e 37 32 37 33  bc: 5 5 (-4.7273
a470: 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
a480: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
a490: 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.5 {.  sqlite3
a4a0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
a4b0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
a4c0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37  ) :xyz} 5 5 -4.7
a4d0: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
a4e0: 20 35 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b   5 5 (-4.72732e+
a4f0: 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
a500: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e  t printf-2.2.11.
a510: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
a520: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
a530: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
a540: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32   :xyz} 5 5 -4.72
a550: 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
a560: 35 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  5 5 (-4.72732e+8
a570: 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
a580: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 38   printf-2.2.11.8
a590: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a5a0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a5b0: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
a5c0: 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37  :xyz} 5 5 -4.727
a5d0: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35  32e+88.} {abc: 5
a5e0: 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   5 (-4.72732e+88
a5f0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a600: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 39 20  printf-2.2.11.9 
a610: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a620: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a630: 20 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a   %d %d (%5.5g) :
a640: 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33  xyz} 5 5 -4.7273
a650: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20  2e+88.} {abc: 5 
a660: 35 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29 20  5 (-4.7273e+88) 
a670: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a680: 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 32 20 7b 0a  intf-2.2.12.2 {.
a690: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a6a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
a6b0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*e) :xyz} 5 5
a6c0: 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
a6d0: 7b 61 62 63 3a 20 28 39 2e 38 37 39 39 31 65 2b  {abc: (9.87991e+
a6e0: 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
a6f0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32  st printf-2.2.12
a700: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
a710: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
a720: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
a730: 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31  } 5 5 9.87991e+1
a740: 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38 37  43.} {abc: (9.87
a750: 39 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  99e+143) :xyz}.d
a760: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
a770: 32 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74  2.12.4 {.  sqlit
a780: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
a790: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
a7a0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 38  g) :xyz} 5 5 9.8
a7b0: 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
a7c0: 3a 20 35 20 35 20 28 39 2e 38 37 39 39 31 65 2b  : 5 5 (9.87991e+
a7d0: 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
a7e0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32  st printf-2.2.12
a7f0: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
a800: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
a810: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
a820: 3a 78 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39  :xyz} 5 5 9.8799
a830: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35  1e+143.} {abc: 5
a840: 20 35 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33   5 (9.87991e+143
a850: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a860: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 36 20  printf-2.2.12.6 
a870: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a880: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a890: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
a8a0: 78 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31  xyz} 5 5 9.87991
a8b0: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20  e+143.} {abc: 5 
a8c0: 35 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  5 (9.87991e+143)
a8d0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a8e0: 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 38 20 7b  rintf-2.2.12.8 {
a8f0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a900: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a910: 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78  %d %d (%5.5e) :x
a920: 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65  yz} 5 5 9.87991e
a930: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35  +143.} {abc: 5 5
a940: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
a950: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a960: 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 39 20 7b 0a  intf-2.2.12.9 {.
a970: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a980: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
a990: 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79  d %d (%5.5g) :xy
a9a0: 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b  z} 5 5 9.87991e+
a9b0: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  143.} {abc: 5 5 
a9c0: 28 39 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78  (9.8799e+143) :x
a9d0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a9e0: 74 66 2d 32 2e 32 2e 31 33 2e 31 20 7b 0a 20 20  tf-2.2.13.1 {.  
a9f0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
aa00: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
aa10: 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  .*f) :xyz} 5 5 -
aa20: 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
aa30: 62 63 3a 20 28 2d 30 2e 30 30 30 30 30 29 20 3a  bc: (-0.00000) :
aa40: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
aa50: 6e 74 66 2d 32 2e 32 2e 31 33 2e 32 20 7b 0a 20  ntf-2.2.13.2 {. 
aa60: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
aa70: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
aa80: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*e) :xyz} 5 5 
aa90: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
aaa0: 61 62 63 3a 20 28 2d 36 2e 32 38 37 32 39 65 2d  abc: (-6.28729e-
aab0: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
aac0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e  t printf-2.2.13.
aad0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
aae0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
aaf0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
ab00: 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d   5 5 -6.287291e-
ab10: 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38  9.} {abc: (-6.28
ab20: 37 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  73e-09) :xyz}.do
ab30: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
ab40: 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .13.4 {.  sqlite
ab50: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
ab60: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
ab70: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32  ) :xyz} 5 5 -6.2
ab80: 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
ab90: 20 35 20 35 20 28 2d 36 2e 32 38 37 32 39 65 2d   5 5 (-6.28729e-
aba0: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
abb0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e  t printf-2.2.13.
abc0: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
abd0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
abe0: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
abf0: 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32  xyz} 5 5 -6.2872
ac00: 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20  91e-9.} {abc: 5 
ac10: 35 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29  5 (-6.28729e-09)
ac20: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
ac30: 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 36 20 7b  rintf-2.2.13.6 {
ac40: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
ac50: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
ac60: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
ac70: 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39  yz} 5 5 -6.28729
ac80: 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35  1e-9.} {abc: 5 5
ac90: 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
aca0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
acb0: 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 37 20 7b 0a  intf-2.2.13.7 {.
acc0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
acd0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
ace0: 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79  d %d (%5.5f) :xy
acf0: 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31  z} 5 5 -6.287291
ad00: 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  e-9.} {abc: 5 5 
ad10: 28 2d 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d  (-0.00000) :xyz}
ad20: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
ad30: 32 2e 32 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c  2.2.13.8 {.  sql
ad40: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ad50: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
ad60: 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20  (%5.5e) :xyz} 5 
ad70: 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
ad80: 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 36 2e 32   {abc: 5 5 (-6.2
ad90: 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
ada0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
adb0: 2e 32 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69  .2.13.9 {.  sqli
adc0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
add0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
ade0: 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5g) :xyz} 5 5
adf0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
ae00: 7b 61 62 63 3a 20 35 20 35 20 28 2d 36 2e 32 38  {abc: 5 5 (-6.28
ae10: 37 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  73e-09) :xyz}.do
ae20: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
ae30: 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  .14.1 {.  sqlite
ae40: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
ae50: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
ae60: 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38 32 36  xyz} 5 5 3.38826
ae70: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
ae80: 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d   (0.00000) :xyz}
ae90: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
aea0: 32 2e 32 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c  2.2.14.2 {.  sql
aeb0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
aec0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
aed0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38  ) :xyz} 5 5 3.38
aee0: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
aef0: 62 63 3a 20 28 33 2e 33 38 38 32 36 65 2d 31 31  bc: (3.38826e-11
af00: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
af10: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e 33   printf-2.2.14.3
af20: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
af30: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
af40: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
af50: 35 20 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d  5 5 3.38826392e-
af60: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33  110.} {abc: (3.3
af70: 38 38 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  883e-110) :xyz}.
af80: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
af90: 2e 32 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69  .2.14.4 {.  sqli
afa0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
afb0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
afc0: 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e  %g) :xyz} 5 5 3.
afd0: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
afe0: 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38  {abc: 5 5 (3.388
aff0: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
b000: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b010: 32 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74  2.14.5 {.  sqlit
b020: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b030: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b040: 23 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e  #g) :xyz} 5 5 3.
b050: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
b060: 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38  {abc: 5 5 (3.388
b070: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
b080: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b090: 32 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  2.14.6 {.  sqlit
b0a0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b0b0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b0c0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  010g) :xyz} 5 5 
b0d0: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
b0e0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33  } {abc: 5 5 (3.3
b0f0: 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
b100: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b110: 32 2e 32 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c  2.2.14.7 {.  sql
b120: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
b130: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
b140: 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20  (%5.5f) :xyz} 5 
b150: 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  5 3.38826392e-11
b160: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30  0.} {abc: 5 5 (0
b170: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
b180: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
b190: 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .14.8 {.  sqlite
b1a0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b1b0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
b1c0: 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 33  .5e) :xyz} 5 5 3
b1d0: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
b1e0: 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38   {abc: 5 5 (3.38
b1f0: 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
b200: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b210: 2e 32 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69  .2.14.9 {.  sqli
b220: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
b230: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
b240: 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5g) :xyz} 5 5
b250: 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
b260: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e  .} {abc: 5 5 (3.
b270: 33 38 38 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d  3883e-110) :xyz}
b280: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b290: 32 2e 33 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69  2.3.1.1 {.  sqli
b2a0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
b2b0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
b2c0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
b2d0: 30 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  01.} {abc: (0.00
b2e0: 31 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  10000000) :xyz}.
b2f0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b300: 2e 33 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .3.1.2 {.  sqlit
b310: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b320: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
b330: 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30  :xyz} 10 10 0.00
b340: 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  1.} {abc: (1.000
b350: 30 30 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79  0000000e-03) :xy
b360: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
b370: 66 2d 32 2e 33 2e 31 2e 33 20 7b 0a 20 20 73 71  f-2.3.1.3 {.  sq
b380: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
b390: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
b3a0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30  g) :xyz} 10 10 0
b3b0: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 20 20  .001.} {abc: (  
b3c0: 20 20 20 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a     0.001) :xyz}.
b3d0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b3e0: 2e 33 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .3.1.4 {.  sqlit
b3f0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b400: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b410: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30  g) :xyz} 10 10 0
b420: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20  .001.} {abc: 10 
b430: 31 30 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d  10 (0.001) :xyz}
b440: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b450: 32 2e 33 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69  2.3.1.5 {.  sqli
b460: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
b470: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
b480: 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  %#g) :xyz} 10 10
b490: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31   0.001.} {abc: 1
b4a0: 30 20 31 30 20 28 30 2e 30 30 31 30 30 30 30 30  0 10 (0.00100000
b4b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
b4c0: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 2e 36 20 7b  printf-2.3.1.6 {
b4d0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
b4e0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
b4f0: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
b500: 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a  yz} 10 10 0.001.
b510: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
b520: 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d  00000.001) :xyz}
b530: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b540: 32 2e 33 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69  2.3.1.7 {.  sqli
b550: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
b560: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
b570: 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31  %10.10f) :xyz} 1
b580: 30 20 31 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62  0 10 0.001.} {ab
b590: 63 3a 20 31 30 20 31 30 20 28 30 2e 30 30 31 30  c: 10 10 (0.0010
b5a0: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
b5b0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b5c0: 2e 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.8 {.  sqlite3
b5d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b5e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
b5f0: 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10e) :xyz} 10 1
b600: 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  0 0.001.} {abc: 
b610: 31 30 20 31 30 20 28 31 2e 30 30 30 30 30 30 30  10 10 (1.0000000
b620: 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  000e-03) :xyz}.d
b630: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b640: 33 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  3.1.9 {.  sqlite
b650: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b660: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
b670: 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  0.10g) :xyz} 10 
b680: 31 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a  10 0.001.} {abc:
b690: 20 31 30 20 31 30 20 28 20 20 20 20 20 30 2e 30   10 10 (     0.0
b6a0: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
b6b0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 31  t printf-2.3.2.1
b6c0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
b6d0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
b6e0: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
b6f0: 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20  10 10 1.0e-20.} 
b700: 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30 30 30  {abc: (0.0000000
b710: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
b720: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e  st printf-2.3.2.
b730: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
b740: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b750: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
b760: 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d   10 10 1.0e-20.}
b770: 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 30   {abc: (1.000000
b780: 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  0000e-20) :xyz}.
b790: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b7a0: 2e 33 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .3.2.3 {.  sqlit
b7b0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b7c0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
b7d0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65  :xyz} 10 10 1.0e
b7e0: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  -20.} {abc: (   
b7f0: 20 20 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64    1e-20) :xyz}.d
b800: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b810: 33 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  3.2.4 {.  sqlite
b820: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b830: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
b840: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e  ) :xyz} 10 10 1.
b850: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0e-20.} {abc: 10
b860: 20 31 30 20 28 31 65 2d 32 30 29 20 3a 78 79 7a   10 (1e-20) :xyz
b870: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
b880: 2d 32 2e 33 2e 32 2e 35 20 7b 0a 20 20 73 71 6c  -2.3.2.5 {.  sql
b890: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
b8a0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
b8b0: 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  (%#g) :xyz} 10 1
b8c0: 30 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  0 1.0e-20.} {abc
b8d0: 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30 30 30  : 10 10 (1.00000
b8e0: 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
b8f0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32  est printf-2.3.2
b900: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
b910: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
b920: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
b930: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e  ) :xyz} 10 10 1.
b940: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0e-20.} {abc: 10
b950: 20 31 30 20 28 30 30 30 30 30 31 65 2d 32 30 29   10 (000001e-20)
b960: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
b970: 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 37 20 7b 0a  rintf-2.3.2.7 {.
b980: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
b990: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
b9a0: 64 20 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a  d %d (%10.10f) :
b9b0: 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d  xyz} 10 10 1.0e-
b9c0: 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  20.} {abc: 10 10
b9d0: 20 28 30 2e 30 30 30 30 30 30 30 30 30 30 29 20   (0.0000000000) 
b9e0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
b9f0: 69 6e 74 66 2d 32 2e 33 2e 32 2e 38 20 7b 0a 20  intf-2.3.2.8 {. 
ba00: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ba10: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ba20: 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78   %d (%10.10e) :x
ba30: 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32  yz} 10 10 1.0e-2
ba40: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
ba50: 28 31 2e 30 30 30 30 30 30 30 30 30 30 65 2d 32  (1.0000000000e-2
ba60: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
ba70: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 39 20   printf-2.3.2.9 
ba80: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ba90: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
baa0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29   %d %d (%10.10g)
bab0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
bac0: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e-20.} {abc: 10 
bad0: 31 30 20 28 20 20 20 20 20 31 65 2d 32 30 29 20  10 (     1e-20) 
bae0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
baf0: 69 6e 74 66 2d 32 2e 33 2e 33 2e 31 20 7b 0a 20  intf-2.3.3.1 {. 
bb00: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
bb10: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
bb20: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*f) :xyz} 10 1
bb30: 30 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  0 1.0.} {abc: (1
bb40: 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  .0000000000) :xy
bb50: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
bb60: 66 2d 32 2e 33 2e 33 2e 32 20 7b 0a 20 20 73 71  f-2.3.3.2 {.  sq
bb70: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
bb80: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
bb90: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31  e) :xyz} 10 10 1
bba0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  .0.} {abc: (1.00
bbb0: 30 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78  00000000e+00) :x
bbc0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
bbd0: 74 66 2d 32 2e 33 2e 33 2e 33 20 7b 0a 20 20 73  tf-2.3.3.3 {.  s
bbe0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
bbf0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
bc00: 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *g) :xyz} 10 10 
bc10: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  1.0.} {abc: (   
bc20: 20 20 20 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64        1) :xyz}.d
bc30: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
bc40: 33 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  3.3.4 {.  sqlite
bc50: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
bc60: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
bc70: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e  ) :xyz} 10 10 1.
bc80: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
bc90: 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (1) :xyz}.do_tes
bca0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 35  t printf-2.3.3.5
bcb0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
bcc0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
bcd0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
bce0: 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d 20  yz} 10 10 1.0.} 
bcf0: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 31 2e 30  {abc: 10 10 (1.0
bd00: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
bd10: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33  est printf-2.3.3
bd20: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
bd30: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
bd40: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
bd50: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e  ) :xyz} 10 10 1.
bd60: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
bd70: 28 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79  (0000000001) :xy
bd80: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
bd90: 66 2d 32 2e 33 2e 33 2e 37 20 7b 0a 20 20 73 71  f-2.3.3.7 {.  sq
bda0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
bdb0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
bdc0: 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d   (%10.10f) :xyz}
bdd0: 20 31 30 20 31 30 20 31 2e 30 0a 7d 20 7b 61 62   10 10 1.0.} {ab
bde0: 63 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30 30  c: 10 10 (1.0000
bdf0: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
be00: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
be10: 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.8 {.  sqlite3
be20: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
be30: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
be40: 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10e) :xyz} 10 1
be50: 30 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0 1.0.} {abc: 10
be60: 20 31 30 20 28 31 2e 30 30 30 30 30 30 30 30 30   10 (1.000000000
be70: 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
be80: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
be90: 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.9 {.  sqlite3_
bea0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
beb0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
bec0: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10g) :xyz} 10 10
bed0: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   1.0.} {abc: 10 
bee0: 31 30 20 28 20 20 20 20 20 20 20 20 20 31 29 20  10 (         1) 
bef0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
bf00: 69 6e 74 66 2d 32 2e 33 2e 34 2e 31 20 7b 0a 20  intf-2.3.4.1 {. 
bf10: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
bf20: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
bf30: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*f) :xyz} 10 1
bf40: 30 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30  0 0.0.} {abc: (0
bf50: 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  .0000000000) :xy
bf60: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
bf70: 66 2d 32 2e 33 2e 34 2e 32 20 7b 0a 20 20 73 71  f-2.3.4.2 {.  sq
bf80: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
bf90: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
bfa0: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30  e) :xyz} 10 10 0
bfb0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  .0.} {abc: (0.00
bfc0: 30 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78  00000000e+00) :x
bfd0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
bfe0: 74 66 2d 32 2e 33 2e 34 2e 33 20 7b 0a 20 20 73  tf-2.3.4.3 {.  s
bff0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
c000: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
c010: 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *g) :xyz} 10 10 
c020: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  0.0.} {abc: (   
c030: 20 20 20 20 20 20 30 29 20 3a 78 79 7a 7d 0a 64        0) :xyz}.d
c040: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
c050: 33 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  3.4.4 {.  sqlite
c060: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
c070: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
c080: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
c090: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
c0a0: 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (0) :xyz}.do_tes
c0b0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 35  t printf-2.3.4.5
c0c0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c0d0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c0e0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
c0f0: 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d 20  yz} 10 10 0.0.} 
c100: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30 2e 30  {abc: 10 10 (0.0
c110: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
c120: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34  est printf-2.3.4
c130: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
c140: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
c150: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
c160: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
c170: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
c180: 28 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  (0000000000) :xy
c190: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
c1a0: 66 2d 32 2e 33 2e 34 2e 37 20 7b 0a 20 20 73 71  f-2.3.4.7 {.  sq
c1b0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
c1c0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
c1d0: 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d   (%10.10f) :xyz}
c1e0: 20 31 30 20 31 30 20 30 2e 30 0a 7d 20 7b 61 62   10 10 0.0.} {ab
c1f0: 63 3a 20 31 30 20 31 30 20 28 30 2e 30 30 30 30  c: 10 10 (0.0000
c200: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
c210: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c220: 2e 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.8 {.  sqlite3
c230: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c240: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
c250: 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10e) :xyz} 10 1
c260: 30 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0 0.0.} {abc: 10
c270: 20 31 30 20 28 30 2e 30 30 30 30 30 30 30 30 30   10 (0.000000000
c280: 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
c290: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
c2a0: 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.9 {.  sqlite3_
c2b0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
c2c0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
c2d0: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10g) :xyz} 10 10
c2e0: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   0.0.} {abc: 10 
c2f0: 31 30 20 28 20 20 20 20 20 20 20 20 20 30 29 20  10 (         0) 
c300: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
c310: 69 6e 74 66 2d 32 2e 33 2e 35 2e 31 20 7b 0a 20  intf-2.3.5.1 {. 
c320: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
c330: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
c340: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*f) :xyz} 10 1
c350: 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 100.0.} {abc: 
c360: 28 31 30 30 2e 30 30 30 30 30 30 30 30 30 30 29  (100.0000000000)
c370: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c380: 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 32 20 7b 0a  rintf-2.3.5.2 {.
c390: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
c3a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
c3b0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
c3c0: 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a  10 100.0.} {abc:
c3d0: 20 28 31 2e 30 30 30 30 30 30 30 30 30 30 65 2b   (1.0000000000e+
c3e0: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
c3f0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 33  t printf-2.3.5.3
c400: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c410: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c420: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
c430: 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61  10 10 100.0.} {a
c440: 62 63 3a 20 28 20 20 20 20 20 20 20 31 30 30 29  bc: (       100)
c450: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c460: 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 34 20 7b 0a  rintf-2.3.5.4 {.
c470: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
c480: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
c490: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
c4a0: 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61  10 10 100.0.} {a
c4b0: 62 63 3a 20 31 30 20 31 30 20 28 31 30 30 29 20  bc: 10 10 (100) 
c4c0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
c4d0: 69 6e 74 66 2d 32 2e 33 2e 35 2e 35 20 7b 0a 20  intf-2.3.5.5 {. 
c4e0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
c4f0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
c500: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
c510: 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61  10 10 100.0.} {a
c520: 62 63 3a 20 31 30 20 31 30 20 28 31 30 30 2e 30  bc: 10 10 (100.0
c530: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
c540: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 36  t printf-2.3.5.6
c550: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c560: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c570: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
c580: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 30 30 2e  :xyz} 10 10 100.
c590: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
c5a0: 28 30 30 30 30 30 30 30 31 30 30 29 20 3a 78 79  (0000000100) :xy
c5b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
c5c0: 66 2d 32 2e 33 2e 35 2e 37 20 7b 0a 20 20 73 71  f-2.3.5.7 {.  sq
c5d0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
c5e0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
c5f0: 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d   (%10.10f) :xyz}
c600: 20 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b   10 10 100.0.} {
c610: 61 62 63 3a 20 31 30 20 31 30 20 28 31 30 30 2e  abc: 10 10 (100.
c620: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
c630: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c640: 2d 32 2e 33 2e 35 2e 38 20 7b 0a 20 20 73 71 6c  -2.3.5.8 {.  sql
c650: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c660: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
c670: 28 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20  (%10.10e) :xyz} 
c680: 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61  10 10 100.0.} {a
c690: 62 63 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30  bc: 10 10 (1.000
c6a0: 30 30 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79  0000000e+02) :xy
c6b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
c6c0: 66 2d 32 2e 33 2e 35 2e 39 20 7b 0a 20 20 73 71  f-2.3.5.9 {.  sq
c6d0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
c6e0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
c6f0: 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d   (%10.10g) :xyz}
c700: 20 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b   10 10 100.0.} {
c710: 61 62 63 3a 20 31 30 20 31 30 20 28 20 20 20 20  abc: 10 10 (    
c720: 20 20 20 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f     100) :xyz}.do
c730: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c740: 2e 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.1 {.  sqlite3
c750: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c760: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
c770: 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39  yz} 10 10 9.9999
c780: 39 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39  9.} {abc: (9.999
c790: 39 39 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  9900000) :xyz}.d
c7a0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
c7b0: 33 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  3.6.2 {.  sqlite
c7c0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
c7d0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
c7e0: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39  xyz} 10 10 9.999
c7f0: 39 39 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39  99.} {abc: (9.99
c800: 39 39 39 30 30 30 30 30 65 2b 30 30 29 20 3a 78  99900000e+00) :x
c810: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
c820: 74 66 2d 32 2e 33 2e 36 2e 33 20 7b 0a 20 20 73  tf-2.3.6.3 {.  s
c830: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
c840: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
c850: 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *g) :xyz} 10 10 
c860: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
c870: 28 20 20 20 39 2e 39 39 39 39 39 29 20 3a 78 79  (   9.99999) :xy
c880: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
c890: 66 2d 32 2e 33 2e 36 2e 34 20 7b 0a 20 20 73 71  f-2.3.6.4 {.  sq
c8a0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
c8b0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
c8c0: 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31   (%g) :xyz} 10 1
c8d0: 30 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  0 9.99999.} {abc
c8e0: 3a 20 31 30 20 31 30 20 28 39 2e 39 39 39 39 39  : 10 10 (9.99999
c8f0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
c900: 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 35 20 7b  printf-2.3.6.5 {
c910: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
c920: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
c930: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
c940: 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a  } 10 10 9.99999.
c950: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39  } {abc: 10 10 (9
c960: 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
c970: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c980: 2e 36 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.6 {.  sqlite3
c990: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c9a0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
c9b0: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0g) :xyz} 10 10 
c9c0: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
c9d0: 31 30 20 31 30 20 28 30 30 30 39 2e 39 39 39 39  10 10 (0009.9999
c9e0: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
c9f0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 37 20   printf-2.3.6.7 
ca00: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ca10: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ca20: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66 29   %d %d (%10.10f)
ca30: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39   :xyz} 10 10 9.9
ca40: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
ca50: 31 30 20 28 39 2e 39 39 39 39 39 30 30 30 30 30  10 (9.9999900000
ca60: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
ca70: 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 38 20 7b  printf-2.3.6.8 {
ca80: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
ca90: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
caa0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29 20  %d %d (%10.10e) 
cab0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39  :xyz} 10 10 9.99
cac0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  999.} {abc: 10 1
cad0: 30 20 28 39 2e 39 39 39 39 39 30 30 30 30 30 65  0 (9.9999900000e
cae0: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
caf0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e  st printf-2.3.6.
cb00: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
cb10: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
cb20: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
cb30: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39  g) :xyz} 10 10 9
cb40: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
cb50: 30 20 31 30 20 28 20 20 20 39 2e 39 39 39 39 39  0 10 (   9.99999
cb60: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
cb70: 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 31 20 7b  printf-2.3.7.1 {
cb80: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
cb90: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
cba0: 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30  (%*.*f) :xyz} 10
cbb0: 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b   10 -0.00543.} {
cbc0: 61 62 63 3a 20 28 2d 30 2e 30 30 35 34 33 30 30  abc: (-0.0054300
cbd0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
cbe0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e  st printf-2.3.7.
cbf0: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
cc00: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
cc10: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
cc20: 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a   10 10 -0.00543.
cc30: 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34 33 30 30  } {abc: (-5.4300
cc40: 30 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a  000000e-03) :xyz
cc50: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
cc60: 2d 32 2e 33 2e 37 2e 33 20 7b 0a 20 20 73 71 6c  -2.3.7.3 {.  sql
cc70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
cc80: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
cc90: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 30  ) :xyz} 10 10 -0
cca0: 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
ccb0: 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a    -0.00543) :xyz
ccc0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ccd0: 2d 32 2e 33 2e 37 2e 34 20 7b 0a 20 20 73 71 6c  -2.3.7.4 {.  sql
cce0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ccf0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
cd00: 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  (%g) :xyz} 10 10
cd10: 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
cd20: 3a 20 31 30 20 31 30 20 28 2d 30 2e 30 30 35 34  : 10 10 (-0.0054
cd30: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
cd40: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 35 20   printf-2.3.7.5 
cd50: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
cd60: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
cd70: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
cd80: 7a 7d 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34  z} 10 10 -0.0054
cd90: 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  3.} {abc: 10 10 
cda0: 28 2d 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78  (-0.00543000) :x
cdb0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
cdc0: 74 66 2d 32 2e 33 2e 37 2e 36 20 7b 0a 20 20 73  tf-2.3.7.6 {.  s
cdd0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
cde0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
cdf0: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
ce00: 31 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d  10 10 -0.00543.}
ce10: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 30   {abc: 10 10 (-0
ce20: 30 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  00.00543) :xyz}.
ce30: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ce40: 2e 33 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .3.7.7 {.  sqlit
ce50: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ce60: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
ce70: 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30  10.10f) :xyz} 10
ce80: 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b   10 -0.00543.} {
ce90: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 30 2e 30  abc: 10 10 (-0.0
cea0: 30 35 34 33 30 30 30 30 30 29 20 3a 78 79 7a 7d  054300000) :xyz}
ceb0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
cec0: 32 2e 33 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69  2.3.7.8 {.  sqli
ced0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
cee0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
cef0: 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31  %10.10e) :xyz} 1
cf00: 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20  0 10 -0.00543.} 
cf10: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 35 2e  {abc: 10 10 (-5.
cf20: 34 33 30 30 30 30 30 30 30 30 65 2d 30 33 29 20  4300000000e-03) 
cf30: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
cf40: 69 6e 74 66 2d 32 2e 33 2e 37 2e 39 20 7b 0a 20  intf-2.3.7.9 {. 
cf50: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
cf60: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
cf70: 20 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78   %d (%10.10g) :x
cf80: 79 7a 7d 20 31 30 20 31 30 20 2d 30 2e 30 30 35  yz} 10 10 -0.005
cf90: 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  43.} {abc: 10 10
cfa0: 20 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78   (  -0.00543) :x
cfb0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
cfc0: 74 66 2d 32 2e 33 2e 38 2e 31 20 7b 0a 20 20 73  tf-2.3.8.1 {.  s
cfd0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
cfe0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
cff0: 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *f) :xyz} 10 10 
d000: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
d010: 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  .0000000000) :xy
d020: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d030: 66 2d 32 2e 33 2e 38 2e 32 20 7b 0a 20 20 73 71  f-2.3.8.2 {.  sq
d040: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d050: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
d060: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  e) :xyz} 10 10 -
d070: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e  1.0.} {abc: (-1.
d080: 30 30 30 30 30 30 30 30 30 30 65 2b 30 30 29 20  0000000000e+00) 
d090: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
d0a0: 69 6e 74 66 2d 32 2e 33 2e 38 2e 33 20 7b 0a 20  intf-2.3.8.3 {. 
d0b0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
d0c0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
d0d0: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*g) :xyz} 10 1
d0e0: 30 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28  0 -1.0.} {abc: (
d0f0: 20 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a          -1) :xyz
d100: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d110: 2d 32 2e 33 2e 38 2e 34 20 7b 0a 20 20 73 71 6c  -2.3.8.4 {.  sql
d120: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
d130: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
d140: 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  (%g) :xyz} 10 10
d150: 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30   -1.0.} {abc: 10
d160: 20 31 30 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64   10 (-1) :xyz}.d
d170: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
d180: 33 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  3.8.5 {.  sqlite
d190: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
d1a0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
d1b0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
d1c0: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  1.0.} {abc: 10 1
d1d0: 30 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79  0 (-1.00000) :xy
d1e0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d1f0: 66 2d 32 2e 33 2e 38 2e 36 20 7b 0a 20 20 73 71  f-2.3.8.6 {.  sq
d200: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d210: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
d220: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
d230: 30 20 31 30 20 2d 31 2e 30 0a 7d 20 7b 61 62 63  0 10 -1.0.} {abc
d240: 3a 20 31 30 20 31 30 20 28 2d 30 30 30 30 30 30  : 10 10 (-000000
d250: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
d260: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e  st printf-2.3.8.
d270: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
d280: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
d290: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
d2a0: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  f) :xyz} 10 10 -
d2b0: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  1.0.} {abc: 10 1
d2c0: 30 20 28 2d 31 2e 30 30 30 30 30 30 30 30 30 30  0 (-1.0000000000
d2d0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
d2e0: 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 38 20 7b  printf-2.3.8.8 {
d2f0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
d300: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
d310: 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29 20  %d %d (%10.10e) 
d320: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30  :xyz} 10 10 -1.0
d330: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
d340: 2d 31 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30  -1.0000000000e+0
d350: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
d360: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 39 20   printf-2.3.8.9 
d370: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
d380: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
d390: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29   %d %d (%10.10g)
d3a0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e   :xyz} 10 10 -1.
d3b0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
d3c0: 28 20 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79  (        -1) :xy
d3d0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d3e0: 66 2d 32 2e 33 2e 39 2e 31 20 7b 0a 20 20 73 71  f-2.3.9.1 {.  sq
d3f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d400: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
d410: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  f) :xyz} 10 10 -
d420: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
d430: 20 28 2d 39 39 2e 39 39 39 39 39 30 30 30 30 30   (-99.9999900000
d440: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
d450: 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e 32 20 7b  printf-2.3.9.2 {
d460: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
d470: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
d480: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
d490: 20 31 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20   10 -99.99999.} 
d4a0: 7b 61 62 63 3a 20 28 2d 39 2e 39 39 39 39 39 39  {abc: (-9.999999
d4b0: 30 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a  0000e+01) :xyz}.
d4c0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
d4d0: 2e 33 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .3.9.3 {.  sqlit
d4e0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
d4f0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
d500: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e  :xyz} 10 10 -99.
d510: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20  99999.} {abc: ( 
d520: 2d 39 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  -99.99999) :xyz}
d530: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d540: 32 2e 33 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69  2.3.9.4 {.  sqli
d550: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
d560: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
d570: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
d580: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
d590: 3a 20 31 30 20 31 30 20 28 2d 31 30 30 29 20 3a  : 10 10 (-100) :
d5a0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
d5b0: 6e 74 66 2d 32 2e 33 2e 39 2e 35 20 7b 0a 20 20  ntf-2.3.9.5 {.  
d5c0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
d5d0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
d5e0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
d5f0: 30 20 31 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d  0 10 -99.99999.}
d600: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 31   {abc: 10 10 (-1
d610: 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00.000) :xyz}.do
d620: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d630: 2e 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.6 {.  sqlite3
d640: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d650: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
d660: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0g) :xyz} 10 10 
d670: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
d680: 3a 20 31 30 20 31 30 20 28 2d 30 30 30 30 30 30  : 10 10 (-000000
d690: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
d6a0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e  st printf-2.3.9.
d6b0: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
d6c0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
d6d0: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
d6e0: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  f) :xyz} 10 10 -
d6f0: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
d700: 20 31 30 20 31 30 20 28 2d 39 39 2e 39 39 39 39   10 10 (-99.9999
d710: 39 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  900000) :xyz}.do
d720: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d730: 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.8 {.  sqlite3
d740: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d750: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
d760: 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10e) :xyz} 10 1
d770: 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  0 -99.99999.} {a
d780: 62 63 3a 20 31 30 20 31 30 20 28 2d 39 2e 39 39  bc: 10 10 (-9.99
d790: 39 39 39 39 30 30 30 30 65 2b 30 31 29 20 3a 78  99990000e+01) :x
d7a0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
d7b0: 74 66 2d 32 2e 33 2e 39 2e 39 20 7b 0a 20 20 73  tf-2.3.9.9 {.  s
d7c0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d7d0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
d7e0: 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a  d (%10.10g) :xyz
d7f0: 7d 20 31 30 20 31 30 20 2d 39 39 2e 39 39 39 39  } 10 10 -99.9999
d800: 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  9.} {abc: 10 10 
d810: 28 20 2d 39 39 2e 39 39 39 39 39 29 20 3a 78 79  ( -99.99999) :xy
d820: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d830: 66 2d 32 2e 33 2e 31 30 2e 31 20 7b 0a 20 20 73  f-2.3.10.1 {.  s
d840: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d850: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
d860: 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *f) :xyz} 10 10 
d870: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
d880: 28 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 30  (3140000000.0000
d890: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
d8a0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d8b0: 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .10.2 {.  sqlite
d8c0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
d8d0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
d8e0: 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65  xyz} 10 10 3.14e
d8f0: 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34  +9.} {abc: (3.14
d900: 30 30 30 30 30 30 30 30 65 2b 30 39 29 20 3a 78  00000000e+09) :x
d910: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
d920: 74 66 2d 32 2e 33 2e 31 30 2e 33 20 7b 0a 20 20  tf-2.3.10.3 {.  
d930: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
d940: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
d950: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*g) :xyz} 10 10
d960: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
d970: 20 28 33 31 34 30 30 30 30 30 30 30 29 20 3a 78   (3140000000) :x
d980: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
d990: 74 66 2d 32 2e 33 2e 31 30 2e 34 20 7b 0a 20 20  tf-2.3.10.4 {.  
d9a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
d9b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
d9c0: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
d9d0: 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61   10 3.14e+9.} {a
d9e0: 62 63 3a 20 31 30 20 31 30 20 28 33 2e 31 34 65  bc: 10 10 (3.14e
d9f0: 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
da00: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30  st printf-2.3.10
da10: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
da20: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
da30: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
da40: 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34  :xyz} 10 10 3.14
da50: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  e+9.} {abc: 10 1
da60: 30 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20  0 (3.14000e+09) 
da70: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
da80: 69 6e 74 66 2d 32 2e 33 2e 31 30 2e 36 20 7b 0a  intf-2.3.10.6 {.
da90: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
daa0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
dab0: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
dac0: 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65 2b 39  z} 10 10 3.14e+9
dad0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
dae0: 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a  003.14e+09) :xyz
daf0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
db00: 2d 32 2e 33 2e 31 30 2e 37 20 7b 0a 20 20 73 71  -2.3.10.7 {.  sq
db10: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
db20: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
db30: 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d   (%10.10f) :xyz}
db40: 20 31 30 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d   10 10 3.14e+9.}
db50: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 31   {abc: 10 10 (31
db60: 34 30 30 30 30 30 30 30 2e 30 30 30 30 30 30 30  40000000.0000000
db70: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
db80: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30  st printf-2.3.10
db90: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
dba0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
dbb0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
dbc0: 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0e) :xyz} 10 10 
dbd0: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
dbe0: 31 30 20 31 30 20 28 33 2e 31 34 30 30 30 30 30  10 10 (3.1400000
dbf0: 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  000e+09) :xyz}.d
dc00: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
dc10: 33 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74  3.10.9 {.  sqlit
dc20: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
dc30: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
dc40: 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  10.10g) :xyz} 10
dc50: 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61   10 3.14e+9.} {a
dc60: 62 63 3a 20 31 30 20 31 30 20 28 33 31 34 30 30  bc: 10 10 (31400
dc70: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
dc80: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
dc90: 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.2 {.  sqlite3
dca0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
dcb0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
dcc0: 79 7a 7d 20 31 30 20 31 30 20 2d 34 2e 37 32 37  yz} 10 10 -4.727
dcd0: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28  32e+88.} {abc: (
dce0: 2d 34 2e 37 32 37 33 32 30 30 30 30 30 65 2b 38  -4.7273200000e+8
dcf0: 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
dd00: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31 2e 33   printf-2.3.11.3
dd10: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
dd20: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
dd30: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
dd40: 31 30 20 31 30 20 2d 34 2e 37 32 37 33 32 65 2b  10 10 -4.72732e+
dd50: 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37  88.} {abc: (-4.7
dd60: 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
dd70: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
dd80: 2e 33 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69  .3.11.4 {.  sqli
dd90: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
dda0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
ddb0: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
ddc0: 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
ddd0: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37  abc: 10 10 (-4.7
dde0: 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
ddf0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
de00: 2e 33 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69  .3.11.5 {.  sqli
de10: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
de20: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
de30: 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  %#g) :xyz} 10 10
de40: 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
de50: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e  {abc: 10 10 (-4.
de60: 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d  72732e+88) :xyz}
de70: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
de80: 32 2e 33 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c  2.3.11.6 {.  sql
de90: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
dea0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
deb0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
dec0: 20 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38   10 -4.72732e+88
ded0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
dee0: 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
def0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
df00: 74 66 2d 32 2e 33 2e 31 31 2e 38 20 7b 0a 20 20  tf-2.3.11.8 {.  
df10: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
df20: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
df30: 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79  %d (%10.10e) :xy
df40: 7a 7d 20 31 30 20 31 30 20 2d 34 2e 37 32 37 33  z} 10 10 -4.7273
df50: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30  2e+88.} {abc: 10
df60: 20 31 30 20 28 2d 34 2e 37 32 37 33 32 30 30 30   10 (-4.72732000
df70: 30 30 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  00e+88) :xyz}.do
df80: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
df90: 2e 31 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .11.9 {.  sqlite
dfa0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
dfb0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
dfc0: 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  0.10g) :xyz} 10 
dfd0: 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a  10 -4.72732e+88.
dfe0: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d  } {abc: 10 10 (-
dff0: 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
e000: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
e010: 66 2d 32 2e 33 2e 31 32 2e 32 20 7b 0a 20 20 73  f-2.3.12.2 {.  s
e020: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
e030: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
e040: 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *e) :xyz} 10 10 
e050: 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
e060: 61 62 63 3a 20 28 39 2e 38 37 39 39 31 30 30 30  abc: (9.87991000
e070: 30 30 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  00e+143) :xyz}.d
e080: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
e090: 33 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74  3.12.3 {.  sqlit
e0a0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
e0b0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
e0c0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 38 37  :xyz} 10 10 9.87
e0d0: 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
e0e0: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
e0f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
e100: 69 6e 74 66 2d 32 2e 33 2e 31 32 2e 34 20 7b 0a  intf-2.3.12.4 {.
e110: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
e120: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
e130: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
e140: 31 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31  10 10 9.87991e+1
e150: 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  43.} {abc: 10 10
e160: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
e170: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
e180: 69 6e 74 66 2d 32 2e 33 2e 31 32 2e 35 20 7b 0a  intf-2.3.12.5 {.
e190: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
e1a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
e1b0: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
e1c0: 20 31 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b   10 10 9.87991e+
e1d0: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  143.} {abc: 10 1
e1e0: 30 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  0 (9.87991e+143)
e1f0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e200: 72 69 6e 74 66 2d 32 2e 33 2e 31 32 2e 36 20 7b  rintf-2.3.12.6 {
e210: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e220: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e230: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
e240: 79 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39  yz} 10 10 9.8799
e250: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31  1e+143.} {abc: 1
e260: 30 20 31 30 20 28 39 2e 38 37 39 39 31 65 2b 31  0 10 (9.87991e+1
e270: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
e280: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 32 2e  t printf-2.3.12.
e290: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
e2a0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
e2b0: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
e2c0: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39  e) :xyz} 10 10 9
e2d0: 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
e2e0: 62 63 3a 20 31 30 20 31 30 20 28 39 2e 38 37 39  bc: 10 10 (9.879
e2f0: 39 31 30 30 30 30 30 65 2b 31 34 33 29 20 3a 78  9100000e+143) :x
e300: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e310: 74 66 2d 32 2e 33 2e 31 32 2e 39 20 7b 0a 20 20  tf-2.3.12.9 {.  
e320: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e330: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e340: 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79  %d (%10.10g) :xy
e350: 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39 31  z} 10 10 9.87991
e360: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30  e+143.} {abc: 10
e370: 20 31 30 20 28 39 2e 38 37 39 39 31 65 2b 31 34   10 (9.87991e+14
e380: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
e390: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 31   printf-2.3.13.1
e3a0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
e3b0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
e3c0: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
e3d0: 31 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65  10 10 -6.287291e
e3e0: 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30  -9.} {abc: (-0.0
e3f0: 30 30 30 30 30 30 30 36 33 29 20 3a 78 79 7a 7d  000000063) :xyz}
e400: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
e410: 32 2e 33 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c  2.3.13.2 {.  sql
e420: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
e430: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
e440: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36  ) :xyz} 10 10 -6
e450: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
e460: 63 3a 20 28 2d 36 2e 32 38 37 32 39 31 30 30 30  c: (-6.287291000
e470: 30 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-09) :xyz}.do_
e480: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
e490: 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.3 {.  sqlite3
e4a0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
e4b0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
e4c0: 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37  yz} 10 10 -6.287
e4d0: 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28  291e-9.} {abc: (
e4e0: 2d 36 2e 32 38 37 32 39 31 65 2d 30 39 29 20 3a  -6.287291e-09) :
e4f0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
e500: 6e 74 66 2d 32 2e 33 2e 31 33 2e 34 20 7b 0a 20  ntf-2.3.13.4 {. 
e510: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
e520: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
e530: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
e540: 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d  0 10 -6.287291e-
e550: 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  9.} {abc: 10 10 
e560: 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
e570: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
e580: 6e 74 66 2d 32 2e 33 2e 31 33 2e 35 20 7b 0a 20  ntf-2.3.13.5 {. 
e590: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
e5a0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
e5b0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
e5c0: 31 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65  10 10 -6.287291e
e5d0: 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  -9.} {abc: 10 10
e5e0: 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
e5f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
e600: 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 36 20 7b 0a  intf-2.3.13.6 {.
e610: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
e620: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
e630: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
e640: 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32  z} 10 10 -6.2872
e650: 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30  91e-9.} {abc: 10
e660: 20 31 30 20 28 2d 36 2e 32 38 37 32 39 65 2d 30   10 (-6.28729e-0
e670: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
e680: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 37   printf-2.3.13.7
e690: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
e6a0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
e6b0: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66  : %d %d (%10.10f
e6c0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36  ) :xyz} 10 10 -6
e6d0: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
e6e0: 63 3a 20 31 30 20 31 30 20 28 2d 30 2e 30 30 30  c: 10 10 (-0.000
e6f0: 30 30 30 30 30 36 33 29 20 3a 78 79 7a 7d 0a 64  0000063) :xyz}.d
e700: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
e710: 33 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74  3.13.8 {.  sqlit
e720: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
e730: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
e740: 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30  10.10e) :xyz} 10
e750: 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39   10 -6.287291e-9
e760: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
e770: 2d 36 2e 32 38 37 32 39 31 30 30 30 30 65 2d 30  -6.2872910000e-0
e780: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
e790: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 39   printf-2.3.13.9
e7a0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
e7b0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
e7c0: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67  : %d %d (%10.10g
e7d0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36  ) :xyz} 10 10 -6
e7e0: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
e7f0: 63 3a 20 31 30 20 31 30 20 28 2d 36 2e 32 38 37  c: 10 10 (-6.287
e800: 32 39 31 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  291e-09) :xyz}.d
e810: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
e820: 33 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74  3.14.1 {.  sqlit
e830: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
e840: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
e850: 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38  :xyz} 10 10 3.38
e860: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
e870: 62 63 3a 20 28 30 2e 30 30 30 30 30 30 30 30 30  bc: (0.000000000
e880: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
e890: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 32   printf-2.3.14.2
e8a0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
e8b0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
e8c0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
e8d0: 31 30 20 31 30 20 33 2e 33 38 38 32 36 33 39 32  10 10 3.38826392
e8e0: 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33  e-110.} {abc: (3
e8f0: 2e 33 38 38 32 36 33 39 32 30 30 65 2d 31 31 30  .3882639200e-110
e900: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e910: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 33 20  printf-2.3.14.3 
e920: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e930: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e940: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
e950: 30 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65  0 10 3.38826392e
e960: 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
e970: 33 38 38 32 36 33 39 32 65 2d 31 31 30 29 20 3a  38826392e-110) :
e980: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
e990: 6e 74 66 2d 32 2e 33 2e 31 34 2e 34 20 7b 0a 20  ntf-2.3.14.4 {. 
e9a0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
e9b0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
e9c0: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
e9d0: 30 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65  0 10 3.38826392e
e9e0: 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -110.} {abc: 10 
e9f0: 31 30 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30  10 (3.38826e-110
ea00: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
ea10: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 35 20  printf-2.3.14.5 
ea20: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ea30: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ea40: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
ea50: 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38 32 36  z} 10 10 3.38826
ea60: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
ea70: 20 31 30 20 31 30 20 28 33 2e 33 38 38 32 36 65   10 10 (3.38826e
ea80: 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
ea90: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
eaa0: 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.6 {.  sqlite3_
eab0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
eac0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
ead0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  g) :xyz} 10 10 3
eae0: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
eaf0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e   {abc: 10 10 (3.
eb00: 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
eb10: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
eb20: 2d 32 2e 33 2e 31 34 2e 37 20 7b 0a 20 20 73 71  -2.3.14.7 {.  sq
eb30: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
eb40: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
eb50: 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d   (%10.10f) :xyz}
eb60: 20 31 30 20 31 30 20 33 2e 33 38 38 32 36 33 39   10 10 3.3882639
eb70: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31  2e-110.} {abc: 1
eb80: 30 20 31 30 20 28 30 2e 30 30 30 30 30 30 30 30  0 10 (0.00000000
eb90: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
eba0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e  t printf-2.3.14.
ebb0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
ebc0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
ebd0: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
ebe0: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  e) :xyz} 10 10 3
ebf0: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
ec00: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e   {abc: 10 10 (3.
ec10: 33 38 38 32 36 33 39 32 30 30 65 2d 31 31 30 29  3882639200e-110)
ec20: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
ec30: 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 39 20 7b  rintf-2.3.14.9 {
ec40: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
ec50: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
ec60: 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20  %d %d (%10.10g) 
ec70: 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38  :xyz} 10 10 3.38
ec80: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
ec90: 62 63 3a 20 31 30 20 31 30 20 28 33 2e 33 38 38  bc: 10 10 (3.388
eca0: 32 36 33 39 32 65 2d 31 31 30 29 20 3a 78 79 7a  26392e-110) :xyz
ecb0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ecc0: 2d 32 2e 34 2e 31 2e 31 20 7b 0a 20 20 73 71 6c  -2.4.1.1 {.  sql
ecd0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ece0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
ecf0: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30  ) :xyz} 10 5 0.0
ed00: 30 31 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 30  01.} {abc: (   0
ed10: 2e 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00100) :xyz}.do
ed20: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
ed30: 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.2 {.  sqlite3
ed40: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
ed50: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
ed60: 79 7a 7d 20 31 30 20 35 20 30 2e 30 30 31 0a 7d  yz} 10 5 0.001.}
ed70: 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 65   {abc: (1.00000e
ed80: 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
ed90: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e  st printf-2.4.1.
eda0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
edb0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
edc0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
edd0: 20 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61   10 5 0.001.} {a
ede0: 62 63 3a 20 28 20 20 20 20 20 30 2e 30 30 31 29  bc: (     0.001)
edf0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
ee00: 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 34 20 7b 0a  rintf-2.4.1.4 {.
ee10: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
ee20: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
ee30: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
ee40: 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62  10 5 0.001.} {ab
ee50: 63 3a 20 31 30 20 35 20 28 30 2e 30 30 31 29 20  c: 10 5 (0.001) 
ee60: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
ee70: 69 6e 74 66 2d 32 2e 34 2e 31 2e 35 20 7b 0a 20  intf-2.4.1.5 {. 
ee80: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ee90: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
eea0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
eeb0: 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62  10 5 0.001.} {ab
eec0: 63 3a 20 31 30 20 35 20 28 30 2e 30 30 31 30 30  c: 10 5 (0.00100
eed0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
eee0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e  st printf-2.4.1.
eef0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
ef00: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
ef10: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
ef20: 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30   :xyz} 10 5 0.00
ef30: 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  1.} {abc: 10 5 (
ef40: 30 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a  000000.001) :xyz
ef50: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ef60: 2d 32 2e 34 2e 31 2e 37 20 7b 0a 20 20 73 71 6c  -2.4.1.7 {.  sql
ef70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ef80: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
ef90: 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
efa0: 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  0 5 0.001.} {abc
efb0: 3a 20 31 30 20 35 20 28 20 20 20 30 2e 30 30 31  : 10 5 (   0.001
efc0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
efd0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 38  t printf-2.4.1.8
efe0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
eff0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f000: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29  : %d %d (%10.5e)
f010: 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30   :xyz} 10 5 0.00
f020: 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  1.} {abc: 10 5 (
f030: 31 2e 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79  1.00000e-03) :xy
f040: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
f050: 66 2d 32 2e 34 2e 31 2e 39 20 7b 0a 20 20 73 71  f-2.4.1.9 {.  sq
f060: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
f070: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
f080: 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
f090: 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62  10 5 0.001.} {ab
f0a0: 63 3a 20 31 30 20 35 20 28 20 20 20 20 20 30 2e  c: 10 5 (     0.
f0b0: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
f0c0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e  st printf-2.4.2.
f0d0: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
f0e0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
f0f0: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
f100: 20 31 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20   10 5 1.0e-20.} 
f110: 7b 61 62 63 3a 20 28 20 20 20 30 2e 30 30 30 30  {abc: (   0.0000
f120: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
f130: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 32 20   printf-2.4.2.2 
f140: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
f150: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
f160: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
f170: 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  0 5 1.0e-20.} {a
f180: 62 63 3a 20 28 31 2e 30 30 30 30 30 65 2d 32 30  bc: (1.00000e-20
f190: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
f1a0: 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 33 20 7b  printf-2.4.2.3 {
f1b0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
f1c0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
f1d0: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30  (%*.*g) :xyz} 10
f1e0: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
f1f0: 63 3a 20 28 20 20 20 20 20 31 65 2d 32 30 29 20  c: (     1e-20) 
f200: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f210: 69 6e 74 66 2d 32 2e 34 2e 32 2e 34 20 7b 0a 20  intf-2.4.2.4 {. 
f220: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f230: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
f240: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
f250: 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  0 5 1.0e-20.} {a
f260: 62 63 3a 20 31 30 20 35 20 28 31 65 2d 32 30 29  bc: 10 5 (1e-20)
f270: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f280: 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 35 20 7b 0a  rintf-2.4.2.5 {.
f290: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f2a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
f2b0: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
f2c0: 20 31 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20   10 5 1.0e-20.} 
f2d0: 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30  {abc: 10 5 (1.00
f2e0: 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  000e-20) :xyz}.d
f2f0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f300: 34 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  4.2.6 {.  sqlite
f310: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f320: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
f330: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
f340: 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
f350: 31 30 20 35 20 28 30 30 30 30 30 31 65 2d 32 30  10 5 (000001e-20
f360: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
f370: 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 37 20 7b  printf-2.4.2.7 {
f380: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
f390: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
f3a0: 25 64 20 25 64 20 28 25 31 30 2e 35 66 29 20 3a  %d %d (%10.5f) :
f3b0: 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 65 2d 32  xyz} 10 5 1.0e-2
f3c0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
f3d0: 20 20 20 30 2e 30 30 30 30 30 29 20 3a 78 79 7a     0.00000) :xyz
f3e0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
f3f0: 2d 32 2e 34 2e 32 2e 38 20 7b 0a 20 20 73 71 6c  -2.4.2.8 {.  sql
f400: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
f410: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
f420: 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31  (%10.5e) :xyz} 1
f430: 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  0 5 1.0e-20.} {a
f440: 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30 30  bc: 10 5 (1.0000
f450: 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-20) :xyz}.do_
f460: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
f470: 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.9 {.  sqlite3_
f480: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
f490: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
f4a0: 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  5g) :xyz} 10 5 1
f4b0: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31  .0e-20.} {abc: 1
f4c0: 30 20 35 20 28 20 20 20 20 20 31 65 2d 32 30 29  0 5 (     1e-20)
f4d0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f4e0: 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 31 20 7b 0a  rintf-2.4.3.1 {.
f4f0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f500: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
f510: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*f) :xyz} 10 
f520: 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  5 1.0.} {abc: ( 
f530: 20 20 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d    1.00000) :xyz}
f540: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f550: 32 2e 34 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69  2.4.3.2 {.  sqli
f560: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f570: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
f580: 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a   :xyz} 10 5 1.0.
f590: 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30  } {abc: (1.00000
f5a0: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
f5b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33  est printf-2.4.3
f5c0: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
f5d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
f5e0: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
f5f0: 7d 20 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62  } 10 5 1.0.} {ab
f600: 63 3a 20 28 20 20 20 20 20 20 20 20 20 31 29 20  c: (         1) 
f610: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f620: 69 6e 74 66 2d 32 2e 34 2e 33 2e 34 20 7b 0a 20  intf-2.4.3.4 {. 
f630: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f640: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
f650: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
f660: 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 5 1.0.} {abc: 
f670: 31 30 20 35 20 28 31 29 20 3a 78 79 7a 7d 0a 64  10 5 (1) :xyz}.d
f680: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f690: 34 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  4.3.5 {.  sqlite
f6a0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f6b0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
f6c0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e  g) :xyz} 10 5 1.
f6d0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
f6e0: 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  1.00000) :xyz}.d
f6f0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f700: 34 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  4.3.6 {.  sqlite
f710: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f720: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
f730: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
f740: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  1.0.} {abc: 10 5
f750: 20 28 30 30 30 30 30 30 30 30 30 31 29 20 3a 78   (0000000001) :x
f760: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
f770: 74 66 2d 32 2e 34 2e 33 2e 37 20 7b 0a 20 20 73  tf-2.4.3.7 {.  s
f780: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
f790: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
f7a0: 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d  d (%10.5f) :xyz}
f7b0: 20 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63   10 5 1.0.} {abc
f7c0: 3a 20 31 30 20 35 20 28 20 20 20 31 2e 30 30 30  : 10 5 (   1.000
f7d0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
f7e0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 38  t printf-2.4.3.8
f7f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
f800: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f810: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29  : %d %d (%10.5e)
f820: 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a   :xyz} 10 5 1.0.
f830: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e  } {abc: 10 5 (1.
f840: 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  00000e+00) :xyz}
f850: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f860: 32 2e 34 2e 33 2e 39 20 7b 0a 20 20 73 71 6c 69  2.4.3.9 {.  sqli
f870: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f880: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
f890: 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30  %10.5g) :xyz} 10
f8a0: 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   5 1.0.} {abc: 1
f8b0: 30 20 35 20 28 20 20 20 20 20 20 20 20 20 31 29  0 5 (         1)
f8c0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f8d0: 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 31 20 7b 0a  rintf-2.4.4.1 {.
f8e0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f8f0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
f900: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*f) :xyz} 10 
f910: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  5 0.0.} {abc: ( 
f920: 20 20 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d    0.00000) :xyz}
f930: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f940: 32 2e 34 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69  2.4.4.2 {.  sqli
f950: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f960: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
f970: 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a   :xyz} 10 5 0.0.
f980: 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30  } {abc: (0.00000
f990: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
f9a0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34  est printf-2.4.4
f9b0: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
f9c0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
f9d0: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
f9e0: 7d 20 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62  } 10 5 0.0.} {ab
f9f0: 63 3a 20 28 20 20 20 20 20 20 20 20 20 30 29 20  c: (         0) 
fa00: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
fa10: 69 6e 74 66 2d 32 2e 34 2e 34 2e 34 20 7b 0a 20  intf-2.4.4.4 {. 
fa20: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
fa30: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
fa40: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
fa50: 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 5 0.0.} {abc: 
fa60: 31 30 20 35 20 28 30 29 20 3a 78 79 7a 7d 0a 64  10 5 (0) :xyz}.d
fa70: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
fa80: 34 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  4.4.5 {.  sqlite
fa90: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
faa0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
fab0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e  g) :xyz} 10 5 0.
fac0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
fad0: 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
fae0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
faf0: 34 2e 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  4.4.6 {.  sqlite
fb00: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
fb10: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
fb20: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
fb30: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  0.0.} {abc: 10 5
fb40: 20 28 30 30 30 30 30 30 30 30 30 30 29 20 3a 78   (0000000000) :x
fb50: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
fb60: 74 66 2d 32 2e 34 2e 34 2e 37 20 7b 0a 20 20 73  tf-2.4.4.7 {.  s
fb70: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
fb80: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
fb90: 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d  d (%10.5f) :xyz}
fba0: 20 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63   10 5 0.0.} {abc
fbb0: 3a 20 31 30 20 35 20 28 20 20 20 30 2e 30 30 30  : 10 5 (   0.000
fbc0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
fbd0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 38  t printf-2.4.4.8
fbe0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
fbf0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
fc00: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29  : %d %d (%10.5e)
fc10: 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a   :xyz} 10 5 0.0.
fc20: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 2e  } {abc: 10 5 (0.
fc30: 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  00000e+00) :xyz}
fc40: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
fc50: 32 2e 34 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69  2.4.4.9 {.  sqli
fc60: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
fc70: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
fc80: 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30  %10.5g) :xyz} 10
fc90: 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   5 0.0.} {abc: 1
fca0: 30 20 35 20 28 20 20 20 20 20 20 20 20 20 30 29  0 5 (         0)
fcb0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
fcc0: 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 31 20 7b 0a  rintf-2.4.5.1 {.
fcd0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
fce0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
fcf0: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*f) :xyz} 10 
fd00: 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 100.0.} {abc: 
fd10: 28 20 31 30 30 2e 30 30 30 30 30 29 20 3a 78 79  ( 100.00000) :xy
fd20: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
fd30: 66 2d 32 2e 34 2e 35 2e 32 20 7b 0a 20 20 73 71  f-2.4.5.2 {.  sq
fd40: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
fd50: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
fd60: 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 30  e) :xyz} 10 5 10
fd70: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  0.0.} {abc: (1.0
fd80: 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  0000e+02) :xyz}.
fd90: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
fda0: 2e 34 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .4.5.3 {.  sqlit
fdb0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
fdc0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
fdd0: 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30  :xyz} 10 5 100.0
fde0: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20 20  .} {abc: (      
fdf0: 20 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   100) :xyz}.do_t
fe00: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35  est printf-2.4.5
fe10: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
fe20: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
fe30: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
fe40: 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a  xyz} 10 5 100.0.
fe50: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 30  } {abc: 10 5 (10
fe60: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
fe70: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 35 20   printf-2.4.5.5 
fe80: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
fe90: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
fea0: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
feb0: 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20  z} 10 5 100.0.} 
fec0: 7b 61 62 63 3a 20 31 30 20 35 20 28 31 30 30 2e  {abc: 10 5 (100.
fed0: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
fee0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e  st printf-2.4.5.
fef0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
ff00: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
ff10: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
ff20: 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e   :xyz} 10 5 100.
ff30: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
ff40: 30 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a  0000000100) :xyz
ff50: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ff60: 2d 32 2e 34 2e 35 2e 37 20 7b 0a 20 20 73 71 6c  -2.4.5.7 {.  sql
ff70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ff80: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
ff90: 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
ffa0: 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  0 5 100.0.} {abc
ffb0: 3a 20 31 30 20 35 20 28 20 31 30 30 2e 30 30 30  : 10 5 ( 100.000
ffc0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
ffd0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 38  t printf-2.4.5.8
ffe0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
fff0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
10000 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29  : %d %d (%10.5e)
10010 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e   :xyz} 10 5 100.
10020 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
10030 31 2e 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79  1.00000e+02) :xy
10040 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
10050 66 2d 32 2e 34 2e 35 2e 39 20 7b 0a 20 20 73 71  f-2.4.5.9 {.  sq
10060 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
10070 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
10080 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
10090 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62  10 5 100.0.} {ab
100a0 63 3a 20 31 30 20 35 20 28 20 20 20 20 20 20 20  c: 10 5 (       
100b0 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
100c0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e  st printf-2.4.6.
100d0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
100e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
100f0 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
10100 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20   10 5 9.99999.} 
10110 7b 61 62 63 3a 20 28 20 20 20 39 2e 39 39 39 39  {abc: (   9.9999
10120 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
10130 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 32 20   printf-2.4.6.2 
10140 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
10150 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
10160 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
10170 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  0 5 9.99999.} {a
10180 62 63 3a 20 28 39 2e 39 39 39 39 39 65 2b 30 30  bc: (9.99999e+00
10190 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
101a0 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 33 20 7b  printf-2.4.6.3 {
101b0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
101c0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
101d0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30  (%*.*g) :xyz} 10
101e0 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
101f0 63 3a 20 28 20 20 20 20 20 20 20 20 31 30 29 20  c: (        10) 
10200 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
10210 69 6e 74 66 2d 32 2e 34 2e 36 2e 34 20 7b 0a 20  intf-2.4.6.4 {. 
10220 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
10230 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
10240 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
10250 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  0 5 9.99999.} {a
10260 62 63 3a 20 31 30 20 35 20 28 39 2e 39 39 39 39  bc: 10 5 (9.9999
10270 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
10280 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 35 20   printf-2.4.6.5 
10290 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
102a0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
102b0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
102c0 7a 7d 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a  z} 10 5 9.99999.
102d0 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e  } {abc: 10 5 (9.
102e0 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  99999) :xyz}.do_
102f0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10300 36 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.6 {.  sqlite3_
10310 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10320 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
10330 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e  g) :xyz} 10 5 9.
10340 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30  99999.} {abc: 10
10350 20 35 20 28 30 30 30 39 2e 39 39 39 39 39 29 20   5 (0009.99999) 
10360 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
10370 69 6e 74 66 2d 32 2e 34 2e 36 2e 37 20 7b 0a 20  intf-2.4.6.7 {. 
10380 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
10390 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
103a0 20 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79   %d (%10.5f) :xy
103b0 7a 7d 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a  z} 10 5 9.99999.
103c0 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20  } {abc: 10 5 (  
103d0 20 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a   9.99999) :xyz}.
103e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
103f0 2e 34 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .4.6.8 {.  sqlit
10400 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10410 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10420 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20  10.5e) :xyz} 10 
10430 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  5 9.99999.} {abc
10440 3a 20 31 30 20 35 20 28 39 2e 39 39 39 39 39 65  : 10 5 (9.99999e
10450 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
10460 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e  st printf-2.4.6.
10470 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
10480 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10490 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67  c: %d %d (%10.5g
104a0 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 39  ) :xyz} 10 5 9.9
104b0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
104c0 35 20 28 20 20 20 20 20 20 20 20 31 30 29 20 3a  5 (        10) :
104d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
104e0 6e 74 66 2d 32 2e 34 2e 37 2e 31 20 7b 0a 20 20  ntf-2.4.7.1 {.  
104f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10500 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
10510 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*f) :xyz} 10 5 
10520 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
10530 20 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78   (  -0.00543) :x
10540 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10550 74 66 2d 32 2e 34 2e 37 2e 32 20 7b 0a 20 20 73  tf-2.4.7.2 {.  s
10560 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10570 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
10580 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  *e) :xyz} 10 5 -
10590 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
105a0 28 2d 35 2e 34 33 30 30 30 65 2d 30 33 29 20 3a  (-5.43000e-03) :
105b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
105c0 6e 74 66 2d 32 2e 34 2e 37 2e 33 20 7b 0a 20 20  ntf-2.4.7.3 {.  
105d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
105e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
105f0 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*g) :xyz} 10 5 
10600 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
10610 20 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78   (  -0.00543) :x
10620 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10630 74 66 2d 32 2e 34 2e 37 2e 34 20 7b 0a 20 20 73  tf-2.4.7.4 {.  s
10640 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10650 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
10660 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
10670 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  5 -0.00543.} {ab
10680 63 3a 20 31 30 20 35 20 28 2d 30 2e 30 30 35 34  c: 10 5 (-0.0054
10690 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
106a0 20 70 72 69 6e 74 66 2d 32 2e 34 2e 37 2e 35 20   printf-2.4.7.5 
106b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
106c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
106d0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
106e0 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30 35 34 33  z} 10 5 -0.00543
106f0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
10700 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a  0.00543000) :xyz
10710 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10720 2d 32 2e 34 2e 37 2e 36 20 7b 0a 20 20 73 71 6c  -2.4.7.6 {.  sql
10730 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10740 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
10750 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
10760 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   5 -0.00543.} {a
10770 62 63 3a 20 31 30 20 35 20 28 2d 30 30 30 2e 30  bc: 10 5 (-000.0
10780 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
10790 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 37  est printf-2.4.7
107a0 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
107b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
107c0 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
107d0 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30  f) :xyz} 10 5 -0
107e0 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31  .00543.} {abc: 1
107f0 30 20 35 20 28 20 20 2d 30 2e 30 30 35 34 33 29  0 5 (  -0.00543)
10800 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10810 72 69 6e 74 66 2d 32 2e 34 2e 37 2e 38 20 7b 0a  rintf-2.4.7.8 {.
10820 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10830 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
10840 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78  d %d (%10.5e) :x
10850 79 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30 35 34  yz} 10 5 -0.0054
10860 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  3.} {abc: 10 5 (
10870 2d 35 2e 34 33 30 30 30 65 2d 30 33 29 20 3a 78  -5.43000e-03) :x
10880 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10890 74 66 2d 32 2e 34 2e 37 2e 39 20 7b 0a 20 20 73  tf-2.4.7.9 {.  s
108a0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
108b0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
108c0 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d  d (%10.5g) :xyz}
108d0 20 31 30 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d   10 5 -0.00543.}
108e0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20 2d   {abc: 10 5 (  -
108f0 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
10900 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10910 34 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  4.8.1 {.  sqlite
10920 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
10930 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
10940 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d  xyz} 10 5 -1.0.}
10950 20 7b 61 62 63 3a 20 28 20 20 2d 31 2e 30 30 30   {abc: (  -1.000
10960 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
10970 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 32  t printf-2.4.8.2
10980 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
10990 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
109a0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
109b0 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63  10 5 -1.0.} {abc
109c0 3a 20 28 2d 31 2e 30 30 30 30 30 65 2b 30 30 29  : (-1.00000e+00)
109d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
109e0 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 33 20 7b 0a  rintf-2.4.8.3 {.
109f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10a00 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
10a10 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*g) :xyz} 10 
10a20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28  5 -1.0.} {abc: (
10a30 20 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a          -1) :xyz
10a40 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10a50 2d 32 2e 34 2e 38 2e 34 20 7b 0a 20 20 73 71 6c  -2.4.8.4 {.  sql
10a60 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10a70 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
10a80 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  (%g) :xyz} 10 5 
10a90 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -1.0.} {abc: 10 
10aa0 35 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  5 (-1) :xyz}.do_
10ab0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10ac0 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.5 {.  sqlite3_
10ad0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10ae0 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
10af0 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30   :xyz} 10 5 -1.0
10b00 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
10b10 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  1.00000) :xyz}.d
10b20 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10b30 34 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  4.8.6 {.  sqlite
10b40 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
10b50 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
10b60 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
10b70 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -1.0.} {abc: 10 
10b80 35 20 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a  5 (-000000001) :
10b90 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
10ba0 6e 74 66 2d 32 2e 34 2e 38 2e 37 20 7b 0a 20 20  ntf-2.4.8.7 {.  
10bb0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10bc0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
10bd0 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a  %d (%10.5f) :xyz
10be0 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61  } 10 5 -1.0.} {a
10bf0 62 63 3a 20 31 30 20 35 20 28 20 20 2d 31 2e 30  bc: 10 5 (  -1.0
10c00 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
10c10 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38  est printf-2.4.8
10c20 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
10c30 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10c40 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
10c50 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31  e) :xyz} 10 5 -1
10c60 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
10c70 28 2d 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a  (-1.00000e+00) :
10c80 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
10c90 6e 74 66 2d 32 2e 34 2e 38 2e 39 20 7b 0a 20 20  ntf-2.4.8.9 {.  
10ca0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10cb0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
10cc0 25 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a  %d (%10.5g) :xyz
10cd0 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61  } 10 5 -1.0.} {a
10ce0 62 63 3a 20 31 30 20 35 20 28 20 20 20 20 20 20  bc: 10 5 (      
10cf0 20 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74    -1) :xyz}.do_t
10d00 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39  est printf-2.4.9
10d10 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
10d20 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10d30 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
10d40 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39  } 10 5 -99.99999
10d50 0a 7d 20 7b 61 62 63 3a 20 28 20 2d 39 39 2e 39  .} {abc: ( -99.9
10d60 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
10d70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39  est printf-2.4.9
10d80 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
10d90 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10da0 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
10db0 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39  } 10 5 -99.99999
10dc0 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30  .} {abc: (-1.000
10dd0 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
10de0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
10df0 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.3 {.  sqlite3
10e00 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10e10 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
10e20 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39  yz} 10 5 -99.999
10e30 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20  99.} {abc: (    
10e40 20 20 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f    -100) :xyz}.do
10e50 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
10e60 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.4 {.  sqlite3
10e70 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10e80 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
10e90 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e   :xyz} 10 5 -99.
10ea0 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30  99999.} {abc: 10
10eb0 20 35 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a   5 (-100) :xyz}.
10ec0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
10ed0 2e 34 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .4.9.5 {.  sqlit
10ee0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10ef0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10f00 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  #g) :xyz} 10 5 -
10f10 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
10f20 20 31 30 20 35 20 28 2d 31 30 30 2e 30 30 30 29   10 5 (-100.000)
10f30 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10f40 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 36 20 7b 0a  rintf-2.4.9.6 {.
10f50 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10f60 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
10f70 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
10f80 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39  z} 10 5 -99.9999
10f90 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  9.} {abc: 10 5 (
10fa0 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a  -000000100) :xyz
10fb0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10fc0 2d 32 2e 34 2e 39 2e 37 20 7b 0a 20 20 73 71 6c  -2.4.9.7 {.  sql
10fd0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10fe0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
10ff0 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
11000 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  0 5 -99.99999.} 
11010 7b 61 62 63 3a 20 31 30 20 35 20 28 20 2d 39 39  {abc: 10 5 ( -99
11020 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
11030 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11040 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.8 {.  sqlite3
11050 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
11060 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
11070 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .5e) :xyz} 10 5 
11080 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
11090 3a 20 31 30 20 35 20 28 2d 31 2e 30 30 30 30 30  : 10 5 (-1.00000
110a0 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
110b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39  est printf-2.4.9
110c0 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
110d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
110e0 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
110f0 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39  g) :xyz} 10 5 -9
11100 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
11110 31 30 20 35 20 28 20 20 20 20 20 20 2d 31 30 30  10 5 (      -100
11120 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
11130 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 31 20  printf-2.4.10.1 
11140 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
11150 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
11160 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
11170 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  0 5 3.14e+9.} {a
11180 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e  bc: (3140000000.
11190 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
111a0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
111b0 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.2 {.  sqlite3
111c0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
111d0 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
111e0 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39  yz} 10 5 3.14e+9
111f0 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30  .} {abc: (3.1400
11200 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+09) :xyz}.do_
11210 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
11220 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.3 {.  sqlite3
11230 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
11240 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
11250 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39  yz} 10 5 3.14e+9
11260 0a 7d 20 7b 61 62 63 3a 20 28 20 20 33 2e 31 34  .} {abc: (  3.14
11270 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
11280 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11290 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.4 {.  sqlite3_
112a0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
112b0 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
112c0 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65  :xyz} 10 5 3.14e
112d0 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  +9.} {abc: 10 5 
112e0 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  (3.14e+09) :xyz}
112f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11300 32 2e 34 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c  2.4.10.5 {.  sql
11310 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11320 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11330 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  (%#g) :xyz} 10 5
11340 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
11350 20 31 30 20 35 20 28 33 2e 31 34 30 30 30 65 2b   10 5 (3.14000e+
11360 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
11370 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e  t printf-2.4.10.
11380 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
11390 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
113a0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
113b0 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 31 34   :xyz} 10 5 3.14
113c0 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  e+9.} {abc: 10 5
113d0 20 28 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78   (003.14e+09) :x
113e0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
113f0 74 66 2d 32 2e 34 2e 31 30 2e 37 20 7b 0a 20 20  tf-2.4.10.7 {.  
11400 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
11410 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
11420 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a  %d (%10.5f) :xyz
11430 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d  } 10 5 3.14e+9.}
11440 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33 31 34   {abc: 10 5 (314
11450 30 30 30 30 30 30 30 2e 30 30 30 30 30 29 20 3a  0000000.00000) :
11460 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
11470 6e 74 66 2d 32 2e 34 2e 31 30 2e 38 20 7b 0a 20  ntf-2.4.10.8 {. 
11480 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
11490 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
114a0 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79   %d (%10.5e) :xy
114b0 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a  z} 10 5 3.14e+9.
114c0 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e  } {abc: 10 5 (3.
114d0 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d  14000e+09) :xyz}
114e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
114f0 32 2e 34 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c  2.4.10.9 {.  sql
11500 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11510 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11520 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31  (%10.5g) :xyz} 1
11530 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  0 5 3.14e+9.} {a
11540 62 63 3a 20 31 30 20 35 20 28 20 20 33 2e 31 34  bc: 10 5 (  3.14
11550 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
11560 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11570 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.2 {.  sqlite3_
11580 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11590 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
115a0 7a 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32  z} 10 5 -4.72732
115b0 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
115c0 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a  .72732e+88) :xyz
115d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
115e0 2d 32 2e 34 2e 31 31 2e 33 20 7b 0a 20 20 73 71  -2.4.11.3 {.  sq
115f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11600 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
11610 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 34  g) :xyz} 10 5 -4
11620 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
11630 63 3a 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29  c: (-4.7273e+88)
11640 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
11650 72 69 6e 74 66 2d 32 2e 34 2e 31 31 2e 34 20 7b  rintf-2.4.11.4 {
11660 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
11670 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
11680 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
11690 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b   10 5 -4.72732e+
116a0 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  88.} {abc: 10 5 
116b0 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a  (-4.72732e+88) :
116c0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
116d0 6e 74 66 2d 32 2e 34 2e 31 31 2e 35 20 7b 0a 20  ntf-2.4.11.5 {. 
116e0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
116f0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
11700 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
11710 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38  10 5 -4.72732e+8
11720 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  8.} {abc: 10 5 (
11730 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
11740 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
11750 74 66 2d 32 2e 34 2e 31 31 2e 36 20 7b 0a 20 20  tf-2.4.11.6 {.  
11760 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
11770 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
11780 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
11790 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b   10 5 -4.72732e+
117a0 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  88.} {abc: 10 5 
117b0 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a  (-4.72732e+88) :
117c0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
117d0 6e 74 66 2d 32 2e 34 2e 31 31 2e 38 20 7b 0a 20  ntf-2.4.11.8 {. 
117e0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
117f0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
11800 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79   %d (%10.5e) :xy
11810 7a 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32  z} 10 5 -4.72732
11820 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e+88.} {abc: 10 
11830 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  5 (-4.72732e+88)
11840 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
11850 72 69 6e 74 66 2d 32 2e 34 2e 31 31 2e 39 20 7b  rintf-2.4.11.9 {
11860 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
11870 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
11880 25 64 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a  %d %d (%10.5g) :
11890 78 79 7a 7d 20 31 30 20 35 20 2d 34 2e 37 32 37  xyz} 10 5 -4.727
118a0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31  32e+88.} {abc: 1
118b0 30 20 35 20 28 2d 34 2e 37 32 37 33 65 2b 38 38  0 5 (-4.7273e+88
118c0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
118d0 70 72 69 6e 74 66 2d 32 2e 34 2e 31 32 2e 32 20  printf-2.4.12.2 
118e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
118f0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
11900 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
11910 30 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33  0 5 9.87991e+143
11920 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38 37 39 39  .} {abc: (9.8799
11930 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
11940 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11950 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .12.3 {.  sqlite
11960 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
11970 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
11980 78 79 7a 7d 20 31 30 20 35 20 39 2e 38 37 39 39  xyz} 10 5 9.8799
11990 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28  1e+143.} {abc: (
119a0 39 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79  9.8799e+143) :xy
119b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
119c0 66 2d 32 2e 34 2e 31 32 2e 34 20 7b 0a 20 20 73  f-2.4.12.4 {.  s
119d0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
119e0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
119f0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
11a00 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  5 9.87991e+143.}
11a10 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38   {abc: 10 5 (9.8
11a20 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
11a30 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11a40 32 2e 34 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c  2.4.12.5 {.  sql
11a50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11a60 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11a70 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  (%#g) :xyz} 10 5
11a80 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
11a90 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37  {abc: 10 5 (9.87
11aa0 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  991e+143) :xyz}.
11ab0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11ac0 2e 34 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69  .4.12.6 {.  sqli
11ad0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11ae0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11af0 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  %010g) :xyz} 10 
11b00 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  5 9.87991e+143.}
11b10 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38   {abc: 10 5 (9.8
11b20 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
11b30 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11b40 32 2e 34 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c  2.4.12.8 {.  sql
11b50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11b60 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11b70 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31  (%10.5e) :xyz} 1
11b80 30 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33  0 5 9.87991e+143
11b90 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39  .} {abc: 10 5 (9
11ba0 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79  .87991e+143) :xy
11bb0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11bc0 66 2d 32 2e 34 2e 31 32 2e 39 20 7b 0a 20 20 73  f-2.4.12.9 {.  s
11bd0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11be0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
11bf0 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d  d (%10.5g) :xyz}
11c00 20 31 30 20 35 20 39 2e 38 37 39 39 31 65 2b 31   10 5 9.87991e+1
11c10 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  43.} {abc: 10 5 
11c20 28 39 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78  (9.8799e+143) :x
11c30 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
11c40 74 66 2d 32 2e 34 2e 31 33 2e 31 20 7b 0a 20 20  tf-2.4.13.1 {.  
11c50 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
11c60 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
11c70 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*f) :xyz} 10 5 
11c80 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
11c90 61 62 63 3a 20 28 20 20 2d 30 2e 30 30 30 30 30  abc: (  -0.00000
11ca0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
11cb0 70 72 69 6e 74 66 2d 32 2e 34 2e 31 33 2e 32 20  printf-2.4.13.2 
11cc0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
11cd0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
11ce0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
11cf0 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  0 5 -6.287291e-9
11d00 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37  .} {abc: (-6.287
11d10 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
11d20 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11d30 2e 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .13.3 {.  sqlite
11d40 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
11d50 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
11d60 78 79 7a 7d 20 31 30 20 35 20 2d 36 2e 32 38 37  xyz} 10 5 -6.287
11d70 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28  291e-9.} {abc: (
11d80 2d 36 2e 32 38 37 33 65 2d 30 39 29 20 3a 78 79  -6.2873e-09) :xy
11d90 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11da0 66 2d 32 2e 34 2e 31 33 2e 34 20 7b 0a 20 20 73  f-2.4.13.4 {.  s
11db0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11dc0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
11dd0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
11de0 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
11df0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e   {abc: 10 5 (-6.
11e00 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
11e10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11e20 32 2e 34 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c  2.4.13.5 {.  sql
11e30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11e40 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11e50 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  (%#g) :xyz} 10 5
11e60 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
11e70 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32  {abc: 10 5 (-6.2
11e80 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
11e90 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11ea0 2e 34 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69  .4.13.6 {.  sqli
11eb0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11ec0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11ed0 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  %010g) :xyz} 10 
11ee0 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
11ef0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e   {abc: 10 5 (-6.
11f00 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
11f10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11f20 32 2e 34 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c  2.4.13.7 {.  sql
11f30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11f40 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11f50 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
11f60 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  0 5 -6.287291e-9
11f70 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20  .} {abc: 10 5 ( 
11f80 20 2d 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d   -0.00000) :xyz}
11f90 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11fa0 32 2e 34 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c  2.4.13.8 {.  sql
11fb0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11fc0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11fd0 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31  (%10.5e) :xyz} 1
11fe0 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  0 5 -6.287291e-9
11ff0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
12000 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
12010 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12020 66 2d 32 2e 34 2e 31 33 2e 39 20 7b 0a 20 20 73  f-2.4.13.9 {.  s
12030 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
12040 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
12050 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d  d (%10.5g) :xyz}
12060 20 31 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65   10 5 -6.287291e
12070 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  -9.} {abc: 10 5 
12080 28 2d 36 2e 32 38 37 33 65 2d 30 39 29 20 3a 78  (-6.2873e-09) :x
12090 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
120a0 74 66 2d 32 2e 34 2e 31 34 2e 31 20 7b 0a 20 20  tf-2.4.14.1 {.  
120b0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
120c0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
120d0 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*f) :xyz} 10 5 
120e0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
120f0 7d 20 7b 61 62 63 3a 20 28 20 20 20 30 2e 30 30  } {abc: (   0.00
12100 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
12110 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34  st printf-2.4.14
12120 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
12130 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
12140 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
12150 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36 33 39  } 10 5 3.3882639
12160 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
12170 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
12180 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
12190 74 66 2d 32 2e 34 2e 31 34 2e 33 20 7b 0a 20 20  tf-2.4.14.3 {.  
121a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
121b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
121c0 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*g) :xyz} 10 5 
121d0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
121e0 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 33 65  } {abc: (3.3883e
121f0 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
12200 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
12210 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.4 {.  sqlite3_
12220 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
12230 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
12240 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38  :xyz} 10 5 3.388
12250 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
12260 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38 32 36  c: 10 5 (3.38826
12270 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
12280 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
12290 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.5 {.  sqlite3
122a0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
122b0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
122c0 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33  ) :xyz} 10 5 3.3
122d0 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
122e0 61 62 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38  abc: 10 5 (3.388
122f0 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
12300 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12310 34 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  4.14.6 {.  sqlit
12320 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
12330 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
12340 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  010g) :xyz} 10 5
12350 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
12360 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33  .} {abc: 10 5 (3
12370 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
12380 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12390 66 2d 32 2e 34 2e 31 34 2e 37 20 7b 0a 20 20 73  f-2.4.14.7 {.  s
123a0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
123b0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
123c0 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d  d (%10.5f) :xyz}
123d0 20 31 30 20 35 20 33 2e 33 38 38 32 36 33 39 32   10 5 3.38826392
123e0 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30  e-110.} {abc: 10
123f0 20 35 20 28 20 20 20 30 2e 30 30 30 30 30 29 20   5 (   0.00000) 
12400 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12410 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 38 20 7b 0a  intf-2.4.14.8 {.
12420 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12430 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
12440 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78  d %d (%10.5e) :x
12450 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36  yz} 10 5 3.38826
12460 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
12470 20 31 30 20 35 20 28 33 2e 33 38 38 32 36 65 2d   10 5 (3.38826e-
12480 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
12490 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34  st printf-2.4.14
124a0 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
124b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
124c0 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
124d0 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e  g) :xyz} 10 5 3.
124e0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
124f0 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e 33 38  {abc: 10 5 (3.38
12500 38 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  83e-110) :xyz}.d
12510 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12520 35 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  5.1.1 {.  sqlite
12530 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12540 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
12550 78 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d  xyz} 2 2 0.001.}
12560 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78   {abc: (0.00) :x
12570 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
12580 74 66 2d 32 2e 35 2e 31 2e 32 20 7b 0a 20 20 73  tf-2.5.1.2 {.  s
12590 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
125a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
125b0 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e  *e) :xyz} 2 2 0.
125c0 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  001.} {abc: (1.0
125d0 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
125e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
125f0 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.3 {.  sqlite3_
12600 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
12610 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
12620 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 2 0.001.} {
12630 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79  abc: (0.001) :xy
12640 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12650 66 2d 32 2e 35 2e 31 2e 34 20 7b 0a 20 20 73 71  f-2.5.1.4 {.  sq
12660 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12670 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12680 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20   (%g) :xyz} 2 2 
12690 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20  0.001.} {abc: 2 
126a0 32 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  2 (0.001) :xyz}.
126b0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
126c0 2e 35 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .5.1.5 {.  sqlit
126d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
126e0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
126f0 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e  #g) :xyz} 2 2 0.
12700 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  001.} {abc: 2 2 
12710 28 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79  (0.00100000) :xy
12720 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12730 66 2d 32 2e 35 2e 31 2e 36 20 7b 0a 20 20 73 71  f-2.5.1.6 {.  sq
12740 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12750 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12760 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
12770 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   2 0.001.} {abc:
12780 20 32 20 32 20 28 30 30 30 30 30 30 2e 30 30 31   2 2 (000000.001
12790 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
127a0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 37 20 7b  printf-2.5.1.7 {
127b0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
127c0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
127d0 25 64 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78  %d %d (%2.2f) :x
127e0 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 2 2 0.001.} 
127f0 7b 61 62 63 3a 20 32 20 32 20 28 30 2e 30 30 29  {abc: 2 2 (0.00)
12800 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
12810 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 38 20 7b 0a  rintf-2.5.1.8 {.
12820 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12830 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
12840 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79  d %d (%2.2e) :xy
12850 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 2 0.001.} {
12860 61 62 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2d  abc: 2 2 (1.00e-
12870 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
12880 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 39  t printf-2.5.1.9
12890 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
128a0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
128b0 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20  : %d %d (%2.2g) 
128c0 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a  :xyz} 2 2 0.001.
128d0 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30 2e 30  } {abc: 2 2 (0.0
128e0 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
128f0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 31  t printf-2.5.2.1
12900 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
12910 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
12920 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
12930 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  2 2 1.0e-20.} {a
12940 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d  bc: (0.00) :xyz}
12950 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12960 32 2e 35 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69  2.5.2.2 {.  sqli
12970 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12980 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
12990 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 65 2d   :xyz} 2 2 1.0e-
129a0 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  20.} {abc: (1.00
129b0 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
129c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32  est printf-2.5.2
129d0 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
129e0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
129f0 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
12a00 7d 20 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20  } 2 2 1.0e-20.} 
12a10 7b 61 62 63 3a 20 28 31 65 2d 32 30 29 20 3a 78  {abc: (1e-20) :x
12a20 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
12a30 74 66 2d 32 2e 35 2e 32 2e 34 20 7b 0a 20 20 73  tf-2.5.2.4 {.  s
12a40 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
12a50 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
12a60 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32  d (%g) :xyz} 2 2
12a70 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
12a80 20 32 20 32 20 28 31 65 2d 32 30 29 20 3a 78 79   2 2 (1e-20) :xy
12a90 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12aa0 66 2d 32 2e 35 2e 32 2e 35 20 7b 0a 20 20 73 71  f-2.5.2.5 {.  sq
12ab0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12ac0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12ad0 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32   (%#g) :xyz} 2 2
12ae0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
12af0 20 32 20 32 20 28 31 2e 30 30 30 30 30 65 2d 32   2 2 (1.00000e-2
12b00 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
12b10 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 36 20   printf-2.5.2.6 
12b20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
12b30 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
12b40 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
12b50 78 79 7a 7d 20 32 20 32 20 31 2e 30 65 2d 32 30  xyz} 2 2 1.0e-20
12b60 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30 30  .} {abc: 2 2 (00
12b70 30 30 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  0001e-20) :xyz}.
12b80 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
12b90 2e 35 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .5.2.7 {.  sqlit
12ba0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
12bb0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
12bc0 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2f) :xyz} 2 2 
12bd0 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
12be0 32 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d  2 2 (0.00) :xyz}
12bf0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12c00 32 2e 35 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69  2.5.2.8 {.  sqli
12c10 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12c20 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
12c30 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2e) :xyz} 2 2
12c40 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
12c50 20 32 20 32 20 28 31 2e 30 30 65 2d 32 30 29 20   2 2 (1.00e-20) 
12c60 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12c70 69 6e 74 66 2d 32 2e 35 2e 32 2e 39 20 7b 0a 20  intf-2.5.2.9 {. 
12c80 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12c90 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
12ca0 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a   %d (%2.2g) :xyz
12cb0 7d 20 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20  } 2 2 1.0e-20.} 
12cc0 7b 61 62 63 3a 20 32 20 32 20 28 31 65 2d 32 30  {abc: 2 2 (1e-20
12cd0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12ce0 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 31 20 7b  printf-2.5.3.1 {
12cf0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12d00 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12d10 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
12d20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  2 1.0.} {abc: (1
12d30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
12d40 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e  st printf-2.5.3.
12d50 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
12d60 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12d70 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
12d80 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   2 2 1.0.} {abc:
12d90 20 28 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a   (1.00e+00) :xyz
12da0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12db0 2d 32 2e 35 2e 33 2e 33 20 7b 0a 20 20 73 71 6c  -2.5.3.3 {.  sql
12dc0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12dd0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
12de0 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a  ) :xyz} 2 2 1.0.
12df0 7d 20 7b 61 62 63 3a 20 28 20 31 29 20 3a 78 79  } {abc: ( 1) :xy
12e00 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12e10 66 2d 32 2e 35 2e 33 2e 34 20 7b 0a 20 20 73 71  f-2.5.3.4 {.  sq
12e20 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12e30 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12e40 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20   (%g) :xyz} 2 2 
12e50 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  1.0.} {abc: 2 2 
12e60 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (1) :xyz}.do_tes
12e70 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 35  t printf-2.5.3.5
12e80 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
12e90 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
12ea0 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
12eb0 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 2 2 1.0.} {a
12ec0 62 63 3a 20 32 20 32 20 28 31 2e 30 30 30 30 30  bc: 2 2 (1.00000
12ed0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12ee0 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 36 20 7b  printf-2.5.3.6 {
12ef0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12f00 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12f10 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
12f20 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 2 2 1.0.} {a
12f30 62 63 3a 20 32 20 32 20 28 30 30 30 30 30 30 30  bc: 2 2 (0000000
12f40 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
12f50 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e  st printf-2.5.3.
12f60 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
12f70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12f80 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29  c: %d %d (%2.2f)
12f90 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d   :xyz} 2 2 1.0.}
12fa0 20 7b 61 62 63 3a 20 32 20 32 20 28 31 2e 30 30   {abc: 2 2 (1.00
12fb0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12fc0 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 38 20 7b  printf-2.5.3.8 {
12fd0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12fe0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12ff0 25 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78  %d %d (%2.2e) :x
13000 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 2 2 1.0.} {a
13010 62 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2b 30  bc: 2 2 (1.00e+0
13020 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
13030 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 39 20   printf-2.5.3.9 
13040 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
13050 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
13060 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a   %d %d (%2.2g) :
13070 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b  xyz} 2 2 1.0.} {
13080 61 62 63 3a 20 32 20 32 20 28 20 31 29 20 3a 78  abc: 2 2 ( 1) :x
13090 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
130a0 74 66 2d 32 2e 35 2e 34 2e 31 20 7b 0a 20 20 73  tf-2.5.4.1 {.  s
130b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
130c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
130d0 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e  *f) :xyz} 2 2 0.
130e0 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 29  0.} {abc: (0.00)
130f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13100 72 69 6e 74 66 2d 32 2e 35 2e 34 2e 32 20 7b 0a  rintf-2.5.4.2 {.
13110 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13120 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
13130 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*e) :xyz} 2 2
13140 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e   0.0.} {abc: (0.
13150 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
13160 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13170 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.3 {.  sqlite3
13180 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13190 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
131a0 79 7a 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61  yz} 2 2 0.0.} {a
131b0 62 63 3a 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64  bc: ( 0) :xyz}.d
131c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
131d0 35 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  5.4.4 {.  sqlite
131e0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
131f0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
13200 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 0a  ) :xyz} 2 2 0.0.
13210 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30 29 20  } {abc: 2 2 (0) 
13220 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13230 69 6e 74 66 2d 32 2e 35 2e 34 2e 35 20 7b 0a 20  intf-2.5.4.5 {. 
13240 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13250 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
13260 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
13270 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 2 0.0.} {abc: 
13280 32 20 32 20 28 30 2e 30 30 30 30 30 29 20 3a 78  2 2 (0.00000) :x
13290 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
132a0 74 66 2d 32 2e 35 2e 34 2e 36 20 7b 0a 20 20 73  tf-2.5.4.6 {.  s
132b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
132c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
132d0 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
132e0 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 2 0.0.} {abc: 
132f0 32 20 32 20 28 30 30 30 30 30 30 30 30 30 30 29  2 2 (0000000000)
13300 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13310 72 69 6e 74 66 2d 32 2e 35 2e 34 2e 37 20 7b 0a  rintf-2.5.4.7 {.
13320 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13330 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
13340 64 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79  d %d (%2.2f) :xy
13350 7a 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 2 2 0.0.} {ab
13360 63 3a 20 32 20 32 20 28 30 2e 30 30 29 20 3a 78  c: 2 2 (0.00) :x
13370 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13380 74 66 2d 32 2e 35 2e 34 2e 38 20 7b 0a 20 20 73  tf-2.5.4.8 {.  s
13390 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
133a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
133b0 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20  d (%2.2e) :xyz} 
133c0 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 2 0.0.} {abc: 
133d0 32 20 32 20 28 30 2e 30 30 65 2b 30 30 29 20 3a  2 2 (0.00e+00) :
133e0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
133f0 6e 74 66 2d 32 2e 35 2e 34 2e 39 20 7b 0a 20 20  ntf-2.5.4.9 {.  
13400 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13410 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13420 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d  %d (%2.2g) :xyz}
13430 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 2 0.0.} {abc:
13440 20 32 20 32 20 28 20 30 29 20 3a 78 79 7a 7d 0a   2 2 ( 0) :xyz}.
13450 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13460 2e 35 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .5.5.1 {.  sqlit
13470 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13480 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
13490 3a 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a  :xyz} 2 2 100.0.
134a0 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 29  } {abc: (100.00)
134b0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
134c0 72 69 6e 74 66 2d 32 2e 35 2e 35 2e 32 20 7b 0a  rintf-2.5.5.2 {.
134d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
134e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
134f0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*e) :xyz} 2 2
13500 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
13510 31 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  1.00e+02) :xyz}.
13520 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13530 2e 35 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .5.5.3 {.  sqlit
13540 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13550 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
13560 3a 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a  :xyz} 2 2 100.0.
13570 7d 20 7b 61 62 63 3a 20 28 31 65 2b 30 32 29 20  } {abc: (1e+02) 
13580 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13590 69 6e 74 66 2d 32 2e 35 2e 35 2e 34 20 7b 0a 20  intf-2.5.5.4 {. 
135a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
135b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
135c0 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
135d0 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 100.0.} {abc:
135e0 20 32 20 32 20 28 31 30 30 29 20 3a 78 79 7a 7d   2 2 (100) :xyz}
135f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13600 32 2e 35 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69  2.5.5.5 {.  sqli
13610 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13620 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13630 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  %#g) :xyz} 2 2 1
13640 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  00.0.} {abc: 2 2
13650 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d   (100.000) :xyz}
13660 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13670 32 2e 35 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69  2.5.5.6 {.  sqli
13680 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13690 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
136a0 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32  %010g) :xyz} 2 2
136b0 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   100.0.} {abc: 2
136c0 20 32 20 28 30 30 30 30 30 30 30 31 30 30 29 20   2 (0000000100) 
136d0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
136e0 69 6e 74 66 2d 32 2e 35 2e 35 2e 37 20 7b 0a 20  intf-2.5.5.7 {. 
136f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13700 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
13710 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a   %d (%2.2f) :xyz
13720 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61  } 2 2 100.0.} {a
13730 62 63 3a 20 32 20 32 20 28 31 30 30 2e 30 30 29  bc: 2 2 (100.00)
13740 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13750 72 69 6e 74 66 2d 32 2e 35 2e 35 2e 38 20 7b 0a  rintf-2.5.5.8 {.
13760 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13770 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
13780 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79  d %d (%2.2e) :xy
13790 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b  z} 2 2 100.0.} {
137a0 61 62 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2b  abc: 2 2 (1.00e+
137b0 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
137c0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 35 2e 39  t printf-2.5.5.9
137d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
137e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
137f0 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20  : %d %d (%2.2g) 
13800 3a 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a  :xyz} 2 2 100.0.
13810 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 31 65 2b  } {abc: 2 2 (1e+
13820 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
13830 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 31  t printf-2.5.6.1
13840 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
13850 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
13860 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
13870 32 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 2 9.99999.} {a
13880 62 63 3a 20 28 31 30 2e 30 30 29 20 3a 78 79 7a  bc: (10.00) :xyz
13890 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
138a0 2d 32 2e 35 2e 36 2e 32 20 7b 0a 20 20 73 71 6c  -2.5.6.2 {.  sql
138b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
138c0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
138d0 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39  ) :xyz} 2 2 9.99
138e0 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  999.} {abc: (1.0
138f0 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+01) :xyz}.do_
13900 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
13910 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.3 {.  sqlite3_
13920 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
13930 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
13940 7a 7d 20 32 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 2 2 9.99999.}
13950 20 7b 61 62 63 3a 20 28 31 30 29 20 3a 78 79 7a   {abc: (10) :xyz
13960 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13970 2d 32 2e 35 2e 36 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.6.4 {.  sql
13980 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13990 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
139a0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39  (%g) :xyz} 2 2 9
139b0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
139c0 20 32 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   2 (9.99999) :xy
139d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
139e0 66 2d 32 2e 35 2e 36 2e 35 20 7b 0a 20 20 73 71  f-2.5.6.5 {.  sq
139f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13a00 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13a10 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32   (%#g) :xyz} 2 2
13a20 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
13a30 20 32 20 32 20 28 39 2e 39 39 39 39 39 29 20 3a   2 2 (9.99999) :
13a40 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13a50 6e 74 66 2d 32 2e 35 2e 36 2e 36 20 7b 0a 20 20  ntf-2.5.6.6 {.  
13a60 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13a70 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13a80 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
13a90 20 32 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b   2 2 9.99999.} {
13aa0 61 62 63 3a 20 32 20 32 20 28 30 30 30 39 2e 39  abc: 2 2 (0009.9
13ab0 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
13ac0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36  est printf-2.5.6
13ad0 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
13ae0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13af0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66  bc: %d %d (%2.2f
13b00 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39  ) :xyz} 2 2 9.99
13b10 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  999.} {abc: 2 2 
13b20 28 31 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  (10.00) :xyz}.do
13b30 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13b40 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.8 {.  sqlite3
13b50 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13b60 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
13b70 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e  2e) :xyz} 2 2 9.
13b80 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20  99999.} {abc: 2 
13b90 32 20 28 31 2e 30 30 65 2b 30 31 29 20 3a 78 79  2 (1.00e+01) :xy
13ba0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13bb0 66 2d 32 2e 35 2e 36 2e 39 20 7b 0a 20 20 73 71  f-2.5.6.9 {.  sq
13bc0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13bd0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13be0 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32   (%2.2g) :xyz} 2
13bf0 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   2 9.99999.} {ab
13c00 63 3a 20 32 20 32 20 28 31 30 29 20 3a 78 79 7a  c: 2 2 (10) :xyz
13c10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13c20 2d 32 2e 35 2e 37 2e 31 20 7b 0a 20 20 73 71 6c  -2.5.7.1 {.  sql
13c30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13c40 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
13c50 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30  ) :xyz} 2 2 -0.0
13c60 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30  0543.} {abc: (-0
13c70 2e 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .01) :xyz}.do_te
13c80 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e  st printf-2.5.7.
13c90 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
13ca0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
13cb0 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
13cc0 20 32 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20   2 2 -0.00543.} 
13cd0 7b 61 62 63 3a 20 28 2d 35 2e 34 33 65 2d 30 33  {abc: (-5.43e-03
13ce0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
13cf0 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 33 20 7b  printf-2.5.7.3 {
13d00 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
13d10 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
13d20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
13d30 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  2 -0.00543.} {ab
13d40 63 3a 20 28 2d 30 2e 30 30 35 34 29 20 3a 78 79  c: (-0.0054) :xy
13d50 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13d60 66 2d 32 2e 35 2e 37 2e 34 20 7b 0a 20 20 73 71  f-2.5.7.4 {.  sq
13d70 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13d80 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13d90 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20   (%g) :xyz} 2 2 
13da0 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
13db0 20 32 20 32 20 28 2d 30 2e 30 30 35 34 33 29 20   2 2 (-0.00543) 
13dc0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13dd0 69 6e 74 66 2d 32 2e 35 2e 37 2e 35 20 7b 0a 20  intf-2.5.7.5 {. 
13de0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13df0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
13e00 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
13e10 32 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  2 2 -0.00543.} {
13e20 61 62 63 3a 20 32 20 32 20 28 2d 30 2e 30 30 35  abc: 2 2 (-0.005
13e30 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  43000) :xyz}.do_
13e40 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
13e50 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.6 {.  sqlite3_
13e60 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
13e70 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
13e80 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e  g) :xyz} 2 2 -0.
13e90 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20  00543.} {abc: 2 
13ea0 32 20 28 2d 30 30 30 2e 30 30 35 34 33 29 20 3a  2 (-000.00543) :
13eb0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13ec0 6e 74 66 2d 32 2e 35 2e 37 2e 37 20 7b 0a 20 20  ntf-2.5.7.7 {.  
13ed0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13ee0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13ef0 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d  %d (%2.2f) :xyz}
13f00 20 32 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20   2 2 -0.00543.} 
13f10 7b 61 62 63 3a 20 32 20 32 20 28 2d 30 2e 30 31  {abc: 2 2 (-0.01
13f20 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
13f30 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 38 20 7b  printf-2.5.7.8 {
13f40 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
13f50 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
13f60 25 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78  %d %d (%2.2e) :x
13f70 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30 35 34 33  yz} 2 2 -0.00543
13f80 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 35  .} {abc: 2 2 (-5
13f90 2e 34 33 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  .43e-03) :xyz}.d
13fa0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
13fb0 35 2e 37 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  5.7.9 {.  sqlite
13fc0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
13fd0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
13fe0 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .2g) :xyz} 2 2 -
13ff0 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
14000 32 20 32 20 28 2d 30 2e 30 30 35 34 29 20 3a 78  2 2 (-0.0054) :x
14010 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14020 74 66 2d 32 2e 35 2e 38 2e 31 20 7b 0a 20 20 73  tf-2.5.8.1 {.  s
14030 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14040 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
14050 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31  *f) :xyz} 2 2 -1
14060 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  .0.} {abc: (-1.0
14070 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
14080 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e 32 20   printf-2.5.8.2 
14090 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
140a0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
140b0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
140c0 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
140d0 28 2d 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a  (-1.00e+00) :xyz
140e0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
140f0 2d 32 2e 35 2e 38 2e 33 20 7b 0a 20 20 73 71 6c  -2.5.8.3 {.  sql
14100 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14110 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
14120 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30  ) :xyz} 2 2 -1.0
14130 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 29 20 3a 78  .} {abc: (-1) :x
14140 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14150 74 66 2d 32 2e 35 2e 38 2e 34 20 7b 0a 20 20 73  tf-2.5.8.4 {.  s
14160 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14170 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
14180 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32  d (%g) :xyz} 2 2
14190 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20   -1.0.} {abc: 2 
141a0 32 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2 (-1) :xyz}.do_
141b0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
141c0 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.5 {.  sqlite3_
141d0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
141e0 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
141f0 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a   :xyz} 2 2 -1.0.
14200 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31 2e  } {abc: 2 2 (-1.
14210 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
14220 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
14230 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.6 {.  sqlite3_
14240 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
14250 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
14260 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e  g) :xyz} 2 2 -1.
14270 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d  0.} {abc: 2 2 (-
14280 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d  000000001) :xyz}
14290 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
142a0 32 2e 35 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69  2.5.8.7 {.  sqli
142b0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
142c0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
142d0 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2f) :xyz} 2 2
142e0 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20   -1.0.} {abc: 2 
142f0 32 20 28 2d 31 2e 30 30 29 20 3a 78 79 7a 7d 0a  2 (-1.00) :xyz}.
14300 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14310 2e 35 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .5.8.8 {.  sqlit
14320 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14330 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14340 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2e) :xyz} 2 2 
14350 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  -1.0.} {abc: 2 2
14360 20 28 2d 31 2e 30 30 65 2b 30 30 29 20 3a 78 79   (-1.00e+00) :xy
14370 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
14380 66 2d 32 2e 35 2e 38 2e 39 20 7b 0a 20 20 73 71  f-2.5.8.9 {.  sq
14390 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
143a0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
143b0 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32   (%2.2g) :xyz} 2
143c0 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
143d0 32 20 32 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64  2 2 (-1) :xyz}.d
143e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
143f0 35 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  5.9.1 {.  sqlite
14400 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14410 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
14420 78 79 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39  xyz} 2 2 -99.999
14430 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30  99.} {abc: (-100
14440 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
14450 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e  st printf-2.5.9.
14460 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
14470 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
14480 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
14490 20 32 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d   2 2 -99.99999.}
144a0 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 65 2b 30   {abc: (-1.00e+0
144b0 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
144c0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 33 20   printf-2.5.9.3 
144d0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
144e0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
144f0 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32   (%*.*g) :xyz} 2
14500 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   2 -99.99999.} {
14510 61 62 63 3a 20 28 2d 31 65 2b 30 32 29 20 3a 78  abc: (-1e+02) :x
14520 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14530 74 66 2d 32 2e 35 2e 39 2e 34 20 7b 0a 20 20 73  tf-2.5.9.4 {.  s
14540 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14550 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
14560 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32  d (%g) :xyz} 2 2
14570 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
14580 63 3a 20 32 20 32 20 28 2d 31 30 30 29 20 3a 78  c: 2 2 (-100) :x
14590 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
145a0 74 66 2d 32 2e 35 2e 39 2e 35 20 7b 0a 20 20 73  tf-2.5.9.5 {.  s
145b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
145c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
145d0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
145e0 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 -99.99999.} {a
145f0 62 63 3a 20 32 20 32 20 28 2d 31 30 30 2e 30 30  bc: 2 2 (-100.00
14600 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
14610 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 36 20   printf-2.5.9.6 
14620 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
14630 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
14640 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
14650 78 79 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39  xyz} 2 2 -99.999
14660 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  99.} {abc: 2 2 (
14670 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a  -000000100) :xyz
14680 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14690 2d 32 2e 35 2e 39 2e 37 20 7b 0a 20 20 73 71 6c  -2.5.9.7 {.  sql
146a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
146b0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
146c0 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20  (%2.2f) :xyz} 2 
146d0 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 -99.99999.} {a
146e0 62 63 3a 20 32 20 32 20 28 2d 31 30 30 2e 30 30  bc: 2 2 (-100.00
146f0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14700 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 38 20 7b  printf-2.5.9.8 {
14710 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14720 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14730 25 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78  %d %d (%2.2e) :x
14740 79 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39  yz} 2 2 -99.9999
14750 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d  9.} {abc: 2 2 (-
14760 31 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  1.00e+02) :xyz}.
14770 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14780 2e 35 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .5.9.9 {.  sqlit
14790 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
147a0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
147b0 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2g) :xyz} 2 2 
147c0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
147d0 3a 20 32 20 32 20 28 2d 31 65 2b 30 32 29 20 3a  : 2 2 (-1e+02) :
147e0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
147f0 6e 74 66 2d 32 2e 35 2e 31 30 2e 31 20 7b 0a 20  ntf-2.5.10.1 {. 
14800 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14810 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
14820 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*f) :xyz} 2 2 
14830 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
14840 28 33 31 34 30 30 30 30 30 30 30 2e 30 30 29 20  (3140000000.00) 
14850 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14860 69 6e 74 66 2d 32 2e 35 2e 31 30 2e 32 20 7b 0a  intf-2.5.10.2 {.
14870 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14880 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
14890 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*e) :xyz} 2 2
148a0 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
148b0 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a   (3.14e+09) :xyz
148c0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
148d0 2d 32 2e 35 2e 31 30 2e 33 20 7b 0a 20 20 73 71  -2.5.10.3 {.  sq
148e0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
148f0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
14900 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31  g) :xyz} 2 2 3.1
14910 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  4e+9.} {abc: (3.
14920 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e+09) :xyz}.do_
14930 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
14940 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.4 {.  sqlite3
14950 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
14960 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
14970 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65   :xyz} 2 2 3.14e
14980 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  +9.} {abc: 2 2 (
14990 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
149a0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
149b0 2e 35 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69  .5.10.5 {.  sqli
149c0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
149d0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
149e0 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 33  %#g) :xyz} 2 2 3
149f0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32  .14e+9.} {abc: 2
14a00 20 32 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29   2 (3.14000e+09)
14a10 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14a20 72 69 6e 74 66 2d 32 2e 35 2e 31 30 2e 36 20 7b  rintf-2.5.10.6 {
14a30 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14a40 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14a50 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
14a60 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 2 2 3.14e+9.
14a70 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30 30 33  } {abc: 2 2 (003
14a80 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
14a90 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14aa0 35 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74  5.10.7 {.  sqlit
14ab0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14ac0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14ad0 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2f) :xyz} 2 2 
14ae0 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
14af0 32 20 32 20 28 33 31 34 30 30 30 30 30 30 30 2e  2 2 (3140000000.
14b00 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
14b10 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30 2e  t printf-2.5.10.
14b20 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
14b30 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
14b40 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65 29  c: %d %d (%2.2e)
14b50 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65   :xyz} 2 2 3.14e
14b60 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  +9.} {abc: 2 2 (
14b70 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
14b80 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14b90 2e 35 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69  .5.10.9 {.  sqli
14ba0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
14bb0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
14bc0 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2g) :xyz} 2 2
14bd0 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
14be0 20 32 20 32 20 28 33 2e 31 65 2b 30 39 29 20 3a   2 2 (3.1e+09) :
14bf0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14c00 6e 74 66 2d 32 2e 35 2e 31 31 2e 32 20 7b 0a 20  ntf-2.5.11.2 {. 
14c10 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14c20 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
14c30 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
14c40 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
14c50 61 62 63 3a 20 28 2d 34 2e 37 33 65 2b 38 38 29  abc: (-4.73e+88)
14c60 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14c70 72 69 6e 74 66 2d 32 2e 35 2e 31 31 2e 33 20 7b  rintf-2.5.11.3 {
14c80 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14c90 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14ca0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
14cb0 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  2 -4.72732e+88.}
14cc0 20 7b 61 62 63 3a 20 28 2d 34 2e 37 65 2b 38 38   {abc: (-4.7e+88
14cd0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14ce0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 31 2e 34 20  printf-2.5.11.4 
14cf0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
14d00 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
14d10 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
14d20 7d 20 32 20 32 20 2d 34 2e 37 32 37 33 32 65 2b  } 2 2 -4.72732e+
14d30 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  88.} {abc: 2 2 (
14d40 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
14d50 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14d60 74 66 2d 32 2e 35 2e 31 31 2e 35 20 7b 0a 20 20  tf-2.5.11.5 {.  
14d70 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
14d80 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
14d90 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
14da0 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a   2 -4.72732e+88.
14db0 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e  } {abc: 2 2 (-4.
14dc0 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d  72732e+88) :xyz}
14dd0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
14de0 32 2e 35 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c  2.5.11.6 {.  sql
14df0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14e00 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
14e10 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
14e20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  2 -4.72732e+88.}
14e30 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37   {abc: 2 2 (-4.7
14e40 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
14e50 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14e60 2e 35 2e 31 31 2e 38 20 7b 0a 20 20 73 71 6c 69  .5.11.8 {.  sqli
14e70 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
14e80 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
14e90 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2e) :xyz} 2 2
14ea0 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
14eb0 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 33  {abc: 2 2 (-4.73
14ec0 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
14ed0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
14ee0 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.9 {.  sqlite3_
14ef0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
14f00 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32  abc: %d %d (%2.2
14f10 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e  g) :xyz} 2 2 -4.
14f20 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
14f30 3a 20 32 20 32 20 28 2d 34 2e 37 65 2b 38 38 29  : 2 2 (-4.7e+88)
14f40 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14f50 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 32 20 7b  rintf-2.5.12.2 {
14f60 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14f70 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14f80 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
14f90 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  2 9.87991e+143.}
14fa0 20 7b 61 62 63 3a 20 28 39 2e 38 38 65 2b 31 34   {abc: (9.88e+14
14fb0 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
14fc0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 33   printf-2.5.12.3
14fd0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
14fe0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
14ff0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
15000 32 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33  2 2 9.87991e+143
15010 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 65 2b 31  .} {abc: (9.9e+1
15020 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
15030 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e  t printf-2.5.12.
15040 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
15050 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15060 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
15070 79 7a 7d 20 32 20 32 20 39 2e 38 37 39 39 31 65  yz} 2 2 9.87991e
15080 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32  +143.} {abc: 2 2
15090 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
150a0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
150b0 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 35 20 7b 0a  intf-2.5.12.5 {.
150c0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
150d0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
150e0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
150f0 20 32 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34   2 2 9.87991e+14
15100 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39  3.} {abc: 2 2 (9
15110 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79  .87991e+143) :xy
15120 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15130 66 2d 32 2e 35 2e 31 32 2e 36 20 7b 0a 20 20 73  f-2.5.12.6 {.  s
15140 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15150 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
15160 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
15170 32 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33  2 2 9.87991e+143
15180 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e  .} {abc: 2 2 (9.
15190 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
151a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
151b0 2d 32 2e 35 2e 31 32 2e 38 20 7b 0a 20 20 73 71  -2.5.12.8 {.  sq
151c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
151d0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
151e0 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32   (%2.2e) :xyz} 2
151f0 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   2 9.87991e+143.
15200 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38  } {abc: 2 2 (9.8
15210 38 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  8e+143) :xyz}.do
15220 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
15230 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .12.9 {.  sqlite
15240 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
15250 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
15260 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39  .2g) :xyz} 2 2 9
15270 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
15280 62 63 3a 20 32 20 32 20 28 39 2e 39 65 2b 31 34  bc: 2 2 (9.9e+14
15290 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
152a0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 31   printf-2.5.13.1
152b0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
152c0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
152d0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
152e0 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 2 -6.287291e-9
152f0 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 29  .} {abc: (-0.00)
15300 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
15310 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 32 20 7b  rintf-2.5.13.2 {
15320 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15330 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15340 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
15350 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
15360 20 7b 61 62 63 3a 20 28 2d 36 2e 32 39 65 2d 30   {abc: (-6.29e-0
15370 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
15380 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 33   printf-2.5.13.3
15390 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
153a0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
153b0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
153c0 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 2 -6.287291e-9
153d0 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 33 65 2d  .} {abc: (-6.3e-
153e0 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
153f0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e  t printf-2.5.13.
15400 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
15410 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15420 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
15430 79 7a 7d 20 32 20 32 20 2d 36 2e 32 38 37 32 39  yz} 2 2 -6.28729
15440 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32  1e-9.} {abc: 2 2
15450 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
15460 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
15470 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 35 20 7b 0a  intf-2.5.13.5 {.
15480 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
15490 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
154a0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
154b0 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 2 -6.287291e-
154c0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d  9.} {abc: 2 2 (-
154d0 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
154e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
154f0 66 2d 32 2e 35 2e 31 33 2e 36 20 7b 0a 20 20 73  f-2.5.13.6 {.  s
15500 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15510 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
15520 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
15530 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 2 -6.287291e-9
15540 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36  .} {abc: 2 2 (-6
15550 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
15560 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
15570 2d 32 2e 35 2e 31 33 2e 37 20 7b 0a 20 20 73 71  -2.5.13.7 {.  sq
15580 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15590 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
155a0 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32   (%2.2f) :xyz} 2
155b0 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
155c0 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 30 2e  } {abc: 2 2 (-0.
155d0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
155e0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e  t printf-2.5.13.
155f0 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
15600 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15610 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65 29  c: %d %d (%2.2e)
15620 20 3a 78 79 7a 7d 20 32 20 32 20 2d 36 2e 32 38   :xyz} 2 2 -6.28
15630 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
15640 32 20 32 20 28 2d 36 2e 32 39 65 2d 30 39 29 20  2 2 (-6.29e-09) 
15650 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
15660 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 39 20 7b 0a  intf-2.5.13.9 {.
15670 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
15680 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
15690 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79  d %d (%2.2g) :xy
156a0 7a 7d 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31  z} 2 2 -6.287291
156b0 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  e-9.} {abc: 2 2 
156c0 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d  (-6.3e-09) :xyz}
156d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
156e0 32 2e 35 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c  2.5.14.1 {.  sql
156f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15700 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
15710 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38  ) :xyz} 2 2 3.38
15720 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
15730 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d  bc: (0.00) :xyz}
15740 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15750 32 2e 35 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c  2.5.14.2 {.  sql
15760 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15770 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
15780 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38  ) :xyz} 2 2 3.38
15790 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
157a0 62 63 3a 20 28 33 2e 33 39 65 2d 31 31 30 29 20  bc: (3.39e-110) 
157b0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
157c0 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 33 20 7b 0a  intf-2.5.14.3 {.
157d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
157e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
157f0 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*g) :xyz} 2 2
15800 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
15810 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 34 65 2d 31  .} {abc: (3.4e-1
15820 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
15830 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e  t printf-2.5.14.
15840 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
15850 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15860 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
15870 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33  yz} 2 2 3.388263
15880 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
15890 32 20 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31  2 2 (3.38826e-11
158a0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
158b0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 35   printf-2.5.14.5
158c0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
158d0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
158e0 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
158f0 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33  yz} 2 2 3.388263
15900 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
15910 32 20 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31  2 2 (3.38826e-11
15920 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
15930 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 36   printf-2.5.14.6
15940 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
15950 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
15960 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
15970 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32  :xyz} 2 2 3.3882
15980 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
15990 3a 20 32 20 32 20 28 33 2e 33 38 38 32 36 65 2d  : 2 2 (3.38826e-
159a0 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
159b0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34  st printf-2.5.14
159c0 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
159d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
159e0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66  bc: %d %d (%2.2f
159f0 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38  ) :xyz} 2 2 3.38
15a00 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
15a10 62 63 3a 20 32 20 32 20 28 30 2e 30 30 29 20 3a  bc: 2 2 (0.00) :
15a20 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15a30 6e 74 66 2d 32 2e 35 2e 31 34 2e 38 20 7b 0a 20  ntf-2.5.14.8 {. 
15a40 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15a50 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15a60 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
15a70 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39 32  } 2 2 3.38826392
15a80 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20  e-110.} {abc: 2 
15a90 32 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78  2 (3.39e-110) :x
15aa0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15ab0 74 66 2d 32 2e 35 2e 31 34 2e 39 20 7b 0a 20 20  tf-2.5.14.9 {.  
15ac0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
15ad0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
15ae0 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d  %d (%2.2g) :xyz}
15af0 20 32 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   2 2 3.38826392e
15b00 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  -110.} {abc: 2 2
15b10 20 28 33 2e 34 65 2d 31 31 30 29 20 3a 78 79 7a   (3.4e-110) :xyz
15b20 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
15b30 2d 32 2e 36 2e 31 2e 31 20 7b 0a 20 20 73 71 6c  -2.6.1.1 {.  sql
15b40 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15b50 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
15b60 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30  ) :xyz} 2 3 0.00
15b70 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31  1.} {abc: (0.001
15b80 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15b90 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 32 20 7b  printf-2.6.1.2 {
15ba0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15bb0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15bc0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
15bd0 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  3 0.001.} {abc: 
15be0 28 31 2e 30 30 30 65 2d 30 33 29 20 3a 78 79 7a  (1.000e-03) :xyz
15bf0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
15c00 2d 32 2e 36 2e 31 2e 33 20 7b 0a 20 20 73 71 6c  -2.6.1.3 {.  sql
15c10 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15c20 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
15c30 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30  ) :xyz} 2 3 0.00
15c40 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31  1.} {abc: (0.001
15c50 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15c60 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 34 20 7b  printf-2.6.1.4 {
15c70 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15c80 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15c90 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
15ca0 20 32 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62   2 3 0.001.} {ab
15cb0 63 3a 20 32 20 33 20 28 30 2e 30 30 31 29 20 3a  c: 2 3 (0.001) :
15cc0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15cd0 6e 74 66 2d 32 2e 36 2e 31 2e 35 20 7b 0a 20 20  ntf-2.6.1.5 {.  
15ce0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
15cf0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
15d00 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
15d10 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   3 0.001.} {abc:
15d20 20 32 20 33 20 28 30 2e 30 30 31 30 30 30 30 30   2 3 (0.00100000
15d30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15d40 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 36 20 7b  printf-2.6.1.6 {
15d50 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15d60 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15d70 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
15d80 79 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20  yz} 2 3 0.001.} 
15d90 7b 61 62 63 3a 20 32 20 33 20 28 30 30 30 30 30  {abc: 2 3 (00000
15da0 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.001) :xyz}.do_
15db0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
15dc0 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.7 {.  sqlite3_
15dd0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15de0 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
15df0 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30  f) :xyz} 2 3 0.0
15e00 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  01.} {abc: 2 3 (
15e10 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.001) :xyz}.do_
15e20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
15e30 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.8 {.  sqlite3_
15e40 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15e50 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
15e60 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30  e) :xyz} 2 3 0.0
15e70 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  01.} {abc: 2 3 (
15e80 31 2e 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d  1.000e-03) :xyz}
15e90 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15ea0 32 2e 36 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69  2.6.1.9 {.  sqli
15eb0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15ec0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
15ed0 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3g) :xyz} 2 3
15ee0 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32   0.001.} {abc: 2
15ef0 20 33 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d   3 (0.001) :xyz}
15f00 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15f10 32 2e 36 2e 32 2e 31 20 7b 0a 20 20 73 71 6c 69  2.6.2.1 {.  sqli
15f20 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15f30 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
15f40 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d   :xyz} 2 3 1.0e-
15f50 32 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  20.} {abc: (0.00
15f60 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
15f70 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 32 20   printf-2.6.2.2 
15f80 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15f90 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15fa0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
15fb0 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   3 1.0e-20.} {ab
15fc0 63 3a 20 28 31 2e 30 30 30 65 2d 32 30 29 20 3a  c: (1.000e-20) :
15fd0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15fe0 6e 74 66 2d 32 2e 36 2e 32 2e 33 20 7b 0a 20 20  ntf-2.6.2.3 {.  
15ff0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16000 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
16010 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31  .*g) :xyz} 2 3 1
16020 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
16030 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e-20) :xyz}.do_
16040 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
16050 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.4 {.  sqlite3_
16060 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
16070 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
16080 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32  :xyz} 2 3 1.0e-2
16090 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31  0.} {abc: 2 3 (1
160a0 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
160b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32  est printf-2.6.2
160c0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
160d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
160e0 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
160f0 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32  :xyz} 2 3 1.0e-2
16100 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31  0.} {abc: 2 3 (1
16110 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a  .00000e-20) :xyz
16120 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16130 2d 32 2e 36 2e 32 2e 36 20 7b 0a 20 20 73 71 6c  -2.6.2.6 {.  sql
16140 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16150 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
16160 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
16170 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  3 1.0e-20.} {abc
16180 3a 20 32 20 33 20 28 30 30 30 30 30 31 65 2d 32  : 2 3 (000001e-2
16190 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
161a0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 37 20   printf-2.6.2.7 
161b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
161c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
161d0 20 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a   %d %d (%2.3f) :
161e0 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30  xyz} 2 3 1.0e-20
161f0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 2e  .} {abc: 2 3 (0.
16200 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
16210 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e  st printf-2.6.2.
16220 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
16230 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16240 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29  c: %d %d (%2.3e)
16250 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d   :xyz} 2 3 1.0e-
16260 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  20.} {abc: 2 3 (
16270 31 2e 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d  1.000e-20) :xyz}
16280 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
16290 32 2e 36 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69  2.6.2.9 {.  sqli
162a0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
162b0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
162c0 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3g) :xyz} 2 3
162d0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
162e0 20 32 20 33 20 28 31 65 2d 32 30 29 20 3a 78 79   2 3 (1e-20) :xy
162f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16300 66 2d 32 2e 36 2e 33 2e 31 20 7b 0a 20 20 73 71  f-2.6.3.1 {.  sq
16310 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16320 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
16330 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30  f) :xyz} 2 3 1.0
16340 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 29  .} {abc: (1.000)
16350 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16360 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 32 20 7b 0a  rintf-2.6.3.2 {.
16370 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16380 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
16390 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
163a0 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e   1.0.} {abc: (1.
163b0 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
163c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
163d0 36 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  6.3.3 {.  sqlite
163e0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
163f0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
16400 78 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b  xyz} 2 3 1.0.} {
16410 61 62 63 3a 20 28 20 31 29 20 3a 78 79 7a 7d 0a  abc: ( 1) :xyz}.
16420 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
16430 2e 36 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .6.3.4 {.  sqlit
16440 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16450 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
16460 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30  g) :xyz} 2 3 1.0
16470 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 29  .} {abc: 2 3 (1)
16480 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16490 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 35 20 7b 0a  rintf-2.6.3.5 {.
164a0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
164b0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
164c0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
164d0 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   2 3 1.0.} {abc:
164e0 20 32 20 33 20 28 31 2e 30 30 30 30 30 29 20 3a   2 3 (1.00000) :
164f0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16500 6e 74 66 2d 32 2e 36 2e 33 2e 36 20 7b 0a 20 20  ntf-2.6.3.6 {.  
16510 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16520 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
16530 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
16540 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   2 3 1.0.} {abc:
16550 20 32 20 33 20 28 30 30 30 30 30 30 30 30 30 31   2 3 (0000000001
16560 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16570 70 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 37 20 7b  printf-2.6.3.7 {
16580 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16590 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
165a0 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78  %d %d (%2.3f) :x
165b0 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 2 3 1.0.} {a
165c0 62 63 3a 20 32 20 33 20 28 31 2e 30 30 30 29 20  bc: 2 3 (1.000) 
165d0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
165e0 69 6e 74 66 2d 32 2e 36 2e 33 2e 38 20 7b 0a 20  intf-2.6.3.8 {. 
165f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16600 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16610 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a   %d (%2.3e) :xyz
16620 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 3 1.0.} {abc
16630 3a 20 32 20 33 20 28 31 2e 30 30 30 65 2b 30 30  : 2 3 (1.000e+00
16640 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16650 70 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 39 20 7b  printf-2.6.3.9 {
16660 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16670 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16680 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78  %d %d (%2.3g) :x
16690 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 2 3 1.0.} {a
166a0 62 63 3a 20 32 20 33 20 28 20 31 29 20 3a 78 79  bc: 2 3 ( 1) :xy
166b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
166c0 66 2d 32 2e 36 2e 34 2e 31 20 7b 0a 20 20 73 71  f-2.6.4.1 {.  sq
166d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
166e0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
166f0 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30  f) :xyz} 2 3 0.0
16700 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29  .} {abc: (0.000)
16710 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16720 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 32 20 7b 0a  rintf-2.6.4.2 {.
16730 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16740 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
16750 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
16760 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e   0.0.} {abc: (0.
16770 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
16780 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16790 36 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  6.4.3 {.  sqlite
167a0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
167b0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
167c0 78 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b  xyz} 2 3 0.0.} {
167d0 61 62 63 3a 20 28 20 30 29 20 3a 78 79 7a 7d 0a  abc: ( 0) :xyz}.
167e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
167f0 2e 36 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .6.4.4 {.  sqlit
16800 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16810 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
16820 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30  g) :xyz} 2 3 0.0
16830 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 29  .} {abc: 2 3 (0)
16840 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16850 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 35 20 7b 0a  rintf-2.6.4.5 {.
16860 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16870 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16880 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
16890 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 3 0.0.} {abc:
168a0 20 32 20 33 20 28 30 2e 30 30 30 30 30 29 20 3a   2 3 (0.00000) :
168b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
168c0 6e 74 66 2d 32 2e 36 2e 34 2e 36 20 7b 0a 20 20  ntf-2.6.4.6 {.  
168d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
168e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
168f0 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
16900 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 3 0.0.} {abc:
16910 20 32 20 33 20 28 30 30 30 30 30 30 30 30 30 30   2 3 (0000000000
16920 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16930 70 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 37 20 7b  printf-2.6.4.7 {
16940 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16950 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16960 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78  %d %d (%2.3f) :x
16970 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61  yz} 2 3 0.0.} {a
16980 62 63 3a 20 32 20 33 20 28 30 2e 30 30 30 29 20  bc: 2 3 (0.000) 
16990 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
169a0 69 6e 74 66 2d 32 2e 36 2e 34 2e 38 20 7b 0a 20  intf-2.6.4.8 {. 
169b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
169c0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
169d0 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a   %d (%2.3e) :xyz
169e0 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 2 3 0.0.} {abc
169f0 3a 20 32 20 33 20 28 30 2e 30 30 30 65 2b 30 30  : 2 3 (0.000e+00
16a00 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16a10 70 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 39 20 7b  printf-2.6.4.9 {
16a20 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16a30 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16a40 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78  %d %d (%2.3g) :x
16a50 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61  yz} 2 3 0.0.} {a
16a60 62 63 3a 20 32 20 33 20 28 20 30 29 20 3a 78 79  bc: 2 3 ( 0) :xy
16a70 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16a80 66 2d 32 2e 36 2e 35 2e 31 20 7b 0a 20 20 73 71  f-2.6.5.1 {.  sq
16a90 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16aa0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
16ab0 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30  f) :xyz} 2 3 100
16ac0 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e  .0.} {abc: (100.
16ad0 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
16ae0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e  st printf-2.6.5.
16af0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
16b00 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16b10 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
16b20 20 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 3 100.0.} {ab
16b30 63 3a 20 28 31 2e 30 30 30 65 2b 30 32 29 20 3a  c: (1.000e+02) :
16b40 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16b50 6e 74 66 2d 32 2e 36 2e 35 2e 33 20 7b 0a 20 20  ntf-2.6.5.3 {.  
16b60 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16b70 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
16b80 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31  .*g) :xyz} 2 3 1
16b90 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30  00.0.} {abc: (10
16ba0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
16bb0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 34 20   printf-2.6.5.4 
16bc0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
16bd0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
16be0 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
16bf0 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61  } 2 3 100.0.} {a
16c00 62 63 3a 20 32 20 33 20 28 31 30 30 29 20 3a 78  bc: 2 3 (100) :x
16c10 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16c20 74 66 2d 32 2e 36 2e 35 2e 35 20 7b 0a 20 20 73  tf-2.6.5.5 {.  s
16c30 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16c40 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16c50 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
16c60 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 100.0.} {abc: 
16c70 32 20 33 20 28 31 30 30 2e 30 30 30 29 20 3a 78  2 3 (100.000) :x
16c80 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16c90 74 66 2d 32 2e 36 2e 35 2e 36 20 7b 0a 20 20 73  tf-2.6.5.6 {.  s
16ca0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16cb0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16cc0 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
16cd0 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  2 3 100.0.} {abc
16ce0 3a 20 32 20 33 20 28 30 30 30 30 30 30 30 31 30  : 2 3 (000000010
16cf0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
16d00 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 37 20   printf-2.6.5.7 
16d10 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
16d20 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
16d30 20 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a   %d %d (%2.3f) :
16d40 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d  xyz} 2 3 100.0.}
16d50 20 7b 61 62 63 3a 20 32 20 33 20 28 31 30 30 2e   {abc: 2 3 (100.
16d60 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
16d70 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e  st printf-2.6.5.
16d80 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
16d90 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16da0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29  c: %d %d (%2.3e)
16db0 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30   :xyz} 2 3 100.0
16dc0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e  .} {abc: 2 3 (1.
16dd0 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  000e+02) :xyz}.d
16de0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16df0 36 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  6.5.9 {.  sqlite
16e00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
16e10 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
16e20 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31  .3g) :xyz} 2 3 1
16e30 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33  00.0.} {abc: 2 3
16e40 20 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   (100) :xyz}.do_
16e50 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
16e60 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.1 {.  sqlite3_
16e70 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
16e80 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
16e90 7a 7d 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d  z} 2 3 9.99999.}
16ea0 20 7b 61 62 63 3a 20 28 31 30 2e 30 30 30 29 20   {abc: (10.000) 
16eb0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16ec0 69 6e 74 66 2d 32 2e 36 2e 36 2e 32 20 7b 0a 20  intf-2.6.6.2 {. 
16ed0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16ee0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
16ef0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
16f00 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
16f10 28 31 2e 30 30 30 65 2b 30 31 29 20 3a 78 79 7a  (1.000e+01) :xyz
16f20 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16f30 2d 32 2e 36 2e 36 2e 33 20 7b 0a 20 20 73 71 6c  -2.6.6.3 {.  sql
16f40 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16f50 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
16f60 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39  ) :xyz} 2 3 9.99
16f70 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 30 29  999.} {abc: (10)
16f80 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16f90 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 34 20 7b 0a  rintf-2.6.6.4 {.
16fa0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16fb0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16fc0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
16fd0 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 3 9.99999.} {a
16fe0 62 63 3a 20 32 20 33 20 28 39 2e 39 39 39 39 39  bc: 2 3 (9.99999
16ff0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17000 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 35 20 7b  printf-2.6.6.5 {
17010 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
17020 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
17030 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
17040 7d 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20  } 2 3 9.99999.} 
17050 7b 61 62 63 3a 20 32 20 33 20 28 39 2e 39 39 39  {abc: 2 3 (9.999
17060 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
17070 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 36  t printf-2.6.6.6
17080 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17090 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
170a0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
170b0 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39  :xyz} 2 3 9.9999
170c0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30  9.} {abc: 2 3 (0
170d0 30 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  009.99999) :xyz}
170e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
170f0 32 2e 36 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69  2.6.6.7 {.  sqli
17100 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17110 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
17120 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3f) :xyz} 2 3
17130 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
17140 20 32 20 33 20 28 31 30 2e 30 30 30 29 20 3a 78   2 3 (10.000) :x
17150 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17160 74 66 2d 32 2e 36 2e 36 2e 38 20 7b 0a 20 20 73  tf-2.6.6.8 {.  s
17170 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
17180 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
17190 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%2.3e) :xyz} 
171a0 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 3 9.99999.} {a
171b0 62 63 3a 20 32 20 33 20 28 31 2e 30 30 30 65 2b  bc: 2 3 (1.000e+
171c0 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
171d0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 39  t printf-2.6.6.9
171e0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
171f0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17200 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20  : %d %d (%2.3g) 
17210 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39  :xyz} 2 3 9.9999
17220 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31  9.} {abc: 2 3 (1
17230 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
17240 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 31 20   printf-2.6.7.1 
17250 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
17260 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
17270 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32   (%*.*f) :xyz} 2
17280 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   3 -0.00543.} {a
17290 62 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79  bc: (-0.005) :xy
172a0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
172b0 66 2d 32 2e 36 2e 37 2e 32 20 7b 0a 20 20 73 71  f-2.6.7.2 {.  sq
172c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
172d0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
172e0 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e  e) :xyz} 2 3 -0.
172f0 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d  00543.} {abc: (-
17300 35 2e 34 33 30 65 2d 30 33 29 20 3a 78 79 7a 7d  5.430e-03) :xyz}
17310 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17320 32 2e 36 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69  2.6.7.3 {.  sqli
17330 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17340 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
17350 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30   :xyz} 2 3 -0.00
17360 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e  543.} {abc: (-0.
17370 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
17380 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
17390 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.4 {.  sqlite3_
173a0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
173b0 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
173c0 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35  :xyz} 2 3 -0.005
173d0 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  43.} {abc: 2 3 (
173e0 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  -0.00543) :xyz}.
173f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17400 2e 36 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .6.7.5 {.  sqlit
17410 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17420 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
17430 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30  #g) :xyz} 2 3 -0
17440 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32  .00543.} {abc: 2
17450 20 33 20 28 2d 30 2e 30 30 35 34 33 30 30 30 29   3 (-0.00543000)
17460 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
17470 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 36 20 7b 0a  rintf-2.6.7.6 {.
17480 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17490 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
174a0 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
174b0 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34 33 0a  z} 2 3 -0.00543.
174c0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 30  } {abc: 2 3 (-00
174d0 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
174e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
174f0 36 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  6.7.7 {.  sqlite
17500 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17510 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
17520 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  .3f) :xyz} 2 3 -
17530 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
17540 32 20 33 20 28 2d 30 2e 30 30 35 29 20 3a 78 79  2 3 (-0.005) :xy
17550 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17560 66 2d 32 2e 36 2e 37 2e 38 20 7b 0a 20 20 73 71  f-2.6.7.8 {.  sq
17570 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17580 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17590 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32   (%2.3e) :xyz} 2
175a0 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   3 -0.00543.} {a
175b0 62 63 3a 20 32 20 33 20 28 2d 35 2e 34 33 30 65  bc: 2 3 (-5.430e
175c0 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
175d0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e  st printf-2.6.7.
175e0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
175f0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17600 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29  c: %d %d (%2.3g)
17610 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30   :xyz} 2 3 -0.00
17620 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  543.} {abc: 2 3 
17630 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d  (-0.00543) :xyz}
17640 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17650 32 2e 36 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69  2.6.8.1 {.  sqli
17660 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17670 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
17680 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a   :xyz} 2 3 -1.0.
17690 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 29  } {abc: (-1.000)
176a0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
176b0 72 69 6e 74 66 2d 32 2e 36 2e 38 2e 32 20 7b 0a  rintf-2.6.8.2 {.
176c0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
176d0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
176e0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
176f0 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d   -1.0.} {abc: (-
17700 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  1.000e+00) :xyz}
17710 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17720 32 2e 36 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69  2.6.8.3 {.  sqli
17730 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17740 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
17750 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a   :xyz} 2 3 -1.0.
17760 7d 20 7b 61 62 63 3a 20 28 2d 31 29 20 3a 78 79  } {abc: (-1) :xy
17770 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17780 66 2d 32 2e 36 2e 38 2e 34 20 7b 0a 20 20 73 71  f-2.6.8.4 {.  sq
17790 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
177a0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
177b0 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20   (%g) :xyz} 2 3 
177c0 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33  -1.0.} {abc: 2 3
177d0 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   (-1) :xyz}.do_t
177e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38  est printf-2.6.8
177f0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
17800 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17810 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
17820 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d  :xyz} 2 3 -1.0.}
17830 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 31 2e 30   {abc: 2 3 (-1.0
17840 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
17850 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38  est printf-2.6.8
17860 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
17870 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17880 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
17890 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30  ) :xyz} 2 3 -1.0
178a0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30  .} {abc: 2 3 (-0
178b0 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a  00000001) :xyz}.
178c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
178d0 2e 36 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .6.8.7 {.  sqlit
178e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
178f0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
17900 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3f) :xyz} 2 3 
17910 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33  -1.0.} {abc: 2 3
17920 20 28 2d 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a   (-1.000) :xyz}.
17930 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17940 2e 36 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .6.8.8 {.  sqlit
17950 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17960 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
17970 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3e) :xyz} 2 3 
17980 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33  -1.0.} {abc: 2 3
17990 20 28 2d 31 2e 30 30 30 65 2b 30 30 29 20 3a 78   (-1.000e+00) :x
179a0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
179b0 74 66 2d 32 2e 36 2e 38 2e 39 20 7b 0a 20 20 73  tf-2.6.8.9 {.  s
179c0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
179d0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
179e0 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20  d (%2.3g) :xyz} 
179f0 32 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  2 3 -1.0.} {abc:
17a00 20 32 20 33 20 28 2d 31 29 20 3a 78 79 7a 7d 0a   2 3 (-1) :xyz}.
17a10 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17a20 2e 36 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .6.9.1 {.  sqlit
17a30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17a40 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
17a50 3a 78 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39  :xyz} 2 3 -99.99
17a60 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30  999.} {abc: (-10
17a70 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
17a80 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
17a90 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.2 {.  sqlite3_
17aa0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
17ab0 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
17ac0 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39  z} 2 3 -99.99999
17ad0 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30  .} {abc: (-1.000
17ae0 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
17af0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39  est printf-2.6.9
17b00 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
17b10 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
17b20 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
17b30 7d 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a  } 2 3 -99.99999.
17b40 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 29 20 3a  } {abc: (-100) :
17b50 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17b60 6e 74 66 2d 32 2e 36 2e 39 2e 34 20 7b 0a 20 20  ntf-2.6.9.4 {.  
17b70 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17b80 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
17b90 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20  %d (%g) :xyz} 2 
17ba0 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 -99.99999.} {a
17bb0 62 63 3a 20 32 20 33 20 28 2d 31 30 30 29 20 3a  bc: 2 3 (-100) :
17bc0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17bd0 6e 74 66 2d 32 2e 36 2e 39 2e 35 20 7b 0a 20 20  ntf-2.6.9.5 {.  
17be0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17bf0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
17c00 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
17c10 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   3 -99.99999.} {
17c20 61 62 63 3a 20 32 20 33 20 28 2d 31 30 30 2e 30  abc: 2 3 (-100.0
17c30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
17c40 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 36  t printf-2.6.9.6
17c50 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17c60 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17c70 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
17c80 3a 78 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39  :xyz} 2 3 -99.99
17c90 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  999.} {abc: 2 3 
17ca0 28 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78 79  (-000000100) :xy
17cb0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17cc0 66 2d 32 2e 36 2e 39 2e 37 20 7b 0a 20 20 73 71  f-2.6.9.7 {.  sq
17cd0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17ce0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17cf0 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32   (%2.3f) :xyz} 2
17d00 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   3 -99.99999.} {
17d10 61 62 63 3a 20 32 20 33 20 28 2d 31 30 30 2e 30  abc: 2 3 (-100.0
17d20 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
17d30 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 38  t printf-2.6.9.8
17d40 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17d50 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17d60 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20  : %d %d (%2.3e) 
17d70 3a 78 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39  :xyz} 2 3 -99.99
17d80 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  999.} {abc: 2 3 
17d90 28 2d 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79  (-1.000e+02) :xy
17da0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17db0 66 2d 32 2e 36 2e 39 2e 39 20 7b 0a 20 20 73 71  f-2.6.9.9 {.  sq
17dc0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17dd0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17de0 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32   (%2.3g) :xyz} 2
17df0 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   3 -99.99999.} {
17e00 61 62 63 3a 20 32 20 33 20 28 2d 31 30 30 29 20  abc: 2 3 (-100) 
17e10 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
17e20 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 31 20 7b 0a  intf-2.6.10.1 {.
17e30 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17e40 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
17e50 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*f) :xyz} 2 3
17e60 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
17e70 20 28 33 31 34 30 30 30 30 30 30 30 2e 30 30 30   (3140000000.000
17e80 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17e90 70 72 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 32 20  printf-2.6.10.2 
17ea0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
17eb0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
17ec0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
17ed0 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   3 3.14e+9.} {ab
17ee0 63 3a 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a  c: (3.140e+09) :
17ef0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17f00 6e 74 66 2d 32 2e 36 2e 31 30 2e 33 20 7b 0a 20  ntf-2.6.10.3 {. 
17f10 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
17f20 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
17f30 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*g) :xyz} 2 3 
17f40 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
17f50 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  (3.14e+09) :xyz}
17f60 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17f70 32 2e 36 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c  2.6.10.4 {.  sql
17f80 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17f90 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
17fa0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  (%g) :xyz} 2 3 3
17fb0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32  .14e+9.} {abc: 2
17fc0 20 33 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78   3 (3.14e+09) :x
17fd0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17fe0 74 66 2d 32 2e 36 2e 31 30 2e 35 20 7b 0a 20 20  tf-2.6.10.5 {.  
17ff0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
18000 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
18010 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
18020 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   3 3.14e+9.} {ab
18030 63 3a 20 32 20 33 20 28 33 2e 31 34 30 30 30 65  c: 2 3 (3.14000e
18040 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
18050 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 30  st printf-2.6.10
18060 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
18070 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18080 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
18090 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34  ) :xyz} 2 3 3.14
180a0 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  e+9.} {abc: 2 3 
180b0 28 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79  (003.14e+09) :xy
180c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
180d0 66 2d 32 2e 36 2e 31 30 2e 37 20 7b 0a 20 20 73  f-2.6.10.7 {.  s
180e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
180f0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
18100 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%2.3f) :xyz} 
18110 32 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  2 3 3.14e+9.} {a
18120 62 63 3a 20 32 20 33 20 28 33 31 34 30 30 30 30  bc: 2 3 (3140000
18130 30 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  000.000) :xyz}.d
18140 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
18150 36 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69 74  6.10.8 {.  sqlit
18160 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18170 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18180 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3e) :xyz} 2 3 
18190 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
181a0 32 20 33 20 28 33 2e 31 34 30 65 2b 30 39 29 20  2 3 (3.140e+09) 
181b0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
181c0 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 39 20 7b 0a  intf-2.6.10.9 {.
181d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
181e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
181f0 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79  d %d (%2.3g) :xy
18200 7a 7d 20 32 20 33 20 33 2e 31 34 65 2b 39 0a 7d  z} 2 3 3.14e+9.}
18210 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 31 34   {abc: 2 3 (3.14
18220 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
18230 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18240 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.2 {.  sqlite3_
18250 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18260 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
18270 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65  z} 2 3 -4.72732e
18280 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e  +88.} {abc: (-4.
18290 37 32 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  727e+88) :xyz}.d
182a0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
182b0 36 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74  6.11.3 {.  sqlit
182c0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
182d0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
182e0 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37  :xyz} 2 3 -4.727
182f0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28  32e+88.} {abc: (
18300 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d  -4.73e+88) :xyz}
18310 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
18320 32 2e 36 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c  2.6.11.4 {.  sql
18330 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18340 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18350 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  (%g) :xyz} 2 3 -
18360 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
18370 62 63 3a 20 32 20 33 20 28 2d 34 2e 37 32 37 33  bc: 2 3 (-4.7273
18380 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
18390 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
183a0 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.5 {.  sqlite3
183b0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
183c0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
183d0 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37  ) :xyz} 2 3 -4.7
183e0 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
183f0 20 32 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b   2 3 (-4.72732e+
18400 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
18410 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e  t printf-2.6.11.
18420 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
18430 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18440 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
18450 20 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32   :xyz} 2 3 -4.72
18460 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
18470 32 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  2 3 (-4.72732e+8
18480 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
18490 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 38   printf-2.6.11.8
184a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
184b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
184c0 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20  : %d %d (%2.3e) 
184d0 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37  :xyz} 2 3 -4.727
184e0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32  32e+88.} {abc: 2
184f0 20 33 20 28 2d 34 2e 37 32 37 65 2b 38 38 29 20   3 (-4.727e+88) 
18500 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
18510 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 39 20 7b 0a  intf-2.6.11.9 {.
18520 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
18530 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
18540 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79  d %d (%2.3g) :xy
18550 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65  z} 2 3 -4.72732e
18560 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  +88.} {abc: 2 3 
18570 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a  (-4.73e+88) :xyz
18580 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18590 2d 32 2e 36 2e 31 32 2e 32 20 7b 0a 20 20 73 71  -2.6.12.2 {.  sq
185a0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
185b0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
185c0 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38  e) :xyz} 2 3 9.8
185d0 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
185e0 3a 20 28 39 2e 38 38 30 65 2b 31 34 33 29 20 3a  : (9.880e+143) :
185f0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18600 6e 74 66 2d 32 2e 36 2e 31 32 2e 33 20 7b 0a 20  ntf-2.6.12.3 {. 
18610 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18620 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
18630 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*g) :xyz} 2 3 
18640 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
18650 61 62 63 3a 20 28 39 2e 38 38 65 2b 31 34 33 29  abc: (9.88e+143)
18660 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18670 72 69 6e 74 66 2d 32 2e 36 2e 31 32 2e 34 20 7b  rintf-2.6.12.4 {
18680 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18690 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
186a0 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
186b0 20 32 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34   2 3 9.87991e+14
186c0 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 39  3.} {abc: 2 3 (9
186d0 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79  .87991e+143) :xy
186e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
186f0 66 2d 32 2e 36 2e 31 32 2e 35 20 7b 0a 20 20 73  f-2.6.12.5 {.  s
18700 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
18710 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
18720 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
18730 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  3 9.87991e+143.}
18740 20 7b 61 62 63 3a 20 32 20 33 20 28 39 2e 38 37   {abc: 2 3 (9.87
18750 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  991e+143) :xyz}.
18760 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18770 2e 36 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69  .6.12.6 {.  sqli
18780 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18790 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
187a0 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33  %010g) :xyz} 2 3
187b0 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
187c0 7b 61 62 63 3a 20 32 20 33 20 28 39 2e 38 37 39  {abc: 2 3 (9.879
187d0 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  91e+143) :xyz}.d
187e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
187f0 36 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74  6.12.8 {.  sqlit
18800 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18810 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18820 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3e) :xyz} 2 3 
18830 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
18840 61 62 63 3a 20 32 20 33 20 28 39 2e 38 38 30 65  abc: 2 3 (9.880e
18850 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  +143) :xyz}.do_t
18860 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18870 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.9 {.  sqlite3_
18880 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18890 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
188a0 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38  g) :xyz} 2 3 9.8
188b0 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
188c0 3a 20 32 20 33 20 28 39 2e 38 38 65 2b 31 34 33  : 2 3 (9.88e+143
188d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
188e0 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 31 20  printf-2.6.13.1 
188f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
18900 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
18910 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32   (%*.*f) :xyz} 2
18920 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   3 -6.287291e-9.
18930 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30 29  } {abc: (-0.000)
18940 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18950 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 32 20 7b  rintf-2.6.13.2 {
18960 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18970 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18980 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
18990 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  3 -6.287291e-9.}
189a0 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37 65 2d   {abc: (-6.287e-
189b0 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
189c0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e  t printf-2.6.13.
189d0 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
189e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
189f0 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
18a00 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 3 -6.287291e-
18a10 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 39  9.} {abc: (-6.29
18a20 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
18a30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18a40 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.4 {.  sqlite3_
18a50 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18a60 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
18a70 3a 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37  :xyz} 2 3 -6.287
18a80 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32  291e-9.} {abc: 2
18a90 20 33 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39   3 (-6.28729e-09
18aa0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
18ab0 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 35 20  printf-2.6.13.5 
18ac0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
18ad0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
18ae0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
18af0 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31  z} 2 3 -6.287291
18b00 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  e-9.} {abc: 2 3 
18b10 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
18b20 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18b30 6e 74 66 2d 32 2e 36 2e 31 33 2e 36 20 7b 0a 20  ntf-2.6.13.6 {. 
18b40 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18b50 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
18b60 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
18b70 7d 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65  } 2 3 -6.287291e
18b80 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  -9.} {abc: 2 3 (
18b90 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
18ba0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
18bb0 74 66 2d 32 2e 36 2e 31 33 2e 37 20 7b 0a 20 20  tf-2.6.13.7 {.  
18bc0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
18bd0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
18be0 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d  %d (%2.3f) :xyz}
18bf0 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 3 -6.287291e-
18c00 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  9.} {abc: 2 3 (-
18c10 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
18c20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18c30 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.8 {.  sqlite3
18c40 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18c50 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
18c60 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 36  3e) :xyz} 2 3 -6
18c70 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
18c80 63 3a 20 32 20 33 20 28 2d 36 2e 32 38 37 65 2d  c: 2 3 (-6.287e-
18c90 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
18ca0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e  t printf-2.6.13.
18cb0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
18cc0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18cd0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29  c: %d %d (%2.3g)
18ce0 20 3a 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38   :xyz} 2 3 -6.28
18cf0 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
18d00 32 20 33 20 28 2d 36 2e 32 39 65 2d 30 39 29 20  2 3 (-6.29e-09) 
18d10 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
18d20 69 6e 74 66 2d 32 2e 36 2e 31 34 2e 31 20 7b 0a  intf-2.6.14.1 {.
18d30 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
18d40 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
18d50 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*f) :xyz} 2 3
18d60 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
18d70 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29  .} {abc: (0.000)
18d80 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18d90 72 69 6e 74 66 2d 32 2e 36 2e 31 34 2e 32 20 7b  rintf-2.6.14.2 {
18da0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18db0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18dc0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
18dd0 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
18de0 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38  0.} {abc: (3.388
18df0 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
18e00 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18e10 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.3 {.  sqlite3
18e20 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18e30 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
18e40 79 7a 7d 20 32 20 33 20 33 2e 33 38 38 32 36 33  yz} 2 3 3.388263
18e50 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
18e60 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a  (3.39e-110) :xyz
18e70 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18e80 2d 32 2e 36 2e 31 34 2e 34 20 7b 0a 20 20 73 71  -2.6.14.4 {.  sq
18e90 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18ea0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
18eb0 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20   (%g) :xyz} 2 3 
18ec0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
18ed0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33  } {abc: 2 3 (3.3
18ee0 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
18ef0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
18f00 32 2e 36 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c  2.6.14.5 {.  sql
18f10 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18f20 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18f30 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  (%#g) :xyz} 2 3 
18f40 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
18f50 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33  } {abc: 2 3 (3.3
18f60 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
18f70 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
18f80 32 2e 36 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c  2.6.14.6 {.  sql
18f90 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18fa0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18fb0 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
18fc0 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
18fd0 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 33  0.} {abc: 2 3 (3
18fe0 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
18ff0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19000 66 2d 32 2e 36 2e 31 34 2e 37 20 7b 0a 20 20 73  f-2.6.14.7 {.  s
19010 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19020 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19030 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%2.3f) :xyz} 
19040 32 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d  2 3 3.38826392e-
19050 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  110.} {abc: 2 3 
19060 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  (0.000) :xyz}.do
19070 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
19080 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .14.8 {.  sqlite
19090 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
190a0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
190b0 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .3e) :xyz} 2 3 3
190c0 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
190d0 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38   {abc: 2 3 (3.38
190e0 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  8e-110) :xyz}.do
190f0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
19100 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .14.9 {.  sqlite
19110 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19120 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
19130 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .3g) :xyz} 2 3 3
19140 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
19150 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 39   {abc: 2 3 (3.39
19160 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
19170 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
19180 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.1 {.  sqlite3_
19190 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
191a0 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
191b0 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 3 0.001.} {
191c0 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79  abc: (0.001) :xy
191d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
191e0 66 2d 32 2e 37 2e 31 2e 32 20 7b 0a 20 20 73 71  f-2.7.1.2 {.  sq
191f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19200 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
19210 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30  e) :xyz} 3 3 0.0
19220 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  01.} {abc: (1.00
19230 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
19240 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
19250 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.3 {.  sqlite3_
19260 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
19270 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
19280 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 3 0.001.} {
19290 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79  abc: (0.001) :xy
192a0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
192b0 66 2d 32 2e 37 2e 31 2e 34 20 7b 0a 20 20 73 71  f-2.7.1.4 {.  sq
192c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
192d0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
192e0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
192f0 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20  0.001.} {abc: 3 
19300 33 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  3 (0.001) :xyz}.
19310 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
19320 2e 37 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .7.1.5 {.  sqlit
19330 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
19340 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
19350 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e  #g) :xyz} 3 3 0.
19360 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  001.} {abc: 3 3 
19370 28 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79  (0.00100000) :xy
19380 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19390 66 2d 32 2e 37 2e 31 2e 36 20 7b 0a 20 20 73 71  f-2.7.1.6 {.  sq
193a0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
193b0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
193c0 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
193d0 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   3 0.001.} {abc:
193e0 20 33 20 33 20 28 30 30 30 30 30 30 2e 30 30 31   3 3 (000000.001
193f0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19400 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 37 20 7b  printf-2.7.1.7 {
19410 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
19420 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
19430 25 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78  %d %d (%3.3f) :x
19440 79 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20  yz} 3 3 0.001.} 
19450 7b 61 62 63 3a 20 33 20 33 20 28 30 2e 30 30 31  {abc: 3 3 (0.001
19460 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19470 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 38 20 7b  printf-2.7.1.8 {
19480 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
19490 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
194a0 25 64 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78  %d %d (%3.3e) :x
194b0 79 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20  yz} 3 3 0.001.} 
194c0 7b 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30  {abc: 3 3 (1.000
194d0 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
194e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
194f0 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
19500 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19510 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67  bc: %d %d (%3.3g
19520 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30  ) :xyz} 3 3 0.00
19530 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  1.} {abc: 3 3 (0
19540 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
19550 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32  est printf-2.7.2
19560 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
19570 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19580 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
19590 7d 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20  } 3 3 1.0e-20.} 
195a0 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78  {abc: (0.000) :x
195b0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
195c0 74 66 2d 32 2e 37 2e 32 2e 32 20 7b 0a 20 20 73  tf-2.7.2.2 {.  s
195d0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
195e0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
195f0 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e  *e) :xyz} 3 3 1.
19600 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31  0e-20.} {abc: (1
19610 2e 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  .000e-20) :xyz}.
19620 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
19630 2e 37 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .7.2.3 {.  sqlit
19640 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
19650 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
19660 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32  :xyz} 3 3 1.0e-2
19670 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32 30  0.} {abc: (1e-20
19680 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19690 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 34 20 7b  printf-2.7.2.4 {
196a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
196b0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
196c0 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
196d0 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 3 1.0e-20.} {
196e0 61 62 63 3a 20 33 20 33 20 28 31 65 2d 32 30 29  abc: 3 3 (1e-20)
196f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
19700 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 35 20 7b 0a  rintf-2.7.2.5 {.
19710 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
19720 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
19730 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
19740 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 3 1.0e-20.} {
19750 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 30  abc: 3 3 (1.0000
19760 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-20) :xyz}.do_
19770 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
19780 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.6 {.  sqlite3_
19790 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
197a0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
197b0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30  g) :xyz} 3 3 1.0
197c0 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  e-20.} {abc: 3 3
197d0 20 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78   (000001e-20) :x
197e0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
197f0 74 66 2d 32 2e 37 2e 32 2e 37 20 7b 0a 20 20 73  tf-2.7.2.7 {.  s
19800 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19810 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19820 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%3.3f) :xyz} 
19830 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  3 3 1.0e-20.} {a
19840 62 63 3a 20 33 20 33 20 28 30 2e 30 30 30 29 20  bc: 3 3 (0.000) 
19850 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
19860 69 6e 74 66 2d 32 2e 37 2e 32 2e 38 20 7b 0a 20  intf-2.7.2.8 {. 
19870 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
19880 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
19890 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a   %d (%3.3e) :xyz
198a0 7d 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20  } 3 3 1.0e-20.} 
198b0 7b 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30  {abc: 3 3 (1.000
198c0 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
198d0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32  est printf-2.7.2
198e0 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
198f0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19900 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67  bc: %d %d (%3.3g
19910 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65  ) :xyz} 3 3 1.0e
19920 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  -20.} {abc: 3 3 
19930 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  (1e-20) :xyz}.do
19940 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19950 2e 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.1 {.  sqlite3
19960 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19970 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
19980 79 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 3 3 1.0.} {a
19990 62 63 3a 20 28 31 2e 30 30 30 29 20 3a 78 79 7a  bc: (1.000) :xyz
199a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
199b0 2d 32 2e 37 2e 33 2e 32 20 7b 0a 20 20 73 71 6c  -2.7.3.2 {.  sql
199c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
199d0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
199e0 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 0a  ) :xyz} 3 3 1.0.
199f0 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 65 2b  } {abc: (1.000e+
19a00 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
19a10 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e 33  t printf-2.7.3.3
19a20 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19a30 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19a40 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
19a50 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 1.0.} {abc: 
19a60 28 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (  1) :xyz}.do_t
19a70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33  est printf-2.7.3
19a80 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
19a90 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19aa0 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
19ab0 78 79 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b  xyz} 3 3 1.0.} {
19ac0 61 62 63 3a 20 33 20 33 20 28 31 29 20 3a 78 79  abc: 3 3 (1) :xy
19ad0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19ae0 66 2d 32 2e 37 2e 33 2e 35 20 7b 0a 20 20 73 71  f-2.7.3.5 {.  sq
19af0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19b00 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19b10 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
19b20 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   1.0.} {abc: 3 3
19b30 20 28 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d   (1.00000) :xyz}
19b40 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19b50 32 2e 37 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69  2.7.3.6 {.  sqli
19b60 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19b70 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
19b80 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33  %010g) :xyz} 3 3
19b90 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   1.0.} {abc: 3 3
19ba0 20 28 30 30 30 30 30 30 30 30 30 31 29 20 3a 78   (0000000001) :x
19bb0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19bc0 74 66 2d 32 2e 37 2e 33 2e 37 20 7b 0a 20 20 73  tf-2.7.3.7 {.  s
19bd0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19be0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19bf0 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%3.3f) :xyz} 
19c00 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 1.0.} {abc: 
19c10 33 20 33 20 28 31 2e 30 30 30 29 20 3a 78 79 7a  3 3 (1.000) :xyz
19c20 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19c30 2d 32 2e 37 2e 33 2e 38 20 7b 0a 20 20 73 71 6c  -2.7.3.8 {.  sql
19c40 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19c50 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19c60 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
19c70 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  3 1.0.} {abc: 3 
19c80 33 20 28 31 2e 30 30 30 65 2b 30 30 29 20 3a 78  3 (1.000e+00) :x
19c90 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19ca0 74 66 2d 32 2e 37 2e 33 2e 39 20 7b 0a 20 20 73  tf-2.7.3.9 {.  s
19cb0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19cc0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19cd0 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20  d (%3.3g) :xyz} 
19ce0 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 1.0.} {abc: 
19cf0 33 20 33 20 28 20 20 31 29 20 3a 78 79 7a 7d 0a  3 3 (  1) :xyz}.
19d00 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
19d10 2e 37 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .7.4.1 {.  sqlit
19d20 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
19d30 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
19d40 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d 20  :xyz} 3 3 0.0.} 
19d50 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78  {abc: (0.000) :x
19d60 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19d70 74 66 2d 32 2e 37 2e 34 2e 32 20 7b 0a 20 20 73  tf-2.7.4.2 {.  s
19d80 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19d90 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
19da0 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e  *e) :xyz} 3 3 0.
19db0 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30  0.} {abc: (0.000
19dc0 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
19dd0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 34  est printf-2.7.4
19de0 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
19df0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19e00 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
19e10 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 3 0.0.} {abc
19e20 3a 20 28 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f  : (  0) :xyz}.do
19e30 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19e40 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.4 {.  sqlite3
19e50 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19e60 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
19e70 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d   :xyz} 3 3 0.0.}
19e80 20 7b 61 62 63 3a 20 33 20 33 20 28 30 29 20 3a   {abc: 3 3 (0) :
19e90 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
19ea0 6e 74 66 2d 32 2e 37 2e 34 2e 35 20 7b 0a 20 20  ntf-2.7.4.5 {.  
19eb0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
19ec0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
19ed0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
19ee0 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   3 0.0.} {abc: 3
19ef0 20 33 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79   3 (0.00000) :xy
19f00 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19f10 66 2d 32 2e 37 2e 34 2e 36 20 7b 0a 20 20 73 71  f-2.7.4.6 {.  sq
19f20 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19f30 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19f40 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
19f50 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   3 0.0.} {abc: 3
19f60 20 33 20 28 30 30 30 30 30 30 30 30 30 30 29 20   3 (0000000000) 
19f70 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
19f80 69 6e 74 66 2d 32 2e 37 2e 34 2e 37 20 7b 0a 20  intf-2.7.4.7 {. 
19f90 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
19fa0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
19fb0 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
19fc0 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 3 0.0.} {abc
19fd0 3a 20 33 20 33 20 28 30 2e 30 30 30 29 20 3a 78  : 3 3 (0.000) :x
19fe0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19ff0 74 66 2d 32 2e 37 2e 34 2e 38 20 7b 0a 20 20 73  tf-2.7.4.8 {.  s
1a000 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1a010 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1a020 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%3.3e) :xyz} 
1a030 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 0.0.} {abc: 
1a040 33 20 33 20 28 30 2e 30 30 30 65 2b 30 30 29 20  3 3 (0.000e+00) 
1a050 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1a060 69 6e 74 66 2d 32 2e 37 2e 34 2e 39 20 7b 0a 20  intf-2.7.4.9 {. 
1a070 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1a080 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1a090 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a   %d (%3.3g) :xyz
1a0a0 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 3 0.0.} {abc
1a0b0 3a 20 33 20 33 20 28 20 20 30 29 20 3a 78 79 7a  : 3 3 (  0) :xyz
1a0c0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a0d0 2d 32 2e 37 2e 35 2e 31 20 7b 0a 20 20 73 71 6c  -2.7.5.1 {.  sql
1a0e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a0f0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
1a100 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e  ) :xyz} 3 3 100.
1a110 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30  0.} {abc: (100.0
1a120 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1a130 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 32  t printf-2.7.5.2
1a140 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1a150 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1a160 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1a170 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  3 3 100.0.} {abc
1a180 3a 20 28 31 2e 30 30 30 65 2b 30 32 29 20 3a 78  : (1.000e+02) :x
1a190 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1a1a0 74 66 2d 32 2e 37 2e 35 2e 33 20 7b 0a 20 20 73  tf-2.7.5.3 {.  s
1a1b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1a1c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1a1d0 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30  *g) :xyz} 3 3 10
1a1e0 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30  0.0.} {abc: (100
1a1f0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a200 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 34 20 7b  printf-2.7.5.4 {
1a210 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a220 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a230 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
1a240 20 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62   3 3 100.0.} {ab
1a250 63 3a 20 33 20 33 20 28 31 30 30 29 20 3a 78 79  c: 3 3 (100) :xy
1a260 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a270 66 2d 32 2e 37 2e 35 2e 35 20 7b 0a 20 20 73 71  f-2.7.5.5 {.  sq
1a280 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a290 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1a2a0 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
1a2b0 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   100.0.} {abc: 3
1a2c0 20 33 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79   3 (100.000) :xy
1a2d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a2e0 66 2d 32 2e 37 2e 35 2e 36 20 7b 0a 20 20 73 71  f-2.7.5.6 {.  sq
1a2f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a300 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1a310 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1a320 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 100.0.} {abc:
1a330 20 33 20 33 20 28 30 30 30 30 30 30 30 31 30 30   3 3 (0000000100
1a340 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a350 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 37 20 7b  printf-2.7.5.7 {
1a360 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a370 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a380 25 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78  %d %d (%3.3f) :x
1a390 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d 20  yz} 3 3 100.0.} 
1a3a0 7b 61 62 63 3a 20 33 20 33 20 28 31 30 30 2e 30  {abc: 3 3 (100.0
1a3b0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1a3c0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 38  t printf-2.7.5.8
1a3d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1a3e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1a3f0 3a 20 25 64 20 25 64 20 28 25 33 2e 33 65 29 20  : %d %d (%3.3e) 
1a400 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a  :xyz} 3 3 100.0.
1a410 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 31 2e 30  } {abc: 3 3 (1.0
1a420 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
1a430 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1a440 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.9 {.  sqlite3
1a450 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1a460 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1a470 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30  3g) :xyz} 3 3 10
1a480 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  0.0.} {abc: 3 3 
1a490 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (100) :xyz}.do_t
1a4a0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36  est printf-2.7.6
1a4b0 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
1a4c0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1a4d0 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
1a4e0 7d 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20  } 3 3 9.99999.} 
1a4f0 7b 61 62 63 3a 20 28 31 30 2e 30 30 30 29 20 3a  {abc: (10.000) :
1a500 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a510 6e 74 66 2d 32 2e 37 2e 36 2e 32 20 7b 0a 20 20  ntf-2.7.6.2 {.  
1a520 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a530 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1a540 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  .*e) :xyz} 3 3 9
1a550 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
1a560 31 2e 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d  1.000e+01) :xyz}
1a570 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1a580 32 2e 37 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69  2.7.6.3 {.  sqli
1a590 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1a5a0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1a5b0 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39   :xyz} 3 3 9.999
1a5c0 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30 29  99.} {abc: ( 10)
1a5d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1a5e0 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 34 20 7b 0a  rintf-2.7.6.4 {.
1a5f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1a600 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1a610 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
1a620 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 3 9.99999.} {a
1a630 62 63 3a 20 33 20 33 20 28 39 2e 39 39 39 39 39  bc: 3 3 (9.99999
1a640 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a650 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 35 20 7b  printf-2.7.6.5 {
1a660 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a670 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a680 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1a690 7d 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20  } 3 3 9.99999.} 
1a6a0 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 39 39 39  {abc: 3 3 (9.999
1a6b0 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
1a6c0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 36  t printf-2.7.6.6
1a6d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1a6e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1a6f0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
1a700 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39  :xyz} 3 3 9.9999
1a710 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  9.} {abc: 3 3 (0
1a720 30 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  009.99999) :xyz}
1a730 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1a740 32 2e 37 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69  2.7.6.7 {.  sqli
1a750 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1a760 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1a770 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3f) :xyz} 3 3
1a780 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
1a790 20 33 20 33 20 28 31 30 2e 30 30 30 29 20 3a 78   3 3 (10.000) :x
1a7a0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1a7b0 74 66 2d 32 2e 37 2e 36 2e 38 20 7b 0a 20 20 73  tf-2.7.6.8 {.  s
1a7c0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1a7d0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1a7e0 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%3.3e) :xyz} 
1a7f0 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 3 9.99999.} {a
1a800 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65 2b  bc: 3 3 (1.000e+
1a810 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
1a820 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 39  t printf-2.7.6.9
1a830 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1a840 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1a850 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20  : %d %d (%3.3g) 
1a860 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39  :xyz} 3 3 9.9999
1a870 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 20  9.} {abc: 3 3 ( 
1a880 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
1a890 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 31  t printf-2.7.7.1
1a8a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1a8b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1a8c0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1a8d0 33 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  3 3 -0.00543.} {
1a8e0 61 62 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78  abc: (-0.005) :x
1a8f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1a900 74 66 2d 32 2e 37 2e 37 2e 32 20 7b 0a 20 20 73  tf-2.7.7.2 {.  s
1a910 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1a920 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1a930 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30  *e) :xyz} 3 3 -0
1a940 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
1a950 2d 35 2e 34 33 30 65 2d 30 33 29 20 3a 78 79 7a  -5.430e-03) :xyz
1a960 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a970 2d 32 2e 37 2e 37 2e 33 20 7b 0a 20 20 73 71 6c  -2.7.7.3 {.  sql
1a980 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a990 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1a9a0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30  ) :xyz} 3 3 -0.0
1a9b0 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30  0543.} {abc: (-0
1a9c0 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
1a9d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1a9e0 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.4 {.  sqlite3
1a9f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1aa00 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
1aa10 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30   :xyz} 3 3 -0.00
1aa20 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  543.} {abc: 3 3 
1aa30 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d  (-0.00543) :xyz}
1aa40 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1aa50 32 2e 37 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69  2.7.7.5 {.  sqli
1aa60 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1aa70 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1aa80 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d  %#g) :xyz} 3 3 -
1aa90 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
1aaa0 33 20 33 20 28 2d 30 2e 30 30 35 34 33 30 30 30  3 3 (-0.00543000
1aab0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1aac0 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 36 20 7b  printf-2.7.7.6 {
1aad0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1aae0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1aaf0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1ab00 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35 34 33  yz} 3 3 -0.00543
1ab10 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30  .} {abc: 3 3 (-0
1ab20 30 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  00.00543) :xyz}.
1ab30 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1ab40 2e 37 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .7.7.7 {.  sqlit
1ab50 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1ab60 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1ab70 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3f) :xyz} 3 3 
1ab80 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
1ab90 20 33 20 33 20 28 2d 30 2e 30 30 35 29 20 3a 78   3 3 (-0.005) :x
1aba0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1abb0 74 66 2d 32 2e 37 2e 37 2e 38 20 7b 0a 20 20 73  tf-2.7.7.8 {.  s
1abc0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1abd0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1abe0 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%3.3e) :xyz} 
1abf0 33 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  3 3 -0.00543.} {
1ac00 61 62 63 3a 20 33 20 33 20 28 2d 35 2e 34 33 30  abc: 3 3 (-5.430
1ac10 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
1ac20 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37  est printf-2.7.7
1ac30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
1ac40 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ac50 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67  bc: %d %d (%3.3g
1ac60 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30  ) :xyz} 3 3 -0.0
1ac70 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33  0543.} {abc: 3 3
1ac80 20 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a   (-0.00543) :xyz
1ac90 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1aca0 2d 32 2e 37 2e 38 2e 31 20 7b 0a 20 20 73 71 6c  -2.7.8.1 {.  sql
1acb0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1acc0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
1acd0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30  ) :xyz} 3 3 -1.0
1ace0 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30  .} {abc: (-1.000
1acf0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ad00 70 72 69 6e 74 66 2d 32 2e 37 2e 38 2e 32 20 7b  printf-2.7.8.2 {
1ad10 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1ad20 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1ad30 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20  (%*.*e) :xyz} 3 
1ad40 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28  3 -1.0.} {abc: (
1ad50 2d 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  -1.000e+00) :xyz
1ad60 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1ad70 2d 32 2e 37 2e 38 2e 33 20 7b 0a 20 20 73 71 6c  -2.7.8.3 {.  sql
1ad80 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1ad90 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1ada0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30  ) :xyz} 3 3 -1.0
1adb0 0a 7d 20 7b 61 62 63 3a 20 28 20 2d 31 29 20 3a  .} {abc: ( -1) :
1adc0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1add0 6e 74 66 2d 32 2e 37 2e 38 2e 34 20 7b 0a 20 20  ntf-2.7.8.4 {.  
1ade0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1adf0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1ae00 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1ae10 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33  3 -1.0.} {abc: 3
1ae20 20 33 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f   3 (-1) :xyz}.do
1ae30 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1ae40 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.5 {.  sqlite3
1ae50 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1ae60 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
1ae70 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30  ) :xyz} 3 3 -1.0
1ae80 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31  .} {abc: 3 3 (-1
1ae90 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
1aea0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1aeb0 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.6 {.  sqlite3
1aec0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1aed0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
1aee0 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31  0g) :xyz} 3 3 -1
1aef0 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
1af00 2d 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a  -000000001) :xyz
1af10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1af20 2d 32 2e 37 2e 38 2e 37 20 7b 0a 20 20 73 71 6c  -2.7.8.7 {.  sql
1af30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1af40 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1af50 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20  (%3.3f) :xyz} 3 
1af60 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33  3 -1.0.} {abc: 3
1af70 20 33 20 28 2d 31 2e 30 30 30 29 20 3a 78 79 7a   3 (-1.000) :xyz
1af80 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1af90 2d 32 2e 37 2e 38 2e 38 20 7b 0a 20 20 73 71 6c  -2.7.8.8 {.  sql
1afa0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1afb0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1afc0 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1afd0 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33  3 -1.0.} {abc: 3
1afe0 20 33 20 28 2d 31 2e 30 30 30 65 2b 30 30 29 20   3 (-1.000e+00) 
1aff0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b000 69 6e 74 66 2d 32 2e 37 2e 38 2e 39 20 7b 0a 20  intf-2.7.8.9 {. 
1b010 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b020 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b030 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a   %d (%3.3g) :xyz
1b040 7d 20 33 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 3 3 -1.0.} {ab
1b050 63 3a 20 33 20 33 20 28 20 2d 31 29 20 3a 78 79  c: 3 3 ( -1) :xy
1b060 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1b070 66 2d 32 2e 37 2e 39 2e 31 20 7b 0a 20 20 73 71  f-2.7.9.1 {.  sq
1b080 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b090 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1b0a0 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39  f) :xyz} 3 3 -99
1b0b0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
1b0c0 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  -100.000) :xyz}.
1b0d0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1b0e0 2e 37 2e 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .7.9.2 {.  sqlit
1b0f0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1b100 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1b110 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39  :xyz} 3 3 -99.99
1b120 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e  999.} {abc: (-1.
1b130 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  000e+02) :xyz}.d
1b140 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1b150 37 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  7.9.3 {.  sqlite
1b160 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1b170 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1b180 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39  xyz} 3 3 -99.999
1b190 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30  99.} {abc: (-100
1b1a0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b1b0 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 34 20 7b  printf-2.7.9.4 {
1b1c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b1d0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b1e0 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
1b1f0 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   3 3 -99.99999.}
1b200 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30   {abc: 3 3 (-100
1b210 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b220 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 35 20 7b  printf-2.7.9.5 {
1b230 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b240 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b250 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1b260 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a  } 3 3 -99.99999.
1b270 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30  } {abc: 3 3 (-10
1b280 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
1b290 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b2a0 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.6 {.  sqlite3_
1b2b0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1b2c0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1b2d0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39  g) :xyz} 3 3 -99
1b2e0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1b2f0 20 33 20 28 2d 30 30 30 30 30 30 31 30 30 29 20   3 (-000000100) 
1b300 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b310 69 6e 74 66 2d 32 2e 37 2e 39 2e 37 20 7b 0a 20  intf-2.7.9.7 {. 
1b320 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b330 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b340 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
1b350 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a  } 3 3 -99.99999.
1b360 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30  } {abc: 3 3 (-10
1b370 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
1b380 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b390 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.8 {.  sqlite3_
1b3a0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1b3b0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1b3c0 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39  e) :xyz} 3 3 -99
1b3d0 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1b3e0 20 33 20 28 2d 31 2e 30 30 30 65 2b 30 32 29 20   3 (-1.000e+02) 
1b3f0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b400 69 6e 74 66 2d 32 2e 37 2e 39 2e 39 20 7b 0a 20  intf-2.7.9.9 {. 
1b410 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b420 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b430 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a   %d (%3.3g) :xyz
1b440 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a  } 3 3 -99.99999.
1b450 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30  } {abc: 3 3 (-10
1b460 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1b470 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 31   printf-2.7.10.1
1b480 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1b490 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1b4a0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1b4b0 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 3 3.14e+9.} {a
1b4c0 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e  bc: (3140000000.
1b4d0 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
1b4e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30  st printf-2.7.10
1b4f0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
1b500 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1b510 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
1b520 7d 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20  } 3 3 3.14e+9.} 
1b530 7b 61 62 63 3a 20 28 33 2e 31 34 30 65 2b 30 39  {abc: (3.140e+09
1b540 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b550 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 33 20  printf-2.7.10.3 
1b560 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1b570 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1b580 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33   (%*.*g) :xyz} 3
1b590 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   3 3.14e+9.} {ab
1b5a0 63 3a 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78  c: (3.14e+09) :x
1b5b0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b5c0 74 66 2d 32 2e 37 2e 31 30 2e 34 20 7b 0a 20 20  tf-2.7.10.4 {.  
1b5d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b5e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1b5f0 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1b600 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
1b610 3a 20 33 20 33 20 28 33 2e 31 34 65 2b 30 39 29  : 3 3 (3.14e+09)
1b620 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1b630 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 35 20 7b  rintf-2.7.10.5 {
1b640 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b650 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b660 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1b670 7d 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20  } 3 3 3.14e+9.} 
1b680 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 31 34 30  {abc: 3 3 (3.140
1b690 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  00e+09) :xyz}.do
1b6a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1b6b0 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .10.6 {.  sqlite
1b6c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1b6d0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
1b6e0 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33  10g) :xyz} 3 3 3
1b6f0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33  .14e+9.} {abc: 3
1b700 20 33 20 28 30 30 33 2e 31 34 65 2b 30 39 29 20   3 (003.14e+09) 
1b710 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b720 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 37 20 7b 0a  intf-2.7.10.7 {.
1b730 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1b740 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1b750 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79  d %d (%3.3f) :xy
1b760 7a 7d 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d  z} 3 3 3.14e+9.}
1b770 20 7b 61 62 63 3a 20 33 20 33 20 28 33 31 34 30   {abc: 3 3 (3140
1b780 30 30 30 30 30 30 2e 30 30 30 29 20 3a 78 79 7a  000000.000) :xyz
1b790 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1b7a0 2d 32 2e 37 2e 31 30 2e 38 20 7b 0a 20 20 73 71  -2.7.10.8 {.  sq
1b7b0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b7c0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1b7d0 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33   (%3.3e) :xyz} 3
1b7e0 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   3 3.14e+9.} {ab
1b7f0 63 3a 20 33 20 33 20 28 33 2e 31 34 30 65 2b 30  c: 3 3 (3.140e+0
1b800 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1b810 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 39   printf-2.7.10.9
1b820 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1b830 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1b840 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20  : %d %d (%3.3g) 
1b850 3a 78 79 7a 7d 20 33 20 33 20 33 2e 31 34 65 2b  :xyz} 3 3 3.14e+
1b860 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33  9.} {abc: 3 3 (3
1b870 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
1b880 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1b890 37 2e 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74  7.11.2 {.  sqlit
1b8a0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1b8b0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1b8c0 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37  :xyz} 3 3 -4.727
1b8d0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28  32e+88.} {abc: (
1b8e0 2d 34 2e 37 32 37 65 2b 38 38 29 20 3a 78 79 7a  -4.727e+88) :xyz
1b8f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1b900 2d 32 2e 37 2e 31 31 2e 33 20 7b 0a 20 20 73 71  -2.7.11.3 {.  sq
1b910 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b920 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1b930 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e  g) :xyz} 3 3 -4.
1b940 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
1b950 3a 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78  : (-4.73e+88) :x
1b960 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b970 74 66 2d 32 2e 37 2e 31 31 2e 34 20 7b 0a 20 20  tf-2.7.11.4 {.  
1b980 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b990 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1b9a0 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1b9b0 33 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  3 -4.72732e+88.}
1b9c0 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 34 2e 37   {abc: 3 3 (-4.7
1b9d0 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
1b9e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1b9f0 2e 37 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69  .7.11.5 {.  sqli
1ba00 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ba10 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1ba20 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d  %#g) :xyz} 3 3 -
1ba30 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
1ba40 62 63 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 33  bc: 3 3 (-4.7273
1ba50 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
1ba60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1ba70 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.6 {.  sqlite3
1ba80 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1ba90 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
1baa0 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34  0g) :xyz} 3 3 -4
1bab0 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
1bac0 63 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 33 32  c: 3 3 (-4.72732
1bad0 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
1bae0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1baf0 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.8 {.  sqlite3_
1bb00 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1bb10 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1bb20 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e  e) :xyz} 3 3 -4.
1bb30 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
1bb40 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 65 2b 38  : 3 3 (-4.727e+8
1bb50 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
1bb60 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e 39   printf-2.7.11.9
1bb70 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1bb80 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1bb90 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20  : %d %d (%3.3g) 
1bba0 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37  :xyz} 3 3 -4.727
1bbb0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33  32e+88.} {abc: 3
1bbc0 20 33 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a   3 (-4.73e+88) :
1bbd0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1bbe0 6e 74 66 2d 32 2e 37 2e 31 32 2e 32 20 7b 0a 20  ntf-2.7.12.2 {. 
1bbf0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1bc00 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1bc10 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  *.*e) :xyz} 3 3 
1bc20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
1bc30 61 62 63 3a 20 28 39 2e 38 38 30 65 2b 31 34 33  abc: (9.880e+143
1bc40 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1bc50 70 72 69 6e 74 66 2d 32 2e 37 2e 31 32 2e 33 20  printf-2.7.12.3 
1bc60 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1bc70 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1bc80 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33   (%*.*g) :xyz} 3
1bc90 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   3 9.87991e+143.
1bca0 7d 20 7b 61 62 63 3a 20 28 39 2e 38 38 65 2b 31  } {abc: (9.88e+1
1bcb0 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1bcc0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 32 2e  t printf-2.7.12.
1bcd0 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
1bce0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1bcf0 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
1bd00 79 7a 7d 20 33 20 33 20 39 2e 38 37 39 39 31 65  yz} 3 3 9.87991e
1bd10 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33  +143.} {abc: 3 3
1bd20 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
1bd30 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1bd40 69 6e 74 66 2d 32 2e 37 2e 31 32 2e 35 20 7b 0a  intf-2.7.12.5 {.
1bd50 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1bd60 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1bd70 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1bd80 20 33 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34   3 3 9.87991e+14
1bd90 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39  3.} {abc: 3 3 (9
1bda0 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79  .87991e+143) :xy
1bdb0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1bdc0 66 2d 32 2e 37 2e 31 32 2e 36 20 7b 0a 20 20 73  f-2.7.12.6 {.  s
1bdd0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1bde0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1bdf0 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1be00 33 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33  3 3 9.87991e+143
1be10 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e  .} {abc: 3 3 (9.
1be20 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
1be30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1be40 2d 32 2e 37 2e 31 32 2e 38 20 7b 0a 20 20 73 71  -2.7.12.8 {.  sq
1be50 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1be60 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1be70 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33   (%3.3e) :xyz} 3
1be80 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   3 9.87991e+143.
1be90 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38  } {abc: 3 3 (9.8
1bea0 38 30 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  80e+143) :xyz}.d
1beb0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1bec0 37 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74  7.12.9 {.  sqlit
1bed0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1bee0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1bef0 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3g) :xyz} 3 3 
1bf00 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
1bf10 61 62 63 3a 20 33 20 33 20 28 39 2e 38 38 65 2b  abc: 3 3 (9.88e+
1bf20 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
1bf30 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33  st printf-2.7.13
1bf40 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
1bf50 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1bf60 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
1bf70 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65  } 3 3 -6.287291e
1bf80 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30  -9.} {abc: (-0.0
1bf90 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1bfa0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e  t printf-2.7.13.
1bfb0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1bfc0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1bfd0 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1bfe0 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   3 3 -6.287291e-
1bff0 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38  9.} {abc: (-6.28
1c000 37 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  7e-09) :xyz}.do_
1c010 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1c020 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.3 {.  sqlite3
1c030 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1c040 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1c050 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39  yz} 3 3 -6.28729
1c060 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36  1e-9.} {abc: (-6
1c070 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  .29e-09) :xyz}.d
1c080 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c090 37 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74  7.13.4 {.  sqlit
1c0a0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c0b0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c0c0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e  g) :xyz} 3 3 -6.
1c0d0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
1c0e0 3a 20 33 20 33 20 28 2d 36 2e 32 38 37 32 39 65  : 3 3 (-6.28729e
1c0f0 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
1c100 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33  st printf-2.7.13
1c110 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1c120 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c130 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1c140 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37  :xyz} 3 3 -6.287
1c150 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33  291e-9.} {abc: 3
1c160 20 33 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39   3 (-6.28729e-09
1c170 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1c180 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 36 20  printf-2.7.13.6 
1c190 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1c1a0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1c1b0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1c1c0 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32  xyz} 3 3 -6.2872
1c1d0 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20  91e-9.} {abc: 3 
1c1e0 33 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29  3 (-6.28729e-09)
1c1f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1c200 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 37 20 7b  rintf-2.7.13.7 {
1c210 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1c220 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1c230 25 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78  %d %d (%3.3f) :x
1c240 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39  yz} 3 3 -6.28729
1c250 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  1e-9.} {abc: 3 3
1c260 20 28 2d 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a   (-0.000) :xyz}.
1c270 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c280 2e 37 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69  .7.13.8 {.  sqli
1c290 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1c2a0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1c2b0 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
1c2c0 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
1c2d0 7b 61 62 63 3a 20 33 20 33 20 28 2d 36 2e 32 38  {abc: 3 3 (-6.28
1c2e0 37 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  7e-09) :xyz}.do_
1c2f0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1c300 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.9 {.  sqlite3
1c310 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1c320 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1c330 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36  3g) :xyz} 3 3 -6
1c340 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
1c350 63 3a 20 33 20 33 20 28 2d 36 2e 32 39 65 2d 30  c: 3 3 (-6.29e-0
1c360 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1c370 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 34 2e 31   printf-2.7.14.1
1c380 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1c390 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1c3a0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1c3b0 33 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 3 3.38826392e-
1c3c0 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  110.} {abc: (0.0
1c3d0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1c3e0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 34 2e  t printf-2.7.14.
1c3f0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1c400 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1c410 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1c420 20 33 20 33 20 33 2e 33 38 38 32 36 33 39 32 65   3 3 3.38826392e
1c430 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
1c440 33 38 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  388e-110) :xyz}.
1c450 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c460 2e 37 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69  .7.14.3 {.  sqli
1c470 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1c480 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1c490 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e 33 38 38   :xyz} 3 3 3.388
1c4a0 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
1c4b0 63 3a 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a  c: (3.39e-110) :
1c4c0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1c4d0 6e 74 66 2d 32 2e 37 2e 31 34 2e 34 20 7b 0a 20  ntf-2.7.14.4 {. 
1c4e0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1c4f0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1c500 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1c510 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
1c520 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  10.} {abc: 3 3 (
1c530 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
1c540 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c550 74 66 2d 32 2e 37 2e 31 34 2e 35 20 7b 0a 20 20  tf-2.7.14.5 {.  
1c560 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1c570 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1c580 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
1c590 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
1c5a0 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  10.} {abc: 3 3 (
1c5b0 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
1c5c0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c5d0 74 66 2d 32 2e 37 2e 31 34 2e 36 20 7b 0a 20 20  tf-2.7.14.6 {.  
1c5e0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1c5f0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1c600 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
1c610 20 33 20 33 20 33 2e 33 38 38 32 36 33 39 32 65   3 3 3.38826392e
1c620 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  -110.} {abc: 3 3
1c630 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20   (3.38826e-110) 
1c640 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1c650 69 6e 74 66 2d 32 2e 37 2e 31 34 2e 37 20 7b 0a  intf-2.7.14.7 {.
1c660 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1c670 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1c680 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79  d %d (%3.3f) :xy
1c690 7a 7d 20 33 20 33 20 33 2e 33 38 38 32 36 33 39  z} 3 3 3.3882639
1c6a0 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33  2e-110.} {abc: 3
1c6b0 20 33 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d   3 (0.000) :xyz}
1c6c0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1c6d0 32 2e 37 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c  2.7.14.8 {.  sql
1c6e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1c6f0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1c700 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1c710 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
1c720 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33  0.} {abc: 3 3 (3
1c730 2e 33 38 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d  .388e-110) :xyz}
1c740 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1c750 32 2e 37 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c  2.7.14.9 {.  sql
1c760 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1c770 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1c780 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20  (%3.3g) :xyz} 3 
1c790 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
1c7a0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33  0.} {abc: 3 3 (3
1c7b0 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  .39e-110) :xyz}.
1c7c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c7d0 2e 38 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .8.1.1 {.  sqlit
1c7e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c7f0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
1c800 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a  :xyz} 3 2 0.001.
1c810 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a  } {abc: (0.00) :
1c820 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1c830 6e 74 66 2d 32 2e 38 2e 31 2e 32 20 7b 0a 20 20  ntf-2.8.1.2 {.  
1c840 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1c850 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1c860 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  .*e) :xyz} 3 2 0
1c870 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  .001.} {abc: (1.
1c880 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  00e-03) :xyz}.do
1c890 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1c8a0 2e 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.3 {.  sqlite3
1c8b0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1c8c0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1c8d0 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 3 2 0.001.} 
1c8e0 7b 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78  {abc: (0.001) :x
1c8f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c900 74 66 2d 32 2e 38 2e 31 2e 34 20 7b 0a 20 20 73  tf-2.8.1.4 {.  s
1c910 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1c920 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1c930 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32  d (%g) :xyz} 3 2
1c940 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33   0.001.} {abc: 3
1c950 20 32 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d   2 (0.001) :xyz}
1c960 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1c970 32 2e 38 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69  2.8.1.5 {.  sqli
1c980 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1c990 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1c9a0 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  %#g) :xyz} 3 2 0
1c9b0 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 32  .001.} {abc: 3 2
1c9c0 20 28 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78   (0.00100000) :x
1c9d0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c9e0 74 66 2d 32 2e 38 2e 31 2e 36 20 7b 0a 20 20 73  tf-2.8.1.6 {.  s
1c9f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1ca00 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1ca10 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1ca20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  3 2 0.001.} {abc
1ca30 3a 20 33 20 32 20 28 30 30 30 30 30 30 2e 30 30  : 3 2 (000000.00
1ca40 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
1ca50 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 37 20   printf-2.8.1.7 
1ca60 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ca70 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ca80 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a   %d %d (%3.2f) :
1ca90 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d  xyz} 3 2 0.001.}
1caa0 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30   {abc: 3 2 (0.00
1cab0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1cac0 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 38 20 7b  printf-2.8.1.8 {
1cad0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1cae0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1caf0 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78  %d %d (%3.2e) :x
1cb00 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 3 2 0.001.} 
1cb10 7b 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65  {abc: 3 2 (1.00e
1cb20 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
1cb30 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e  st printf-2.8.1.
1cb40 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
1cb50 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1cb60 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29  c: %d %d (%3.2g)
1cb70 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31   :xyz} 3 2 0.001
1cb80 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e  .} {abc: 3 2 (0.
1cb90 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
1cba0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e  st printf-2.8.2.
1cbb0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1cbc0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1cbd0 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
1cbe0 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 2 1.0e-20.} {
1cbf0 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a  abc: (0.00) :xyz
1cc00 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1cc10 2d 32 2e 38 2e 32 2e 32 20 7b 0a 20 20 73 71 6c  -2.8.2.2 {.  sql
1cc20 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1cc30 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
1cc40 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 65  ) :xyz} 3 2 1.0e
1cc50 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  -20.} {abc: (1.0
1cc60 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-20) :xyz}.do_
1cc70 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1cc80 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.3 {.  sqlite3_
1cc90 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1cca0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1ccb0 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d  z} 3 2 1.0e-20.}
1ccc0 20 7b 61 62 63 3a 20 28 31 65 2d 32 30 29 20 3a   {abc: (1e-20) :
1ccd0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1cce0 6e 74 66 2d 32 2e 38 2e 32 2e 34 20 7b 0a 20 20  ntf-2.8.2.4 {.  
1ccf0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1cd00 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1cd10 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1cd20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  2 1.0e-20.} {abc
1cd30 3a 20 33 20 32 20 28 31 65 2d 32 30 29 20 3a 78  : 3 2 (1e-20) :x
1cd40 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1cd50 74 66 2d 32 2e 38 2e 32 2e 35 20 7b 0a 20 20 73  tf-2.8.2.5 {.  s
1cd60 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1cd70 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1cd80 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20  d (%#g) :xyz} 3 
1cd90 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  2 1.0e-20.} {abc
1cda0 3a 20 33 20 32 20 28 31 2e 30 30 30 30 30 65 2d  : 3 2 (1.00000e-
1cdb0 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
1cdc0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 36  t printf-2.8.2.6
1cdd0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1cde0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1cdf0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
1ce00 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32  :xyz} 3 2 1.0e-2
1ce10 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30  0.} {abc: 3 2 (0
1ce20 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d  00001e-20) :xyz}
1ce30 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1ce40 32 2e 38 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69  2.8.2.7 {.  sqli
1ce50 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ce60 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1ce70 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32  %3.2f) :xyz} 3 2
1ce80 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
1ce90 20 33 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a   3 2 (0.00) :xyz
1cea0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1ceb0 2d 32 2e 38 2e 32 2e 38 20 7b 0a 20 20 73 71 6c  -2.8.2.8 {.  sql
1cec0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1ced0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1cee0 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.2e) :xyz} 3 
1cef0 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  2 1.0e-20.} {abc
1cf00 3a 20 33 20 32 20 28 31 2e 30 30 65 2d 32 30 29  : 3 2 (1.00e-20)
1cf10 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1cf20 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 39 20 7b 0a  rintf-2.8.2.9 {.
1cf30 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1cf40 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1cf50 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79  d %d (%3.2g) :xy
1cf60 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d  z} 3 2 1.0e-20.}
1cf70 20 7b 61 62 63 3a 20 33 20 32 20 28 31 65 2d 32   {abc: 3 2 (1e-2
1cf80 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1cf90 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 31 20   printf-2.8.3.1 
1cfa0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1cfb0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1cfc0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1cfd0 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   2 1.0.} {abc: (
1cfe0 31 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  1.00) :xyz}.do_t
1cff0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33  est printf-2.8.3
1d000 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
1d010 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1d020 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
1d030 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63  } 3 2 1.0.} {abc
1d040 3a 20 28 31 2e 30 30 65 2b 30 30 29 20 3a 78 79  : (1.00e+00) :xy
1d050 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d060 66 2d 32 2e 38 2e 33 2e 33 20 7b 0a 20 20 73 71  f-2.8.3.3 {.  sq
1d070 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d080 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1d090 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30  g) :xyz} 3 2 1.0
1d0a0 0a 7d 20 7b 61 62 63 3a 20 28 20 20 31 29 20 3a  .} {abc: (  1) :
1d0b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d0c0 6e 74 66 2d 32 2e 38 2e 33 2e 34 20 7b 0a 20 20  ntf-2.8.3.4 {.  
1d0d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d0e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1d0f0 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1d100 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  2 1.0.} {abc: 3 
1d110 32 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  2 (1) :xyz}.do_t
1d120 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33  est printf-2.8.3
1d130 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1d140 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1d150 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1d160 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20  :xyz} 3 2 1.0.} 
1d170 7b 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 30  {abc: 3 2 (1.000
1d180 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d190 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 36  t printf-2.8.3.6
1d1a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d1b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d1c0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
1d1d0 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20  :xyz} 3 2 1.0.} 
1d1e0 7b 61 62 63 3a 20 33 20 32 20 28 30 30 30 30 30  {abc: 3 2 (00000
1d1f0 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00001) :xyz}.do_
1d200 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1d210 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.7 {.  sqlite3_
1d220 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1d230 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1d240 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30  f) :xyz} 3 2 1.0
1d250 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 2e  .} {abc: 3 2 (1.
1d260 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d270 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 38  t printf-2.8.3.8
1d280 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d290 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d2a0 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20  : %d %d (%3.2e) 
1d2b0 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20  :xyz} 3 2 1.0.} 
1d2c0 7b 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65  {abc: 3 2 (1.00e
1d2d0 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
1d2e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e  st printf-2.8.3.
1d2f0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
1d300 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d310 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29  c: %d %d (%3.2g)
1d320 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d   :xyz} 3 2 1.0.}
1d330 20 7b 61 62 63 3a 20 33 20 32 20 28 20 20 31 29   {abc: 3 2 (  1)
1d340 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1d350 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 31 20 7b 0a  rintf-2.8.4.1 {.
1d360 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d370 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1d380 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*f) :xyz} 3 2
1d390 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e   0.0.} {abc: (0.
1d3a0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d3b0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 32  t printf-2.8.4.2
1d3c0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d3d0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d3e0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1d3f0 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 2 0.0.} {abc: 
1d400 28 30 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  (0.00e+00) :xyz}
1d410 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1d420 32 2e 38 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69  2.8.4.3 {.  sqli
1d430 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1d440 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1d450 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d   :xyz} 3 2 0.0.}
1d460 20 7b 61 62 63 3a 20 28 20 20 30 29 20 3a 78 79   {abc: (  0) :xy
1d470 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d480 66 2d 32 2e 38 2e 34 2e 34 20 7b 0a 20 20 73 71  f-2.8.4.4 {.  sq
1d490 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d4a0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1d4b0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1d4c0 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  0.0.} {abc: 3 2 
1d4d0 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (0) :xyz}.do_tes
1d4e0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 35  t printf-2.8.4.5
1d4f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d500 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d510 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
1d520 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61  yz} 3 2 0.0.} {a
1d530 62 63 3a 20 33 20 32 20 28 30 2e 30 30 30 30 30  bc: 3 2 (0.00000
1d540 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d550 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 36 20 7b  printf-2.8.4.6 {
1d560 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d570 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d580 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1d590 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61  yz} 3 2 0.0.} {a
1d5a0 62 63 3a 20 33 20 32 20 28 30 30 30 30 30 30 30  bc: 3 2 (0000000
1d5b0 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
1d5c0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e  st printf-2.8.4.
1d5d0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1d5e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d5f0 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29  c: %d %d (%3.2f)
1d600 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d   :xyz} 3 2 0.0.}
1d610 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30   {abc: 3 2 (0.00
1d620 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d630 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 38 20 7b  printf-2.8.4.8 {
1d640 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d650 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d660 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78  %d %d (%3.2e) :x
1d670 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61  yz} 3 2 0.0.} {a
1d680 62 63 3a 20 33 20 32 20 28 30 2e 30 30 65 2b 30  bc: 3 2 (0.00e+0
1d690 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d6a0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 39 20   printf-2.8.4.9 
1d6b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d6c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d6d0 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1d6e0 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b  xyz} 3 2 0.0.} {
1d6f0 61 62 63 3a 20 33 20 32 20 28 20 20 30 29 20 3a  abc: 3 2 (  0) :
1d700 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d710 6e 74 66 2d 32 2e 38 2e 35 2e 31 20 7b 0a 20 20  ntf-2.8.5.1 {.  
1d720 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d730 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1d740 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 31  .*f) :xyz} 3 2 1
1d750 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30  00.0.} {abc: (10
1d760 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
1d770 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35  est printf-2.8.5
1d780 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
1d790 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1d7a0 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
1d7b0 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61  } 3 2 100.0.} {a
1d7c0 62 63 3a 20 28 31 2e 30 30 65 2b 30 32 29 20 3a  bc: (1.00e+02) :
1d7d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d7e0 6e 74 66 2d 32 2e 38 2e 35 2e 33 20 7b 0a 20 20  ntf-2.8.5.3 {.  
1d7f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d800 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1d810 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31  .*g) :xyz} 3 2 1
1d820 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65  00.0.} {abc: (1e
1d830 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
1d840 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e  st printf-2.8.5.
1d850 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
1d860 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d870 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
1d880 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20  yz} 3 2 100.0.} 
1d890 7b 61 62 63 3a 20 33 20 32 20 28 31 30 30 29 20  {abc: 3 2 (100) 
1d8a0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d8b0 69 6e 74 66 2d 32 2e 38 2e 35 2e 35 20 7b 0a 20  intf-2.8.5.5 {. 
1d8c0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d8d0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d8e0 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
1d8f0 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  3 2 100.0.} {abc
1d900 3a 20 33 20 32 20 28 31 30 30 2e 30 30 30 29 20  : 3 2 (100.000) 
1d910 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d920 69 6e 74 66 2d 32 2e 38 2e 35 2e 36 20 7b 0a 20  intf-2.8.5.6 {. 
1d930 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d940 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d950 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
1d960 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61  } 3 2 100.0.} {a
1d970 62 63 3a 20 33 20 32 20 28 30 30 30 30 30 30 30  bc: 3 2 (0000000
1d980 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
1d990 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e  st printf-2.8.5.
1d9a0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1d9b0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d9c0 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29  c: %d %d (%3.2f)
1d9d0 20 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30   :xyz} 3 2 100.0
1d9e0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 30  .} {abc: 3 2 (10
1d9f0 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
1da00 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35  est printf-2.8.5
1da10 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
1da20 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1da30 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65  bc: %d %d (%3.2e
1da40 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e  ) :xyz} 3 2 100.
1da50 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31  0.} {abc: 3 2 (1
1da60 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  .00e+02) :xyz}.d
1da70 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1da80 38 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  8.5.9 {.  sqlite
1da90 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1daa0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1dab0 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31  .2g) :xyz} 3 2 1
1dac0 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  00.0.} {abc: 3 2
1dad0 20 28 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64   (1e+02) :xyz}.d
1dae0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1daf0 38 2e 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  8.6.1 {.  sqlite
1db00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1db10 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
1db20 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39  xyz} 3 2 9.99999
1db30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 2e 30 30 29  .} {abc: (10.00)
1db40 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1db50 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 32 20 7b 0a  rintf-2.8.6.2 {.
1db60 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1db70 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1db80 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*e) :xyz} 3 2
1db90 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
1dba0 20 28 31 2e 30 30 65 2b 30 31 29 20 3a 78 79 7a   (1.00e+01) :xyz
1dbb0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1dbc0 2d 32 2e 38 2e 36 2e 33 20 7b 0a 20 20 73 71 6c  -2.8.6.3 {.  sql
1dbd0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1dbe0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1dbf0 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39 39  ) :xyz} 3 2 9.99
1dc00 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30  999.} {abc: ( 10
1dc10 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1dc20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 34 20 7b  printf-2.8.6.4 {
1dc30 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1dc40 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1dc50 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
1dc60 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b   3 2 9.99999.} {
1dc70 61 62 63 3a 20 33 20 32 20 28 39 2e 39 39 39 39  abc: 3 2 (9.9999
1dc80 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1dc90 20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 35 20   printf-2.8.6.5 
1dca0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1dcb0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1dcc0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
1dcd0 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 3 2 9.99999.}
1dce0 20 7b 61 62 63 3a 20 33 20 32 20 28 39 2e 39 39   {abc: 3 2 (9.99
1dcf0 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  999) :xyz}.do_te
1dd00 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e  st printf-2.8.6.
1dd10 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
1dd20 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1dd30 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
1dd40 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39   :xyz} 3 2 9.999
1dd50 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  99.} {abc: 3 2 (
1dd60 30 30 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a  0009.99999) :xyz
1dd70 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1dd80 2d 32 2e 38 2e 36 2e 37 20 7b 0a 20 20 73 71 6c  -2.8.6.7 {.  sql
1dd90 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1dda0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1ddb0 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20  (%3.2f) :xyz} 3 
1ddc0 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  2 9.99999.} {abc
1ddd0 3a 20 33 20 32 20 28 31 30 2e 30 30 29 20 3a 78  : 3 2 (10.00) :x
1dde0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ddf0 74 66 2d 32 2e 38 2e 36 2e 38 20 7b 0a 20 20 73  tf-2.8.6.8 {.  s
1de00 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1de10 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1de20 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20  d (%3.2e) :xyz} 
1de30 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 2 9.99999.} {a
1de40 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65 2b 30  bc: 3 2 (1.00e+0
1de50 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
1de60 20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 39 20   printf-2.8.6.9 
1de70 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1de80 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1de90 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1dea0 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39  xyz} 3 2 9.99999
1deb0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 20 31  .} {abc: 3 2 ( 1
1dec0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1ded0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 31 20   printf-2.8.7.1 
1dee0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1def0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1df00 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1df10 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   2 -0.00543.} {a
1df20 62 63 3a 20 28 2d 30 2e 30 31 29 20 3a 78 79 7a  bc: (-0.01) :xyz
1df30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1df40 2d 32 2e 38 2e 37 2e 32 20 7b 0a 20 20 73 71 6c  -2.8.7.2 {.  sql
1df50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1df60 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
1df70 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30  ) :xyz} 3 2 -0.0
1df80 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35  0543.} {abc: (-5
1df90 2e 34 33 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  .43e-03) :xyz}.d
1dfa0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1dfb0 38 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  8.7.3 {.  sqlite
1dfc0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1dfd0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1dfe0 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34  xyz} 3 2 -0.0054
1dff0 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30  3.} {abc: (-0.00
1e000 35 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  54) :xyz}.do_tes
1e010 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 34  t printf-2.8.7.4
1e020 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e030 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e040 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
1e050 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a  z} 3 2 -0.00543.
1e060 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e  } {abc: 3 2 (-0.
1e070 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
1e080 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e090 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.5 {.  sqlite3_
1e0a0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1e0b0 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
1e0c0 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30   :xyz} 3 2 -0.00
1e0d0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  543.} {abc: 3 2 
1e0e0 28 2d 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78  (-0.00543000) :x
1e0f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e100 74 66 2d 32 2e 38 2e 37 2e 36 20 7b 0a 20 20 73  tf-2.8.7.6 {.  s
1e110 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e120 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1e130 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1e140 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  3 2 -0.00543.} {
1e150 61 62 63 3a 20 33 20 32 20 28 2d 30 30 30 2e 30  abc: 3 2 (-000.0
1e160 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
1e170 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37  est printf-2.8.7
1e180 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
1e190 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1e1a0 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66  bc: %d %d (%3.2f
1e1b0 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30  ) :xyz} 3 2 -0.0
1e1c0 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32  0543.} {abc: 3 2
1e1d0 20 28 2d 30 2e 30 31 29 20 3a 78 79 7a 7d 0a 64   (-0.01) :xyz}.d
1e1e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1e1f0 38 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  8.7.8 {.  sqlite
1e200 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1e210 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1e220 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  .2e) :xyz} 3 2 -
1e230 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
1e240 33 20 32 20 28 2d 35 2e 34 33 65 2d 30 33 29 20  3 2 (-5.43e-03) 
1e250 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1e260 69 6e 74 66 2d 32 2e 38 2e 37 2e 39 20 7b 0a 20  intf-2.8.7.9 {. 
1e270 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1e280 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1e290 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1e2a0 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d  } 3 2 -0.00543.}
1e2b0 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e 30   {abc: 3 2 (-0.0
1e2c0 30 35 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  054) :xyz}.do_te
1e2d0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e  st printf-2.8.8.
1e2e0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1e2f0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e300 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
1e310 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   3 2 -1.0.} {abc
1e320 3a 20 28 2d 31 2e 30 30 29 20 3a 78 79 7a 7d 0a  : (-1.00) :xyz}.
1e330 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1e340 2e 38 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .8.8.2 {.  sqlit
1e350 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1e360 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1e370 3a 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d  :xyz} 3 2 -1.0.}
1e380 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 65 2b 30   {abc: (-1.00e+0
1e390 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1e3a0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 33 20   printf-2.8.8.3 
1e3b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1e3c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1e3d0 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33   (%*.*g) :xyz} 3
1e3e0 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
1e3f0 28 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  ( -1) :xyz}.do_t
1e400 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38  est printf-2.8.8
1e410 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
1e420 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1e430 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
1e440 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20  xyz} 3 2 -1.0.} 
1e450 7b 61 62 63 3a 20 33 20 32 20 28 2d 31 29 20 3a  {abc: 3 2 (-1) :
1e460 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1e470 6e 74 66 2d 32 2e 38 2e 38 2e 35 20 7b 0a 20 20  ntf-2.8.8.5 {.  
1e480 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1e490 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1e4a0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
1e4b0 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
1e4c0 33 20 32 20 28 2d 31 2e 30 30 30 30 30 29 20 3a  3 2 (-1.00000) :
1e4d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1e4e0 6e 74 66 2d 32 2e 38 2e 38 2e 36 20 7b 0a 20 20  ntf-2.8.8.6 {.  
1e4f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1e500 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1e510 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
1e520 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   3 2 -1.0.} {abc
1e530 3a 20 33 20 32 20 28 2d 30 30 30 30 30 30 30 30  : 3 2 (-00000000
1e540 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
1e550 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 37 20   printf-2.8.8.7 
1e560 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1e570 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1e580 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a   %d %d (%3.2f) :
1e590 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20  xyz} 3 2 -1.0.} 
1e5a0 7b 61 62 63 3a 20 33 20 32 20 28 2d 31 2e 30 30  {abc: 3 2 (-1.00
1e5b0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e5c0 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 38 20 7b  printf-2.8.8.8 {
1e5d0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e5e0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e5f0 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78  %d %d (%3.2e) :x
1e600 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b  yz} 3 2 -1.0.} {
1e610 61 62 63 3a 20 33 20 32 20 28 2d 31 2e 30 30 65  abc: 3 2 (-1.00e
1e620 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
1e630 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e  st printf-2.8.8.
1e640 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
1e650 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e660 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29  c: %d %d (%3.2g)
1e670 20 3a 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a   :xyz} 3 2 -1.0.
1e680 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 20 2d 31  } {abc: 3 2 ( -1
1e690 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e6a0 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 31 20 7b  printf-2.8.9.1 {
1e6b0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e6c0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e6d0 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
1e6e0 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 -99.99999.} {a
1e6f0 62 63 3a 20 28 2d 31 30 30 2e 30 30 29 20 3a 78  bc: (-100.00) :x
1e700 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e710 74 66 2d 32 2e 38 2e 39 2e 32 20 7b 0a 20 20 73  tf-2.8.9.2 {.  s
1e720 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e730 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1e740 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39  *e) :xyz} 3 2 -9
1e750 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
1e760 28 2d 31 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a  (-1.00e+02) :xyz
1e770 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1e780 2d 32 2e 38 2e 39 2e 33 20 7b 0a 20 20 73 71 6c  -2.8.9.3 {.  sql
1e790 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1e7a0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1e7b0 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e  ) :xyz} 3 2 -99.
1e7c0 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  99999.} {abc: (-
1e7d0 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e+02) :xyz}.do_
1e7e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e7f0 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.4 {.  sqlite3_
1e800 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1e810 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
1e820 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39  :xyz} 3 2 -99.99
1e830 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  999.} {abc: 3 2 
1e840 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  (-100) :xyz}.do_
1e850 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e860 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.5 {.  sqlite3_
1e870 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1e880 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
1e890 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39   :xyz} 3 2 -99.9
1e8a0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32  9999.} {abc: 3 2
1e8b0 20 28 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a   (-100.000) :xyz
1e8c0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1e8d0 2d 32 2e 38 2e 39 2e 36 20 7b 0a 20 20 73 71 6c  -2.8.9.6 {.  sql
1e8e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1e8f0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1e900 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
1e910 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 -99.99999.} {a
1e920 62 63 3a 20 33 20 32 20 28 2d 30 30 30 30 30 30  bc: 3 2 (-000000
1e930 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
1e940 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e  st printf-2.8.9.
1e950 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1e960 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e970 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29  c: %d %d (%3.2f)
1e980 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39   :xyz} 3 2 -99.9
1e990 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32  9999.} {abc: 3 2
1e9a0 20 28 2d 31 30 30 2e 30 30 29 20 3a 78 79 7a 7d   (-100.00) :xyz}
1e9b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1e9c0 32 2e 38 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69  2.8.9.8 {.  sqli
1e9d0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1e9e0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1e9f0 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32  %3.2e) :xyz} 3 2
1ea00 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
1ea10 63 3a 20 33 20 32 20 28 2d 31 2e 30 30 65 2b 30  c: 3 2 (-1.00e+0
1ea20 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
1ea30 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 39 20   printf-2.8.9.9 
1ea40 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ea50 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ea60 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1ea70 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39  xyz} 3 2 -99.999
1ea80 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  99.} {abc: 3 2 (
1ea90 2d 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  -1e+02) :xyz}.do
1eaa0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1eab0 2e 31 30 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  .10.1 {.  sqlite
1eac0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1ead0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
1eae0 78 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39  xyz} 3 2 3.14e+9
1eaf0 0a 7d 20 7b 61 62 63 3a 20 28 33 31 34 30 30 30  .} {abc: (314000
1eb00 30 30 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  0000.00) :xyz}.d
1eb10 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1eb20 38 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74  8.10.2 {.  sqlit
1eb30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1eb40 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1eb50 3a 78 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b  :xyz} 3 2 3.14e+
1eb60 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 65  9.} {abc: (3.14e
1eb70 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
1eb80 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30  st printf-2.8.10
1eb90 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1eba0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ebb0 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1ebc0 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20  } 3 2 3.14e+9.} 
1ebd0 7b 61 62 63 3a 20 28 33 2e 31 65 2b 30 39 29 20  {abc: (3.1e+09) 
1ebe0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1ebf0 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 34 20 7b 0a  intf-2.8.10.4 {.
1ec00 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ec10 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1ec20 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
1ec30 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 2 3.14e+9.} {a
1ec40 62 63 3a 20 33 20 32 20 28 33 2e 31 34 65 2b 30  bc: 3 2 (3.14e+0
1ec50 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1ec60 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 35   printf-2.8.10.5
1ec70 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1ec80 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1ec90 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
1eca0 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 3 2 3.14e+9.
1ecb0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 31  } {abc: 3 2 (3.1
1ecc0 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  4000e+09) :xyz}.
1ecd0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1ece0 2e 38 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c 69  .8.10.6 {.  sqli
1ecf0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ed00 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1ed10 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32  %010g) :xyz} 3 2
1ed20 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1ed30 20 33 20 32 20 28 30 30 33 2e 31 34 65 2b 30 39   3 2 (003.14e+09
1ed40 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ed50 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 37 20  printf-2.8.10.7 
1ed60 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ed70 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ed80 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a   %d %d (%3.2f) :
1ed90 78 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39  xyz} 3 2 3.14e+9
1eda0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 31  .} {abc: 3 2 (31
1edb0 34 30 30 30 30 30 30 30 2e 30 30 29 20 3a 78 79  40000000.00) :xy
1edc0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1edd0 66 2d 32 2e 38 2e 31 30 2e 38 20 7b 0a 20 20 73  f-2.8.10.8 {.  s
1ede0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1edf0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1ee00 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20  d (%3.2e) :xyz} 
1ee10 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 2 3.14e+9.} {a
1ee20 62 63 3a 20 33 20 32 20 28 33 2e 31 34 65 2b 30  bc: 3 2 (3.14e+0
1ee30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1ee40 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 39   printf-2.8.10.9
1ee50 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1ee60 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1ee70 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20  : %d %d (%3.2g) 
1ee80 3a 78 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b  :xyz} 3 2 3.14e+
1ee90 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33  9.} {abc: 3 2 (3
1eea0 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  .1e+09) :xyz}.do
1eeb0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1eec0 2e 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .11.2 {.  sqlite
1eed0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1eee0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1eef0 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33  xyz} 3 2 -4.7273
1ef00 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
1ef10 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  4.73e+88) :xyz}.
1ef20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1ef30 2e 38 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69  .8.11.3 {.  sqli
1ef40 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ef50 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1ef60 20 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32   :xyz} 3 2 -4.72
1ef70 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
1ef80 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d  (-4.7e+88) :xyz}
1ef90 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1efa0 32 2e 38 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c  2.8.11.4 {.  sql
1efb0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1efc0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1efd0 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  (%g) :xyz} 3 2 -
1efe0 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
1eff0 62 63 3a 20 33 20 32 20 28 2d 34 2e 37 32 37 33  bc: 3 2 (-4.7273
1f000 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
1f010 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f020 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.5 {.  sqlite3
1f030 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f040 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
1f050 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37  ) :xyz} 3 2 -4.7
1f060 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
1f070 20 33 20 32 20 28 2d 34 2e 37 32 37 33 32 65 2b   3 2 (-4.72732e+
1f080 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
1f090 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e  t printf-2.8.11.
1f0a0 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
1f0b0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f0c0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
1f0d0 20 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32   :xyz} 3 2 -4.72
1f0e0 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
1f0f0 33 20 32 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  3 2 (-4.72732e+8
1f100 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
1f110 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 38   printf-2.8.11.8
1f120 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1f130 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1f140 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20  : %d %d (%3.2e) 
1f150 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37  :xyz} 3 2 -4.727
1f160 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33  32e+88.} {abc: 3
1f170 20 32 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a   2 (-4.73e+88) :
1f180 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1f190 6e 74 66 2d 32 2e 38 2e 31 31 2e 39 20 7b 0a 20  ntf-2.8.11.9 {. 
1f1a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1f1b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1f1c0 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1f1d0 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b  } 3 2 -4.72732e+
1f1e0 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  88.} {abc: 3 2 (
1f1f0 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  -4.7e+88) :xyz}.
1f200 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1f210 2e 38 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69  .8.12.2 {.  sqli
1f220 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1f230 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
1f240 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39   :xyz} 3 2 9.879
1f250 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
1f260 28 39 2e 38 38 65 2b 31 34 33 29 20 3a 78 79 7a  (9.88e+143) :xyz
1f270 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f280 2d 32 2e 38 2e 31 32 2e 33 20 7b 0a 20 20 73 71  -2.8.12.3 {.  sq
1f290 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f2a0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1f2b0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38  g) :xyz} 3 2 9.8
1f2c0 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
1f2d0 3a 20 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79  : (9.9e+143) :xy
1f2e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1f2f0 66 2d 32 2e 38 2e 31 32 2e 34 20 7b 0a 20 20 73  f-2.8.12.4 {.  s
1f300 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1f310 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1f320 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32  d (%g) :xyz} 3 2
1f330 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
1f340 7b 61 62 63 3a 20 33 20 32 20 28 39 2e 38 37 39  {abc: 3 2 (9.879
1f350 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  91e+143) :xyz}.d
1f360 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1f370 38 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74  8.12.5 {.  sqlit
1f380 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1f390 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1f3a0 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e  #g) :xyz} 3 2 9.
1f3b0 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
1f3c0 63 3a 20 33 20 32 20 28 39 2e 38 37 39 39 31 65  c: 3 2 (9.87991e
1f3d0 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  +143) :xyz}.do_t
1f3e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1f3f0 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.6 {.  sqlite3_
1f400 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1f410 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1f420 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38  g) :xyz} 3 2 9.8
1f430 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
1f440 3a 20 33 20 32 20 28 39 2e 38 37 39 39 31 65 2b  : 3 2 (9.87991e+
1f450 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
1f460 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32  st printf-2.8.12
1f470 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
1f480 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f490 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65  bc: %d %d (%3.2e
1f4a0 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37  ) :xyz} 3 2 9.87
1f4b0 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
1f4c0 20 33 20 32 20 28 39 2e 38 38 65 2b 31 34 33 29   3 2 (9.88e+143)
1f4d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1f4e0 72 69 6e 74 66 2d 32 2e 38 2e 31 32 2e 39 20 7b  rintf-2.8.12.9 {
1f4f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1f500 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1f510 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78  %d %d (%3.2g) :x
1f520 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65  yz} 3 2 9.87991e
1f530 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32  +143.} {abc: 3 2
1f540 20 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a   (9.9e+143) :xyz
1f550 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f560 2d 32 2e 38 2e 31 33 2e 31 20 7b 0a 20 20 73 71  -2.8.13.1 {.  sq
1f570 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f580 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1f590 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e  f) :xyz} 3 2 -6.
1f5a0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
1f5b0 3a 20 28 2d 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  : (-0.00) :xyz}.
1f5c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1f5d0 2e 38 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69  .8.13.2 {.  sqli
1f5e0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1f5f0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
1f600 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38   :xyz} 3 2 -6.28
1f610 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1f620 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a  (-6.29e-09) :xyz
1f630 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f640 2d 32 2e 38 2e 31 33 2e 33 20 7b 0a 20 20 73 71  -2.8.13.3 {.  sq
1f650 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f660 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1f670 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e  g) :xyz} 3 2 -6.
1f680 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
1f690 3a 20 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79  : (-6.3e-09) :xy
1f6a0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1f6b0 66 2d 32 2e 38 2e 31 33 2e 34 20 7b 0a 20 20 73  f-2.8.13.4 {.  s
1f6c0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1f6d0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1f6e0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32  d (%g) :xyz} 3 2
1f6f0 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
1f700 7b 61 62 63 3a 20 33 20 32 20 28 2d 36 2e 32 38  {abc: 3 2 (-6.28
1f710 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
1f720 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1f730 38 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74  8.13.5 {.  sqlit
1f740 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1f750 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1f760 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36  #g) :xyz} 3 2 -6
1f770 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
1f780 63 3a 20 33 20 32 20 28 2d 36 2e 32 38 37 32 39  c: 3 2 (-6.28729
1f790 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
1f7a0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1f7b0 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.6 {.  sqlite3_
1f7c0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1f7d0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1f7e0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e  g) :xyz} 3 2 -6.
1f7f0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
1f800 3a 20 33 20 32 20 28 2d 36 2e 32 38 37 32 39 65  : 3 2 (-6.28729e
1f810 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
1f820 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33  st printf-2.8.13
1f830 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
1f840 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f850 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66  bc: %d %d (%3.2f
1f860 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32  ) :xyz} 3 2 -6.2
1f870 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1f880 20 33 20 32 20 28 2d 30 2e 30 30 29 20 3a 78 79   3 2 (-0.00) :xy
1f890 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1f8a0 66 2d 32 2e 38 2e 31 33 2e 38 20 7b 0a 20 20 73  f-2.8.13.8 {.  s
1f8b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1f8c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1f8d0 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20  d (%3.2e) :xyz} 
1f8e0 33 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  3 2 -6.287291e-9
1f8f0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 36  .} {abc: 3 2 (-6
1f900 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  .29e-09) :xyz}.d
1f910 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1f920 38 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74  8.13.9 {.  sqlit
1f930 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1f940 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1f950 33 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2g) :xyz} 3 2 
1f960 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
1f970 61 62 63 3a 20 33 20 32 20 28 2d 36 2e 33 65 2d  abc: 3 2 (-6.3e-
1f980 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1f990 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e  t printf-2.8.14.
1f9a0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1f9b0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f9c0 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
1f9d0 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   3 2 3.38826392e
1f9e0 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e  -110.} {abc: (0.
1f9f0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1fa00 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e  t printf-2.8.14.
1fa10 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1fa20 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1fa30 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1fa40 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   3 2 3.38826392e
1fa50 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
1fa60 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  39e-110) :xyz}.d
1fa70 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1fa80 38 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74  8.14.3 {.  sqlit
1fa90 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1faa0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1fab0 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32  :xyz} 3 2 3.3882
1fac0 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
1fad0 3a 20 28 33 2e 34 65 2d 31 31 30 29 20 3a 78 79  : (3.4e-110) :xy
1fae0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1faf0 66 2d 32 2e 38 2e 31 34 2e 34 20 7b 0a 20 20 73  f-2.8.14.4 {.  s
1fb00 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1fb10 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1fb20 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32  d (%g) :xyz} 3 2
1fb30 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1fb40 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e  .} {abc: 3 2 (3.
1fb50 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
1fb60 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1fb70 2d 32 2e 38 2e 31 34 2e 35 20 7b 0a 20 20 73 71  -2.8.14.5 {.  sq
1fb80 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1fb90 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1fba0 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32   (%#g) :xyz} 3 2
1fbb0 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1fbc0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e  .} {abc: 3 2 (3.
1fbd0 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
1fbe0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1fbf0 2d 32 2e 38 2e 31 34 2e 36 20 7b 0a 20 20 73 71  -2.8.14.6 {.  sq
1fc00 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1fc10 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1fc20 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1fc30 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
1fc40 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  10.} {abc: 3 2 (
1fc50 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
1fc60 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1fc70 74 66 2d 32 2e 38 2e 31 34 2e 37 20 7b 0a 20 20  tf-2.8.14.7 {.  
1fc80 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1fc90 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1fca0 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d  %d (%3.2f) :xyz}
1fcb0 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   3 2 3.38826392e
1fcc0 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32  -110.} {abc: 3 2
1fcd0 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f   (0.00) :xyz}.do
1fce0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1fcf0 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .14.8 {.  sqlite
1fd00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1fd10 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1fd20 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  .2e) :xyz} 3 2 3
1fd30 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
1fd40 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33 39   {abc: 3 2 (3.39
1fd50 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
1fd60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1fd70 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.9 {.  sqlite3
1fd80 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1fd90 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1fda0 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  2g) :xyz} 3 2 3.
1fdb0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1fdc0 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 34 65 2d  {abc: 3 2 (3.4e-
1fdd0 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
1fde0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35  st printf-2.8.15
1fdf0 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
1fe00 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1fe10 62 63 3a 20 28 25 20 2a 2e 2a 66 29 20 3a 78 79  bc: (% *.*f) :xy
1fe20 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33 39  z} 3 2 3.3882639
1fe30 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
1fe40 20 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   0.00) :xyz}.do_
1fe50 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1fe60 31 35 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  15.2 {.  sqlite3
1fe70 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1fe80 7b 61 62 63 3a 20 28 25 20 2a 2e 2a 65 29 20 3a  {abc: (% *.*e) :
1fe90 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36  xyz} 3 2 3.38826
1fea0 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
1feb0 20 28 20 33 2e 33 39 65 2d 31 31 30 29 20 3a 78   ( 3.39e-110) :x
1fec0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1fed0 74 66 2d 32 2e 38 2e 31 35 2e 33 20 7b 0a 20 20  tf-2.8.15.3 {.  
1fee0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1fef0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 20  double {abc: (% 
1ff00 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*g) :xyz} 3 2 
1ff10 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1ff20 7d 20 7b 61 62 63 3a 20 28 20 33 2e 34 65 2d 31  } {abc: ( 3.4e-1
1ff30 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
1ff40 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e  t printf-2.8.15.
1ff50 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
1ff60 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1ff70 63 3a 20 25 64 20 25 64 20 28 25 20 67 29 20 3a  c: %d %d (% g) :
1ff80 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36  xyz} 3 2 3.38826
1ff90 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
1ffa0 20 33 20 32 20 28 20 33 2e 33 38 38 32 36 65 2d   3 2 ( 3.38826e-
1ffb0 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
1ffc0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35  st printf-2.8.15
1ffd0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1ffe0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1fff0 62 63 3a 20 25 64 20 25 64 20 28 25 20 23 67 29  bc: %d %d (% #g)
20000 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38   :xyz} 3 2 3.388
20010 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
20020 63 3a 20 33 20 32 20 28 20 33 2e 33 38 38 32 36  c: 3 2 ( 3.38826
20030 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
20040 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
20050 31 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  15.6 {.  sqlite3
20060 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
20070 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 20  {abc: %d %d (%0 
20080 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  10g) :xyz} 3 2 3
20090 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
200a0 20 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e 33   {abc: 3 2 ( 3.3
200b0 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
200c0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
200d0 32 2e 38 2e 31 35 2e 37 20 7b 0a 20 20 73 71 6c  2.8.15.7 {.  sql
200e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
200f0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
20100 28 25 20 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33  (% 3.2f) :xyz} 3
20110 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
20120 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  10.} {abc: 3 2 (
20130 20 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   0.00) :xyz}.do_
20140 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
20150 31 35 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  15.8 {.  sqlite3
20160 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
20170 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 20 33  {abc: %d %d (% 3
20180 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  .2e) :xyz} 3 2 3
20190 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
201a0 20 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e 33   {abc: 3 2 ( 3.3
201b0 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  9e-110) :xyz}.do
201c0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
201d0 2e 31 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .15.9 {.  sqlite
201e0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
201f0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 20   {abc: %d %d (% 
20200 33 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2g) :xyz} 3 2 
20210 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
20220 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e  } {abc: 3 2 ( 3.
20230 34 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 0a 64  4e-110) :xyz}..d
20240 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
20250 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.1 {.  sqlite3_
20260 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
20270 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 30  abc: %d %d (%5.0
20280 67 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32  g) :xyz} 0 0 1.2
20290 33 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28  34.} {abc: 0 0 (
202a0 20 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f      1) :xyz}.do_
202b0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e  test printf-2.9.
202c0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
202d0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
202e0 63 3a 20 25 64 20 25 64 20 28 25 2b 35 2e 30 67  c: %d %d (%+5.0g
202f0 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33  ) :xyz} 0 0 1.23
20300 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 20  4.} {abc: 0 0 ( 
20310 20 20 2b 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74    +1) :xyz}.do_t
20320 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e 33  est printf-2.9.3
20330 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
20340 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
20350 3a 20 25 64 20 25 64 20 28 25 2b 2d 35 2e 30 67  : %d %d (%+-5.0g
20360 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33  ) :xyz} 0 0 1.23
20370 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 2b  4.} {abc: 0 0 (+
20380 31 20 20 20 29 20 3a 78 79 7a 7d 0a 0a 64 6f 5f  1   ) :xyz}..do_
20390 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 30  test printf-2.10
203a0 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
203b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
203c0 62 63 3a 20 25 64 20 25 64 20 28 25 2d 30 31 30  bc: %d %d (%-010
203d0 2e 35 66 29 20 3a 78 79 7a 7d 20 30 20 30 20 31  .5f) :xyz} 0 0 1
203e0 2e 32 33 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30  .234.} {abc: 0 0
203f0 20 28 31 2e 32 33 34 30 30 20 20 20 29 20 3a 78   (1.23400   ) :x
20400 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
20410 74 66 2d 32 2e 31 30 2e 32 20 7b 0a 20 20 73 71  tf-2.10.2 {.  sq
20420 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
20430 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
20440 20 28 25 30 31 30 2e 35 66 29 20 3a 78 79 7a 7d   (%010.5f) :xyz}
20450 20 30 20 30 20 31 2e 32 33 34 0a 7d 20 7b 61 62   0 0 1.234.} {ab
20460 63 3a 20 30 20 30 20 28 30 30 30 31 2e 32 33 34  c: 0 0 (0001.234
20470 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
20480 74 20 70 72 69 6e 74 66 2d 32 2e 31 30 2e 33 20  t printf-2.10.3 
20490 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
204a0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
204b0 20 25 64 20 25 64 20 28 25 2b 30 31 30 2e 35 66   %d %d (%+010.5f
204c0 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33  ) :xyz} 0 0 1.23
204d0 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 2b  4.} {abc: 0 0 (+
204e0 30 30 31 2e 32 33 34 30 30 29 20 3a 78 79 7a 7d  001.23400) :xyz}
204f0 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  ..do_test printf
20500 2d 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  -3.1 {.  sqlite3
20510 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 41 20  _mprintf_str {A 
20520 53 74 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d  String: (%*.*s)}
20530 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73 20   10 10 {This is 
20540 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66  the string}.} [f
20550 6f 72 6d 61 74 20 7b 41 20 53 74 72 69 6e 67 3a  ormat {A String:
20560 20 28 25 2a 2e 2a 73 29 7d 20 31 30 20 31 30 20   (%*.*s)} 10 10 
20570 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20580 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72  ing}].do_test pr
20590 69 6e 74 66 2d 33 2e 32 20 7b 0a 20 20 73 71 6c  intf-3.2 {.  sql
205a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
205b0 20 7b 41 20 53 74 72 69 6e 67 3a 20 28 25 2a 2e   {A String: (%*.
205c0 2a 73 29 7d 20 31 30 20 35 20 7b 54 68 69 73 20  *s)} 10 5 {This 
205d0 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d  is the string}.}
205e0 20 5b 66 6f 72 6d 61 74 20 7b 41 20 53 74 72 69   [format {A Stri
205f0 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20 31 30 20  ng: (%*.*s)} 10 
20600 35 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73  5 {This is the s
20610 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20  tring}].do_test 
20620 70 72 69 6e 74 66 2d 33 2e 33 20 7b 0a 20 20 73  printf-3.3 {.  s
20630 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
20640 74 72 20 7b 41 20 53 74 72 69 6e 67 3a 20 28 25  tr {A String: (%
20650 2a 2e 2a 73 29 7d 20 2d 31 30 20 35 20 7b 54 68  *.*s)} -10 5 {Th
20660 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20670 7d 0a 7d 20 5b 66 6f 72 6d 61 74 20 7b 41 20 53  }.} [format {A S
20680 74 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20  tring: (%*.*s)} 
20690 2d 31 30 20 35 20 7b 54 68 69 73 20 69 73 20 74  -10 5 {This is t
206a0 68 65 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74  he string}].do_t
206b0 65 73 74 20 70 72 69 6e 74 66 2d 33 2e 34 20 7b  est printf-3.4 {
206c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
206d0 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20  tf_str {%d %d A 
206e0 53 74 72 69 6e 67 3a 20 28 25 73 29 7d 20 31 20  String: (%s)} 1 
206f0 32 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73  2 {This is the s
20700 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d 61 74  tring}.} [format
20710 20 7b 25 64 20 25 64 20 41 20 53 74 72 69 6e 67   {%d %d A String
20720 3a 20 28 25 73 29 7d 20 31 20 32 20 7b 54 68 69  : (%s)} 1 2 {Thi
20730 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d  s is the string}
20740 5d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  ].do_test printf
20750 2d 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  -3.5 {.  sqlite3
20760 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
20770 20 25 64 20 41 20 53 74 72 69 6e 67 3a 20 28 25   %d A String: (%
20780 33 30 73 29 7d 20 31 20 32 20 7b 54 68 69 73 20  30s)} 1 2 {This 
20790 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d  is the string}.}
207a0 20 5b 66 6f 72 6d 61 74 20 7b 25 64 20 25 64 20   [format {%d %d 
207b0 41 20 53 74 72 69 6e 67 3a 20 28 25 33 30 73 29  A String: (%30s)
207c0 7d 20 31 20 32 20 7b 54 68 69 73 20 69 73 20 74  } 1 2 {This is t
207d0 68 65 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74  he string}].do_t
207e0 65 73 74 20 70 72 69 6e 74 66 2d 33 2e 36 20 7b  est printf-3.6 {
207f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20800 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20  tf_str {%d %d A 
20810 53 74 72 69 6e 67 3a 20 28 25 2d 33 30 73 29 7d  String: (%-30s)}
20820 20 31 20 32 20 7b 54 68 69 73 20 69 73 20 74 68   1 2 {This is th
20830 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72  e string}.} [for
20840 6d 61 74 20 7b 25 64 20 25 64 20 41 20 53 74 72  mat {%d %d A Str
20850 69 6e 67 3a 20 28 25 2d 33 30 73 29 7d 20 31 20  ing: (%-30s)} 1 
20860 32 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73  2 {This is the s
20870 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20  tring}].do_test 
20880 70 72 69 6e 74 66 2d 33 2e 37 20 7b 0a 20 20 73  printf-3.7 {.  s
20890 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
208a0 74 72 20 7b 25 64 20 41 20 53 74 72 69 6e 67 3a  tr {%d A String:
208b0 20 28 25 2a 73 29 7d 20 31 20 32 31 34 37 34 38   (%*s)} 1 214748
208c0 33 36 34 37 20 7b 54 68 69 73 20 69 73 20 74 68  3647 {This is th
208d0 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 5d 0a 64  e string}.} [].d
208e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 33 2e  o_test printf-3.
208f0 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
20900 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 41 20  rintf_str {%d A 
20910 53 74 72 69 6e 67 3a 20 28 25 2a 73 29 7d 20 31  String: (%*s)} 1
20920 20 2d 32 31 34 37 34 38 33 36 34 38 20 7b 54 68   -2147483648 {Th
20930 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20940 7d 0a 7d 20 7b 31 20 41 20 53 74 72 69 6e 67 3a  }.} {1 A String:
20950 20 28 54 68 69 73 20 69 73 20 74 68 65 20 73 74   (This is the st
20960 72 69 6e 67 29 7d 0a 64 6f 5f 74 65 73 74 20 70  ring)}.do_test p
20970 72 69 6e 74 66 2d 33 2e 39 20 7b 0a 20 20 73 71  rintf-3.9 {.  sq
20980 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
20990 72 20 7b 25 64 20 41 20 53 74 72 69 6e 67 3a 20  r {%d A String: 
209a0 28 25 2e 2a 73 29 7d 20 31 20 2d 32 31 34 37 34  (%.*s)} 1 -21474
209b0 38 33 36 34 38 20 7b 54 68 69 73 20 69 73 20 74  83648 {This is t
209c0 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 31 20  he string}.} {1 
209d0 41 20 53 74 72 69 6e 67 3a 20 28 54 68 69 73 20  A String: (This 
209e0 69 73 20 74 68 65 20 73 74 72 69 6e 67 29 7d 0a  is the string)}.
209f0 64 6f 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66  do_test snprintf
20a00 2d 33 2e 31 31 20 7b 0a 20 20 73 71 6c 69 74 65  -3.11 {.  sqlite
20a10 33 5f 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 32  3_snprintf_str 2
20a20 20 7b 78 25 64 20 25 64 20 25 73 7d 20 31 30 20   {x%d %d %s} 10 
20a30 31 30 20 7b 54 68 69 73 20 69 73 20 74 68 65 20  10 {This is the 
20a40 73 74 72 69 6e 67 7d 0a 7d 20 7b 78 7d 0a 64 6f  string}.} {x}.do
20a50 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33  _test snprintf-3
20a60 2e 31 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  .12 {.  sqlite3_
20a70 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 33 20 7b  snprintf_str 3 {
20a80 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20a90 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20aa0 72 69 6e 67 7d 0a 7d 20 7b 78 31 7d 0a 64 6f 5f  ring}.} {x1}.do_
20ab0 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e  test snprintf-3.
20ac0 31 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73  13 {.  sqlite3_s
20ad0 6e 70 72 69 6e 74 66 5f 73 74 72 20 34 20 7b 78  nprintf_str 4 {x
20ae0 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30 20  %d %d %s} 10 10 
20af0 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20b00 69 6e 67 7d 0a 7d 20 7b 78 31 30 7d 0a 64 6f 5f  ing}.} {x10}.do_
20b10 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e  test snprintf-3.
20b20 31 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73  14 {.  sqlite3_s
20b30 6e 70 72 69 6e 74 66 5f 73 74 72 20 35 20 7b 78  nprintf_str 5 {x
20b40 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30 20  %d %d %s} 10 10 
20b50 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20b60 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 7d 0a 64 6f  ing}.} {x10 }.do
20b70 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33  _test snprintf-3
20b80 2e 31 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  .15 {.  sqlite3_
20b90 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 36 20 7b  snprintf_str 6 {
20ba0 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20bb0 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20bc0 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 7d 0a  ring}.} {x10 1}.
20bd0 64 6f 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66  do_test snprintf
20be0 2d 33 2e 31 36 20 7b 0a 20 20 73 71 6c 69 74 65  -3.16 {.  sqlite
20bf0 33 5f 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 37  3_snprintf_str 7
20c00 20 7b 78 25 64 20 25 64 20 25 73 7d 20 31 30 20   {x%d %d %s} 10 
20c10 31 30 20 7b 54 68 69 73 20 69 73 20 74 68 65 20  10 {This is the 
20c20 73 74 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 31  string}.} {x10 1
20c30 30 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70 72 69  0}.do_test snpri
20c40 6e 74 66 2d 33 2e 31 37 20 7b 0a 20 20 73 71 6c  ntf-3.17 {.  sql
20c50 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 73 74  ite3_snprintf_st
20c60 72 20 38 20 7b 78 25 64 20 25 64 20 25 73 7d 20  r 8 {x%d %d %s} 
20c70 31 30 20 31 30 20 7b 54 68 69 73 20 69 73 20 74  10 10 {This is t
20c80 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 78 31  he string}.} {x1
20c90 30 20 31 30 20 7d 0a 64 6f 5f 74 65 73 74 20 73  0 10 }.do_test s
20ca0 6e 70 72 69 6e 74 66 2d 33 2e 31 38 20 7b 0a 20  nprintf-3.18 {. 
20cb0 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74   sqlite3_snprint
20cc0 66 5f 73 74 72 20 39 20 7b 78 25 64 20 25 64 20  f_str 9 {x%d %d 
20cd0 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20  %s} 10 10 {This 
20ce0 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d  is the string}.}
20cf0 20 7b 78 31 30 20 31 30 20 54 7d 0a 64 6f 5f 74   {x10 10 T}.do_t
20d00 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31  est snprintf-3.1
20d10 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e  9 {.  sqlite3_sn
20d20 70 72 69 6e 74 66 5f 73 74 72 20 31 30 30 20 7b  printf_str 100 {
20d30 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20d40 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20d50 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 30 20  ring}.} {x10 10 
20d60 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69  This is the stri
20d70 6e 67 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69  ng}..do_test pri
20d80 6e 74 66 2d 34 2e 31 20 7b 0a 20 20 73 71 6c 69  ntf-4.1 {.  sqli
20d90 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
20da0 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20  {%d %d A quoted 
20db0 73 74 72 69 6e 67 3a 20 27 25 71 27 7d 20 31 20  string: '%q'} 1 
20dc0 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b  2 {Hi Y'all}.} {
20dd0 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72  1 2 A quoted str
20de0 69 6e 67 3a 20 27 48 69 20 59 27 27 61 6c 6c 27  ing: 'Hi Y''all'
20df0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
20e00 2d 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  -4.2 {.  sqlite3
20e10 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
20e20 20 25 64 20 41 20 4e 55 4c 4c 20 70 6f 69 6e 74   %d A NULL point
20e30 65 72 20 69 6e 20 25 25 71 3a 20 27 25 71 27 7d  er in %%q: '%q'}
20e40 20 31 20 32 0a 7d 20 7b 31 20 32 20 41 20 4e 55   1 2.} {1 2 A NU
20e50 4c 4c 20 70 6f 69 6e 74 65 72 20 69 6e 20 25 71  LL pointer in %q
20e60 3a 20 27 28 4e 55 4c 4c 29 27 7d 0a 64 6f 5f 74  : '(NULL)'}.do_t
20e70 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 33 20 7b  est printf-4.3 {
20e80 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20e90 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20  tf_str {%d %d A 
20ea0 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 25  quoted string: %
20eb0 51 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c  Q} 1 2 {Hi Y'all
20ec0 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65  }.} {1 2 A quote
20ed0 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27  d string: 'Hi Y'
20ee0 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70  'all'}.do_test p
20ef0 72 69 6e 74 66 2d 34 2e 34 20 7b 0a 20 20 73 71  rintf-4.4 {.  sq
20f00 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
20f10 72 20 7b 25 64 20 25 64 20 41 20 4e 55 4c 4c 20  r {%d %d A NULL 
20f20 70 6f 69 6e 74 65 72 20 69 6e 20 25 25 51 3a 20  pointer in %%Q: 
20f30 25 51 7d 20 31 20 32 0a 7d 20 7b 31 20 32 20 41  %Q} 1 2.} {1 2 A
20f40 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 20 69 6e   NULL pointer in
20f50 20 25 51 3a 20 4e 55 4c 4c 7d 0a 64 6f 5f 74 65   %Q: NULL}.do_te
20f60 73 74 20 70 72 69 6e 74 66 2d 34 2e 35 20 7b 0a  st printf-4.5 {.
20f70 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
20f80 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 71  f_str {%d %d A q
20f90 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25  uoted string: '%
20fa0 2e 31 30 71 27 7d 20 31 20 32 20 7b 48 69 20 59  .10q'} 1 2 {Hi Y
20fb0 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71  'all}.} {1 2 A q
20fc0 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48  uoted string: 'H
20fd0 69 20 59 27 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65  i Y''all'}.do_te
20fe0 73 74 20 70 72 69 6e 74 66 2d 34 2e 36 20 7b 0a  st printf-4.6 {.
20ff0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
21000 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 71  f_str {%d %d A q
21010 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25  uoted string: '%
21020 2e 39 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27  .9q'} 1 2 {Hi Y'
21030 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75  all}.} {1 2 A qu
21040 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69  oted string: 'Hi
21050 20 59 27 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73   Y''all'}.do_tes
21060 74 20 70 72 69 6e 74 66 2d 34 2e 37 20 7b 0a 20  t printf-4.7 {. 
21070 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
21080 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 71 75  _str {%d %d A qu
21090 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e  oted string: '%.
210a0 38 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61  8q'} 1 2 {Hi Y'a
210b0 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f  ll}.} {1 2 A quo
210c0 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20  ted string: 'Hi 
210d0 59 27 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74  Y''all'}.do_test
210e0 20 70 72 69 6e 74 66 2d 34 2e 38 20 7b 0a 20 20   printf-4.8 {.  
210f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
21100 73 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f  str {%d %d A quo
21110 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 37  ted string: '%.7
21120 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c  q'} 1 2 {Hi Y'al
21130 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74  l}.} {1 2 A quot
21140 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59  ed string: 'Hi Y
21150 27 27 61 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70  ''al'}.do_test p
21160 72 69 6e 74 66 2d 34 2e 39 20 7b 0a 20 20 73 71  rintf-4.9 {.  sq
21170 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
21180 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65  r {%d %d A quote
21190 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 36 71 27  d string: '%.6q'
211a0 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d  } 1 2 {Hi Y'all}
211b0 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64  .} {1 2 A quoted
211c0 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27   string: 'Hi Y''
211d0 61 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  a'}.do_test prin
211e0 74 66 2d 34 2e 31 30 20 7b 0a 20 20 73 71 6c 69  tf-4.10 {.  sqli
211f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
21200 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20  {%d %d A quoted 
21210 73 74 72 69 6e 67 3a 20 27 25 2e 35 71 27 7d 20  string: '%.5q'} 
21220 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d  1 2 {Hi Y'all}.}
21230 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20 73   {1 2 A quoted s
21240 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27 27 7d  tring: 'Hi Y'''}
21250 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21260 34 2e 31 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  4.11 {.  sqlite3
21270 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
21280 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74 72   %d A quoted str
21290 69 6e 67 3a 20 27 25 2e 34 71 27 7d 20 31 20 32  ing: '%.4q'} 1 2
212a0 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31   {Hi Y'all}.} {1
212b0 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72 69   2 A quoted stri
212c0 6e 67 3a 20 27 48 69 20 59 27 7d 0a 64 6f 5f 74  ng: 'Hi Y'}.do_t
212d0 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 32 20  est printf-4.12 
212e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
212f0 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41  ntf_str {%d %d A
21300 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20   quoted string: 
21310 27 25 2e 33 71 27 7d 20 31 20 32 20 7b 48 69 20  '%.3q'} 1 2 {Hi 
21320 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20  Y'all}.} {1 2 A 
21330 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27  quoted string: '
21340 48 69 20 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72  Hi '}.do_test pr
21350 69 6e 74 66 2d 34 2e 31 33 20 7b 0a 20 20 73 71  intf-4.13 {.  sq
21360 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
21370 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65  r {%d %d A quote
21380 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 32 71 27  d string: '%.2q'
21390 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d  } 1 2 {Hi Y'all}
213a0 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64  .} {1 2 A quoted
213b0 20 73 74 72 69 6e 67 3a 20 27 48 69 27 7d 0a 64   string: 'Hi'}.d
213c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e  o_test printf-4.
213d0 31 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  14 {.  sqlite3_m
213e0 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
213f0 64 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  d A quoted strin
21400 67 3a 20 27 25 2e 31 71 27 7d 20 31 20 32 20 7b  g: '%.1q'} 1 2 {
21410 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32  Hi Y'all}.} {1 2
21420 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67   A quoted string
21430 3a 20 27 48 27 7d 0a 64 6f 5f 74 65 73 74 20 70  : 'H'}.do_test p
21440 72 69 6e 74 66 2d 34 2e 31 35 20 7b 0a 20 20 73  rintf-4.15 {.  s
21450 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
21460 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74  tr {%d %d A quot
21470 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 30 71  ed string: '%.0q
21480 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c  '} 1 2 {Hi Y'all
21490 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65  }.} {1 2 A quote
214a0 64 20 73 74 72 69 6e 67 3a 20 27 27 7d 0a 64 6f  d string: ''}.do
214b0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31  _test printf-4.1
214c0 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
214d0 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 41 20  rintf_str {%d A 
214e0 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27  quoted string: '
214f0 25 2e 2a 71 27 7d 20 31 20 36 20 7b 48 69 20 59  %.*q'} 1 6 {Hi Y
21500 27 61 6c 6c 7d 0a 7d 20 7b 31 20 41 20 71 75 6f  'all}.} {1 A quo
21510 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20  ted string: 'Hi 
21520 59 27 27 61 27 7d 0a 0a 0a 64 6f 5f 74 65 73 74  Y''a'}...do_test
21530 20 70 72 69 6e 74 66 2d 35 2e 31 20 7b 0a 20 20   printf-5.1 {.  
21540 73 65 74 20 78 20 5b 73 71 6c 69 74 65 33 5f 6d  set x [sqlite3_m
21550 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
21560 64 20 25 31 30 30 30 30 30 73 7d 20 30 20 30 20  d %100000s} 0 0 
21570 7b 48 65 6c 6c 6f 7d 5d 0a 20 20 73 74 72 69 6e  {Hello}].  strin
21580 67 20 6c 65 6e 67 74 68 20 24 78 0a 7d 20 7b 31  g length $x.} {1
21590 30 30 30 30 34 7d 0a 64 6f 5f 74 65 73 74 20 70  00004}.do_test p
215a0 72 69 6e 74 66 2d 35 2e 32 20 7b 0a 20 20 73 71  rintf-5.2 {.  sq
215b0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
215c0 72 20 7b 25 64 20 25 64 20 28 25 2d 31 30 2e 31  r {%d %d (%-10.1
215d0 30 73 29 20 25 7d 20 2d 39 20 2d 31 30 20 7b 48  0s) %} -9 -10 {H
215e0 65 6c 6c 6f 48 65 6c 6c 6f 48 65 6c 6c 6f 7d 0a  elloHelloHello}.
215f0 7d 20 7b 2d 39 20 2d 31 30 20 28 48 65 6c 6c 6f  } {-9 -10 (Hello
21600 48 65 6c 6c 6f 29 20 25 7d 0a 0a 64 6f 5f 74 65  Hello) %}..do_te
21610 73 74 20 70 72 69 6e 74 66 2d 36 2e 31 20 7b 0a  st printf-6.1 {.
21620 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
21630 66 5f 7a 5f 74 65 73 74 20 2c 20 6f 6e 65 20 74  f_z_test , one t
21640 77 6f 20 74 68 72 65 65 20 66 6f 75 72 20 66 69  wo three four fi
21650 76 65 20 73 69 78 0a 7d 20 7b 2c 6f 6e 65 2c 74  ve six.} {,one,t
21660 77 6f 2c 74 68 72 65 65 2c 66 6f 75 72 2c 66 69  wo,three,four,fi
21670 76 65 2c 73 69 78 7d 0a 0a 0a 64 6f 5f 74 65 73  ve,six}...do_tes
21680 74 20 70 72 69 6e 74 66 2d 37 2e 31 20 7b 0a 20  t printf-7.1 {. 
21690 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
216a0 5f 73 63 61 6c 65 64 20 7b 41 20 64 6f 75 62 6c  _scaled {A doubl
216b0 65 3a 20 25 67 7d 20 31 2e 30 65 33 30 37 20 31  e: %g} 1.0e307 1
216c0 2e 30 0a 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20  .0.} {A double: 
216d0 31 65 2b 33 30 37 7d 0a 64 6f 5f 74 65 73 74 20  1e+307}.do_test 
216e0 70 72 69 6e 74 66 2d 37 2e 32 20 7b 0a 20 20 73  printf-7.2 {.  s
216f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
21700 63 61 6c 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a  caled {A double:
21710 20 25 67 7d 20 31 2e 30 65 33 30 37 20 31 30 2e   %g} 1.0e307 10.
21720 30 0a 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20 31  0.} {A double: 1
21730 65 2b 33 30 38 7d 0a 64 6f 5f 74 65 73 74 20 70  e+308}.do_test p
21740 72 69 6e 74 66 2d 37 2e 33 20 7b 0a 20 20 73 71  rintf-7.3 {.  sq
21750 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 63  lite3_mprintf_sc
21760 61 6c 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a 20  aled {A double: 
21770 25 67 7d 20 31 2e 30 65 33 30 37 20 31 30 30 2e  %g} 1.0e307 100.
21780 30 0a 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20 49  0.} {A double: I
21790 6e 66 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  nf}.do_test prin
217a0 74 66 2d 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74  tf-7.4 {.  sqlit
217b0 65 33 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c 65  e3_mprintf_scale
217c0 64 20 7b 41 20 64 6f 75 62 6c 65 3a 20 25 67 7d  d {A double: %g}
217d0 20 2d 31 2e 30 65 33 30 37 20 31 30 30 2e 30 0a   -1.0e307 100.0.
217e0 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20 2d 49 6e  } {A double: -In
217f0 66 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  f}.do_test print
21800 66 2d 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  f-7.5 {.  sqlite
21810 33 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c 65 64  3_mprintf_scaled
21820 20 7b 41 20 64 6f 75 62 6c 65 3a 20 25 2b 67 7d   {A double: %+g}
21830 20 31 2e 30 65 33 30 37 20 31 30 30 2e 30 0a 7d   1.0e307 100.0.}
21840 20 7b 41 20 64 6f 75 62 6c 65 3a 20 2b 49 6e 66   {A double: +Inf
21850 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  }..do_test print
21860 66 2d 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  f-8.1 {.  sqlite
21870 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25  3_mprintf_int {%
21880 75 20 25 75 20 25 75 7d 20 30 78 37 66 66 66 66  u %u %u} 0x7ffff
21890 66 66 66 20 30 78 38 30 30 30 30 30 30 30 20 30  fff 0x80000000 0
218a0 78 66 66 66 66 66 66 66 66 0a 7d 20 7b 32 31 34  xffffffff.} {214
218b0 37 34 38 33 36 34 37 20 32 31 34 37 34 38 33 36  7483647 21474836
218c0 34 38 20 34 32 39 34 39 36 37 32 39 35 7d 0a 64  48 4294967295}.d
218d0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 38 2e  o_test printf-8.
218e0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
218f0 72 69 6e 74 66 5f 6c 6f 6e 67 20 7b 25 6c 75 20  rintf_long {%lu 
21900 25 6c 75 20 25 6c 75 7d 20 30 78 37 66 66 66 66  %lu %lu} 0x7ffff
21910 66 66 66 20 30 78 38 30 30 30 30 30 30 30 20 30  fff 0x80000000 0
21920 78 66 66 66 66 66 66 66 66 0a 7d 20 7b 32 31 34  xffffffff.} {214
21930 37 34 38 33 36 34 37 20 32 31 34 37 34 38 33 36  7483647 21474836
21940 34 38 20 34 32 39 34 39 36 37 32 39 35 7d 0a 64  48 4294967295}.d
21950 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 38 2e  o_test printf-8.
21960 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
21970 72 69 6e 74 66 5f 69 6e 74 36 34 20 7b 25 6c 6c  rintf_int64 {%ll
21980 75 20 25 6c 6c 75 20 25 6c 6c 75 7d 20 32 31 34  u %llu %llu} 214
21990 37 34 38 33 36 34 37 20 32 31 34 37 34 38 33 36  7483647 21474836
219a0 34 38 20 34 32 39 34 39 36 37 32 39 36 0a 7d 20  48 4294967296.} 
219b0 7b 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37  {2147483647 2147
219c0 34 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39  483648 429496729
219d0 36 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  6}.do_test print
219e0 66 2d 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  f-8.4 {.  sqlite
219f0 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 36 34 20  3_mprintf_int64 
21a00 7b 25 6c 6c 64 20 25 6c 6c 64 20 25 6c 6c 64 7d  {%lld %lld %lld}
21a10 20 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37   2147483647 2147
21a20 34 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39  483648 429496729
21a30 36 0a 7d 20 7b 32 31 34 37 34 38 33 36 34 37 20  6.} {2147483647 
21a40 32 31 34 37 34 38 33 36 34 38 20 34 32 39 34 39  2147483648 42949
21a50 36 37 32 39 36 7d 0a 64 6f 5f 74 65 73 74 20 70  67296}.do_test p
21a60 72 69 6e 74 66 2d 38 2e 35 20 7b 0a 20 20 73 71  rintf-8.5 {.  sq
21a70 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
21a80 74 36 34 20 7b 25 6c 6c 78 20 25 6c 6c 78 20 25  t64 {%llx %llx %
21a90 6c 6c 78 7d 20 32 31 34 37 34 38 33 36 34 37 20  llx} 2147483647 
21aa0 32 31 34 37 34 38 33 36 34 38 20 34 32 39 34 39  2147483648 42949
21ab0 36 37 32 39 36 0a 7d 20 7b 37 66 66 66 66 66 66  67296.} {7ffffff
21ac0 66 20 38 30 30 30 30 30 30 30 20 31 30 30 30 30  f 80000000 10000
21ad0 30 30 30 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72  0000}.do_test pr
21ae0 69 6e 74 66 2d 38 2e 36 20 7b 0a 20 20 73 71 6c  intf-8.6 {.  sql
21af0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
21b00 36 34 20 7b 25 6c 6c 78 20 25 6c 6c 6f 20 25 6c  64 {%llx %llo %l
21b10 6c 64 7d 20 2d 31 20 2d 31 20 2d 31 0a 7d 20 7b  ld} -1 -1 -1.} {
21b20 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66  ffffffffffffffff
21b30 20 31 37 37 37 37 37 37 37 37 37 37 37 37 37 37   177777777777777
21b40 37 37 37 37 37 37 37 20 2d 31 7d 0a 64 6f 5f 74  7777777 -1}.do_t
21b50 65 73 74 20 70 72 69 6e 74 66 2d 38 2e 37 20 7b  est printf-8.7 {
21b60 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
21b70 74 66 5f 69 6e 74 36 34 20 7b 25 6c 6c 78 20 25  tf_int64 {%llx %
21b80 6c 6c 78 20 25 6c 6c 78 7d 20 2b 32 31 34 37 34  llx %llx} +21474
21b90 38 33 36 34 37 20 2b 32 31 34 37 34 38 33 36 34  83647 +214748364
21ba0 38 20 2b 34 32 39 34 39 36 37 32 39 36 0a 7d 20  8 +4294967296.} 
21bb0 7b 37 66 66 66 66 66 66 66 20 38 30 30 30 30 30  {7fffffff 800000
21bc0 30 30 20 31 30 30 30 30 30 30 30 30 7d 0a 0a 64  00 100000000}..d
21bd0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 39 2e  o_test printf-9.
21be0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
21bf0 72 69 6e 74 66 5f 69 6e 74 20 7b 25 2a 2e 2a 63  rintf_int {%*.*c
21c00 7d 20 34 20 34 20 36 35 0a 7d 20 7b 41 41 41 41  } 4 4 65.} {AAAA
21c10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
21c20 2d 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  -9.2 {.  sqlite3
21c30 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25 2a  _mprintf_int {%*
21c40 2e 2a 63 7d 20 2d 34 20 31 20 36 36 0a 7d 20 7b  .*c} -4 1 66.} {
21c50 42 20 20 20 7d 0a 64 6f 5f 74 65 73 74 20 70 72  B   }.do_test pr
21c60 69 6e 74 66 2d 39 2e 33 20 7b 0a 20 20 73 71 6c  intf-9.3 {.  sql
21c70 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
21c80 20 7b 25 2a 2e 2a 63 7d 20 34 20 31 20 36 37 0a   {%*.*c} 4 1 67.
21c90 7d 20 7b 20 20 20 43 7d 0a 64 6f 5f 74 65 73 74  } {   C}.do_test
21ca0 20 70 72 69 6e 74 66 2d 39 2e 34 20 7b 0a 20 20   printf-9.4 {.  
21cb0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
21cc0 69 6e 74 20 7b 25 64 20 25 64 20 25 63 7d 20 34  int {%d %d %c} 4
21cd0 20 31 20 36 37 0a 7d 20 7b 34 20 31 20 43 7d 0a   1 67.} {4 1 C}.
21ce0 73 65 74 20 74 65 6e 20 7b 20 20 20 20 20 20 20  set ten {       
21cf0 20 20 20 7d 0a 73 65 74 20 66 69 66 74 79 20 24     }.set fifty $
21d00 74 65 6e 24 74 65 6e 24 74 65 6e 24 74 65 6e 24  ten$ten$ten$ten$
21d10 74 65 6e 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  ten.do_test prin
21d20 74 66 2d 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74  tf-9.5 {.  sqlit
21d30 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b  e3_mprintf_int {
21d40 25 64 20 25 2a 63 7d 20 31 20 2d 32 30 31 20 36  %d %*c} 1 -201 6
21d50 37 0a 7d 20 22 31 20 43 24 66 69 66 74 79 24 66  7.} "1 C$fifty$f
21d60 69 66 74 79 24 66 69 66 74 79 24 66 69 66 74 79  ifty$fifty$fifty
21d70 22 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  ".do_test printf
21d80 2d 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  -9.6 {.  sqlite3
21d90 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 68 69  _mprintf_int {hi
21da0 25 31 32 33 34 35 2e 31 32 33 34 36 79 68 65 6c  %12345.12346yhel
21db0 6c 6f 7d 20 30 20 30 20 30 0a 7d 20 7b 68 69 7d  lo} 0 0 0.} {hi}
21dc0 0a 0a 23 20 54 69 63 6b 65 74 20 23 38 31 32 0a  ..# Ticket #812.
21dd0 23 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  #.do_test printf
21de0 2d 31 30 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  -10.1 {.  sqlite
21df0 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 6f 6e 6c  3_mprintf_stronl
21e00 79 20 25 73 20 7b 7d 0a 7d 20 7b 7d 0a 0a 23 20  y %s {}.} {}..# 
21e10 54 69 63 6b 65 74 20 23 38 33 31 0a 23 0a 64 6f  Ticket #831.#.do
21e20 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 30 2e  _test printf-10.
21e30 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
21e40 72 69 6e 74 66 5f 73 74 72 6f 6e 6c 79 20 25 71  rintf_stronly %q
21e50 20 7b 7d 0a 7d 20 7b 7d 0a 0a 23 20 54 69 63 6b   {}.} {}..# Tick
21e60 65 74 20 23 31 33 34 30 3a 20 20 54 65 73 74 20  et #1340:  Test 
21e70 66 6f 72 20 6c 6f 73 73 20 6f 66 20 70 72 65 63  for loss of prec
21e80 69 73 69 6f 6e 20 6f 6e 20 6c 61 72 67 65 20 70  ision on large p
21e90 6f 73 69 74 69 76 65 20 65 78 70 6f 6e 65 6e 74  ositive exponent
21ea0 73 0a 23 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  s.#.do_test prin
21eb0 74 66 2d 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69  tf-10.3 {.  sqli
21ec0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
21ed0 6c 65 20 7b 25 64 20 25 64 20 25 66 7d 20 31 20  le {%d %d %f} 1 
21ee0 31 20 31 65 33 30 30 0a 7d 20 7b 31 20 31 20 31  1 1e300.} {1 1 1
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 30 30 30 30 30 2e 30 30 30  000000000000.000
22020 30 30 30 7d 0a 0a 23 20 54 68 65 20 6e 6f 6e 2d  000}..# The non-
22030 73 74 61 6e 64 61 72 64 20 27 21 27 20 66 6c 61  standard '!' fla
22040 67 20 6f 6e 20 61 20 27 67 27 20 63 6f 6e 76 65  g on a 'g' conve
22050 72 73 69 6f 6e 20 66 6f 72 63 65 73 20 61 20 64  rsion forces a d
22060 65 63 69 6d 61 6c 20 70 6f 69 6e 74 0a 23 20 61  ecimal point.# a
22070 6e 64 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20  nd at least one 
22080 64 69 67 69 74 20 6f 6e 20 65 69 74 68 65 72 20  digit on either 
22090 73 69 64 65 20 6f 66 20 74 68 65 20 64 65 63 69  side of the deci
220a0 6d 61 6c 20 70 6f 69 6e 74 2e 0a 23 0a 64 6f 5f  mal point..#.do_
220b0 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 31  test printf-11.1
220c0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
220d0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20  intf_double {%d 
220e0 25 64 20 25 21 67 7d 20 31 20 31 20 31 0a 7d 20  %d %!g} 1 1 1.} 
220f0 7b 31 20 31 20 31 2e 30 7d 0a 64 6f 5f 74 65 73  {1 1 1.0}.do_tes
22100 74 20 70 72 69 6e 74 66 2d 31 31 2e 32 20 7b 0a  t printf-11.2 {.
22110 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
22120 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20  f_double {%d %d 
22130 25 21 67 7d 20 31 20 31 20 31 32 33 0a 7d 20 7b  %!g} 1 1 123.} {
22140 31 20 31 20 31 32 33 2e 30 7d 0a 64 6f 5f 74 65  1 1 123.0}.do_te
22150 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 33 20 7b  st printf-11.3 {
22160 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
22170 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64  tf_double {%d %d
22180 20 25 21 67 7d 20 31 20 31 20 31 32 2e 33 0a 7d   %!g} 1 1 12.3.}
22190 20 7b 31 20 31 20 31 32 2e 33 7d 0a 64 6f 5f 74   {1 1 12.3}.do_t
221a0 65 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 34 20  est printf-11.4 
221b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
221c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25  ntf_double {%d %
221d0 64 20 25 21 67 7d 20 31 20 31 20 30 2e 31 32 33  d %!g} 1 1 0.123
221e0 0a 7d 20 7b 31 20 31 20 30 2e 31 32 33 7d 0a 64  .} {1 1 0.123}.d
221f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31  o_test printf-11
22200 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
22210 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25  printf_double {%
22220 64 20 25 64 20 25 21 2e 31 35 67 7d 20 31 20 31  d %d %!.15g} 1 1
22230 20 31 0a 7d 20 7b 31 20 31 20 31 2e 30 7d 0a 64   1.} {1 1 1.0}.d
22240 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31  o_test printf-11
22250 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
22260 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25  printf_double {%
22270 64 20 25 64 20 25 21 2e 31 35 67 7d 20 31 20 31  d %d %!.15g} 1 1
22280 20 31 65 31 30 0a 7d 20 7b 31 20 31 20 31 30 30   1e10.} {1 1 100
22290 30 30 30 30 30 30 30 30 2e 30 7d 0a 64 6f 5f 74  00000000.0}.do_t
222a0 65 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 37 20  est printf-11.7 
222b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
222c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25  ntf_double {%d %
222d0 64 20 25 21 2e 31 35 67 7d 20 31 20 31 20 31 65  d %!.15g} 1 1 1e
222e0 33 30 30 0a 7d 20 7b 31 20 31 20 31 2e 30 65 2b  300.} {1 1 1.0e+
222f0 33 30 30 7d 0a 0a 23 20 41 64 64 69 74 69 6f 6e  300}..# Addition
22300 61 6c 20 74 65 73 74 73 20 66 6f 72 20 63 6f 76  al tests for cov
22310 65 72 61 67 65 0a 23 0a 64 6f 5f 74 65 73 74 20  erage.#.do_test 
22320 70 72 69 6e 74 66 2d 31 32 2e 31 20 7b 0a 20 20  printf-12.1 {.  
22330 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
22340 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25 2e  double {%d %d %.
22350 32 30 30 30 67 7d 20 31 20 31 20 31 2e 30 0a 7d  2000g} 1 1 1.0.}
22360 20 7b 31 20 31 20 31 7d 0a 0a 23 20 46 6c 6f 61   {1 1 1}..# Floa
22370 74 69 6e 67 20 70 6f 69 6e 74 20 62 6f 75 6e 64  ting point bound
22380 61 72 79 20 63 61 73 65 73 0a 23 0a 64 6f 5f 74  ary cases.#.do_t
22390 65 73 74 20 70 72 69 6e 74 66 2d 31 33 2e 31 20  est printf-13.1 
223a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
223b0 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65 20 25 2e  ntf_hexdouble %.
223c0 32 30 66 20 34 30 32 34 30 30 30 30 30 30 30 30  20f 402400000000
223d0 30 30 30 30 0a 7d 20 7b 31 30 2e 30 30 30 30 30  0000.} {10.00000
223e0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 7d  000000000000000}
223f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
22400 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.2 {.  sqlite3
22410 5f 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62  _mprintf_hexdoub
22420 6c 65 20 25 2e 32 30 66 20 34 31 39 37 64 37 38  le %.20f 4197d78
22430 34 30 30 30 30 30 30 30 30 0a 7d 20 7b 31 30 30  400000000.} {100
22440 30 30 30 30 30 30 2e 30 30 30 30 30 30 30 30 30  000000.000000000
22450 30 30 30 30 30 30 30 30 30 30 30 7d 0a 64 6f 5f  00000000000}.do_
22460 74 65 73 74 20 70 72 69 6e 74 66 2d 31 33 2e 33  test printf-13.3
22470 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
22480 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65 20 25  intf_hexdouble %
22490 2e 32 30 66 20 34 36 39 33 62 38 62 35 62 35 30  .20f 4693b8b5b50
224a0 35 36 65 31 37 0a 7d 20 7b 31 30 30 30 30 30 30  56e17.} {1000000
224b0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
224c0 30 30 30 30 30 30 30 30 30 30 2e 30 30 30 30 30  0000000000.00000
224d0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 7d  000000000000000}
224e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
224f0 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.4 {.  sqlite3
22500 5f 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62  _mprintf_hexdoub
22510 6c 65 20 25 2e 32 30 66 20 37 66 66 30 30 30 30  le %.20f 7ff0000
22520 30 30 30 30 30 30 30 30 30 0a 7d 20 7b 49 6e 66  000000000.} {Inf
22530 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
22540 2d 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  -13.5 {.  sqlite
22550 33 5f 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75  3_mprintf_hexdou
22560 62 6c 65 20 25 2e 32 30 66 20 66 66 66 30 30 30  ble %.20f fff000
22570 30 30 30 30 30 30 30 30 30 30 0a 7d 20 7b 2d 49  0000000000.} {-I
22580 6e 66 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  nf}.do_test prin
22590 74 66 2d 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69  tf-13.6 {.  sqli
225a0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 68 65 78 64  te3_mprintf_hexd
225b0 6f 75 62 6c 65 20 25 2e 32 30 66 20 66 66 66 38  ouble %.20f fff8
225c0 30 30 30 30 30 30 30 30 30 30 30 30 0a 7d 20 7b  000000000000.} {
225d0 4e 61 4e 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  NaN}.do_test pri
225e0 6e 74 66 2d 31 33 2e 37 20 7b 0a 20 20 73 71 6c  ntf-13.7 {.  sql
225f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 68 65 78  ite3_mprintf_hex
22600 64 6f 75 62 6c 65 20 25 32 31 34 37 34 38 33 36  double %21474836
22610 34 38 2e 31 30 30 30 30 66 20 34 36 39 33 62 38  48.10000f 4693b8
22620 62 35 62 35 30 35 36 65 31 37 0a 7d 20 7b 2f 31  b5b5056e17.} {/1
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 30 30 30 30 30  0000000000000000
22650 2e 30 30 2f 7d 0a 0a 64 6f 5f 74 65 73 74 20 70  .00/}..do_test p
22660 72 69 6e 74 66 2d 31 34 2e 31 20 7b 0a 20 20 73  rintf-14.1 {.  s
22670 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
22680 74 72 20 7b 61 62 63 2d 25 79 2d 31 32 33 7d 20  tr {abc-%y-123} 
22690 30 20 30 20 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d  0 0 {not used}.}
226a0 20 7b 61 62 63 2d 7d 0a 64 6f 5f 74 65 73 74 20   {abc-}.do_test 
226b0 70 72 69 6e 74 66 2d 31 34 2e 32 20 7b 0a 20 20  printf-14.2 {.  
226c0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
226d0 6e 5f 74 65 73 74 20 7b 78 79 7a 7a 79 7d 0a 7d  n_test {xyzzy}.}
226e0 20 35 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74   5.do_test print
226f0 66 2d 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74  f-14.3 {.  sqlit
22700 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b  e3_mprintf_str {
22710 61 62 63 2d 25 54 2d 31 32 33 7d 20 30 20 30 20  abc-%T-123} 0 0 
22720 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62  {not used}.} {ab
22730 63 2d 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  c-}.do_test prin
22740 74 66 2d 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69  tf-14.4 {.  sqli
22750 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
22760 7b 61 62 63 2d 25 23 7d 20 30 20 30 20 7b 6e 6f  {abc-%#} 0 0 {no
22770 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 7d  t used}.} {abc-}
22780 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
22790 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.5 {.  sqlite3
227a0 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 61 62  _mprintf_str {ab
227b0 63 2d 25 2a 2e 2a 73 2d 78 79 7a 7d 20 31 30 20  c-%*.*s-xyz} 10 
227c0 2d 31 30 20 7b 61 5f 76 65 72 79 5f 6c 6f 6e 67  -10 {a_very_long
227d0 5f 73 74 72 69 6e 67 7d 0a 7d 20 7b 61 62 63 2d  _string}.} {abc-
227e0 61 5f 76 65 72 79 5f 6c 6f 6e 2d 78 79 7a 7d 0a  a_very_lon-xyz}.
227f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
22800 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.6 {.  sqlite3_
22810 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 61 62 63  mprintf_str {abc
22820 2d 25 35 2e 31 30 2f 7d 20 30 20 30 20 7b 6e 6f  -%5.10/} 0 0 {no
22830 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 7d  t used}.} {abc-}
22840 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
22850 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.7 {.  sqlite3
22860 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 61 62  _mprintf_str {ab
22870 63 2d 25 30 35 2e 35 64 7d 20 31 32 33 20 30 20  c-%05.5d} 123 0 
22880 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62  {not used}.} {ab
22890 63 2d 30 30 31 32 33 7d 0a 64 6f 5f 74 65 73 74  c-00123}.do_test
228a0 20 70 72 69 6e 74 66 2d 31 34 2e 38 20 7b 0a 20   printf-14.8 {. 
228b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
228c0 5f 73 74 72 20 7b 61 62 63 2d 25 30 35 2e 35 64  _str {abc-%05.5d
228d0 7d 20 31 32 33 34 35 36 37 20 30 20 7b 6e 6f 74  } 1234567 0 {not
228e0 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 31 32   used}.} {abc-12
228f0 33 34 35 36 37 7d 0a 0a 66 6f 72 20 7b 73 65 74  34567}..for {set
22900 20 69 20 32 7d 20 7b 24 69 3c 32 30 30 7d 20 7b   i 2} {$i<200} {
22910 69 6e 63 72 20 69 7d 20 7b 0a 20 20 73 65 74 20  incr i} {.  set 
22920 72 65 73 20 5b 73 74 72 69 6e 67 20 72 65 70 65  res [string repe
22930 61 74 20 7b 20 7d 20 5b 65 78 70 72 20 7b 24 69  at { } [expr {$i
22940 2d 31 7d 5d 5d 78 0a 20 20 64 6f 5f 74 65 73 74  -1}]]x.  do_test
22950 20 70 72 69 6e 74 66 2d 31 34 2e 39 30 2e 24 69   printf-14.90.$i
22960 20 22 0a 20 20 20 20 73 71 6c 69 74 65 33 5f 6d   ".    sqlite3_m
22970 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 2a 2e 2a  printf_str {%*.*
22980 73 7d 20 24 69 20 35 30 30 20 78 0a 20 20 22 20  s} $i 500 x.  " 
22990 24 72 65 73 0a 7d 0a 0a 64 6f 5f 74 65 73 74 20  $res.}..do_test 
229a0 70 72 69 6e 74 66 2d 31 35 2e 31 20 7b 0a 20 20  printf-15.1 {.  
229b0 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66  sqlite3_snprintf
229c0 5f 69 6e 74 20 35 20 7b 31 32 33 34 35 7d 20 30  _int 5 {12345} 0
229d0 0a 7d 20 7b 31 32 33 34 7d 0a 64 6f 5f 74 65 73  .} {1234}.do_tes
229e0 74 20 70 72 69 6e 74 66 2d 31 35 2e 32 20 7b 0a  t printf-15.2 {.
229f0 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e    sqlite3_snprin
22a00 74 66 5f 69 6e 74 20 35 20 7b 7d 20 30 0a 7d 20  tf_int 5 {} 0.} 
22a10 7b 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  {}.do_test print
22a20 66 2d 31 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74  f-15.3 {.  sqlit
22a30 65 33 5f 73 6e 70 72 69 6e 74 66 5f 69 6e 74 20  e3_snprintf_int 
22a40 30 20 7b 7d 20 30 0a 7d 20 7b 61 62 63 64 65 66  0 {} 0.} {abcdef
22a50 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76  ghijklmnopqrstuv
22a60 77 78 79 7a 7d 0a 0a 23 20 4e 6f 77 20 74 65 73  wxyz}..# Now tes
22a70 74 20 6d 61 6c 6c 6f 63 28 29 20 66 61 69 6c 75  t malloc() failu
22a80 72 65 20 77 69 74 68 69 6e 20 61 20 73 71 6c 69  re within a sqli
22a90 74 65 33 5f 6d 70 72 69 6e 74 66 28 29 3a 0a 23  te3_mprintf():.#
22aa0 0a 69 66 63 61 70 61 62 6c 65 20 6d 65 6d 64 65  .ifcapable memde
22ab0 62 75 67 20 7b 0a 20 20 66 6f 72 65 61 63 68 20  bug {.  foreach 
22ac0 76 61 72 20 7b 61 20 62 20 63 20 64 7d 20 7b 0a  var {a b c d} {.
22ad0 20 20 20 20 73 65 74 20 24 76 61 72 20 5b 73 74      set $var [st
22ae0 72 69 6e 67 20 72 65 70 65 61 74 20 24 76 61 72  ring repeat $var
22af0 20 34 30 30 5d 0a 20 20 7d 0a 20 20 73 65 74 20   400].  }.  set 
22b00 73 74 72 31 20 22 5b 73 74 72 69 6e 67 20 72 65  str1 "[string re
22b10 70 65 61 74 20 41 20 33 36 30 5d 25 64 25 64 25  peat A 360]%d%d%
22b20 73 22 0a 20 20 73 65 74 20 73 74 72 32 20 5b 73  s".  set str2 [s
22b30 74 72 69 6e 67 20 72 65 70 65 61 74 20 42 20 35  tring repeat B 5
22b40 30 30 30 5d 0a 20 20 73 65 74 20 7a 53 75 63 63  000].  set zSucc
22b50 65 73 73 20 22 5b 73 74 72 69 6e 67 20 72 65 70  ess "[string rep
22b60 65 61 74 20 41 20 33 36 30 5d 31 31 5b 73 74 72  eat A 360]11[str
22b70 69 6e 67 20 72 65 70 65 61 74 20 42 20 35 30 30  ing repeat B 500
22b80 30 5d 22 0a 20 20 66 6f 72 65 61 63 68 20 3a 3a  0]".  foreach ::
22b90 69 52 65 70 65 61 74 20 7b 30 20 31 7d 20 7b 0a  iRepeat {0 1} {.
22ba0 20 20 20 20 73 65 74 20 6e 54 65 73 74 4e 75 6d      set nTestNum
22bb0 20 31 0a 20 20 20 20 77 68 69 6c 65 20 7b 31 7d   1.    while {1}
22bc0 20 7b 0a 20 20 20 20 20 20 73 71 6c 69 74 65 33   {.      sqlite3
22bd0 5f 6d 65 6d 64 65 62 75 67 5f 66 61 69 6c 20 24  _memdebug_fail $
22be0 6e 54 65 73 74 4e 75 6d 20 2d 72 65 70 65 61 74  nTestNum -repeat
22bf0 20 24 3a 3a 69 52 65 70 65 61 74 0a 20 20 20 20   $::iRepeat.    
22c00 20 20 73 65 74 20 7a 20 5b 73 71 6c 69 74 65 33    set z [sqlite3
22c10 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 24 73 74  _mprintf_str $st
22c20 72 31 20 31 20 31 20 24 73 74 72 32 5d 0a 20 20  r1 1 1 $str2].  
22c30 20 20 20 20 73 65 74 20 6e 46 61 69 6c 20 5b 73      set nFail [s
22c40 71 6c 69 74 65 33 5f 6d 65 6d 64 65 62 75 67 5f  qlite3_memdebug_
22c50 66 61 69 6c 20 2d 31 20 2d 62 65 6e 69 67 6e 20  fail -1 -benign 
22c60 6e 42 65 6e 69 67 6e 5d 0a 20 20 20 20 20 20 64  nBenign].      d
22c70 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 6d 61  o_test printf-ma
22c80 6c 6c 6f 63 2d 24 3a 3a 69 52 65 70 65 61 74 2e  lloc-$::iRepeat.
22c90 24 6e 54 65 73 74 4e 75 6d 20 7b 0a 20 20 20 20  $nTestNum {.    
22ca0 20 20 20 20 65 78 70 72 20 7b 28 24 6e 46 61 69      expr {($nFai
22cb0 6c 3e 30 20 26 26 20 24 7a 20 65 71 20 22 22 29  l>0 && $z eq "")
22cc0 20 7c 7c 20 28 24 6e 46 61 69 6c 3d 3d 24 6e 42   || ($nFail==$nB
22cd0 65 6e 69 67 6e 20 26 26 20 24 7a 20 65 71 20 24  enign && $z eq $
22ce0 7a 53 75 63 63 65 73 73 29 7d 0a 20 20 20 20 20  zSuccess)}.     
22cf0 20 7d 20 7b 31 7d 0a 20 20 20 20 20 20 69 66 20   } {1}.      if 
22d00 7b 24 6e 46 61 69 6c 20 3d 3d 20 30 7d 20 62 72  {$nFail == 0} br
22d10 65 61 6b 0a 20 20 20 20 20 20 69 6e 63 72 20 6e  eak.      incr n
22d20 54 65 73 74 4e 75 6d 0a 20 20 20 20 7d 0a 20 20  TestNum.    }.  
22d30 7d 0a 7d 0a 0a 66 69 6e 69 73 68 5f 74 65 73 74  }.}..finish_test
22d40 0a                                               .