/ Hex Artifact Content
Login

Artifact 5ab2b4666ca544645c4af2d78198f93b1e030d6e:


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 7d 0a  483648 1 1.} {}.
4510: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
4520: 2e 31 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .17.4 {.  sqlite
4530: 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 61  3_mprintf_int {a
4540: 62 64 3a 20 25 2e 32 31 34 37 34 38 33 36 34 38  bd: %.2147483648
4550: 64 20 25 78 20 25 78 7d 20 31 20 31 20 31 0a 7d  d %x %x} 1 1 1.}
4560: 20 7b 61 62 64 3a 20 31 20 31 20 31 7d 0a 64 6f   {abd: 1 1 1}.do
4570: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
4580: 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.1 {.  sqlite3
4590: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
45a0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
45b0: 79 7a 7d 20 31 20 31 20 30 2e 30 30 31 0a 7d 20  yz} 1 1 0.001.} 
45c0: 7b 61 62 63 3a 20 28 30 2e 30 29 20 3a 78 79 7a  {abc: (0.0) :xyz
45d0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
45e0: 2d 32 2e 31 2e 31 2e 32 20 7b 0a 20 20 73 71 6c  -2.1.1.2 {.  sql
45f0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
4600: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
4610: 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 30  ) :xyz} 1 1 0.00
4620: 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 65 2d  1.} {abc: (1.0e-
4630: 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
4640: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 2e 33  t printf-2.1.1.3
4650: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
4660: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
4670: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
4680: 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  1 1 0.001.} {abc
4690: 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  : (0.001) :xyz}.
46a0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
46b0: 2e 31 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .1.1.4 {.  sqlit
46c0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
46d0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
46e0: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30  g) :xyz} 1 1 0.0
46f0: 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  01.} {abc: 1 1 (
4700: 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.001) :xyz}.do_
4710: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
4720: 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.5 {.  sqlite3_
4730: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
4740: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
4750: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 30 31   :xyz} 1 1 0.001
4760: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e  .} {abc: 1 1 (0.
4770: 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  00100000) :xyz}.
4780: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
4790: 2e 31 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .1.1.6 {.  sqlit
47a0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
47b0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
47c0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  010g) :xyz} 1 1 
47d0: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20  0.001.} {abc: 1 
47e0: 31 20 28 30 30 30 30 30 30 2e 30 30 31 29 20 3a  1 (000000.001) :
47f0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4800: 6e 74 66 2d 32 2e 31 2e 31 2e 37 20 7b 0a 20 20  ntf-2.1.1.7 {.  
4810: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4820: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
4830: 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d  %d (%1.1f) :xyz}
4840: 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62   1 1 0.001.} {ab
4850: 63 3a 20 31 20 31 20 28 30 2e 30 29 20 3a 78 79  c: 1 1 (0.0) :xy
4860: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
4870: 66 2d 32 2e 31 2e 31 2e 38 20 7b 0a 20 20 73 71  f-2.1.1.8 {.  sq
4880: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
4890: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
48a0: 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31   (%1.1e) :xyz} 1
48b0: 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   1 0.001.} {abc:
48c0: 20 31 20 31 20 28 31 2e 30 65 2d 30 33 29 20 3a   1 1 (1.0e-03) :
48d0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
48e0: 6e 74 66 2d 32 2e 31 2e 31 2e 39 20 7b 0a 20 20  ntf-2.1.1.9 {.  
48f0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4900: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
4910: 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d  %d (%1.1g) :xyz}
4920: 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62   1 1 0.001.} {ab
4930: 63 3a 20 31 20 31 20 28 30 2e 30 30 31 29 20 3a  c: 1 1 (0.001) :
4940: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4950: 6e 74 66 2d 32 2e 31 2e 32 2e 31 20 7b 0a 20 20  ntf-2.1.2.1 {.  
4960: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4970: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
4980: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  .*f) :xyz} 1 1 1
4990: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
49a0: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
49b0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32 2e  st printf-2.1.2.
49c0: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
49d0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
49e0: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
49f0: 20 31 20 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   1 1 1.0e-20.} {
4a00: 61 62 63 3a 20 28 31 2e 30 65 2d 32 30 29 20 3a  abc: (1.0e-20) :
4a10: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4a20: 6e 74 66 2d 32 2e 31 2e 32 2e 33 20 7b 0a 20 20  ntf-2.1.2.3 {.  
4a30: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4a40: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
4a50: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  .*g) :xyz} 1 1 1
4a60: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
4a70: 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e-20) :xyz}.do_
4a80: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
4a90: 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.4 {.  sqlite3_
4aa0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
4ab0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
4ac0: 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32  :xyz} 1 1 1.0e-2
4ad0: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31  0.} {abc: 1 1 (1
4ae0: 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
4af0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32  est printf-2.1.2
4b00: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
4b10: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
4b20: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
4b30: 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32  :xyz} 1 1 1.0e-2
4b40: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31  0.} {abc: 1 1 (1
4b50: 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a  .00000e-20) :xyz
4b60: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
4b70: 2d 32 2e 31 2e 32 2e 36 20 7b 0a 20 20 73 71 6c  -2.1.2.6 {.  sql
4b80: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
4b90: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
4ba0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20  (%010g) :xyz} 1 
4bb0: 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  1 1.0e-20.} {abc
4bc0: 3a 20 31 20 31 20 28 30 30 30 30 30 31 65 2d 32  : 1 1 (000001e-2
4bd0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
4be0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32 2e 37 20   printf-2.1.2.7 
4bf0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
4c00: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
4c10: 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a   %d %d (%1.1f) :
4c20: 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32 30  xyz} 1 1 1.0e-20
4c30: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e  .} {abc: 1 1 (0.
4c40: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
4c50: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32 2e 38 20   printf-2.1.2.8 
4c60: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
4c70: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
4c80: 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a   %d %d (%1.1e) :
4c90: 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32 30  xyz} 1 1 1.0e-20
4ca0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 2e  .} {abc: 1 1 (1.
4cb0: 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-20) :xyz}.do_
4cc0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
4cd0: 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.9 {.  sqlite3_
4ce0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
4cf0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
4d00: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30  g) :xyz} 1 1 1.0
4d10: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31  e-20.} {abc: 1 1
4d20: 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64   (1e-20) :xyz}.d
4d30: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
4d40: 31 2e 32 2e 31 30 20 7b 0a 20 20 73 71 6c 69 74  1.2.10 {.  sqlit
4d50: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
4d60: 65 20 7b 61 62 63 3a 20 25 2a 2e 2a 66 7d 20 20  e {abc: %*.*f}  
4d70: 32 30 30 30 30 30 30 30 30 30 20 31 30 30 30 30  2000000000 10000
4d80: 30 30 30 30 30 20 31 2e 30 65 2d 32 30 0a 7d 20  00000 1.0e-20.} 
4d90: 7b 61 62 63 3a 20 7d 0a 64 6f 5f 74 65 73 74 20  {abc: }.do_test 
4da0: 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 31 20 7b  printf-2.1.3.1 {
4db0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
4dc0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
4dd0: 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20  (%*.*f) :xyz} 1 
4de0: 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  1 1.0.} {abc: (1
4df0: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
4e00: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 32  t printf-2.1.3.2
4e10: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
4e20: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
4e30: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
4e40: 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 1 1.0.} {abc: 
4e50: 28 31 2e 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  (1.0e+00) :xyz}.
4e60: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
4e70: 2e 31 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .1.3.3 {.  sqlit
4e80: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
4e90: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
4ea0: 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20  :xyz} 1 1 1.0.} 
4eb0: 7b 61 62 63 3a 20 28 31 29 20 3a 78 79 7a 7d 0a  {abc: (1) :xyz}.
4ec0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
4ed0: 2e 31 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .1.3.4 {.  sqlit
4ee0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
4ef0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
4f00: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30  g) :xyz} 1 1 1.0
4f10: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 29  .} {abc: 1 1 (1)
4f20: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4f30: 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 35 20 7b 0a  rintf-2.1.3.5 {.
4f40: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4f50: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
4f60: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
4f70: 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 1.0.} {abc:
4f80: 20 31 20 31 20 28 31 2e 30 30 30 30 30 29 20 3a   1 1 (1.00000) :
4f90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4fa0: 6e 74 66 2d 32 2e 31 2e 33 2e 36 20 7b 0a 20 20  ntf-2.1.3.6 {.  
4fb0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4fc0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
4fd0: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
4fe0: 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 1.0.} {abc:
4ff0: 20 31 20 31 20 28 30 30 30 30 30 30 30 30 30 31   1 1 (0000000001
5000: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5010: 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 37 20 7b  printf-2.1.3.7 {
5020: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5030: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5040: 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a 78  %d %d (%1.1f) :x
5050: 79 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61  yz} 1 1 1.0.} {a
5060: 62 63 3a 20 31 20 31 20 28 31 2e 30 29 20 3a 78  bc: 1 1 (1.0) :x
5070: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5080: 74 66 2d 32 2e 31 2e 33 2e 38 20 7b 0a 20 20 73  tf-2.1.3.8 {.  s
5090: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
50a0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
50b0: 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20  d (%1.1e) :xyz} 
50c0: 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 1 1.0.} {abc: 
50d0: 31 20 31 20 28 31 2e 30 65 2b 30 30 29 20 3a 78  1 1 (1.0e+00) :x
50e0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
50f0: 74 66 2d 32 2e 31 2e 33 2e 39 20 7b 0a 20 20 73  tf-2.1.3.9 {.  s
5100: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5110: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5120: 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20  d (%1.1g) :xyz} 
5130: 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 1 1.0.} {abc: 
5140: 31 20 31 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f  1 1 (1) :xyz}.do
5150: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
5160: 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.1 {.  sqlite3
5170: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
5180: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
5190: 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b 61  yz} 1 1 0.0.} {a
51a0: 62 63 3a 20 28 30 2e 30 29 20 3a 78 79 7a 7d 0a  bc: (0.0) :xyz}.
51b0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
51c0: 2e 31 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .1.4.2 {.  sqlit
51d0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
51e0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
51f0: 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20  :xyz} 1 1 0.0.} 
5200: 7b 61 62 63 3a 20 28 30 2e 30 65 2b 30 30 29 20  {abc: (0.0e+00) 
5210: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5220: 69 6e 74 66 2d 32 2e 31 2e 34 2e 33 20 7b 0a 20  intf-2.1.4.3 {. 
5230: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5240: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
5250: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  *.*g) :xyz} 1 1 
5260: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 29 20  0.0.} {abc: (0) 
5270: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5280: 69 6e 74 66 2d 32 2e 31 2e 34 2e 34 20 7b 0a 20  intf-2.1.4.4 {. 
5290: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
52a0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
52b0: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
52c0: 20 31 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   1 0.0.} {abc: 1
52d0: 20 31 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   1 (0) :xyz}.do_
52e0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
52f0: 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.5 {.  sqlite3_
5300: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5310: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
5320: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d   :xyz} 1 1 0.0.}
5330: 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30 30   {abc: 1 1 (0.00
5340: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
5350: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e  st printf-2.1.4.
5360: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
5370: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
5380: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
5390: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d   :xyz} 1 1 0.0.}
53a0: 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30 30 30   {abc: 1 1 (0000
53b0: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
53c0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
53d0: 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.7 {.  sqlite3
53e0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
53f0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
5400: 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e  1f) :xyz} 1 1 0.
5410: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30  0.} {abc: 1 1 (0
5420: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
5430: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 38  t printf-2.1.4.8
5440: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5450: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5460: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
5470: 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20  :xyz} 1 1 0.0.} 
5480: 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30 65 2b  {abc: 1 1 (0.0e+
5490: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
54a0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 39  t printf-2.1.4.9
54b0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
54c0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
54d0: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67 29 20  : %d %d (%1.1g) 
54e0: 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20  :xyz} 1 1 0.0.} 
54f0: 7b 61 62 63 3a 20 31 20 31 20 28 30 29 20 3a 78  {abc: 1 1 (0) :x
5500: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5510: 74 66 2d 32 2e 31 2e 35 2e 31 20 7b 0a 20 20 73  tf-2.1.5.1 {.  s
5520: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5530: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
5540: 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 30  *f) :xyz} 1 1 10
5550: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30  0.0.} {abc: (100
5560: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
5570: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 32  t printf-2.1.5.2
5580: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5590: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
55a0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
55b0: 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  1 1 100.0.} {abc
55c0: 3a 20 28 31 2e 30 65 2b 30 32 29 20 3a 78 79 7a  : (1.0e+02) :xyz
55d0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
55e0: 2d 32 2e 31 2e 35 2e 33 20 7b 0a 20 20 73 71 6c  -2.1.5.3 {.  sql
55f0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
5600: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
5610: 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e  ) :xyz} 1 1 100.
5620: 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2b 30 32  0.} {abc: (1e+02
5630: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5640: 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 34 20 7b  printf-2.1.5.4 {
5650: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5660: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5670: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
5680: 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62   1 1 100.0.} {ab
5690: 63 3a 20 31 20 31 20 28 31 30 30 29 20 3a 78 79  c: 1 1 (100) :xy
56a0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
56b0: 66 2d 32 2e 31 2e 35 2e 35 20 7b 0a 20 20 73 71  f-2.1.5.5 {.  sq
56c0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
56d0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
56e0: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31   (%#g) :xyz} 1 1
56f0: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   100.0.} {abc: 1
5700: 20 31 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79   1 (100.000) :xy
5710: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5720: 66 2d 32 2e 31 2e 35 2e 36 20 7b 0a 20 20 73 71  f-2.1.5.6 {.  sq
5730: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5740: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
5750: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
5760: 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   1 100.0.} {abc:
5770: 20 31 20 31 20 28 30 30 30 30 30 30 30 31 30 30   1 1 (0000000100
5780: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5790: 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 37 20 7b  printf-2.1.5.7 {
57a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
57b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
57c0: 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a 78  %d %d (%1.1f) :x
57d0: 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d 20  yz} 1 1 100.0.} 
57e0: 7b 61 62 63 3a 20 31 20 31 20 28 31 30 30 2e 30  {abc: 1 1 (100.0
57f0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5800: 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 38 20 7b  printf-2.1.5.8 {
5810: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5820: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5830: 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78  %d %d (%1.1e) :x
5840: 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d 20  yz} 1 1 100.0.} 
5850: 7b 61 62 63 3a 20 31 20 31 20 28 31 2e 30 65 2b  {abc: 1 1 (1.0e+
5860: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
5870: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 39  t printf-2.1.5.9
5880: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5890: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
58a0: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67 29 20  : %d %d (%1.1g) 
58b0: 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a  :xyz} 1 1 100.0.
58c0: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 65 2b  } {abc: 1 1 (1e+
58d0: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
58e0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e 31  t printf-2.1.6.1
58f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
5900: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
5910: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
5920: 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  1 1 9.99999.} {a
5930: 62 63 3a 20 28 31 30 2e 30 29 20 3a 78 79 7a 7d  bc: (10.0) :xyz}
5940: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5950: 32 2e 31 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69  2.1.6.2 {.  sqli
5960: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5970: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
5980: 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39 39 39   :xyz} 1 1 9.999
5990: 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 65  99.} {abc: (1.0e
59a0: 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +01) :xyz}.do_te
59b0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e  st printf-2.1.6.
59c0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
59d0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
59e0: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
59f0: 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b   1 1 9.99999.} {
5a00: 61 62 63 3a 20 28 31 65 2b 30 31 29 20 3a 78 79  abc: (1e+01) :xy
5a10: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5a20: 66 2d 32 2e 31 2e 36 2e 34 20 7b 0a 20 20 73 71  f-2.1.6.4 {.  sq
5a30: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5a40: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
5a50: 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20   (%g) :xyz} 1 1 
5a60: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
5a70: 31 20 31 20 28 39 2e 39 39 39 39 39 29 20 3a 78  1 1 (9.99999) :x
5a80: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5a90: 74 66 2d 32 2e 31 2e 36 2e 35 20 7b 0a 20 20 73  tf-2.1.6.5 {.  s
5aa0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5ab0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5ac0: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20  d (%#g) :xyz} 1 
5ad0: 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  1 9.99999.} {abc
5ae0: 3a 20 31 20 31 20 28 39 2e 39 39 39 39 39 29 20  : 1 1 (9.99999) 
5af0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5b00: 69 6e 74 66 2d 32 2e 31 2e 36 2e 36 20 7b 0a 20  intf-2.1.6.6 {. 
5b10: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5b20: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
5b30: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
5b40: 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20  } 1 1 9.99999.} 
5b50: 7b 61 62 63 3a 20 31 20 31 20 28 30 30 30 39 2e  {abc: 1 1 (0009.
5b60: 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  99999) :xyz}.do_
5b70: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
5b80: 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.7 {.  sqlite3_
5b90: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5ba0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
5bb0: 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39  f) :xyz} 1 1 9.9
5bc0: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31  9999.} {abc: 1 1
5bd0: 20 28 31 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f   (10.0) :xyz}.do
5be0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
5bf0: 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.8 {.  sqlite3
5c00: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
5c10: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
5c20: 31 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e  1e) :xyz} 1 1 9.
5c30: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20  99999.} {abc: 1 
5c40: 31 20 28 31 2e 30 65 2b 30 31 29 20 3a 78 79 7a  1 (1.0e+01) :xyz
5c50: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
5c60: 2d 32 2e 31 2e 36 2e 39 20 7b 0a 20 20 73 71 6c  -2.1.6.9 {.  sql
5c70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
5c80: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
5c90: 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20  (%1.1g) :xyz} 1 
5ca0: 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  1 9.99999.} {abc
5cb0: 3a 20 31 20 31 20 28 31 65 2b 30 31 29 20 3a 78  : 1 1 (1e+01) :x
5cc0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5cd0: 74 66 2d 32 2e 31 2e 37 2e 31 20 7b 0a 20 20 73  tf-2.1.7.1 {.  s
5ce0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5cf0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
5d00: 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30  *f) :xyz} 1 1 -0
5d10: 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
5d20: 2d 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -0.0) :xyz}.do_t
5d30: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37  est printf-2.1.7
5d40: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
5d50: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
5d60: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
5d70: 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d  } 1 1 -0.00543.}
5d80: 20 7b 61 62 63 3a 20 28 2d 35 2e 34 65 2d 30 33   {abc: (-5.4e-03
5d90: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
5da0: 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 33 20 7b  printf-2.1.7.3 {
5db0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
5dc0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
5dd0: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20  (%*.*g) :xyz} 1 
5de0: 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  1 -0.00543.} {ab
5df0: 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a  c: (-0.005) :xyz
5e00: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
5e10: 2d 32 2e 31 2e 37 2e 34 20 7b 0a 20 20 73 71 6c  -2.1.7.4 {.  sql
5e20: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
5e30: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
5e40: 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  (%g) :xyz} 1 1 -
5e50: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
5e60: 31 20 31 20 28 2d 30 2e 30 30 35 34 33 29 20 3a  1 1 (-0.00543) :
5e70: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5e80: 6e 74 66 2d 32 2e 31 2e 37 2e 35 20 7b 0a 20 20  ntf-2.1.7.5 {.  
5e90: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5ea0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5eb0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
5ec0: 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   1 -0.00543.} {a
5ed0: 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 30 35 34  bc: 1 1 (-0.0054
5ee0: 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  3000) :xyz}.do_t
5ef0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37  est printf-2.1.7
5f00: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
5f10: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
5f20: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
5f30: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30 2e 30  ) :xyz} 1 1 -0.0
5f40: 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  0543.} {abc: 1 1
5f50: 20 28 2d 30 30 30 2e 30 30 35 34 33 29 20 3a 78   (-000.00543) :x
5f60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5f70: 74 66 2d 32 2e 31 2e 37 2e 37 20 7b 0a 20 20 73  tf-2.1.7.7 {.  s
5f80: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5f90: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5fa0: 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20  d (%1.1f) :xyz} 
5fb0: 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  1 1 -0.00543.} {
5fc0: 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 29 20  abc: 1 1 (-0.0) 
5fd0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5fe0: 69 6e 74 66 2d 32 2e 31 2e 37 2e 38 20 7b 0a 20  intf-2.1.7.8 {. 
5ff0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
6000: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
6010: 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a   %d (%1.1e) :xyz
6020: 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d  } 1 1 -0.00543.}
6030: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 35 2e 34   {abc: 1 1 (-5.4
6040: 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
6050: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37  est printf-2.1.7
6060: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
6070: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6080: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67  bc: %d %d (%1.1g
6090: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30 2e 30  ) :xyz} 1 1 -0.0
60a0: 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  0543.} {abc: 1 1
60b0: 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d 0a   (-0.005) :xyz}.
60c0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
60d0: 2e 31 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .1.8.1 {.  sqlit
60e0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
60f0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
6100: 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d  :xyz} 1 1 -1.0.}
6110: 20 7b 61 62 63 3a 20 28 2d 31 2e 30 29 20 3a 78   {abc: (-1.0) :x
6120: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6130: 74 66 2d 32 2e 31 2e 38 2e 32 20 7b 0a 20 20 73  tf-2.1.8.2 {.  s
6140: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6150: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
6160: 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31  *e) :xyz} 1 1 -1
6170: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  .0.} {abc: (-1.0
6180: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
6190: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38  est printf-2.1.8
61a0: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
61b0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
61c0: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
61d0: 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 1 1 -1.0.} {ab
61e0: 63 3a 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f  c: (-1) :xyz}.do
61f0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6200: 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.4 {.  sqlite3
6210: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
6220: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
6230: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a   :xyz} 1 1 -1.0.
6240: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 29  } {abc: 1 1 (-1)
6250: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
6260: 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 35 20 7b 0a  rintf-2.1.8.5 {.
6270: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
6280: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6290: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
62a0: 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   1 1 -1.0.} {abc
62b0: 3a 20 31 20 31 20 28 2d 31 2e 30 30 30 30 30 29  : 1 1 (-1.00000)
62c0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
62d0: 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 36 20 7b 0a  rintf-2.1.8.6 {.
62e0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
62f0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
6300: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
6310: 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61  z} 1 1 -1.0.} {a
6320: 62 63 3a 20 31 20 31 20 28 2d 30 30 30 30 30 30  bc: 1 1 (-000000
6330: 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
6340: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e  st printf-2.1.8.
6350: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
6360: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6370: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66 29  c: %d %d (%1.1f)
6380: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a   :xyz} 1 1 -1.0.
6390: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 2e  } {abc: 1 1 (-1.
63a0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
63b0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 38 20   printf-2.1.8.8 
63c0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
63d0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
63e0: 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a   %d %d (%1.1e) :
63f0: 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20  xyz} 1 1 -1.0.} 
6400: 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 2e 30 65  {abc: 1 1 (-1.0e
6410: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
6420: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e  st printf-2.1.8.
6430: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
6440: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6450: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67 29  c: %d %d (%1.1g)
6460: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a   :xyz} 1 1 -1.0.
6470: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 29  } {abc: 1 1 (-1)
6480: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
6490: 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 31 20 7b 0a  rintf-2.1.9.1 {.
64a0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
64b0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
64c0: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*f) :xyz} 1 1
64d0: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
64e0: 63 3a 20 28 2d 31 30 30 2e 30 29 20 3a 78 79 7a  c: (-100.0) :xyz
64f0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
6500: 2d 32 2e 31 2e 39 2e 32 20 7b 0a 20 20 73 71 6c  -2.1.9.2 {.  sql
6510: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
6520: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
6530: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e  ) :xyz} 1 1 -99.
6540: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  99999.} {abc: (-
6550: 31 2e 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  1.0e+02) :xyz}.d
6560: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6570: 31 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  1.9.3 {.  sqlite
6580: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6590: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
65a0: 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39  xyz} 1 1 -99.999
65b0: 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 65 2b  99.} {abc: (-1e+
65c0: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
65d0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 34  t printf-2.1.9.4
65e0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
65f0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6600: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
6610: 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39 39 39  z} 1 1 -99.99999
6620: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31  .} {abc: 1 1 (-1
6630: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
6640: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 35  t printf-2.1.9.5
6650: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6660: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6670: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
6680: 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39 39  yz} 1 1 -99.9999
6690: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  9.} {abc: 1 1 (-
66a0: 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  100.000) :xyz}.d
66b0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
66c0: 31 2e 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  1.9.6 {.  sqlite
66d0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
66e0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
66f0: 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  10g) :xyz} 1 1 -
6700: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
6710: 20 31 20 31 20 28 2d 30 30 30 30 30 30 31 30 30   1 1 (-000000100
6720: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
6730: 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 37 20 7b  printf-2.1.9.7 {
6740: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6750: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6760: 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a 78  %d %d (%1.1f) :x
6770: 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39 39  yz} 1 1 -99.9999
6780: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  9.} {abc: 1 1 (-
6790: 31 30 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  100.0) :xyz}.do_
67a0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
67b0: 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.8 {.  sqlite3_
67c0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
67d0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
67e0: 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39  e) :xyz} 1 1 -99
67f0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
6800: 20 31 20 28 2d 31 2e 30 65 2b 30 32 29 20 3a 78   1 (-1.0e+02) :x
6810: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6820: 74 66 2d 32 2e 31 2e 39 2e 39 20 7b 0a 20 20 73  tf-2.1.9.9 {.  s
6830: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6840: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
6850: 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20  d (%1.1g) :xyz} 
6860: 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  1 1 -99.99999.} 
6870: 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 65 2b 30  {abc: 1 1 (-1e+0
6880: 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
6890: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 31   printf-2.1.10.1
68a0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
68b0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
68c0: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
68d0: 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  1 1 3.14e+9.} {a
68e0: 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e  bc: (3140000000.
68f0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
6900: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 32   printf-2.1.10.2
6910: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6920: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6930: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
6940: 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  1 1 3.14e+9.} {a
6950: 62 63 3a 20 28 33 2e 31 65 2b 30 39 29 20 3a 78  bc: (3.1e+09) :x
6960: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6970: 74 66 2d 32 2e 31 2e 31 30 2e 33 20 7b 0a 20 20  tf-2.1.10.3 {.  
6980: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
6990: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
69a0: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33  .*g) :xyz} 1 1 3
69b0: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
69c0: 33 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e+09) :xyz}.do_
69d0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
69e0: 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.4 {.  sqlite3
69f0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
6a00: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
6a10: 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34 65   :xyz} 1 1 3.14e
6a20: 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  +9.} {abc: 1 1 (
6a30: 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
6a40: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
6a50: 2e 31 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69  .1.10.5 {.  sqli
6a60: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
6a70: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
6a80: 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33  %#g) :xyz} 1 1 3
6a90: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
6aa0: 20 31 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29   1 (3.14000e+09)
6ab0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
6ac0: 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 36 20 7b  rintf-2.1.10.6 {
6ad0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6ae0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6af0: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
6b00: 79 7a 7d 20 31 20 31 20 33 2e 31 34 65 2b 39 0a  yz} 1 1 3.14e+9.
6b10: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30 33  } {abc: 1 1 (003
6b20: 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
6b30: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6b40: 31 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74  1.10.7 {.  sqlit
6b50: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6b60: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
6b70: 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20  1.1f) :xyz} 1 1 
6b80: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
6b90: 31 20 31 20 28 33 31 34 30 30 30 30 30 30 30 2e  1 1 (3140000000.
6ba0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
6bb0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 38   printf-2.1.10.8
6bc0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6bd0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6be0: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
6bf0: 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34 65 2b  :xyz} 1 1 3.14e+
6c00: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 33  9.} {abc: 1 1 (3
6c10: 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  .1e+09) :xyz}.do
6c20: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6c30: 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .10.9 {.  sqlite
6c40: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6c50: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
6c60: 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33  .1g) :xyz} 1 1 3
6c70: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
6c80: 20 31 20 28 33 65 2b 30 39 29 20 3a 78 79 7a 7d   1 (3e+09) :xyz}
6c90: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6ca0: 32 2e 31 2e 31 31 2e 32 20 7b 0a 20 20 73 71 6c  2.1.11.2 {.  sql
6cb0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
6cc0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
6cd0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37  ) :xyz} 1 1 -4.7
6ce0: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
6cf0: 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a   (-4.7e+88) :xyz
6d00: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
6d10: 2d 32 2e 31 2e 31 31 2e 33 20 7b 0a 20 20 73 71  -2.1.11.3 {.  sq
6d20: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
6d30: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
6d40: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e  g) :xyz} 1 1 -4.
6d50: 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
6d60: 3a 20 28 2d 35 65 2b 38 38 29 20 3a 78 79 7a 7d  : (-5e+88) :xyz}
6d70: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6d80: 32 2e 31 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c  2.1.11.4 {.  sql
6d90: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
6da0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
6db0: 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  (%g) :xyz} 1 1 -
6dc0: 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
6dd0: 62 63 3a 20 31 20 31 20 28 2d 34 2e 37 32 37 33  bc: 1 1 (-4.7273
6de0: 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2e+88) :xyz}.do_
6df0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
6e00: 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.5 {.  sqlite3
6e10: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
6e20: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
6e30: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37  ) :xyz} 1 1 -4.7
6e40: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
6e50: 20 31 20 31 20 28 2d 34 2e 37 32 37 33 32 65 2b   1 1 (-4.72732e+
6e60: 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
6e70: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 31 2e  t printf-2.1.11.
6e80: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
6e90: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6ea0: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
6eb0: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32   :xyz} 1 1 -4.72
6ec0: 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
6ed0: 31 20 31 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  1 1 (-4.72732e+8
6ee0: 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
6ef0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 31 2e 38   printf-2.1.11.8
6f00: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6f10: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6f20: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
6f30: 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32 37  :xyz} 1 1 -4.727
6f40: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31  32e+88.} {abc: 1
6f50: 20 31 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78   1 (-4.7e+88) :x
6f60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
6f70: 74 66 2d 32 2e 31 2e 31 31 2e 39 20 7b 0a 20 20  tf-2.1.11.9 {.  
6f80: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
6f90: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
6fa0: 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d  %d (%1.1g) :xyz}
6fb0: 20 31 20 31 20 2d 34 2e 37 32 37 33 32 65 2b 38   1 1 -4.72732e+8
6fc0: 38 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  8.} {abc: 1 1 (-
6fd0: 35 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  5e+88) :xyz}.do_
6fe0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
6ff0: 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.2 {.  sqlite3
7000: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
7010: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
7020: 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65  yz} 1 1 9.87991e
7030: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e  +143.} {abc: (9.
7040: 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  9e+143) :xyz}.do
7050: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
7060: 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .12.3 {.  sqlite
7070: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
7080: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
7090: 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31  xyz} 1 1 9.87991
70a0: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 31  e+143.} {abc: (1
70b0: 65 2b 31 34 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+144) :xyz}.do_
70c0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
70d0: 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.4 {.  sqlite3
70e0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
70f0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
7100: 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39   :xyz} 1 1 9.879
7110: 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
7120: 31 20 31 20 28 39 2e 38 37 39 39 31 65 2b 31 34  1 1 (9.87991e+14
7130: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
7140: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 35   printf-2.1.12.5
7150: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7160: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7170: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
7180: 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65  yz} 1 1 9.87991e
7190: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  +143.} {abc: 1 1
71a0: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
71b0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
71c0: 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 36 20 7b 0a  intf-2.1.12.6 {.
71d0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
71e0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
71f0: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
7200: 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65 2b  z} 1 1 9.87991e+
7210: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  143.} {abc: 1 1 
7220: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
7230: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
7240: 6e 74 66 2d 32 2e 31 2e 31 32 2e 38 20 7b 0a 20  ntf-2.1.12.8 {. 
7250: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7260: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
7270: 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a   %d (%1.1e) :xyz
7280: 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65 2b 31  } 1 1 9.87991e+1
7290: 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  43.} {abc: 1 1 (
72a0: 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  9.9e+143) :xyz}.
72b0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
72c0: 2e 31 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69  .1.12.9 {.  sqli
72d0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
72e0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
72f0: 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1g) :xyz} 1 1
7300: 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
7310: 7b 61 62 63 3a 20 31 20 31 20 28 31 65 2b 31 34  {abc: 1 1 (1e+14
7320: 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  4) :xyz}.do_test
7330: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 31   printf-2.1.13.1
7340: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7350: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7360: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
7370: 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  1 1 -6.287291e-9
7380: 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 29 20  .} {abc: (-0.0) 
7390: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
73a0: 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 32 20 7b 0a  intf-2.1.13.2 {.
73b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
73c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
73d0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*e) :xyz} 1 1
73e0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
73f0: 7b 61 62 63 3a 20 28 2d 36 2e 33 65 2d 30 39 29  {abc: (-6.3e-09)
7400: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
7410: 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 33 20 7b  rintf-2.1.13.3 {
7420: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
7430: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
7440: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20  (%*.*g) :xyz} 1 
7450: 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  1 -6.287291e-9.}
7460: 20 7b 61 62 63 3a 20 28 2d 36 65 2d 30 39 29 20   {abc: (-6e-09) 
7470: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7480: 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 34 20 7b 0a  intf-2.1.13.4 {.
7490: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
74a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
74b0: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
74c0: 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  1 1 -6.287291e-9
74d0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36  .} {abc: 1 1 (-6
74e0: 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
74f0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
7500: 2d 32 2e 31 2e 31 33 2e 35 20 7b 0a 20 20 73 71  -2.1.13.5 {.  sq
7510: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7520: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
7530: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31   (%#g) :xyz} 1 1
7540: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
7550: 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e 32 38  {abc: 1 1 (-6.28
7560: 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
7570: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7580: 31 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74  1.13.6 {.  sqlit
7590: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
75a0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
75b0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  010g) :xyz} 1 1 
75c0: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
75d0: 61 62 63 3a 20 31 20 31 20 28 2d 36 2e 32 38 37  abc: 1 1 (-6.287
75e0: 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
75f0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
7600: 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .13.7 {.  sqlite
7610: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
7620: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
7630: 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .1f) :xyz} 1 1 -
7640: 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
7650: 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 29 20 3a  bc: 1 1 (-0.0) :
7660: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
7670: 6e 74 66 2d 32 2e 31 2e 31 33 2e 38 20 7b 0a 20  ntf-2.1.13.8 {. 
7680: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7690: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
76a0: 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a   %d (%1.1e) :xyz
76b0: 7d 20 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65  } 1 1 -6.287291e
76c0: 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  -9.} {abc: 1 1 (
76d0: 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  -6.3e-09) :xyz}.
76e0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
76f0: 2e 31 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69  .1.13.9 {.  sqli
7700: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
7710: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
7720: 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1g) :xyz} 1 1
7730: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
7740: 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 65 2d 30  {abc: 1 1 (-6e-0
7750: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
7760: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 31   printf-2.1.14.1
7770: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7780: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7790: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
77a0: 31 20 31 20 33 2e 33 38 38 32 36 33 39 32 65 2d  1 1 3.38826392e-
77b0: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  110.} {abc: (0.0
77c0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
77d0: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 32 20  printf-2.1.14.2 
77e0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
77f0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7800: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
7810: 20 31 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   1 3.38826392e-1
7820: 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 34 65  10.} {abc: (3.4e
7830: 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
7840: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
7850: 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.3 {.  sqlite3_
7860: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
7870: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
7880: 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36 33 39  z} 1 1 3.3882639
7890: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
78a0: 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  3e-110) :xyz}.do
78b0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
78c0: 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .14.4 {.  sqlite
78d0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
78e0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
78f0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33 38  ) :xyz} 1 1 3.38
7900: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
7910: 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38 32 36  bc: 1 1 (3.38826
7920: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
7930: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
7940: 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.5 {.  sqlite3
7950: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
7960: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
7970: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33 38  ) :xyz} 1 1 3.38
7980: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
7990: 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38 32 36  bc: 1 1 (3.38826
79a0: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
79b0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
79c0: 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.6 {.  sqlite3
79d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
79e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
79f0: 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e  0g) :xyz} 1 1 3.
7a00: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
7a10: 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38  {abc: 1 1 (3.388
7a20: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
7a30: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7a40: 31 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74  1.14.7 {.  sqlit
7a50: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7a60: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7a70: 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20  1.1f) :xyz} 1 1 
7a80: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
7a90: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30  } {abc: 1 1 (0.0
7aa0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
7ab0: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 38 20  printf-2.1.14.8 
7ac0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7ad0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7ae0: 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a   %d %d (%1.1e) :
7af0: 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36  xyz} 1 1 3.38826
7b00: 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
7b10: 20 31 20 31 20 28 33 2e 34 65 2d 31 31 30 29 20   1 1 (3.4e-110) 
7b20: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7b30: 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 39 20 7b 0a  intf-2.1.14.9 {.
7b40: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7b50: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
7b60: 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79  d %d (%1.1g) :xy
7b70: 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36 33 39  z} 1 1 3.3882639
7b80: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31  2e-110.} {abc: 1
7b90: 20 31 20 28 33 65 2d 31 31 30 29 20 3a 78 79 7a   1 (3e-110) :xyz
7ba0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
7bb0: 2d 32 2e 32 2e 31 2e 31 20 7b 0a 20 20 73 71 6c  -2.2.1.1 {.  sql
7bc0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
7bd0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
7be0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 30  ) :xyz} 5 5 0.00
7bf0: 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31  1.} {abc: (0.001
7c00: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
7c10: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 32  t printf-2.2.1.2
7c20: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7c30: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7c40: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
7c50: 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  5 5 0.001.} {abc
7c60: 3a 20 28 31 2e 30 30 30 30 30 65 2d 30 33 29 20  : (1.00000e-03) 
7c70: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7c80: 69 6e 74 66 2d 32 2e 32 2e 31 2e 33 20 7b 0a 20  intf-2.2.1.3 {. 
7c90: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
7ca0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
7cb0: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*g) :xyz} 5 5 
7cc0: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 30  0.001.} {abc: (0
7cd0: 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
7ce0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
7cf0: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
7d00: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7d10: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
7d20: 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d  xyz} 5 5 0.001.}
7d30: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30   {abc: 5 5 (0.00
7d40: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
7d50: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 35 20   printf-2.2.1.5 
7d60: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7d70: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7d80: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
7d90: 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b  z} 5 5 0.001.} {
7da0: 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 31 30  abc: 5 5 (0.0010
7db0: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
7dc0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
7dd0: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
7de0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
7df0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
7e00: 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 30  ) :xyz} 5 5 0.00
7e10: 31 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30  1.} {abc: 5 5 (0
7e20: 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d  00000.001) :xyz}
7e30: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
7e40: 32 2e 32 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69  2.2.1.7 {.  sqli
7e50: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
7e60: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
7e70: 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5f) :xyz} 5 5
7e80: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 35   0.001.} {abc: 5
7e90: 20 35 20 28 30 2e 30 30 31 30 30 29 20 3a 78 79   5 (0.00100) :xy
7ea0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
7eb0: 66 2d 32 2e 32 2e 31 2e 38 20 7b 0a 20 20 73 71  f-2.2.1.8 {.  sq
7ec0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7ed0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
7ee0: 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35   (%5.5e) :xyz} 5
7ef0: 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   5 0.001.} {abc:
7f00: 20 35 20 35 20 28 31 2e 30 30 30 30 30 65 2d 30   5 5 (1.00000e-0
7f10: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
7f20: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 39 20   printf-2.2.1.9 
7f30: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7f40: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7f50: 20 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a   %d %d (%5.5g) :
7f60: 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d  xyz} 5 5 0.001.}
7f70: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30   {abc: 5 5 (0.00
7f80: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
7f90: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 31 20   printf-2.2.2.1 
7fa0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7fb0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7fc0: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35   (%*.*f) :xyz} 5
7fd0: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
7fe0: 63 3a 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79  c: (0.00000) :xy
7ff0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8000: 66 2d 32 2e 32 2e 32 2e 32 20 7b 0a 20 20 73 71  f-2.2.2.2 {.  sq
8010: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8020: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
8030: 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30  e) :xyz} 5 5 1.0
8040: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  e-20.} {abc: (1.
8050: 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d  00000e-20) :xyz}
8060: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8070: 32 2e 32 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69  2.2.2.3 {.  sqli
8080: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8090: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
80a0: 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d   :xyz} 5 5 1.0e-
80b0: 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32  20.} {abc: (1e-2
80c0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
80d0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 34 20   printf-2.2.2.4 
80e0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
80f0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
8100: 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
8110: 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20  } 5 5 1.0e-20.} 
8120: 7b 61 62 63 3a 20 35 20 35 20 28 31 65 2d 32 30  {abc: 5 5 (1e-20
8130: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
8140: 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 35 20 7b  printf-2.2.2.5 {
8150: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8160: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8170: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
8180: 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20  } 5 5 1.0e-20.} 
8190: 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30 30 30  {abc: 5 5 (1.000
81a0: 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e-20) :xyz}.do
81b0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
81c0: 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.6 {.  sqlite3
81d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
81e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
81f0: 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  0g) :xyz} 5 5 1.
8200: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 35 20  0e-20.} {abc: 5 
8210: 35 20 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a  5 (000001e-20) :
8220: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8230: 6e 74 66 2d 32 2e 32 2e 32 2e 37 20 7b 0a 20 20  ntf-2.2.2.7 {.  
8240: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8250: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
8260: 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d  %d (%5.5f) :xyz}
8270: 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   5 5 1.0e-20.} {
8280: 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 30 30  abc: 5 5 (0.0000
8290: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
82a0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 38 20   printf-2.2.2.8 
82b0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
82c0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
82d0: 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a   %d %d (%5.5e) :
82e0: 78 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30  xyz} 5 5 1.0e-20
82f0: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e  .} {abc: 5 5 (1.
8300: 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d  00000e-20) :xyz}
8310: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8320: 32 2e 32 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69  2.2.2.9 {.  sqli
8330: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8340: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
8350: 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5g) :xyz} 5 5
8360: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
8370: 20 35 20 35 20 28 31 65 2d 32 30 29 20 3a 78 79   5 5 (1e-20) :xy
8380: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8390: 66 2d 32 2e 32 2e 33 2e 31 20 7b 0a 20 20 73 71  f-2.2.3.1 {.  sq
83a0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
83b0: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
83c0: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30  f) :xyz} 5 5 1.0
83d0: 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30  .} {abc: (1.0000
83e0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
83f0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e 32 20   printf-2.2.3.2 
8400: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
8410: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
8420: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35   (%*.*e) :xyz} 5
8430: 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   5 1.0.} {abc: (
8440: 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  1.00000e+00) :xy
8450: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
8460: 66 2d 32 2e 32 2e 33 2e 33 20 7b 0a 20 20 73 71  f-2.2.3.3 {.  sq
8470: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8480: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
8490: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30  g) :xyz} 5 5 1.0
84a0: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 31 29  .} {abc: (    1)
84b0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
84c0: 72 69 6e 74 66 2d 32 2e 32 2e 33 2e 34 20 7b 0a  rintf-2.2.3.4 {.
84d0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
84e0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
84f0: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
8500: 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 5 1.0.} {abc: 
8510: 35 20 35 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f  5 5 (1) :xyz}.do
8520: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8530: 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.5 {.  sqlite3
8540: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8550: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
8560: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a  ) :xyz} 5 5 1.0.
8570: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30  } {abc: 5 5 (1.0
8580: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
8590: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33  est printf-2.2.3
85a0: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
85b0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
85c0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
85d0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 0a  ) :xyz} 5 5 1.0.
85e0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30  } {abc: 5 5 (000
85f0: 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64  0000001) :xyz}.d
8600: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8610: 32 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  2.3.7 {.  sqlite
8620: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8630: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
8640: 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .5f) :xyz} 5 5 1
8650: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
8660: 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  1.00000) :xyz}.d
8670: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8680: 32 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  2.3.8 {.  sqlite
8690: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
86a0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
86b0: 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .5e) :xyz} 5 5 1
86c0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
86d0: 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  1.00000e+00) :xy
86e0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
86f0: 66 2d 32 2e 32 2e 33 2e 39 20 7b 0a 20 20 73 71  f-2.2.3.9 {.  sq
8700: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
8710: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
8720: 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35   (%5.5g) :xyz} 5
8730: 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35   5 1.0.} {abc: 5
8740: 20 35 20 28 20 20 20 20 31 29 20 3a 78 79 7a 7d   5 (    1) :xyz}
8750: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8760: 32 2e 32 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69  2.2.4.1 {.  sqli
8770: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8780: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
8790: 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d   :xyz} 5 5 0.0.}
87a0: 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30 29   {abc: (0.00000)
87b0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
87c0: 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 32 20 7b 0a  rintf-2.2.4.2 {.
87d0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
87e0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
87f0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*e) :xyz} 5 5
8800: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e   0.0.} {abc: (0.
8810: 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  00000e+00) :xyz}
8820: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8830: 32 2e 32 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69  2.2.4.3 {.  sqli
8840: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8850: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
8860: 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d   :xyz} 5 5 0.0.}
8870: 20 7b 61 62 63 3a 20 28 20 20 20 20 30 29 20 3a   {abc: (    0) :
8880: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8890: 6e 74 66 2d 32 2e 32 2e 34 2e 34 20 7b 0a 20 20  ntf-2.2.4.4 {.  
88a0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
88b0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
88c0: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20  %d (%g) :xyz} 5 
88d0: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20  5 0.0.} {abc: 5 
88e0: 35 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  5 (0) :xyz}.do_t
88f0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34  est printf-2.2.4
8900: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
8910: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8920: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
8930: 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20  :xyz} 5 5 0.0.} 
8940: 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 30  {abc: 5 5 (0.000
8950: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
8960: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 36  t printf-2.2.4.6
8970: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
8980: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
8990: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
89a0: 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d 20  :xyz} 5 5 0.0.} 
89b0: 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30 30 30  {abc: 5 5 (00000
89c0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
89d0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
89e0: 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.7 {.  sqlite3_
89f0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
8a00: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
8a10: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  f) :xyz} 5 5 0.0
8a20: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e  .} {abc: 5 5 (0.
8a30: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
8a40: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
8a50: 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.8 {.  sqlite3_
8a60: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
8a70: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
8a80: 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  e) :xyz} 5 5 0.0
8a90: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e  .} {abc: 5 5 (0.
8aa0: 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  00000e+00) :xyz}
8ab0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
8ac0: 32 2e 32 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69  2.2.4.9 {.  sqli
8ad0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
8ae0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
8af0: 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5g) :xyz} 5 5
8b00: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35   0.0.} {abc: 5 5
8b10: 20 28 20 20 20 20 30 29 20 3a 78 79 7a 7d 0a 64   (    0) :xyz}.d
8b20: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8b30: 32 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  2.5.1 {.  sqlite
8b40: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8b50: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
8b60: 78 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d  xyz} 5 5 100.0.}
8b70: 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 30 30   {abc: (100.0000
8b80: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
8b90: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 32 20   printf-2.2.5.2 
8ba0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
8bb0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
8bc0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35   (%*.*e) :xyz} 5
8bd0: 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   5 100.0.} {abc:
8be0: 20 28 31 2e 30 30 30 30 30 65 2b 30 32 29 20 3a   (1.00000e+02) :
8bf0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8c00: 6e 74 66 2d 32 2e 32 2e 35 2e 33 20 7b 0a 20 20  ntf-2.2.5.3 {.  
8c10: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8c20: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
8c30: 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .*g) :xyz} 5 5 1
8c40: 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20  00.0.} {abc: (  
8c50: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
8c60: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e  st printf-2.2.5.
8c70: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
8c80: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
8c90: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
8ca0: 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20  yz} 5 5 100.0.} 
8cb0: 7b 61 62 63 3a 20 35 20 35 20 28 31 30 30 29 20  {abc: 5 5 (100) 
8cc0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
8cd0: 69 6e 74 66 2d 32 2e 32 2e 35 2e 35 20 7b 0a 20  intf-2.2.5.5 {. 
8ce0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8cf0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
8d00: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
8d10: 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  5 5 100.0.} {abc
8d20: 3a 20 35 20 35 20 28 31 30 30 2e 30 30 30 29 20  : 5 5 (100.000) 
8d30: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
8d40: 69 6e 74 66 2d 32 2e 32 2e 35 2e 36 20 7b 0a 20  intf-2.2.5.6 {. 
8d50: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8d60: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
8d70: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
8d80: 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61  } 5 5 100.0.} {a
8d90: 62 63 3a 20 35 20 35 20 28 30 30 30 30 30 30 30  bc: 5 5 (0000000
8da0: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
8db0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e  st printf-2.2.5.
8dc0: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
8dd0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
8de0: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66 29  c: %d %d (%5.5f)
8df0: 20 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e 30   :xyz} 5 5 100.0
8e00: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 30  .} {abc: 5 5 (10
8e10: 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
8e20: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8e30: 32 2e 35 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  2.5.8 {.  sqlite
8e40: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8e50: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
8e60: 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  .5e) :xyz} 5 5 1
8e70: 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35  00.0.} {abc: 5 5
8e80: 20 28 31 2e 30 30 30 30 30 65 2b 30 32 29 20 3a   (1.00000e+02) :
8e90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8ea0: 6e 74 66 2d 32 2e 32 2e 35 2e 39 20 7b 0a 20 20  ntf-2.2.5.9 {.  
8eb0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8ec0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
8ed0: 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d  %d (%5.5g) :xyz}
8ee0: 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62   5 5 100.0.} {ab
8ef0: 63 3a 20 35 20 35 20 28 20 20 31 30 30 29 20 3a  c: 5 5 (  100) :
8f00: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
8f10: 6e 74 66 2d 32 2e 32 2e 36 2e 31 20 7b 0a 20 20  ntf-2.2.6.1 {.  
8f20: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
8f30: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
8f40: 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 39  .*f) :xyz} 5 5 9
8f50: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
8f60: 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
8f70: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8f80: 32 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  2.6.2 {.  sqlite
8f90: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8fa0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
8fb0: 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39  xyz} 5 5 9.99999
8fc0: 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39 39  .} {abc: (9.9999
8fd0: 39 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e+00) :xyz}.do_
8fe0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
8ff0: 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.3 {.  sqlite3_
9000: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9010: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
9020: 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39 0a 7d  z} 5 5 9.99999.}
9030: 20 7b 61 62 63 3a 20 28 20 20 20 31 30 29 20 3a   {abc: (   10) :
9040: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9050: 6e 74 66 2d 32 2e 32 2e 36 2e 34 20 7b 0a 20 20  ntf-2.2.6.4 {.  
9060: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9070: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9080: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20  %d (%g) :xyz} 5 
9090: 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  5 9.99999.} {abc
90a0: 3a 20 35 20 35 20 28 39 2e 39 39 39 39 39 29 20  : 5 5 (9.99999) 
90b0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
90c0: 69 6e 74 66 2d 32 2e 32 2e 36 2e 35 20 7b 0a 20  intf-2.2.6.5 {. 
90d0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
90e0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
90f0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
9100: 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 5 9.99999.} {a
9110: 62 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39 39  bc: 5 5 (9.99999
9120: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9130: 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 36 20 7b  printf-2.2.6.6 {
9140: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
9150: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9160: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
9170: 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39 0a  yz} 5 5 9.99999.
9180: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30  } {abc: 5 5 (000
9190: 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
91a0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
91b0: 32 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  2.6.7 {.  sqlite
91c0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
91d0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
91e0: 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 39  .5f) :xyz} 5 5 9
91f0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35  .99999.} {abc: 5
9200: 20 35 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   5 (9.99999) :xy
9210: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
9220: 66 2d 32 2e 32 2e 36 2e 38 20 7b 0a 20 20 73 71  f-2.2.6.8 {.  sq
9230: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9240: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
9250: 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35   (%5.5e) :xyz} 5
9260: 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
9270: 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39 39 65  c: 5 5 (9.99999e
9280: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
9290: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e  st printf-2.2.6.
92a0: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
92b0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
92c0: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67 29  c: %d %d (%5.5g)
92d0: 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39   :xyz} 5 5 9.999
92e0: 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  99.} {abc: 5 5 (
92f0: 20 20 20 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f     10) :xyz}.do_
9300: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
9310: 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.1 {.  sqlite3_
9320: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9330: 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
9340: 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a  z} 5 5 -0.00543.
9350: 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35 34  } {abc: (-0.0054
9360: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
9370: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 32 20   printf-2.2.7.2 
9380: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9390: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
93a0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35   (%*.*e) :xyz} 5
93b0: 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   5 -0.00543.} {a
93c0: 62 63 3a 20 28 2d 35 2e 34 33 30 30 30 65 2d 30  bc: (-5.43000e-0
93d0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
93e0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 33 20   printf-2.2.7.3 
93f0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9400: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9410: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35   (%*.*g) :xyz} 5
9420: 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   5 -0.00543.} {a
9430: 62 63 3a 20 28 2d 30 2e 30 30 35 34 33 29 20 3a  bc: (-0.00543) :
9440: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9450: 6e 74 66 2d 32 2e 32 2e 37 2e 34 20 7b 0a 20 20  ntf-2.2.7.4 {.  
9460: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9470: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9480: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20  %d (%g) :xyz} 5 
9490: 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  5 -0.00543.} {ab
94a0: 63 3a 20 35 20 35 20 28 2d 30 2e 30 30 35 34 33  c: 5 5 (-0.00543
94b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
94c0: 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 35 20 7b  printf-2.2.7.5 {
94d0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
94e0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
94f0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
9500: 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d  } 5 5 -0.00543.}
9510: 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30 2e 30   {abc: 5 5 (-0.0
9520: 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0543000) :xyz}.d
9530: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
9540: 32 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  2.7.6 {.  sqlite
9550: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9560: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
9570: 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  10g) :xyz} 5 5 -
9580: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
9590: 35 20 35 20 28 2d 30 30 30 2e 30 30 35 34 33 29  5 5 (-000.00543)
95a0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
95b0: 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 37 20 7b 0a  rintf-2.2.7.7 {.
95c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
95d0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
95e0: 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79  d %d (%5.5f) :xy
95f0: 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a  z} 5 5 -0.00543.
9600: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30 2e  } {abc: 5 5 (-0.
9610: 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
9620: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
9630: 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.8 {.  sqlite3_
9640: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9650: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
9660: 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 30 2e  e) :xyz} 5 5 -0.
9670: 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20  00543.} {abc: 5 
9680: 35 20 28 2d 35 2e 34 33 30 30 30 65 2d 30 33 29  5 (-5.43000e-03)
9690: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
96a0: 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 39 20 7b 0a  rintf-2.2.7.9 {.
96b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
96c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
96d0: 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79  d %d (%5.5g) :xy
96e0: 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a  z} 5 5 -0.00543.
96f0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30 2e  } {abc: 5 5 (-0.
9700: 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
9710: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
9720: 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.1 {.  sqlite3_
9730: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9740: 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
9750: 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61  z} 5 5 -1.0.} {a
9760: 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 29 20 3a  bc: (-1.00000) :
9770: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9780: 6e 74 66 2d 32 2e 32 2e 38 2e 32 20 7b 0a 20 20  ntf-2.2.8.2 {.  
9790: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
97a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
97b0: 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  .*e) :xyz} 5 5 -
97c0: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e  1.0.} {abc: (-1.
97d0: 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  00000e+00) :xyz}
97e0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
97f0: 32 2e 32 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69  2.2.8.3 {.  sqli
9800: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
9810: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
9820: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a   :xyz} 5 5 -1.0.
9830: 7d 20 7b 61 62 63 3a 20 28 20 20 20 2d 31 29 20  } {abc: (   -1) 
9840: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9850: 69 6e 74 66 2d 32 2e 32 2e 38 2e 34 20 7b 0a 20  intf-2.2.8.4 {. 
9860: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9870: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
9880: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35   %d (%g) :xyz} 5
9890: 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   5 -1.0.} {abc: 
98a0: 35 20 35 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64  5 5 (-1) :xyz}.d
98b0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
98c0: 32 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  2.8.5 {.  sqlite
98d0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
98e0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
98f0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e  g) :xyz} 5 5 -1.
9900: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d  0.} {abc: 5 5 (-
9910: 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  1.00000) :xyz}.d
9920: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
9930: 32 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  2.8.6 {.  sqlite
9940: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
9950: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
9960: 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  10g) :xyz} 5 5 -
9970: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  1.0.} {abc: 5 5 
9980: 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a 78 79  (-000000001) :xy
9990: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
99a0: 66 2d 32 2e 32 2e 38 2e 37 20 7b 0a 20 20 73 71  f-2.2.8.7 {.  sq
99b0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
99c0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
99d0: 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35   (%5.5f) :xyz} 5
99e0: 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   5 -1.0.} {abc: 
99f0: 35 20 35 20 28 2d 31 2e 30 30 30 30 30 29 20 3a  5 5 (-1.00000) :
9a00: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9a10: 6e 74 66 2d 32 2e 32 2e 38 2e 38 20 7b 0a 20 20  ntf-2.2.8.8 {.  
9a20: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9a30: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9a40: 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d  %d (%5.5e) :xyz}
9a50: 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   5 5 -1.0.} {abc
9a60: 3a 20 35 20 35 20 28 2d 31 2e 30 30 30 30 30 65  : 5 5 (-1.00000e
9a70: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
9a80: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 38 2e  st printf-2.2.8.
9a90: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
9aa0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
9ab0: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67 29  c: %d %d (%5.5g)
9ac0: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a   :xyz} 5 5 -1.0.
9ad0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 20 20 20  } {abc: 5 5 (   
9ae0: 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  -1) :xyz}.do_tes
9af0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 31  t printf-2.2.9.1
9b00: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9b10: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9b20: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
9b30: 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  5 5 -99.99999.} 
9b40: 7b 61 62 63 3a 20 28 2d 39 39 2e 39 39 39 39 39  {abc: (-99.99999
9b50: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9b60: 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 32 20 7b  printf-2.2.9.2 {
9b70: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
9b80: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9b90: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20  (%*.*e) :xyz} 5 
9ba0: 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
9bb0: 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 65 2b 30  bc: (-1.00000e+0
9bc0: 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
9bd0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 33 20   printf-2.2.9.3 
9be0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9bf0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9c00: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35   (%*.*g) :xyz} 5
9c10: 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   5 -99.99999.} {
9c20: 61 62 63 3a 20 28 20 2d 31 30 30 29 20 3a 78 79  abc: ( -100) :xy
9c30: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
9c40: 66 2d 32 2e 32 2e 39 2e 34 20 7b 0a 20 20 73 71  f-2.2.9.4 {.  sq
9c50: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9c60: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
9c70: 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20   (%g) :xyz} 5 5 
9c80: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
9c90: 3a 20 35 20 35 20 28 2d 31 30 30 29 20 3a 78 79  : 5 5 (-100) :xy
9ca0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
9cb0: 66 2d 32 2e 32 2e 39 2e 35 20 7b 0a 20 20 73 71  f-2.2.9.5 {.  sq
9cc0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9cd0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
9ce0: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35 20 35   (%#g) :xyz} 5 5
9cf0: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
9d00: 63 3a 20 35 20 35 20 28 2d 31 30 30 2e 30 30 30  c: 5 5 (-100.000
9d10: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9d20: 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 36 20 7b  printf-2.2.9.6 {
9d30: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
9d40: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9d50: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
9d60: 79 7a 7d 20 35 20 35 20 2d 39 39 2e 39 39 39 39  yz} 5 5 -99.9999
9d70: 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d  9.} {abc: 5 5 (-
9d80: 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
9d90: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
9da0: 32 2e 32 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69  2.2.9.7 {.  sqli
9db0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
9dc0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
9dd0: 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5f) :xyz} 5 5
9de0: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
9df0: 63 3a 20 35 20 35 20 28 2d 39 39 2e 39 39 39 39  c: 5 5 (-99.9999
9e00: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
9e10: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 38 20   printf-2.2.9.8 
9e20: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9e30: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9e40: 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a   %d %d (%5.5e) :
9e50: 78 79 7a 7d 20 35 20 35 20 2d 39 39 2e 39 39 39  xyz} 5 5 -99.999
9e60: 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  99.} {abc: 5 5 (
9e70: 2d 31 2e 30 30 30 30 30 65 2b 30 32 29 20 3a 78  -1.00000e+02) :x
9e80: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
9e90: 74 66 2d 32 2e 32 2e 39 2e 39 20 7b 0a 20 20 73  tf-2.2.9.9 {.  s
9ea0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
9eb0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
9ec0: 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20  d (%5.5g) :xyz} 
9ed0: 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  5 5 -99.99999.} 
9ee0: 7b 61 62 63 3a 20 35 20 35 20 28 20 2d 31 30 30  {abc: 5 5 ( -100
9ef0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9f00: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 31 20  printf-2.2.10.1 
9f10: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9f20: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9f30: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35   (%*.*f) :xyz} 5
9f40: 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
9f50: 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e 30  c: (3140000000.0
9f60: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
9f70: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
9f80: 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.2 {.  sqlite3_
9f90: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9fa0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
9fb0: 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d  z} 5 5 3.14e+9.}
9fc0: 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30 30 65   {abc: (3.14000e
9fd0: 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
9fe0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30  st printf-2.2.10
9ff0: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
a000: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
a010: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
a020: 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20  } 5 5 3.14e+9.} 
a030: 7b 61 62 63 3a 20 28 33 2e 31 34 65 2b 30 39 29  {abc: (3.14e+09)
a040: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a050: 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 34 20 7b  rintf-2.2.10.4 {
a060: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a070: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a080: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
a090: 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   5 5 3.14e+9.} {
a0a0: 61 62 63 3a 20 35 20 35 20 28 33 2e 31 34 65 2b  abc: 5 5 (3.14e+
a0b0: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
a0c0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e  t printf-2.2.10.
a0d0: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
a0e0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
a0f0: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
a100: 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39  xyz} 5 5 3.14e+9
a110: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e  .} {abc: 5 5 (3.
a120: 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d  14000e+09) :xyz}
a130: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
a140: 32 2e 32 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c  2.2.10.6 {.  sql
a150: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
a160: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
a170: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20  (%010g) :xyz} 5 
a180: 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  5 3.14e+9.} {abc
a190: 3a 20 35 20 35 20 28 30 30 33 2e 31 34 65 2b 30  : 5 5 (003.14e+0
a1a0: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
a1b0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 37   printf-2.2.10.7
a1c0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a1d0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a1e0: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66 29 20  : %d %d (%5.5f) 
a1f0: 3a 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b  :xyz} 5 5 3.14e+
a200: 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33  9.} {abc: 5 5 (3
a210: 31 34 30 30 30 30 30 30 30 2e 30 30 30 30 30 29  140000000.00000)
a220: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a230: 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 38 20 7b  rintf-2.2.10.8 {
a240: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a250: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a260: 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78  %d %d (%5.5e) :x
a270: 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a  yz} 5 5 3.14e+9.
a280: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 31  } {abc: 5 5 (3.1
a290: 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  4000e+09) :xyz}.
a2a0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
a2b0: 2e 32 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69  .2.10.9 {.  sqli
a2c0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
a2d0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
a2e0: 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5g) :xyz} 5 5
a2f0: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
a300: 20 35 20 35 20 28 33 2e 31 34 65 2b 30 39 29 20   5 5 (3.14e+09) 
a310: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a320: 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 32 20 7b 0a  intf-2.2.11.2 {.
a330: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a340: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
a350: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*e) :xyz} 5 5
a360: 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
a370: 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 33 32 65  {abc: (-4.72732e
a380: 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
a390: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31  st printf-2.2.11
a3a0: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
a3b0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
a3c0: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
a3d0: 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32 65 2b  } 5 5 -4.72732e+
a3e0: 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37  88.} {abc: (-4.7
a3f0: 32 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  273e+88) :xyz}.d
a400: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
a410: 32 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  2.11.4 {.  sqlit
a420: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
a430: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
a440: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e  g) :xyz} 5 5 -4.
a450: 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
a460: 3a 20 35 20 35 20 28 2d 34 2e 37 32 37 33 32 65  : 5 5 (-4.72732e
a470: 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
a480: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31  st printf-2.2.11
a490: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
a4a0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
a4b0: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
a4c0: 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37  :xyz} 5 5 -4.727
a4d0: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35  32e+88.} {abc: 5
a4e0: 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   5 (-4.72732e+88
a4f0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a500: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 36 20  printf-2.2.11.6 
a510: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a520: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a530: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
a540: 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33  xyz} 5 5 -4.7273
a550: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20  2e+88.} {abc: 5 
a560: 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  5 (-4.72732e+88)
a570: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a580: 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 38 20 7b  rintf-2.2.11.8 {
a590: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a5a0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a5b0: 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78  %d %d (%5.5e) :x
a5c0: 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32  yz} 5 5 -4.72732
a5d0: 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20 35  e+88.} {abc: 5 5
a5e0: 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20   (-4.72732e+88) 
a5f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a600: 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 39 20 7b 0a  intf-2.2.11.9 {.
a610: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a620: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
a630: 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79  d %d (%5.5g) :xy
a640: 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32 65  z} 5 5 -4.72732e
a650: 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  +88.} {abc: 5 5 
a660: 28 2d 34 2e 37 32 37 33 65 2b 38 38 29 20 3a 78  (-4.7273e+88) :x
a670: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a680: 74 66 2d 32 2e 32 2e 31 32 2e 32 20 7b 0a 20 20  tf-2.2.12.2 {.  
a690: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
a6a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
a6b0: 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 39  .*e) :xyz} 5 5 9
a6c0: 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
a6d0: 62 63 3a 20 28 39 2e 38 37 39 39 31 65 2b 31 34  bc: (9.87991e+14
a6e0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
a6f0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 33   printf-2.2.12.3
a700: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a710: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a720: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
a730: 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33  5 5 9.87991e+143
a740: 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38 37 39 39  .} {abc: (9.8799
a750: 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
a760: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
a770: 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.4 {.  sqlite3
a780: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
a790: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
a7a0: 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 38 37 39   :xyz} 5 5 9.879
a7b0: 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
a7c0: 35 20 35 20 28 39 2e 38 37 39 39 31 65 2b 31 34  5 5 (9.87991e+14
a7d0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
a7e0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 35   printf-2.2.12.5
a7f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a800: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a810: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
a820: 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65  yz} 5 5 9.87991e
a830: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35  +143.} {abc: 5 5
a840: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
a850: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a860: 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 36 20 7b 0a  intf-2.2.12.6 {.
a870: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a880: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
a890: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
a8a0: 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b  z} 5 5 9.87991e+
a8b0: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  143.} {abc: 5 5 
a8c0: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
a8d0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
a8e0: 6e 74 66 2d 32 2e 32 2e 31 32 2e 38 20 7b 0a 20  ntf-2.2.12.8 {. 
a8f0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
a900: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
a910: 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a   %d (%5.5e) :xyz
a920: 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31  } 5 5 9.87991e+1
a930: 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  43.} {abc: 5 5 (
a940: 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78  9.87991e+143) :x
a950: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a960: 74 66 2d 32 2e 32 2e 31 32 2e 39 20 7b 0a 20 20  tf-2.2.12.9 {.  
a970: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
a980: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
a990: 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d  %d (%5.5g) :xyz}
a9a0: 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34   5 5 9.87991e+14
a9b0: 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 39  3.} {abc: 5 5 (9
a9c0: 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79 7a  .8799e+143) :xyz
a9d0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
a9e0: 2d 32 2e 32 2e 31 33 2e 31 20 7b 0a 20 20 73 71  -2.2.13.1 {.  sq
a9f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
aa00: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
aa10: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e  f) :xyz} 5 5 -6.
aa20: 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
aa30: 3a 20 28 2d 30 2e 30 30 30 30 30 29 20 3a 78 79  : (-0.00000) :xy
aa40: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
aa50: 66 2d 32 2e 32 2e 31 33 2e 32 20 7b 0a 20 20 73  f-2.2.13.2 {.  s
aa60: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
aa70: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
aa80: 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36  *e) :xyz} 5 5 -6
aa90: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
aaa0: 63 3a 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39  c: (-6.28729e-09
aab0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
aac0: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 33 20  printf-2.2.13.3 
aad0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
aae0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
aaf0: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35   (%*.*g) :xyz} 5
ab00: 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   5 -6.287291e-9.
ab10: 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37 33  } {abc: (-6.2873
ab20: 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
ab30: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
ab40: 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.4 {.  sqlite3_
ab50: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ab60: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
ab70: 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37  :xyz} 5 5 -6.287
ab80: 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35  291e-9.} {abc: 5
ab90: 20 35 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39   5 (-6.28729e-09
aba0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
abb0: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 35 20  printf-2.2.13.5 
abc0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
abd0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
abe0: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
abf0: 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31  z} 5 5 -6.287291
ac00: 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  e-9.} {abc: 5 5 
ac10: 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
ac20: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
ac30: 6e 74 66 2d 32 2e 32 2e 31 33 2e 36 20 7b 0a 20  ntf-2.2.13.6 {. 
ac40: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ac50: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ac60: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
ac70: 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31 65  } 5 5 -6.287291e
ac80: 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  -9.} {abc: 5 5 (
ac90: 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
aca0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
acb0: 74 66 2d 32 2e 32 2e 31 33 2e 37 20 7b 0a 20 20  tf-2.2.13.7 {.  
acc0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
acd0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
ace0: 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d  %d (%5.5f) :xyz}
acf0: 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d   5 5 -6.287291e-
ad00: 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d  9.} {abc: 5 5 (-
ad10: 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
ad20: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
ad30: 32 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74  2.13.8 {.  sqlit
ad40: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ad50: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
ad60: 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5e) :xyz} 5 5 
ad70: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
ad80: 61 62 63 3a 20 35 20 35 20 28 2d 36 2e 32 38 37  abc: 5 5 (-6.287
ad90: 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
ada0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
adb0: 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .13.9 {.  sqlite
adc0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
add0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
ade0: 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  .5g) :xyz} 5 5 -
adf0: 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
ae00: 62 63 3a 20 35 20 35 20 28 2d 36 2e 32 38 37 33  bc: 5 5 (-6.2873
ae10: 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
ae20: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
ae30: 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.1 {.  sqlite3_
ae40: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
ae50: 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
ae60: 7a 7d 20 35 20 35 20 33 2e 33 38 38 32 36 33 39  z} 5 5 3.3882639
ae70: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
ae80: 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
ae90: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
aea0: 32 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74  2.14.2 {.  sqlit
aeb0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
aec0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
aed0: 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38 32  :xyz} 5 5 3.3882
aee0: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
aef0: 3a 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29  : (3.38826e-110)
af00: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
af10: 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e 33 20 7b  rintf-2.2.14.3 {
af20: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
af30: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
af40: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20  (%*.*g) :xyz} 5 
af50: 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  5 3.38826392e-11
af60: 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38  0.} {abc: (3.388
af70: 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  3e-110) :xyz}.do
af80: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
af90: 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .14.4 {.  sqlite
afa0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
afb0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
afc0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38  ) :xyz} 5 5 3.38
afd0: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
afe0: 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38 32 36  bc: 5 5 (3.38826
aff0: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
b000: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
b010: 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.5 {.  sqlite3
b020: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b030: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
b040: 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38  ) :xyz} 5 5 3.38
b050: 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
b060: 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38 32 36  bc: 5 5 (3.38826
b070: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
b080: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
b090: 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.6 {.  sqlite3
b0a0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b0b0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
b0c0: 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e  0g) :xyz} 5 5 3.
b0d0: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
b0e0: 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38  {abc: 5 5 (3.388
b0f0: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
b100: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b110: 32 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74  2.14.7 {.  sqlit
b120: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b130: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b140: 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5f) :xyz} 5 5 
b150: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
b160: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30  } {abc: 5 5 (0.0
b170: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
b180: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
b190: 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.8 {.  sqlite3_
b1a0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
b1b0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35  abc: %d %d (%5.5
b1c0: 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33  e) :xyz} 5 5 3.3
b1d0: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
b1e0: 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38 32  abc: 5 5 (3.3882
b1f0: 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
b200: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
b210: 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .14.9 {.  sqlite
b220: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b230: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35   {abc: %d %d (%5
b240: 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33  .5g) :xyz} 5 5 3
b250: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
b260: 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38   {abc: 5 5 (3.38
b270: 38 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  83e-110) :xyz}.d
b280: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b290: 33 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  3.1.1 {.  sqlite
b2a0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b2b0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
b2c0: 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31  xyz} 10 10 0.001
b2d0: 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31 30  .} {abc: (0.0010
b2e0: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
b2f0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b300: 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.2 {.  sqlite3
b310: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b320: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
b330: 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a  yz} 10 10 0.001.
b340: 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30  } {abc: (1.00000
b350: 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d  00000e-03) :xyz}
b360: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b370: 32 2e 33 2e 31 2e 33 20 7b 0a 20 20 73 71 6c 69  2.3.1.3 {.  sqli
b380: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
b390: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
b3a0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
b3b0: 30 31 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20  01.} {abc: (    
b3c0: 20 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f   0.001) :xyz}.do
b3d0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b3e0: 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.4 {.  sqlite3
b3f0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b400: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
b410: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
b420: 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  01.} {abc: 10 10
b430: 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
b440: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b450: 33 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  3.1.5 {.  sqlite
b460: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b470: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
b480: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30  g) :xyz} 10 10 0
b490: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20  .001.} {abc: 10 
b4a0: 31 30 20 28 30 2e 30 30 31 30 30 30 30 30 29 20  10 (0.00100000) 
b4b0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
b4c0: 69 6e 74 66 2d 32 2e 33 2e 31 2e 36 20 7b 0a 20  intf-2.3.1.6 {. 
b4d0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
b4e0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
b4f0: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
b500: 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a 7d 20  } 10 10 0.001.} 
b510: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30 30 30  {abc: 10 10 (000
b520: 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64  000.001) :xyz}.d
b530: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b540: 33 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  3.1.7 {.  sqlite
b550: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b560: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
b570: 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20  0.10f) :xyz} 10 
b580: 31 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a  10 0.001.} {abc:
b590: 20 31 30 20 31 30 20 28 30 2e 30 30 31 30 30 30   10 10 (0.001000
b5a0: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
b5b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
b5c0: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
b5d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
b5e0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
b5f0: 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0e) :xyz} 10 10 
b600: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30  0.001.} {abc: 10
b610: 20 31 30 20 28 31 2e 30 30 30 30 30 30 30 30 30   10 (1.000000000
b620: 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
b630: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
b640: 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.9 {.  sqlite3_
b650: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
b660: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
b670: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10g) :xyz} 10 10
b680: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31   0.001.} {abc: 1
b690: 30 20 31 30 20 28 20 20 20 20 20 30 2e 30 30 31  0 10 (     0.001
b6a0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
b6b0: 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 31 20 7b  printf-2.3.2.1 {
b6c0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
b6d0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
b6e0: 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30  (%*.*f) :xyz} 10
b6f0: 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61   10 1.0e-20.} {a
b700: 62 63 3a 20 28 30 2e 30 30 30 30 30 30 30 30 30  bc: (0.000000000
b710: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
b720: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 32 20   printf-2.3.2.2 
b730: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
b740: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
b750: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
b760: 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20 7b  0 10 1.0e-20.} {
b770: 61 62 63 3a 20 28 31 2e 30 30 30 30 30 30 30 30  abc: (1.00000000
b780: 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e-20) :xyz}.do
b790: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b7a0: 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.3 {.  sqlite3
b7b0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b7c0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
b7d0: 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32  yz} 10 10 1.0e-2
b7e0: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  0.} {abc: (     
b7f0: 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e-20) :xyz}.do_
b800: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
b810: 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.4 {.  sqlite3_
b820: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
b830: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
b840: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65  :xyz} 10 10 1.0e
b850: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  -20.} {abc: 10 1
b860: 30 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  0 (1e-20) :xyz}.
b870: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b880: 2e 33 2e 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .3.2.5 {.  sqlit
b890: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b8a0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b8b0: 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  #g) :xyz} 10 10 
b8c0: 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
b8d0: 31 30 20 31 30 20 28 31 2e 30 30 30 30 30 65 2d  10 10 (1.00000e-
b8e0: 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
b8f0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 36  t printf-2.3.2.6
b900: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
b910: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
b920: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
b930: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65  :xyz} 10 10 1.0e
b940: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  -20.} {abc: 10 1
b950: 30 20 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a  0 (000001e-20) :
b960: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
b970: 6e 74 66 2d 32 2e 33 2e 32 2e 37 20 7b 0a 20 20  ntf-2.3.2.7 {.  
b980: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
b990: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
b9a0: 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a 78 79  %d (%10.10f) :xy
b9b0: 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30  z} 10 10 1.0e-20
b9c0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
b9d0: 30 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a 78  0.0000000000) :x
b9e0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
b9f0: 74 66 2d 32 2e 33 2e 32 2e 38 20 7b 0a 20 20 73  tf-2.3.2.8 {.  s
ba00: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
ba10: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
ba20: 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79 7a  d (%10.10e) :xyz
ba30: 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a  } 10 10 1.0e-20.
ba40: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 31  } {abc: 10 10 (1
ba50: 2e 30 30 30 30 30 30 30 30 30 30 65 2d 32 30 29  .0000000000e-20)
ba60: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
ba70: 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 39 20 7b 0a  rintf-2.3.2.9 {.
ba80: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
ba90: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
baa0: 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a  d %d (%10.10g) :
bab0: 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d  xyz} 10 10 1.0e-
bac0: 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  20.} {abc: 10 10
bad0: 20 28 20 20 20 20 20 31 65 2d 32 30 29 20 3a 78   (     1e-20) :x
bae0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
baf0: 74 66 2d 32 2e 33 2e 33 2e 31 20 7b 0a 20 20 73  tf-2.3.3.1 {.  s
bb00: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
bb10: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
bb20: 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *f) :xyz} 10 10 
bb30: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  1.0.} {abc: (1.0
bb40: 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
bb50: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
bb60: 32 2e 33 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69  2.3.3.2 {.  sqli
bb70: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
bb80: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
bb90: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
bba0: 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30  .} {abc: (1.0000
bbb0: 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  000000e+00) :xyz
bbc0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
bbd0: 2d 32 2e 33 2e 33 2e 33 20 7b 0a 20 20 73 71 6c  -2.3.3.3 {.  sql
bbe0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
bbf0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
bc00: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e  ) :xyz} 10 10 1.
bc10: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  0.} {abc: (     
bc20: 20 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f      1) :xyz}.do_
bc30: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
bc40: 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.4 {.  sqlite3_
bc50: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
bc60: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
bc70: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a  :xyz} 10 10 1.0.
bc80: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 31  } {abc: 10 10 (1
bc90: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
bca0: 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 35 20 7b  printf-2.3.3.5 {
bcb0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
bcc0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
bcd0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
bce0: 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d 20 7b 61  } 10 10 1.0.} {a
bcf0: 62 63 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30  bc: 10 10 (1.000
bd00: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
bd10: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 36  t printf-2.3.3.6
bd20: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
bd30: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
bd40: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
bd50: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a  :xyz} 10 10 1.0.
bd60: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
bd70: 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d  000000001) :xyz}
bd80: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
bd90: 32 2e 33 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69  2.3.3.7 {.  sqli
bda0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
bdb0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
bdc0: 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31  %10.10f) :xyz} 1
bdd0: 30 20 31 30 20 31 2e 30 0a 7d 20 7b 61 62 63 3a  0 10 1.0.} {abc:
bde0: 20 31 30 20 31 30 20 28 31 2e 30 30 30 30 30 30   10 10 (1.000000
bdf0: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
be00: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33  est printf-2.3.3
be10: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
be20: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
be30: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
be40: 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0e) :xyz} 10 10 
be50: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  1.0.} {abc: 10 1
be60: 30 20 28 31 2e 30 30 30 30 30 30 30 30 30 30 65  0 (1.0000000000e
be70: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
be80: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e  st printf-2.3.3.
be90: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
bea0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
beb0: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
bec0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31  g) :xyz} 10 10 1
bed0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  .0.} {abc: 10 10
bee0: 20 28 20 20 20 20 20 20 20 20 20 31 29 20 3a 78   (         1) :x
bef0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
bf00: 74 66 2d 32 2e 33 2e 34 2e 31 20 7b 0a 20 20 73  tf-2.3.4.1 {.  s
bf10: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
bf20: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
bf30: 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *f) :xyz} 10 10 
bf40: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  0.0.} {abc: (0.0
bf50: 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
bf60: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
bf70: 32 2e 33 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69  2.3.4.2 {.  sqli
bf80: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
bf90: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
bfa0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
bfb0: 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30  .} {abc: (0.0000
bfc0: 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  000000e+00) :xyz
bfd0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
bfe0: 2d 32 2e 33 2e 34 2e 33 20 7b 0a 20 20 73 71 6c  -2.3.4.3 {.  sql
bff0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c000: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
c010: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
c020: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  0.} {abc: (     
c030: 20 20 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f      0) :xyz}.do_
c040: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
c050: 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.4 {.  sqlite3_
c060: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
c070: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
c080: 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a  :xyz} 10 10 0.0.
c090: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
c0a0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
c0b0: 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 35 20 7b  printf-2.3.4.5 {
c0c0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
c0d0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
c0e0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
c0f0: 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d 20 7b 61  } 10 10 0.0.} {a
c100: 62 63 3a 20 31 30 20 31 30 20 28 30 2e 30 30 30  bc: 10 10 (0.000
c110: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
c120: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 36  t printf-2.3.4.6
c130: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c140: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c150: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
c160: 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a  :xyz} 10 10 0.0.
c170: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
c180: 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
c190: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c1a0: 32 2e 33 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69  2.3.4.7 {.  sqli
c1b0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c1c0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
c1d0: 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31  %10.10f) :xyz} 1
c1e0: 30 20 31 30 20 30 2e 30 0a 7d 20 7b 61 62 63 3a  0 10 0.0.} {abc:
c1f0: 20 31 30 20 31 30 20 28 30 2e 30 30 30 30 30 30   10 10 (0.000000
c200: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
c210: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34  est printf-2.3.4
c220: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
c230: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
c240: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
c250: 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0e) :xyz} 10 10 
c260: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  0.0.} {abc: 10 1
c270: 30 20 28 30 2e 30 30 30 30 30 30 30 30 30 30 65  0 (0.0000000000e
c280: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
c290: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e  st printf-2.3.4.
c2a0: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
c2b0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
c2c0: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
c2d0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30  g) :xyz} 10 10 0
c2e0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  .0.} {abc: 10 10
c2f0: 20 28 20 20 20 20 20 20 20 20 20 30 29 20 3a 78   (         0) :x
c300: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
c310: 74 66 2d 32 2e 33 2e 35 2e 31 20 7b 0a 20 20 73  tf-2.3.5.1 {.  s
c320: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
c330: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
c340: 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *f) :xyz} 10 10 
c350: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  100.0.} {abc: (1
c360: 30 30 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a  00.0000000000) :
c370: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c380: 6e 74 66 2d 32 2e 33 2e 35 2e 32 20 7b 0a 20 20  ntf-2.3.5.2 {.  
c390: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c3a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
c3b0: 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*e) :xyz} 10 10
c3c0: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
c3d0: 31 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30 32  1.0000000000e+02
c3e0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
c3f0: 70 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 33 20 7b  printf-2.3.5.3 {
c400: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
c410: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
c420: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30  (%*.*g) :xyz} 10
c430: 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63   10 100.0.} {abc
c440: 3a 20 28 20 20 20 20 20 20 20 31 30 30 29 20 3a  : (       100) :
c450: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c460: 6e 74 66 2d 32 2e 33 2e 35 2e 34 20 7b 0a 20 20  ntf-2.3.5.4 {.  
c470: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c480: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
c490: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
c4a0: 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63   10 100.0.} {abc
c4b0: 3a 20 31 30 20 31 30 20 28 31 30 30 29 20 3a 78  : 10 10 (100) :x
c4c0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
c4d0: 74 66 2d 32 2e 33 2e 35 2e 35 20 7b 0a 20 20 73  tf-2.3.5.5 {.  s
c4e0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
c4f0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
c500: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
c510: 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63   10 100.0.} {abc
c520: 3a 20 31 30 20 31 30 20 28 31 30 30 2e 30 30 30  : 10 10 (100.000
c530: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
c540: 70 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 36 20 7b  printf-2.3.5.6 {
c550: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
c560: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
c570: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
c580: 79 7a 7d 20 31 30 20 31 30 20 31 30 30 2e 30 0a  yz} 10 10 100.0.
c590: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
c5a0: 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
c5b0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c5c0: 32 2e 33 2e 35 2e 37 20 7b 0a 20 20 73 71 6c 69  2.3.5.7 {.  sqli
c5d0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c5e0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
c5f0: 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31  %10.10f) :xyz} 1
c600: 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62  0 10 100.0.} {ab
c610: 63 3a 20 31 30 20 31 30 20 28 31 30 30 2e 30 30  c: 10 10 (100.00
c620: 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  00000000) :xyz}.
c630: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
c640: 2e 33 2e 35 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .3.5.8 {.  sqlit
c650: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
c660: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
c670: 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30  10.10e) :xyz} 10
c680: 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63   10 100.0.} {abc
c690: 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30 30 30  : 10 10 (1.00000
c6a0: 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d  00000e+02) :xyz}
c6b0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c6c0: 32 2e 33 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69  2.3.5.9 {.  sqli
c6d0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c6e0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
c6f0: 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31  %10.10g) :xyz} 1
c700: 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62  0 10 100.0.} {ab
c710: 63 3a 20 31 30 20 31 30 20 28 20 20 20 20 20 20  c: 10 10 (      
c720: 20 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   100) :xyz}.do_t
c730: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36  est printf-2.3.6
c740: 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
c750: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
c760: 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
c770: 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a  } 10 10 9.99999.
c780: 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39 39 39  } {abc: (9.99999
c790: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
c7a0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
c7b0: 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.2 {.  sqlite3_
c7c0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
c7d0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
c7e0: 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39 39  z} 10 10 9.99999
c7f0: 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39 39  .} {abc: (9.9999
c800: 39 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  900000e+00) :xyz
c810: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c820: 2d 32 2e 33 2e 36 2e 33 20 7b 0a 20 20 73 71 6c  -2.3.6.3 {.  sql
c830: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c840: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
c850: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e  ) :xyz} 10 10 9.
c860: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20  99999.} {abc: ( 
c870: 20 20 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d    9.99999) :xyz}
c880: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c890: 32 2e 33 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69  2.3.6.4 {.  sqli
c8a0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c8b0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
c8c0: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
c8d0: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
c8e0: 31 30 20 31 30 20 28 39 2e 39 39 39 39 39 29 20  10 10 (9.99999) 
c8f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
c900: 69 6e 74 66 2d 32 2e 33 2e 36 2e 35 20 7b 0a 20  intf-2.3.6.5 {. 
c910: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
c920: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
c930: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
c940: 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a 7d 20  10 10 9.99999.} 
c950: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39 2e 39  {abc: 10 10 (9.9
c960: 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
c970: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36  est printf-2.3.6
c980: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
c990: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
c9a0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
c9b0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e  ) :xyz} 10 10 9.
c9c0: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30  99999.} {abc: 10
c9d0: 20 31 30 20 28 30 30 30 39 2e 39 39 39 39 39 29   10 (0009.99999)
c9e0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c9f0: 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 37 20 7b 0a  rintf-2.3.6.7 {.
ca00: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
ca10: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
ca20: 64 20 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a  d %d (%10.10f) :
ca30: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39  xyz} 10 10 9.999
ca40: 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  99.} {abc: 10 10
ca50: 20 28 39 2e 39 39 39 39 39 30 30 30 30 30 29 20   (9.9999900000) 
ca60: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
ca70: 69 6e 74 66 2d 32 2e 33 2e 36 2e 38 20 7b 0a 20  intf-2.3.6.8 {. 
ca80: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ca90: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
caa0: 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78   %d (%10.10e) :x
cab0: 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39  yz} 10 10 9.9999
cac0: 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  9.} {abc: 10 10 
cad0: 28 39 2e 39 39 39 39 39 30 30 30 30 30 65 2b 30  (9.9999900000e+0
cae0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
caf0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 39 20   printf-2.3.6.9 
cb00: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
cb10: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
cb20: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29   %d %d (%10.10g)
cb30: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39   :xyz} 10 10 9.9
cb40: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
cb50: 31 30 20 28 20 20 20 39 2e 39 39 39 39 39 29 20  10 (   9.99999) 
cb60: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
cb70: 69 6e 74 66 2d 32 2e 33 2e 37 2e 31 20 7b 0a 20  intf-2.3.7.1 {. 
cb80: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
cb90: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
cba0: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*f) :xyz} 10 1
cbb0: 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  0 -0.00543.} {ab
cbc0: 63 3a 20 28 2d 30 2e 30 30 35 34 33 30 30 30 30  c: (-0.005430000
cbd0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
cbe0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 32 20   printf-2.3.7.2 
cbf0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
cc00: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
cc10: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
cc20: 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20  0 10 -0.00543.} 
cc30: 7b 61 62 63 3a 20 28 2d 35 2e 34 33 30 30 30 30  {abc: (-5.430000
cc40: 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a  0000e-03) :xyz}.
cc50: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
cc60: 2e 33 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .3.7.3 {.  sqlit
cc70: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
cc80: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
cc90: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 30 2e 30  :xyz} 10 10 -0.0
cca0: 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 20 20  0543.} {abc: (  
ccb0: 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  -0.00543) :xyz}.
ccc0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ccd0: 2e 33 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .3.7.4 {.  sqlit
cce0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ccf0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
cd00: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
cd10: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
cd20: 31 30 20 31 30 20 28 2d 30 2e 30 30 35 34 33 29  10 10 (-0.00543)
cd30: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
cd40: 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 35 20 7b 0a  rintf-2.3.7.5 {.
cd50: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
cd60: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
cd70: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
cd80: 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a   10 10 -0.00543.
cd90: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d  } {abc: 10 10 (-
cda0: 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a  0.00543000) :xyz
cdb0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
cdc0: 2d 32 2e 33 2e 37 2e 36 20 7b 0a 20 20 73 71 6c  -2.3.7.6 {.  sql
cdd0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
cde0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
cdf0: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
ce00: 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b   10 -0.00543.} {
ce10: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 30 30 30  abc: 10 10 (-000
ce20: 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
ce30: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
ce40: 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.7 {.  sqlite3
ce50: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
ce60: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
ce70: 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10f) :xyz} 10 1
ce80: 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  0 -0.00543.} {ab
ce90: 63 3a 20 31 30 20 31 30 20 28 2d 30 2e 30 30 35  c: 10 10 (-0.005
cea0: 34 33 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  4300000) :xyz}.d
ceb0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
cec0: 33 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  3.7.8 {.  sqlite
ced0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
cee0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
cef0: 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20  0.10e) :xyz} 10 
cf00: 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61  10 -0.00543.} {a
cf10: 62 63 3a 20 31 30 20 31 30 20 28 2d 35 2e 34 33  bc: 10 10 (-5.43
cf20: 30 30 30 30 30 30 30 30 65 2d 30 33 29 20 3a 78  00000000e-03) :x
cf30: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
cf40: 74 66 2d 32 2e 33 2e 37 2e 39 20 7b 0a 20 20 73  tf-2.3.7.9 {.  s
cf50: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
cf60: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
cf70: 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a  d (%10.10g) :xyz
cf80: 7d 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34 33  } 10 10 -0.00543
cf90: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
cfa0: 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a    -0.00543) :xyz
cfb0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
cfc0: 2d 32 2e 33 2e 38 2e 31 20 7b 0a 20 20 73 71 6c  -2.3.8.1 {.  sql
cfd0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
cfe0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
cff0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31  ) :xyz} 10 10 -1
d000: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  .0.} {abc: (-1.0
d010: 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
d020: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d030: 32 2e 33 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69  2.3.8.2 {.  sqli
d040: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
d050: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
d060: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e   :xyz} 10 10 -1.
d070: 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30  0.} {abc: (-1.00
d080: 30 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78  00000000e+00) :x
d090: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
d0a0: 74 66 2d 32 2e 33 2e 38 2e 33 20 7b 0a 20 20 73  tf-2.3.8.3 {.  s
d0b0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d0c0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
d0d0: 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *g) :xyz} 10 10 
d0e0: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20  -1.0.} {abc: (  
d0f0: 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a 7d 0a        -1) :xyz}.
d100: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
d110: 2e 33 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .3.8.4 {.  sqlit
d120: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
d130: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
d140: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
d150: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  1.0.} {abc: 10 1
d160: 30 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0 (-1) :xyz}.do_
d170: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
d180: 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.5 {.  sqlite3_
d190: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
d1a0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
d1b0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e   :xyz} 10 10 -1.
d1c0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
d1d0: 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d  (-1.00000) :xyz}
d1e0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d1f0: 32 2e 33 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69  2.3.8.6 {.  sqli
d200: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
d210: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
d220: 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  %010g) :xyz} 10 
d230: 31 30 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  10 -1.0.} {abc: 
d240: 31 30 20 31 30 20 28 2d 30 30 30 30 30 30 30 30  10 10 (-00000000
d250: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
d260: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 37 20   printf-2.3.8.7 
d270: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
d280: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
d290: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66 29   %d %d (%10.10f)
d2a0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e   :xyz} 10 10 -1.
d2b0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
d2c0: 28 2d 31 2e 30 30 30 30 30 30 30 30 30 30 29 20  (-1.0000000000) 
d2d0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
d2e0: 69 6e 74 66 2d 32 2e 33 2e 38 2e 38 20 7b 0a 20  intf-2.3.8.8 {. 
d2f0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
d300: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
d310: 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78   %d (%10.10e) :x
d320: 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a 7d  yz} 10 10 -1.0.}
d330: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 31   {abc: 10 10 (-1
d340: 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30 30 29  .0000000000e+00)
d350: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
d360: 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 39 20 7b 0a  rintf-2.3.8.9 {.
d370: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
d380: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
d390: 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a  d %d (%10.10g) :
d3a0: 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a  xyz} 10 10 -1.0.
d3b0: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 20  } {abc: 10 10 ( 
d3c0: 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a 7d         -1) :xyz}
d3d0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d3e0: 32 2e 33 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69  2.3.9.1 {.  sqli
d3f0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
d400: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
d410: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39   :xyz} 10 10 -99
d420: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
d430: 2d 39 39 2e 39 39 39 39 39 30 30 30 30 30 29 20  -99.9999900000) 
d440: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
d450: 69 6e 74 66 2d 32 2e 33 2e 39 2e 32 20 7b 0a 20  intf-2.3.9.2 {. 
d460: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
d470: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
d480: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*e) :xyz} 10 1
d490: 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  0 -99.99999.} {a
d4a0: 62 63 3a 20 28 2d 39 2e 39 39 39 39 39 39 30 30  bc: (-9.99999900
d4b0: 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  00e+01) :xyz}.do
d4c0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
d4d0: 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.3 {.  sqlite3
d4e0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d4f0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
d500: 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e 39 39  yz} 10 10 -99.99
d510: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 2d 39  999.} {abc: ( -9
d520: 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
d530: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
d540: 33 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  3.9.4 {.  sqlite
d550: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
d560: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
d570: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39  ) :xyz} 10 10 -9
d580: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
d590: 31 30 20 31 30 20 28 2d 31 30 30 29 20 3a 78 79  10 10 (-100) :xy
d5a0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d5b0: 66 2d 32 2e 33 2e 39 2e 35 20 7b 0a 20 20 73 71  f-2.3.9.5 {.  sq
d5c0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d5d0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
d5e0: 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20   (%#g) :xyz} 10 
d5f0: 31 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b  10 -99.99999.} {
d600: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 31 30 30  abc: 10 10 (-100
d610: 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
d620: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39  est printf-2.3.9
d630: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
d640: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
d650: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
d660: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39  ) :xyz} 10 10 -9
d670: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
d680: 31 30 20 31 30 20 28 2d 30 30 30 30 30 30 31 30  10 10 (-00000010
d690: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
d6a0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e 37 20   printf-2.3.9.7 
d6b0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
d6c0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
d6d0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66 29   %d %d (%10.10f)
d6e0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39   :xyz} 10 10 -99
d6f0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
d700: 30 20 31 30 20 28 2d 39 39 2e 39 39 39 39 39 30  0 10 (-99.999990
d710: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
d720: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39  est printf-2.3.9
d730: 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
d740: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
d750: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
d760: 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0e) :xyz} 10 10 
d770: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
d780: 3a 20 31 30 20 31 30 20 28 2d 39 2e 39 39 39 39  : 10 10 (-9.9999
d790: 39 39 30 30 30 30 65 2b 30 31 29 20 3a 78 79 7a  990000e+01) :xyz
d7a0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d7b0: 2d 32 2e 33 2e 39 2e 39 20 7b 0a 20 20 73 71 6c  -2.3.9.9 {.  sql
d7c0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
d7d0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
d7e0: 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20  (%10.10g) :xyz} 
d7f0: 31 30 20 31 30 20 2d 39 39 2e 39 39 39 39 39 0a  10 10 -99.99999.
d800: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 20  } {abc: 10 10 ( 
d810: 2d 39 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  -99.99999) :xyz}
d820: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d830: 32 2e 33 2e 31 30 2e 31 20 7b 0a 20 20 73 71 6c  2.3.10.1 {.  sql
d840: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
d850: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
d860: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e  ) :xyz} 10 10 3.
d870: 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33  14e+9.} {abc: (3
d880: 31 34 30 30 30 30 30 30 30 2e 30 30 30 30 30 30  140000000.000000
d890: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
d8a0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
d8b0: 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.2 {.  sqlite3_
d8c0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
d8d0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
d8e0: 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65 2b 39  z} 10 10 3.14e+9
d8f0: 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30  .} {abc: (3.1400
d900: 30 30 30 30 30 30 65 2b 30 39 29 20 3a 78 79 7a  000000e+09) :xyz
d910: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d920: 2d 32 2e 33 2e 31 30 2e 33 20 7b 0a 20 20 73 71  -2.3.10.3 {.  sq
d930: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d940: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
d950: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  g) :xyz} 10 10 3
d960: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
d970: 33 31 34 30 30 30 30 30 30 30 29 20 3a 78 79 7a  3140000000) :xyz
d980: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d990: 2d 32 2e 33 2e 31 30 2e 34 20 7b 0a 20 20 73 71  -2.3.10.4 {.  sq
d9a0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d9b0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
d9c0: 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31   (%g) :xyz} 10 1
d9d0: 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  0 3.14e+9.} {abc
d9e0: 3a 20 31 30 20 31 30 20 28 33 2e 31 34 65 2b 30  : 10 10 (3.14e+0
d9f0: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
da00: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30 2e 35   printf-2.3.10.5
da10: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
da20: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
da30: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
da40: 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65 2b  yz} 10 10 3.14e+
da50: 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  9.} {abc: 10 10 
da60: 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20 3a 78  (3.14000e+09) :x
da70: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
da80: 74 66 2d 32 2e 33 2e 31 30 2e 36 20 7b 0a 20 20  tf-2.3.10.6 {.  
da90: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
daa0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
dab0: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
dac0: 20 31 30 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d   10 10 3.14e+9.}
dad0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30 30   {abc: 10 10 (00
dae0: 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
daf0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
db00: 2e 33 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69  .3.10.7 {.  sqli
db10: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
db20: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
db30: 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31  %10.10f) :xyz} 1
db40: 30 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b  0 10 3.14e+9.} {
db50: 61 62 63 3a 20 31 30 20 31 30 20 28 33 31 34 30  abc: 10 10 (3140
db60: 30 30 30 30 30 30 2e 30 30 30 30 30 30 30 30 30  000000.000000000
db70: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
db80: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30 2e 38   printf-2.3.10.8
db90: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
dba0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
dbb0: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65  : %d %d (%10.10e
dbc0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e  ) :xyz} 10 10 3.
dbd0: 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30  14e+9.} {abc: 10
dbe0: 20 31 30 20 28 33 2e 31 34 30 30 30 30 30 30 30   10 (3.140000000
dbf0: 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+09) :xyz}.do_
dc00: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
dc10: 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.9 {.  sqlite3
dc20: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
dc30: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
dc40: 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10g) :xyz} 10 1
dc50: 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  0 3.14e+9.} {abc
dc60: 3a 20 31 30 20 31 30 20 28 33 31 34 30 30 30 30  : 10 10 (3140000
dc70: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
dc80: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31  st printf-2.3.11
dc90: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
dca0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
dcb0: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
dcc0: 7d 20 31 30 20 31 30 20 2d 34 2e 37 32 37 33 32  } 10 10 -4.72732
dcd0: 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
dce0: 2e 37 32 37 33 32 30 30 30 30 30 65 2b 38 38 29  .7273200000e+88)
dcf0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
dd00: 72 69 6e 74 66 2d 32 2e 33 2e 31 31 2e 33 20 7b  rintf-2.3.11.3 {
dd10: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
dd20: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
dd30: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30  (%*.*g) :xyz} 10
dd40: 20 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38   10 -4.72732e+88
dd50: 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37  .} {abc: (-4.727
dd60: 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  32e+88) :xyz}.do
dd70: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
dd80: 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .11.4 {.  sqlite
dd90: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
dda0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
ddb0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 34  ) :xyz} 10 10 -4
ddc0: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
ddd0: 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37 32 37  c: 10 10 (-4.727
dde0: 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  32e+88) :xyz}.do
ddf0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
de00: 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .11.5 {.  sqlite
de10: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
de20: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
de30: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
de40: 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
de50: 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37 32  bc: 10 10 (-4.72
de60: 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
de70: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
de80: 33 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74  3.11.6 {.  sqlit
de90: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
dea0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
deb0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  010g) :xyz} 10 1
dec0: 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  0 -4.72732e+88.}
ded0: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 34   {abc: 10 10 (-4
dee0: 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a  .72732e+88) :xyz
def0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
df00: 2d 32 2e 33 2e 31 31 2e 38 20 7b 0a 20 20 73 71  -2.3.11.8 {.  sq
df10: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
df20: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
df30: 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d   (%10.10e) :xyz}
df40: 20 31 30 20 31 30 20 2d 34 2e 37 32 37 33 32 65   10 10 -4.72732e
df50: 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  +88.} {abc: 10 1
df60: 30 20 28 2d 34 2e 37 32 37 33 32 30 30 30 30 30  0 (-4.7273200000
df70: 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
df80: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
df90: 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.9 {.  sqlite3_
dfa0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
dfb0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
dfc0: 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10g) :xyz} 10 10
dfd0: 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
dfe0: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e  {abc: 10 10 (-4.
dff0: 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d  72732e+88) :xyz}
e000: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
e010: 32 2e 33 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c  2.3.12.2 {.  sql
e020: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
e030: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
e040: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e  ) :xyz} 10 10 9.
e050: 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
e060: 63 3a 20 28 39 2e 38 37 39 39 31 30 30 30 30 30  c: (9.8799100000
e070: 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
e080: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
e090: 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.3 {.  sqlite3
e0a0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
e0b0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
e0c0: 79 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39  yz} 10 10 9.8799
e0d0: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28  1e+143.} {abc: (
e0e0: 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78  9.87991e+143) :x
e0f0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e100: 74 66 2d 32 2e 33 2e 31 32 2e 34 20 7b 0a 20 20  tf-2.3.12.4 {.  
e110: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e120: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e130: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
e140: 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31 34 33   10 9.87991e+143
e150: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
e160: 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78  9.87991e+143) :x
e170: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e180: 74 66 2d 32 2e 33 2e 31 32 2e 35 20 7b 0a 20 20  tf-2.3.12.5 {.  
e190: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e1a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e1b0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
e1c0: 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31 34  0 10 9.87991e+14
e1d0: 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  3.} {abc: 10 10 
e1e0: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
e1f0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
e200: 6e 74 66 2d 32 2e 33 2e 31 32 2e 36 20 7b 0a 20  ntf-2.3.12.6 {. 
e210: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
e220: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
e230: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
e240: 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39 31 65  } 10 10 9.87991e
e250: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20  +143.} {abc: 10 
e260: 31 30 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33  10 (9.87991e+143
e270: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e280: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 32 2e 38 20  printf-2.3.12.8 
e290: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e2a0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e2b0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29   %d %d (%10.10e)
e2c0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 38   :xyz} 10 10 9.8
e2d0: 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
e2e0: 3a 20 31 30 20 31 30 20 28 39 2e 38 37 39 39 31  : 10 10 (9.87991
e2f0: 30 30 30 30 30 65 2b 31 34 33 29 20 3a 78 79 7a  00000e+143) :xyz
e300: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
e310: 2d 32 2e 33 2e 31 32 2e 39 20 7b 0a 20 20 73 71  -2.3.12.9 {.  sq
e320: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
e330: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
e340: 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d   (%10.10g) :xyz}
e350: 20 31 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b   10 10 9.87991e+
e360: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  143.} {abc: 10 1
e370: 30 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  0 (9.87991e+143)
e380: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e390: 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 31 20 7b  rintf-2.3.13.1 {
e3a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e3b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e3c0: 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30  (%*.*f) :xyz} 10
e3d0: 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39   10 -6.287291e-9
e3e0: 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30  .} {abc: (-0.000
e3f0: 30 30 30 30 30 36 33 29 20 3a 78 79 7a 7d 0a 64  0000063) :xyz}.d
e400: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
e410: 33 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74  3.13.2 {.  sqlit
e420: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
e430: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
e440: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32  :xyz} 10 10 -6.2
e450: 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
e460: 20 28 2d 36 2e 32 38 37 32 39 31 30 30 30 30 65   (-6.2872910000e
e470: 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
e480: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33  st printf-2.3.13
e490: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
e4a0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
e4b0: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
e4c0: 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32 39  } 10 10 -6.28729
e4d0: 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36  1e-9.} {abc: (-6
e4e0: 2e 32 38 37 32 39 31 65 2d 30 39 29 20 3a 78 79  .287291e-09) :xy
e4f0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
e500: 66 2d 32 2e 33 2e 31 33 2e 34 20 7b 0a 20 20 73  f-2.3.13.4 {.  s
e510: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
e520: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
e530: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
e540: 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a  10 -6.287291e-9.
e550: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d  } {abc: 10 10 (-
e560: 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
e570: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
e580: 66 2d 32 2e 33 2e 31 33 2e 35 20 7b 0a 20 20 73  f-2.3.13.5 {.  s
e590: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
e5a0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
e5b0: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
e5c0: 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39   10 -6.287291e-9
e5d0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
e5e0: 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
e5f0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e600: 74 66 2d 32 2e 33 2e 31 33 2e 36 20 7b 0a 20 20  tf-2.3.13.6 {.  
e610: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e620: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e630: 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
e640: 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31   10 10 -6.287291
e650: 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  e-9.} {abc: 10 1
e660: 30 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29  0 (-6.28729e-09)
e670: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e680: 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 37 20 7b  rintf-2.3.13.7 {
e690: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e6a0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e6b0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 66 29 20  %d %d (%10.10f) 
e6c0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32  :xyz} 10 10 -6.2
e6d0: 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
e6e0: 20 31 30 20 31 30 20 28 2d 30 2e 30 30 30 30 30   10 10 (-0.00000
e6f0: 30 30 30 36 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00063) :xyz}.do_
e700: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
e710: 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.8 {.  sqlite3
e720: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
e730: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
e740: 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10e) :xyz} 10 1
e750: 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  0 -6.287291e-9.}
e760: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 36   {abc: 10 10 (-6
e770: 2e 32 38 37 32 39 31 30 30 30 30 65 2d 30 39 29  .2872910000e-09)
e780: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e790: 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 39 20 7b  rintf-2.3.13.9 {
e7a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e7b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e7c0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20  %d %d (%10.10g) 
e7d0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32  :xyz} 10 10 -6.2
e7e0: 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
e7f0: 20 31 30 20 31 30 20 28 2d 36 2e 32 38 37 32 39   10 10 (-6.28729
e800: 31 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e-09) :xyz}.do_
e810: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
e820: 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.1 {.  sqlite3
e830: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
e840: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
e850: 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38 32  yz} 10 10 3.3882
e860: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
e870: 3a 20 28 30 2e 30 30 30 30 30 30 30 30 30 30 29  : (0.0000000000)
e880: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e890: 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 32 20 7b  rintf-2.3.14.2 {
e8a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e8b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e8c0: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
e8d0: 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d   10 3.38826392e-
e8e0: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33  110.} {abc: (3.3
e8f0: 38 38 32 36 33 39 32 30 30 65 2d 31 31 30 29 20  882639200e-110) 
e900: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
e910: 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 33 20 7b 0a  intf-2.3.14.3 {.
e920: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
e930: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
e940: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*g) :xyz} 10 
e950: 31 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31  10 3.38826392e-1
e960: 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38  10.} {abc: (3.38
e970: 38 32 36 33 39 32 65 2d 31 31 30 29 20 3a 78 79  826392e-110) :xy
e980: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
e990: 66 2d 32 2e 33 2e 31 34 2e 34 20 7b 0a 20 20 73  f-2.3.14.4 {.  s
e9a0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
e9b0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
e9c0: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
e9d0: 31 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31  10 3.38826392e-1
e9e0: 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  10.} {abc: 10 10
e9f0: 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20   (3.38826e-110) 
ea00: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
ea10: 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 35 20 7b 0a  intf-2.3.14.5 {.
ea20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
ea30: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
ea40: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
ea50: 20 31 30 20 31 30 20 33 2e 33 38 38 32 36 33 39   10 10 3.3882639
ea60: 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31  2e-110.} {abc: 1
ea70: 30 20 31 30 20 28 33 2e 33 38 38 32 36 65 2d 31  0 10 (3.38826e-1
ea80: 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
ea90: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e  t printf-2.3.14.
eaa0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
eab0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
eac0: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
ead0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 33   :xyz} 10 10 3.3
eae0: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
eaf0: 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e 33 38  abc: 10 10 (3.38
eb00: 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
eb10: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
eb20: 2e 33 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69  .3.14.7 {.  sqli
eb30: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
eb40: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
eb50: 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31  %10.10f) :xyz} 1
eb60: 30 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65  0 10 3.38826392e
eb70: 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -110.} {abc: 10 
eb80: 31 30 20 28 30 2e 30 30 30 30 30 30 30 30 30 30  10 (0.0000000000
eb90: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
eba0: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 38 20  printf-2.3.14.8 
ebb0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ebc0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ebd0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65 29   %d %d (%10.10e)
ebe0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 33   :xyz} 10 10 3.3
ebf0: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
ec00: 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e 33 38  abc: 10 10 (3.38
ec10: 38 32 36 33 39 32 30 30 65 2d 31 31 30 29 20 3a  82639200e-110) :
ec20: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
ec30: 6e 74 66 2d 32 2e 33 2e 31 34 2e 39 20 7b 0a 20  ntf-2.3.14.9 {. 
ec40: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ec50: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ec60: 20 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78   %d (%10.10g) :x
ec70: 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38 32  yz} 10 10 3.3882
ec80: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
ec90: 3a 20 31 30 20 31 30 20 28 33 2e 33 38 38 32 36  : 10 10 (3.38826
eca0: 33 39 32 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  392e-110) :xyz}.
ecb0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ecc0: 2e 34 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .4.1.1 {.  sqlit
ecd0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ece0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
ecf0: 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30 31  :xyz} 10 5 0.001
ed00: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 30 2e 30  .} {abc: (   0.0
ed10: 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0100) :xyz}.do_t
ed20: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
ed30: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
ed40: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
ed50: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
ed60: 7d 20 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b  } 10 5 0.001.} {
ed70: 61 62 63 3a 20 28 31 2e 30 30 30 30 30 65 2d 30  abc: (1.00000e-0
ed80: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
ed90: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 33 20   printf-2.4.1.3 
eda0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
edb0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
edc0: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
edd0: 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  0 5 0.001.} {abc
ede0: 3a 20 28 20 20 20 20 20 30 2e 30 30 31 29 20 3a  : (     0.001) :
edf0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
ee00: 6e 74 66 2d 32 2e 34 2e 31 2e 34 20 7b 0a 20 20  ntf-2.4.1.4 {.  
ee10: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
ee20: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
ee30: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
ee40: 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   5 0.001.} {abc:
ee50: 20 31 30 20 35 20 28 30 2e 30 30 31 29 20 3a 78   10 5 (0.001) :x
ee60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
ee70: 74 66 2d 32 2e 34 2e 31 2e 35 20 7b 0a 20 20 73  tf-2.4.1.5 {.  s
ee80: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
ee90: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
eea0: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
eeb0: 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   5 0.001.} {abc:
eec0: 20 31 30 20 35 20 28 30 2e 30 30 31 30 30 30 30   10 5 (0.0010000
eed0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
eee0: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 36 20   printf-2.4.1.6 
eef0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ef00: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ef10: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
ef20: 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30 31 0a  xyz} 10 5 0.001.
ef30: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 30  } {abc: 10 5 (00
ef40: 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  0000.001) :xyz}.
ef50: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ef60: 2e 34 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .4.1.7 {.  sqlit
ef70: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ef80: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
ef90: 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20  10.5f) :xyz} 10 
efa0: 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  5 0.001.} {abc: 
efb0: 31 30 20 35 20 28 20 20 20 30 2e 30 30 31 30 30  10 5 (   0.00100
efc0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
efd0: 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 38 20 7b  printf-2.4.1.8 {
efe0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
eff0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
f000: 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a  %d %d (%10.5e) :
f010: 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30 31 0a  xyz} 10 5 0.001.
f020: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e  } {abc: 10 5 (1.
f030: 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d  00000e-03) :xyz}
f040: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f050: 32 2e 34 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69  2.4.1.9 {.  sqli
f060: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f070: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
f080: 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30  %10.5g) :xyz} 10
f090: 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   5 0.001.} {abc:
f0a0: 20 31 30 20 35 20 28 20 20 20 20 20 30 2e 30 30   10 5 (     0.00
f0b0: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
f0c0: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 31 20   printf-2.4.2.1 
f0d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
f0e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
f0f0: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
f100: 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  0 5 1.0e-20.} {a
f110: 62 63 3a 20 28 20 20 20 30 2e 30 30 30 30 30 29  bc: (   0.00000)
f120: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f130: 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 32 20 7b 0a  rintf-2.4.2.2 {.
f140: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f150: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
f160: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
f170: 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  5 1.0e-20.} {abc
f180: 3a 20 28 31 2e 30 30 30 30 30 65 2d 32 30 29 20  : (1.00000e-20) 
f190: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f1a0: 69 6e 74 66 2d 32 2e 34 2e 32 2e 33 20 7b 0a 20  intf-2.4.2.3 {. 
f1b0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f1c0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
f1d0: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*g) :xyz} 10 5
f1e0: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
f1f0: 20 28 20 20 20 20 20 31 65 2d 32 30 29 20 3a 78   (     1e-20) :x
f200: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
f210: 74 66 2d 32 2e 34 2e 32 2e 34 20 7b 0a 20 20 73  tf-2.4.2.4 {.  s
f220: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
f230: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
f240: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
f250: 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  5 1.0e-20.} {abc
f260: 3a 20 31 30 20 35 20 28 31 65 2d 32 30 29 20 3a  : 10 5 (1e-20) :
f270: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f280: 6e 74 66 2d 32 2e 34 2e 32 2e 35 20 7b 0a 20 20  ntf-2.4.2.5 {.  
f290: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f2a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
f2b0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
f2c0: 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  0 5 1.0e-20.} {a
f2d0: 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30 30  bc: 10 5 (1.0000
f2e0: 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-20) :xyz}.do_
f2f0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
f300: 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.6 {.  sqlite3_
f310: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
f320: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
f330: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e  g) :xyz} 10 5 1.
f340: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0e-20.} {abc: 10
f350: 20 35 20 28 30 30 30 30 30 31 65 2d 32 30 29 20   5 (000001e-20) 
f360: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f370: 69 6e 74 66 2d 32 2e 34 2e 32 2e 37 20 7b 0a 20  intf-2.4.2.7 {. 
f380: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f390: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
f3a0: 20 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79   %d (%10.5f) :xy
f3b0: 7a 7d 20 31 30 20 35 20 31 2e 30 65 2d 32 30 0a  z} 10 5 1.0e-20.
f3c0: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20  } {abc: 10 5 (  
f3d0: 20 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a   0.00000) :xyz}.
f3e0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
f3f0: 2e 34 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .4.2.8 {.  sqlit
f400: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
f410: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
f420: 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20  10.5e) :xyz} 10 
f430: 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  5 1.0e-20.} {abc
f440: 3a 20 31 30 20 35 20 28 31 2e 30 30 30 30 30 65  : 10 5 (1.00000e
f450: 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
f460: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e  st printf-2.4.2.
f470: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
f480: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
f490: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67  c: %d %d (%10.5g
f4a0: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30  ) :xyz} 10 5 1.0
f4b0: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e-20.} {abc: 10 
f4c0: 35 20 28 20 20 20 20 20 31 65 2d 32 30 29 20 3a  5 (     1e-20) :
f4d0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f4e0: 6e 74 66 2d 32 2e 34 2e 33 2e 31 20 7b 0a 20 20  ntf-2.4.3.1 {.  
f4f0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f500: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
f510: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*f) :xyz} 10 5 
f520: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  1.0.} {abc: (   
f530: 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  1.00000) :xyz}.d
f540: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f550: 34 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  4.3.2 {.  sqlite
f560: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f570: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
f580: 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a 7d 20  xyz} 10 5 1.0.} 
f590: 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 65 2b  {abc: (1.00000e+
f5a0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
f5b0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 33  t printf-2.4.3.3
f5c0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
f5d0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f5e0: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
f5f0: 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a  10 5 1.0.} {abc:
f600: 20 28 20 20 20 20 20 20 20 20 20 31 29 20 3a 78   (         1) :x
f610: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
f620: 74 66 2d 32 2e 34 2e 33 2e 34 20 7b 0a 20 20 73  tf-2.4.3.4 {.  s
f630: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
f640: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
f650: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
f660: 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  5 1.0.} {abc: 10
f670: 20 35 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f   5 (1) :xyz}.do_
f680: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
f690: 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.5 {.  sqlite3_
f6a0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
f6b0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
f6c0: 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a   :xyz} 10 5 1.0.
f6d0: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e  } {abc: 10 5 (1.
f6e0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
f6f0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
f700: 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.6 {.  sqlite3_
f710: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
f720: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
f730: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e  g) :xyz} 10 5 1.
f740: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
f750: 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a  0000000001) :xyz
f760: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
f770: 2d 32 2e 34 2e 33 2e 37 20 7b 0a 20 20 73 71 6c  -2.4.3.7 {.  sql
f780: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
f790: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
f7a0: 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
f7b0: 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 5 1.0.} {abc: 
f7c0: 31 30 20 35 20 28 20 20 20 31 2e 30 30 30 30 30  10 5 (   1.00000
f7d0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
f7e0: 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 38 20 7b  printf-2.4.3.8 {
f7f0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
f800: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
f810: 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a  %d %d (%10.5e) :
f820: 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a 7d 20  xyz} 10 5 1.0.} 
f830: 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30  {abc: 10 5 (1.00
f840: 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
f850: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f860: 34 2e 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  4.3.9 {.  sqlite
f870: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f880: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
f890: 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5g) :xyz} 10 5
f8a0: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   1.0.} {abc: 10 
f8b0: 35 20 28 20 20 20 20 20 20 20 20 20 31 29 20 3a  5 (         1) :
f8c0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f8d0: 6e 74 66 2d 32 2e 34 2e 34 2e 31 20 7b 0a 20 20  ntf-2.4.4.1 {.  
f8e0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f8f0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
f900: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*f) :xyz} 10 5 
f910: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  0.0.} {abc: (   
f920: 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
f930: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
f940: 34 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  4.4.2 {.  sqlite
f950: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
f960: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
f970: 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a 7d 20  xyz} 10 5 0.0.} 
f980: 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30 65 2b  {abc: (0.00000e+
f990: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
f9a0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 33  t printf-2.4.4.3
f9b0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
f9c0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
f9d0: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
f9e0: 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a  10 5 0.0.} {abc:
f9f0: 20 28 20 20 20 20 20 20 20 20 20 30 29 20 3a 78   (         0) :x
fa00: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
fa10: 74 66 2d 32 2e 34 2e 34 2e 34 20 7b 0a 20 20 73  tf-2.4.4.4 {.  s
fa20: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
fa30: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
fa40: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
fa50: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  5 0.0.} {abc: 10
fa60: 20 35 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   5 (0) :xyz}.do_
fa70: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
fa80: 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.5 {.  sqlite3_
fa90: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
faa0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
fab0: 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a   :xyz} 10 5 0.0.
fac0: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 2e  } {abc: 10 5 (0.
fad0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
fae0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
faf0: 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.6 {.  sqlite3_
fb00: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
fb10: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
fb20: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e  g) :xyz} 10 5 0.
fb30: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
fb40: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
fb50: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
fb60: 2d 32 2e 34 2e 34 2e 37 20 7b 0a 20 20 73 71 6c  -2.4.4.7 {.  sql
fb70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
fb80: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
fb90: 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
fba0: 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 5 0.0.} {abc: 
fbb0: 31 30 20 35 20 28 20 20 20 30 2e 30 30 30 30 30  10 5 (   0.00000
fbc0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
fbd0: 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 38 20 7b  printf-2.4.4.8 {
fbe0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
fbf0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
fc00: 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a  %d %d (%10.5e) :
fc10: 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a 7d 20  xyz} 10 5 0.0.} 
fc20: 7b 61 62 63 3a 20 31 30 20 35 20 28 30 2e 30 30  {abc: 10 5 (0.00
fc30: 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
fc40: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
fc50: 34 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  4.4.9 {.  sqlite
fc60: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
fc70: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
fc80: 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5g) :xyz} 10 5
fc90: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   0.0.} {abc: 10 
fca0: 35 20 28 20 20 20 20 20 20 20 20 20 30 29 20 3a  5 (         0) :
fcb0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
fcc0: 6e 74 66 2d 32 2e 34 2e 35 2e 31 20 7b 0a 20 20  ntf-2.4.5.1 {.  
fcd0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
fce0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
fcf0: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*f) :xyz} 10 5 
fd00: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  100.0.} {abc: ( 
fd10: 31 30 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d  100.00000) :xyz}
fd20: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
fd30: 32 2e 34 2e 35 2e 32 20 7b 0a 20 20 73 71 6c 69  2.4.5.2 {.  sqli
fd40: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
fd50: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
fd60: 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e   :xyz} 10 5 100.
fd70: 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  0.} {abc: (1.000
fd80: 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
fd90: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
fda0: 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.3 {.  sqlite3
fdb0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
fdc0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
fdd0: 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d  yz} 10 5 100.0.}
fde0: 20 7b 61 62 63 3a 20 28 20 20 20 20 20 20 20 31   {abc: (       1
fdf0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
fe00: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 34  t printf-2.4.5.4
fe10: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
fe20: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
fe30: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
fe40: 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20  z} 10 5 100.0.} 
fe50: 7b 61 62 63 3a 20 31 30 20 35 20 28 31 30 30 29  {abc: 10 5 (100)
fe60: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
fe70: 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 35 20 7b 0a  rintf-2.4.5.5 {.
fe80: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
fe90: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
fea0: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
feb0: 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61   10 5 100.0.} {a
fec0: 62 63 3a 20 31 30 20 35 20 28 31 30 30 2e 30 30  bc: 10 5 (100.00
fed0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
fee0: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 36 20   printf-2.4.5.6 
fef0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ff00: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ff10: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
ff20: 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a  xyz} 10 5 100.0.
ff30: 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 30  } {abc: 10 5 (00
ff40: 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a  00000100) :xyz}.
ff50: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ff60: 2e 34 2e 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .4.5.7 {.  sqlit
ff70: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ff80: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
ff90: 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20  10.5f) :xyz} 10 
ffa0: 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 100.0.} {abc: 
ffb0: 31 30 20 35 20 28 20 31 30 30 2e 30 30 30 30 30  10 5 ( 100.00000
ffc0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
ffd0: 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 38 20 7b  printf-2.4.5.8 {
ffe0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
fff0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
10000 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a  %d %d (%10.5e) :
10010 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a  xyz} 10 5 100.0.
10020 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e  } {abc: 10 5 (1.
10030 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d  00000e+02) :xyz}
10040 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
10050 32 2e 34 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69  2.4.5.9 {.  sqli
10060 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
10070 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
10080 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30  %10.5g) :xyz} 10
10090 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   5 100.0.} {abc:
100a0 20 31 30 20 35 20 28 20 20 20 20 20 20 20 31 30   10 5 (       10
100b0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
100c0 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 31 20   printf-2.4.6.1 
100d0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
100e0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
100f0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
10100 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  0 5 9.99999.} {a
10110 62 63 3a 20 28 20 20 20 39 2e 39 39 39 39 39 29  bc: (   9.99999)
10120 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10130 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 32 20 7b 0a  rintf-2.4.6.2 {.
10140 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
10150 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
10160 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
10170 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  5 9.99999.} {abc
10180 3a 20 28 39 2e 39 39 39 39 39 65 2b 30 30 29 20  : (9.99999e+00) 
10190 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
101a0 69 6e 74 66 2d 32 2e 34 2e 36 2e 33 20 7b 0a 20  intf-2.4.6.3 {. 
101b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
101c0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
101d0 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*g) :xyz} 10 5
101e0 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
101f0 20 28 20 20 20 20 20 20 20 20 31 30 29 20 3a 78   (        10) :x
10200 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10210 74 66 2d 32 2e 34 2e 36 2e 34 20 7b 0a 20 20 73  tf-2.4.6.4 {.  s
10220 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10230 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
10240 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
10250 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  5 9.99999.} {abc
10260 3a 20 31 30 20 35 20 28 39 2e 39 39 39 39 39 29  : 10 5 (9.99999)
10270 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10280 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 35 20 7b 0a  rintf-2.4.6.5 {.
10290 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
102a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
102b0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
102c0 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20   10 5 9.99999.} 
102d0 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 39 39  {abc: 10 5 (9.99
102e0 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  999) :xyz}.do_te
102f0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e  st printf-2.4.6.
10300 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
10310 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10320 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
10330 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 39 39   :xyz} 10 5 9.99
10340 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  999.} {abc: 10 5
10350 20 28 30 30 30 39 2e 39 39 39 39 39 29 20 3a 78   (0009.99999) :x
10360 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10370 74 66 2d 32 2e 34 2e 36 2e 37 20 7b 0a 20 20 73  tf-2.4.6.7 {.  s
10380 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10390 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
103a0 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d  d (%10.5f) :xyz}
103b0 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20   10 5 9.99999.} 
103c0 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20 20 39  {abc: 10 5 (   9
103d0 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
103e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
103f0 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.8 {.  sqlite3
10400 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10410 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
10420 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .5e) :xyz} 10 5 
10430 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
10440 31 30 20 35 20 28 39 2e 39 39 39 39 39 65 2b 30  10 5 (9.99999e+0
10450 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
10460 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 39 20   printf-2.4.6.9 
10470 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
10480 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
10490 20 25 64 20 25 64 20 28 25 31 30 2e 35 67 29 20   %d %d (%10.5g) 
104a0 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 39 39 39  :xyz} 10 5 9.999
104b0 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  99.} {abc: 10 5 
104c0 28 20 20 20 20 20 20 20 20 31 30 29 20 3a 78 79  (        10) :xy
104d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
104e0 66 2d 32 2e 34 2e 37 2e 31 20 7b 0a 20 20 73 71  f-2.4.7.1 {.  sq
104f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
10500 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
10510 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30  f) :xyz} 10 5 -0
10520 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
10530 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a    -0.00543) :xyz
10540 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10550 2d 32 2e 34 2e 37 2e 32 20 7b 0a 20 20 73 71 6c  -2.4.7.2 {.  sql
10560 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10570 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
10580 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e  ) :xyz} 10 5 -0.
10590 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d  00543.} {abc: (-
105a0 35 2e 34 33 30 30 30 65 2d 30 33 29 20 3a 78 79  5.43000e-03) :xy
105b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
105c0 66 2d 32 2e 34 2e 37 2e 33 20 7b 0a 20 20 73 71  f-2.4.7.3 {.  sq
105d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
105e0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
105f0 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30  g) :xyz} 10 5 -0
10600 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
10610 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a    -0.00543) :xyz
10620 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10630 2d 32 2e 34 2e 37 2e 34 20 7b 0a 20 20 73 71 6c  -2.4.7.4 {.  sql
10640 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
10650 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
10660 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  (%g) :xyz} 10 5 
10670 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
10680 20 31 30 20 35 20 28 2d 30 2e 30 30 35 34 33 29   10 5 (-0.00543)
10690 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
106a0 72 69 6e 74 66 2d 32 2e 34 2e 37 2e 35 20 7b 0a  rintf-2.4.7.5 {.
106b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
106c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
106d0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
106e0 20 31 30 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d   10 5 -0.00543.}
106f0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 30 2e   {abc: 10 5 (-0.
10700 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a  00543000) :xyz}.
10710 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
10720 2e 34 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .4.7.6 {.  sqlit
10730 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10740 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10750 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  010g) :xyz} 10 5
10760 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
10770 3a 20 31 30 20 35 20 28 2d 30 30 30 2e 30 30 35  : 10 5 (-000.005
10780 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
10790 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 37 2e 37  t printf-2.4.7.7
107a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
107b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
107c0 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 66 29  : %d %d (%10.5f)
107d0 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e 30   :xyz} 10 5 -0.0
107e0 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20  0543.} {abc: 10 
107f0 35 20 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a  5 (  -0.00543) :
10800 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
10810 6e 74 66 2d 32 2e 34 2e 37 2e 38 20 7b 0a 20 20  ntf-2.4.7.8 {.  
10820 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10830 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
10840 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
10850 7d 20 31 30 20 35 20 2d 30 2e 30 30 35 34 33 0a  } 10 5 -0.00543.
10860 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 35  } {abc: 10 5 (-5
10870 2e 34 33 30 30 30 65 2d 30 33 29 20 3a 78 79 7a  .43000e-03) :xyz
10880 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
10890 2d 32 2e 34 2e 37 2e 39 20 7b 0a 20 20 73 71 6c  -2.4.7.9 {.  sql
108a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
108b0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
108c0 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31  (%10.5g) :xyz} 1
108d0 30 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  0 5 -0.00543.} {
108e0 61 62 63 3a 20 31 30 20 35 20 28 20 20 2d 30 2e  abc: 10 5 (  -0.
108f0 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
10900 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10910 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.1 {.  sqlite3_
10920 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10930 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
10940 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b  z} 10 5 -1.0.} {
10950 61 62 63 3a 20 28 20 20 2d 31 2e 30 30 30 30 30  abc: (  -1.00000
10960 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
10970 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 32 20 7b  printf-2.4.8.2 {
10980 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
10990 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
109a0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
109b0 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   5 -1.0.} {abc: 
109c0 28 2d 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a  (-1.00000e+00) :
109d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
109e0 6e 74 66 2d 32 2e 34 2e 38 2e 33 20 7b 0a 20 20  ntf-2.4.8.3 {.  
109f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10a00 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
10a10 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  .*g) :xyz} 10 5 
10a20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20  -1.0.} {abc: (  
10a30 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a 7d 0a        -1) :xyz}.
10a40 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
10a50 2e 34 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .4.8.4 {.  sqlit
10a60 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10a70 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10a80 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31  g) :xyz} 10 5 -1
10a90 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
10aa0 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  (-1) :xyz}.do_te
10ab0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e  st printf-2.4.8.
10ac0 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
10ad0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10ae0 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
10af0 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d  xyz} 10 5 -1.0.}
10b00 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 31 2e   {abc: 10 5 (-1.
10b10 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
10b20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10b30 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.6 {.  sqlite3_
10b40 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10b50 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
10b60 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31  g) :xyz} 10 5 -1
10b70 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
10b80 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a 78 79  (-000000001) :xy
10b90 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
10ba0 66 2d 32 2e 34 2e 38 2e 37 20 7b 0a 20 20 73 71  f-2.4.8.7 {.  sq
10bb0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
10bc0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
10bd0 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20   (%10.5f) :xyz} 
10be0 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63  10 5 -1.0.} {abc
10bf0 3a 20 31 30 20 35 20 28 20 20 2d 31 2e 30 30 30  : 10 5 (  -1.000
10c00 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
10c10 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 38  t printf-2.4.8.8
10c20 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
10c30 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
10c40 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29  : %d %d (%10.5e)
10c50 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30   :xyz} 10 5 -1.0
10c60 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
10c70 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  1.00000e+00) :xy
10c80 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
10c90 66 2d 32 2e 34 2e 38 2e 39 20 7b 0a 20 20 73 71  f-2.4.8.9 {.  sq
10ca0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
10cb0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
10cc0 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
10cd0 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63  10 5 -1.0.} {abc
10ce0 3a 20 31 30 20 35 20 28 20 20 20 20 20 20 20 20  : 10 5 (        
10cf0 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  -1) :xyz}.do_tes
10d00 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 31  t printf-2.4.9.1
10d10 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
10d20 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
10d30 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
10d40 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d  10 5 -99.99999.}
10d50 20 7b 61 62 63 3a 20 28 20 2d 39 39 2e 39 39 39   {abc: ( -99.999
10d60 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
10d70 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 32  t printf-2.4.9.2
10d80 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
10d90 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
10da0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
10db0 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d  10 5 -99.99999.}
10dc0 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 30 30   {abc: (-1.00000
10dd0 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
10de0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39  est printf-2.4.9
10df0 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
10e00 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10e10 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
10e20 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39  } 10 5 -99.99999
10e30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20 20  .} {abc: (      
10e40 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -100) :xyz}.do_t
10e50 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39  est printf-2.4.9
10e60 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
10e70 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10e80 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
10e90 78 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39 39  xyz} 10 5 -99.99
10ea0 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  999.} {abc: 10 5
10eb0 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f   (-100) :xyz}.do
10ec0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
10ed0 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.5 {.  sqlite3
10ee0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10ef0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
10f00 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39 39  ) :xyz} 10 5 -99
10f10 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
10f20 30 20 35 20 28 2d 31 30 30 2e 30 30 30 29 20 3a  0 5 (-100.000) :
10f30 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
10f40 6e 74 66 2d 32 2e 34 2e 39 2e 36 20 7b 0a 20 20  ntf-2.4.9.6 {.  
10f50 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10f60 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
10f70 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
10f80 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a   10 5 -99.99999.
10f90 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 30  } {abc: 10 5 (-0
10fa0 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a  00000100) :xyz}.
10fb0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
10fc0 2e 34 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .4.9.7 {.  sqlit
10fd0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
10fe0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
10ff0 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20  10.5f) :xyz} 10 
11000 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
11010 62 63 3a 20 31 30 20 35 20 28 20 2d 39 39 2e 39  bc: 10 5 ( -99.9
11020 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
11030 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39  est printf-2.4.9
11040 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
11050 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
11060 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
11070 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39  e) :xyz} 10 5 -9
11080 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
11090 31 30 20 35 20 28 2d 31 2e 30 30 30 30 30 65 2b  10 5 (-1.00000e+
110a0 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
110b0 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e 39  t printf-2.4.9.9
110c0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
110d0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
110e0 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67 29  : %d %d (%10.5g)
110f0 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e   :xyz} 10 5 -99.
11100 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30  99999.} {abc: 10
11110 20 35 20 28 20 20 20 20 20 20 2d 31 30 30 29 20   5 (      -100) 
11120 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
11130 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 31 20 7b 0a  intf-2.4.10.1 {.
11140 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
11150 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
11160 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*f) :xyz} 10 
11170 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  5 3.14e+9.} {abc
11180 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e 30 30  : (3140000000.00
11190 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
111a0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30  st printf-2.4.10
111b0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
111c0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
111d0 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
111e0 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d  } 10 5 3.14e+9.}
111f0 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30 30 65   {abc: (3.14000e
11200 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
11210 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30  st printf-2.4.10
11220 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
11230 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
11240 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
11250 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d  } 10 5 3.14e+9.}
11260 20 7b 61 62 63 3a 20 28 20 20 33 2e 31 34 65 2b   {abc: (  3.14e+
11270 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
11280 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e  t printf-2.4.10.
11290 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
112a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
112b0 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
112c0 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39  yz} 10 5 3.14e+9
112d0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33  .} {abc: 10 5 (3
112e0 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
112f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11300 34 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74  4.10.5 {.  sqlit
11310 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11320 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11330 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33  #g) :xyz} 10 5 3
11340 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
11350 30 20 35 20 28 33 2e 31 34 30 30 30 65 2b 30 39  0 5 (3.14000e+09
11360 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
11370 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 36 20  printf-2.4.10.6 
11380 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
11390 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
113a0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
113b0 78 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b  xyz} 10 5 3.14e+
113c0 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  9.} {abc: 10 5 (
113d0 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a  003.14e+09) :xyz
113e0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
113f0 2d 32 2e 34 2e 31 30 2e 37 20 7b 0a 20 20 73 71  -2.4.10.7 {.  sq
11400 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11410 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11420 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20   (%10.5f) :xyz} 
11430 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b  10 5 3.14e+9.} {
11440 61 62 63 3a 20 31 30 20 35 20 28 33 31 34 30 30  abc: 10 5 (31400
11450 30 30 30 30 30 2e 30 30 30 30 30 29 20 3a 78 79  00000.00000) :xy
11460 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11470 66 2d 32 2e 34 2e 31 30 2e 38 20 7b 0a 20 20 73  f-2.4.10.8 {.  s
11480 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11490 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
114a0 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d  d (%10.5e) :xyz}
114b0 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20   10 5 3.14e+9.} 
114c0 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e 31 34  {abc: 10 5 (3.14
114d0 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  000e+09) :xyz}.d
114e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
114f0 34 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74  4.10.9 {.  sqlit
11500 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11510 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11520 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20  10.5g) :xyz} 10 
11530 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  5 3.14e+9.} {abc
11540 3a 20 31 30 20 35 20 28 20 20 33 2e 31 34 65 2b  : 10 5 (  3.14e+
11550 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
11560 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 31 2e  t printf-2.4.11.
11570 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
11580 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
11590 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
115a0 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b   10 5 -4.72732e+
115b0 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37  88.} {abc: (-4.7
115c0 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
115d0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
115e0 2e 34 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69  .4.11.3 {.  sqli
115f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11600 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
11610 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 34 2e 37   :xyz} 10 5 -4.7
11620 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
11630 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29 20 3a   (-4.7273e+88) :
11640 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
11650 6e 74 66 2d 32 2e 34 2e 31 31 2e 34 20 7b 0a 20  ntf-2.4.11.4 {. 
11660 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
11670 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
11680 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
11690 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  0 5 -4.72732e+88
116a0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
116b0 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
116c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
116d0 66 2d 32 2e 34 2e 31 31 2e 35 20 7b 0a 20 20 73  f-2.4.11.5 {.  s
116e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
116f0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
11700 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
11710 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a   5 -4.72732e+88.
11720 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 34  } {abc: 10 5 (-4
11730 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a  .72732e+88) :xyz
11740 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
11750 2d 32 2e 34 2e 31 31 2e 36 20 7b 0a 20 20 73 71  -2.4.11.6 {.  sq
11760 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11770 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11780 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
11790 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  0 5 -4.72732e+88
117a0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
117b0 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
117c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
117d0 66 2d 32 2e 34 2e 31 31 2e 38 20 7b 0a 20 20 73  f-2.4.11.8 {.  s
117e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
117f0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
11800 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d  d (%10.5e) :xyz}
11810 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b   10 5 -4.72732e+
11820 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  88.} {abc: 10 5 
11830 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a  (-4.72732e+88) :
11840 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
11850 6e 74 66 2d 32 2e 34 2e 31 31 2e 39 20 7b 0a 20  ntf-2.4.11.9 {. 
11860 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
11870 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
11880 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79   %d (%10.5g) :xy
11890 7a 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32  z} 10 5 -4.72732
118a0 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e+88.} {abc: 10 
118b0 35 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29 20  5 (-4.7273e+88) 
118c0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
118d0 69 6e 74 66 2d 32 2e 34 2e 31 32 2e 32 20 7b 0a  intf-2.4.12.2 {.
118e0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
118f0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
11900 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
11910 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  5 9.87991e+143.}
11920 20 7b 61 62 63 3a 20 28 39 2e 38 37 39 39 31 65   {abc: (9.87991e
11930 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  +143) :xyz}.do_t
11940 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11950 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.3 {.  sqlite3_
11960 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11970 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
11980 7a 7d 20 31 30 20 35 20 39 2e 38 37 39 39 31 65  z} 10 5 9.87991e
11990 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e  +143.} {abc: (9.
119a0 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d  8799e+143) :xyz}
119b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
119c0 32 2e 34 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c  2.4.12.4 {.  sql
119d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
119e0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
119f0 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  (%g) :xyz} 10 5 
11a00 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
11a10 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37 39  abc: 10 5 (9.879
11a20 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  91e+143) :xyz}.d
11a30 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11a40 34 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74  4.12.5 {.  sqlit
11a50 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11a60 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11a70 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39  #g) :xyz} 10 5 9
11a80 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
11a90 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37 39 39  bc: 10 5 (9.8799
11aa0 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
11ab0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11ac0 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .12.6 {.  sqlite
11ad0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
11ae0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
11af0 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
11b00 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
11b10 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37 39  abc: 10 5 (9.879
11b20 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  91e+143) :xyz}.d
11b30 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11b40 34 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74  4.12.8 {.  sqlit
11b50 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11b60 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11b70 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20  10.5e) :xyz} 10 
11b80 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  5 9.87991e+143.}
11b90 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38   {abc: 10 5 (9.8
11ba0 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
11bb0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11bc0 32 2e 34 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c  2.4.12.9 {.  sql
11bd0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11be0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11bf0 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31  (%10.5g) :xyz} 1
11c00 30 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33  0 5 9.87991e+143
11c10 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39  .} {abc: 10 5 (9
11c20 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79 7a  .8799e+143) :xyz
11c30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
11c40 2d 32 2e 34 2e 31 33 2e 31 20 7b 0a 20 20 73 71  -2.4.13.1 {.  sq
11c50 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11c60 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
11c70 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 36  f) :xyz} 10 5 -6
11c80 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
11c90 63 3a 20 28 20 20 2d 30 2e 30 30 30 30 30 29 20  c: (  -0.00000) 
11ca0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
11cb0 69 6e 74 66 2d 32 2e 34 2e 31 33 2e 32 20 7b 0a  intf-2.4.13.2 {.
11cc0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
11cd0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
11ce0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
11cf0 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
11d00 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37 32 39   {abc: (-6.28729
11d10 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
11d20 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11d30 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.3 {.  sqlite3_
11d40 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11d50 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
11d60 7a 7d 20 31 30 20 35 20 2d 36 2e 32 38 37 32 39  z} 10 5 -6.28729
11d70 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36  1e-9.} {abc: (-6
11d80 2e 32 38 37 33 65 2d 30 39 29 20 3a 78 79 7a 7d  .2873e-09) :xyz}
11d90 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11da0 32 2e 34 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c  2.4.13.4 {.  sql
11db0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11dc0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
11dd0 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  (%g) :xyz} 10 5 
11de0 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
11df0 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32 38  abc: 10 5 (-6.28
11e00 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
11e10 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11e20 34 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74  4.13.5 {.  sqlit
11e30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11e40 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11e50 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  #g) :xyz} 10 5 -
11e60 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
11e70 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32 38 37  bc: 10 5 (-6.287
11e80 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
11e90 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
11ea0 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .13.6 {.  sqlite
11eb0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
11ec0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
11ed0 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
11ee0 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
11ef0 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32 38  abc: 10 5 (-6.28
11f00 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
11f10 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11f20 34 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74  4.13.7 {.  sqlit
11f30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11f40 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11f50 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30 20  10.5f) :xyz} 10 
11f60 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
11f70 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20 2d   {abc: 10 5 (  -
11f80 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0.00000) :xyz}.d
11f90 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11fa0 34 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74  4.13.8 {.  sqlit
11fb0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11fc0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11fd0 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20  10.5e) :xyz} 10 
11fe0 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  5 -6.287291e-9.}
11ff0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e   {abc: 10 5 (-6.
12000 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
12010 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12020 32 2e 34 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c  2.4.13.9 {.  sql
12030 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12040 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12050 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31  (%10.5g) :xyz} 1
12060 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  0 5 -6.287291e-9
12070 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
12080 36 2e 32 38 37 33 65 2d 30 39 29 20 3a 78 79 7a  6.2873e-09) :xyz
12090 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
120a0 2d 32 2e 34 2e 31 34 2e 31 20 7b 0a 20 20 73 71  -2.4.14.1 {.  sq
120b0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
120c0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
120d0 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e  f) :xyz} 10 5 3.
120e0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
120f0 7b 61 62 63 3a 20 28 20 20 20 30 2e 30 30 30 30  {abc: (   0.0000
12100 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
12110 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 32   printf-2.4.14.2
12120 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
12130 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
12140 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
12150 31 30 20 35 20 33 2e 33 38 38 32 36 33 39 32 65  10 5 3.38826392e
12160 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
12170 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
12180 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12190 2d 32 2e 34 2e 31 34 2e 33 20 7b 0a 20 20 73 71  -2.4.14.3 {.  sq
121a0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
121b0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
121c0 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e  g) :xyz} 10 5 3.
121d0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
121e0 7b 61 62 63 3a 20 28 33 2e 33 38 38 33 65 2d 31  {abc: (3.3883e-1
121f0 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
12200 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e  t printf-2.4.14.
12210 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
12220 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12230 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
12240 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36  yz} 10 5 3.38826
12250 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
12260 20 31 30 20 35 20 28 33 2e 33 38 38 32 36 65 2d   10 5 (3.38826e-
12270 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
12280 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34  st printf-2.4.14
12290 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
122a0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
122b0 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
122c0 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38  :xyz} 10 5 3.388
122d0 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
122e0 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38 32 36  c: 10 5 (3.38826
122f0 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
12300 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
12310 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.6 {.  sqlite3
12320 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12330 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
12340 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33  0g) :xyz} 10 5 3
12350 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
12360 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e 33   {abc: 10 5 (3.3
12370 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
12380 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12390 32 2e 34 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c  2.4.14.7 {.  sql
123a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
123b0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
123c0 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31  (%10.5f) :xyz} 1
123d0 30 20 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d  0 5 3.38826392e-
123e0 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  110.} {abc: 10 5
123f0 20 28 20 20 20 30 2e 30 30 30 30 30 29 20 3a 78   (   0.00000) :x
12400 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
12410 74 66 2d 32 2e 34 2e 31 34 2e 38 20 7b 0a 20 20  tf-2.4.14.8 {.  
12420 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
12430 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
12440 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
12450 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36 33 39  } 10 5 3.3882639
12460 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31  2e-110.} {abc: 1
12470 30 20 35 20 28 33 2e 33 38 38 32 36 65 2d 31 31  0 5 (3.38826e-11
12480 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
12490 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e 39   printf-2.4.14.9
124a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
124b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
124c0 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67 29  : %d %d (%10.5g)
124d0 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38   :xyz} 10 5 3.38
124e0 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
124f0 62 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38 33  bc: 10 5 (3.3883
12500 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
12510 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
12520 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.1 {.  sqlite3_
12530 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
12540 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
12550 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 2 0.001.} {
12560 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a  abc: (0.00) :xyz
12570 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12580 2d 32 2e 35 2e 31 2e 32 20 7b 0a 20 20 73 71 6c  -2.5.1.2 {.  sql
12590 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
125a0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
125b0 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 30  ) :xyz} 2 2 0.00
125c0 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65  1.} {abc: (1.00e
125d0 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
125e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e  st printf-2.5.1.
125f0 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
12600 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12610 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
12620 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62   2 2 0.001.} {ab
12630 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d  c: (0.001) :xyz}
12640 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12650 32 2e 35 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69  2.5.1.4 {.  sqli
12660 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12670 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
12680 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e  %g) :xyz} 2 2 0.
12690 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  001.} {abc: 2 2 
126a0 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (0.001) :xyz}.do
126b0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
126c0 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.5 {.  sqlite3
126d0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
126e0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
126f0 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 30  ) :xyz} 2 2 0.00
12700 31 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30  1.} {abc: 2 2 (0
12710 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a 7d  .00100000) :xyz}
12720 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12730 32 2e 35 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69  2.5.1.6 {.  sqli
12740 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12750 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
12760 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32  %010g) :xyz} 2 2
12770 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32   0.001.} {abc: 2
12780 20 32 20 28 30 30 30 30 30 30 2e 30 30 31 29 20   2 (000000.001) 
12790 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
127a0 69 6e 74 66 2d 32 2e 35 2e 31 2e 37 20 7b 0a 20  intf-2.5.1.7 {. 
127b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
127c0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
127d0 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a   %d (%2.2f) :xyz
127e0 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61  } 2 2 0.001.} {a
127f0 62 63 3a 20 32 20 32 20 28 30 2e 30 30 29 20 3a  bc: 2 2 (0.00) :
12800 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
12810 6e 74 66 2d 32 2e 35 2e 31 2e 38 20 7b 0a 20 20  ntf-2.5.1.8 {.  
12820 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
12830 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
12840 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d  %d (%2.2e) :xyz}
12850 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62   2 2 0.001.} {ab
12860 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2d 30 33  c: 2 2 (1.00e-03
12870 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12880 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 39 20 7b  printf-2.5.1.9 {
12890 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
128a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
128b0 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78  %d %d (%2.2g) :x
128c0 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 2 2 0.001.} 
128d0 7b 61 62 63 3a 20 32 20 32 20 28 30 2e 30 30 31  {abc: 2 2 (0.001
128e0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
128f0 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 31 20 7b  printf-2.5.2.1 {
12900 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12910 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12920 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
12930 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  2 1.0e-20.} {abc
12940 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  : (0.00) :xyz}.d
12950 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12960 35 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  5.2.2 {.  sqlite
12970 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12980 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
12990 78 79 7a 7d 20 32 20 32 20 31 2e 30 65 2d 32 30  xyz} 2 2 1.0e-20
129a0 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65 2d  .} {abc: (1.00e-
129b0 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
129c0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 33  t printf-2.5.2.3
129d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
129e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
129f0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
12a00 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  2 2 1.0e-20.} {a
12a10 62 63 3a 20 28 31 65 2d 32 30 29 20 3a 78 79 7a  bc: (1e-20) :xyz
12a20 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12a30 2d 32 2e 35 2e 32 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.2.4 {.  sql
12a40 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12a50 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12a60 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  (%g) :xyz} 2 2 1
12a70 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32  .0e-20.} {abc: 2
12a80 20 32 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d   2 (1e-20) :xyz}
12a90 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12aa0 32 2e 35 2e 32 2e 35 20 7b 0a 20 20 73 71 6c 69  2.5.2.5 {.  sqli
12ab0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12ac0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
12ad0 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  %#g) :xyz} 2 2 1
12ae0 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32  .0e-20.} {abc: 2
12af0 20 32 20 28 31 2e 30 30 30 30 30 65 2d 32 30 29   2 (1.00000e-20)
12b00 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
12b10 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 36 20 7b 0a  rintf-2.5.2.6 {.
12b20 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12b30 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
12b40 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
12b50 7a 7d 20 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d  z} 2 2 1.0e-20.}
12b60 20 7b 61 62 63 3a 20 32 20 32 20 28 30 30 30 30   {abc: 2 2 (0000
12b70 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  01e-20) :xyz}.do
12b80 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
12b90 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.7 {.  sqlite3
12ba0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12bb0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
12bc0 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e  2f) :xyz} 2 2 1.
12bd0 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32 20  0e-20.} {abc: 2 
12be0 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  2 (0.00) :xyz}.d
12bf0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
12c00 35 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  5.2.8 {.  sqlite
12c10 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12c20 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
12c30 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  .2e) :xyz} 2 2 1
12c40 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32  .0e-20.} {abc: 2
12c50 20 32 20 28 31 2e 30 30 65 2d 32 30 29 20 3a 78   2 (1.00e-20) :x
12c60 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
12c70 74 66 2d 32 2e 35 2e 32 2e 39 20 7b 0a 20 20 73  tf-2.5.2.9 {.  s
12c80 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
12c90 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
12ca0 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%2.2g) :xyz} 
12cb0 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  2 2 1.0e-20.} {a
12cc0 62 63 3a 20 32 20 32 20 28 31 65 2d 32 30 29 20  bc: 2 2 (1e-20) 
12cd0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12ce0 69 6e 74 66 2d 32 2e 35 2e 33 2e 31 20 7b 0a 20  intf-2.5.3.1 {. 
12cf0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12d00 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
12d10 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*f) :xyz} 2 2 
12d20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  1.0.} {abc: (1.0
12d30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
12d40 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 32 20   printf-2.5.3.2 
12d50 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
12d60 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
12d70 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
12d80 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   2 1.0.} {abc: (
12d90 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  1.00e+00) :xyz}.
12da0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
12db0 2e 35 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .5.3.3 {.  sqlit
12dc0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
12dd0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
12de0 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20  :xyz} 2 2 1.0.} 
12df0 7b 61 62 63 3a 20 28 20 31 29 20 3a 78 79 7a 7d  {abc: ( 1) :xyz}
12e00 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12e10 32 2e 35 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69  2.5.3.4 {.  sqli
12e20 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12e30 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
12e40 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e  %g) :xyz} 2 2 1.
12e50 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 31  0.} {abc: 2 2 (1
12e60 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12e70 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 35 20 7b  printf-2.5.3.5 {
12e80 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12e90 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12ea0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
12eb0 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 2 1.0.} {abc
12ec0 3a 20 32 20 32 20 28 31 2e 30 30 30 30 30 29 20  : 2 2 (1.00000) 
12ed0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12ee0 69 6e 74 66 2d 32 2e 35 2e 33 2e 36 20 7b 0a 20  intf-2.5.3.6 {. 
12ef0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12f00 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
12f10 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
12f20 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 2 1.0.} {abc
12f30 3a 20 32 20 32 20 28 30 30 30 30 30 30 30 30 30  : 2 2 (000000000
12f40 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
12f50 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 37 20   printf-2.5.3.7 
12f60 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
12f70 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
12f80 20 25 64 20 25 64 20 28 25 32 2e 32 66 29 20 3a   %d %d (%2.2f) :
12f90 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b  xyz} 2 2 1.0.} {
12fa0 61 62 63 3a 20 32 20 32 20 28 31 2e 30 30 29 20  abc: 2 2 (1.00) 
12fb0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12fc0 69 6e 74 66 2d 32 2e 35 2e 33 2e 38 20 7b 0a 20  intf-2.5.3.8 {. 
12fd0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12fe0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
12ff0 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
13000 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 2 1.0.} {abc
13010 3a 20 32 20 32 20 28 31 2e 30 30 65 2b 30 30 29  : 2 2 (1.00e+00)
13020 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13030 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 39 20 7b 0a  rintf-2.5.3.9 {.
13040 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13050 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
13060 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79  d %d (%2.2g) :xy
13070 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 2 1.0.} {ab
13080 63 3a 20 32 20 32 20 28 20 31 29 20 3a 78 79 7a  c: 2 2 ( 1) :xyz
13090 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
130a0 2d 32 2e 35 2e 34 2e 31 20 7b 0a 20 20 73 71 6c  -2.5.4.1 {.  sql
130b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
130c0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
130d0 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 0a  ) :xyz} 2 2 0.0.
130e0 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a  } {abc: (0.00) :
130f0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13100 6e 74 66 2d 32 2e 35 2e 34 2e 32 20 7b 0a 20 20  ntf-2.5.4.2 {.  
13110 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13120 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
13130 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 30  .*e) :xyz} 2 2 0
13140 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  .0.} {abc: (0.00
13150 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
13160 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 34  est printf-2.5.4
13170 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
13180 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13190 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
131a0 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 2 2 0.0.} {abc
131b0 3a 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  : ( 0) :xyz}.do_
131c0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
131d0 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.4 {.  sqlite3_
131e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
131f0 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
13200 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 0a 7d 20  :xyz} 2 2 0.0.} 
13210 7b 61 62 63 3a 20 32 20 32 20 28 30 29 20 3a 78  {abc: 2 2 (0) :x
13220 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13230 74 66 2d 32 2e 35 2e 34 2e 35 20 7b 0a 20 20 73  tf-2.5.4.5 {.  s
13240 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
13250 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
13260 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
13270 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20  2 0.0.} {abc: 2 
13280 32 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a  2 (0.00000) :xyz
13290 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
132a0 2d 32 2e 35 2e 34 2e 36 20 7b 0a 20 20 73 71 6c  -2.5.4.6 {.  sql
132b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
132c0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
132d0 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
132e0 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20  2 0.0.} {abc: 2 
132f0 32 20 28 30 30 30 30 30 30 30 30 30 30 29 20 3a  2 (0000000000) :
13300 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13310 6e 74 66 2d 32 2e 35 2e 34 2e 37 20 7b 0a 20 20  ntf-2.5.4.7 {.  
13320 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13330 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13340 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d  %d (%2.2f) :xyz}
13350 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 2 0.0.} {abc:
13360 20 32 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a   2 2 (0.00) :xyz
13370 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13380 2d 32 2e 35 2e 34 2e 38 20 7b 0a 20 20 73 71 6c  -2.5.4.8 {.  sql
13390 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
133a0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
133b0 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20  (%2.2e) :xyz} 2 
133c0 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20  2 0.0.} {abc: 2 
133d0 32 20 28 30 2e 30 30 65 2b 30 30 29 20 3a 78 79  2 (0.00e+00) :xy
133e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
133f0 66 2d 32 2e 35 2e 34 2e 39 20 7b 0a 20 20 73 71  f-2.5.4.9 {.  sq
13400 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13410 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13420 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32   (%2.2g) :xyz} 2
13430 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 0.0.} {abc: 2
13440 20 32 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f   2 ( 0) :xyz}.do
13450 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13460 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.1 {.  sqlite3
13470 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13480 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
13490 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d 20  yz} 2 2 100.0.} 
134a0 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 29 20 3a  {abc: (100.00) :
134b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
134c0 6e 74 66 2d 32 2e 35 2e 35 2e 32 20 7b 0a 20 20  ntf-2.5.5.2 {.  
134d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
134e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
134f0 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  .*e) :xyz} 2 2 1
13500 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  00.0.} {abc: (1.
13510 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
13520 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13530 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.3 {.  sqlite3
13540 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13550 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
13560 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d 20  yz} 2 2 100.0.} 
13570 7b 61 62 63 3a 20 28 31 65 2b 30 32 29 20 3a 78  {abc: (1e+02) :x
13580 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13590 74 66 2d 32 2e 35 2e 35 2e 34 20 7b 0a 20 20 73  tf-2.5.5.4 {.  s
135a0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
135b0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
135c0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32  d (%g) :xyz} 2 2
135d0 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   100.0.} {abc: 2
135e0 20 32 20 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64   2 (100) :xyz}.d
135f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
13600 35 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  5.5.5 {.  sqlite
13610 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
13620 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
13630 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 30 30  g) :xyz} 2 2 100
13640 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
13650 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  100.000) :xyz}.d
13660 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
13670 35 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  5.5.6 {.  sqlite
13680 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
13690 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
136a0 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  10g) :xyz} 2 2 1
136b0 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  00.0.} {abc: 2 2
136c0 20 28 30 30 30 30 30 30 30 31 30 30 29 20 3a 78   (0000000100) :x
136d0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
136e0 74 66 2d 32 2e 35 2e 35 2e 37 20 7b 0a 20 20 73  tf-2.5.5.7 {.  s
136f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
13700 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
13710 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20  d (%2.2f) :xyz} 
13720 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  2 2 100.0.} {abc
13730 3a 20 32 20 32 20 28 31 30 30 2e 30 30 29 20 3a  : 2 2 (100.00) :
13740 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13750 6e 74 66 2d 32 2e 35 2e 35 2e 38 20 7b 0a 20 20  ntf-2.5.5.8 {.  
13760 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13770 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13780 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d  %d (%2.2e) :xyz}
13790 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 2 100.0.} {ab
137a0 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2b 30 32  c: 2 2 (1.00e+02
137b0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
137c0 70 72 69 6e 74 66 2d 32 2e 35 2e 35 2e 39 20 7b  printf-2.5.5.9 {
137d0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
137e0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
137f0 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78  %d %d (%2.2g) :x
13800 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d 20  yz} 2 2 100.0.} 
13810 7b 61 62 63 3a 20 32 20 32 20 28 31 65 2b 30 32  {abc: 2 2 (1e+02
13820 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
13830 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 31 20 7b  printf-2.5.6.1 {
13840 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
13850 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
13860 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
13870 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  2 9.99999.} {abc
13880 3a 20 28 31 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  : (10.00) :xyz}.
13890 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
138a0 2e 35 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .5.6.2 {.  sqlit
138b0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
138c0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
138d0 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39 39 39  :xyz} 2 2 9.9999
138e0 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65  9.} {abc: (1.00e
138f0 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +01) :xyz}.do_te
13900 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e  st printf-2.5.6.
13910 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
13920 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
13930 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
13940 20 32 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b   2 2 9.99999.} {
13950 61 62 63 3a 20 28 31 30 29 20 3a 78 79 7a 7d 0a  abc: (10) :xyz}.
13960 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13970 2e 35 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .5.6.4 {.  sqlit
13980 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13990 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
139a0 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39  g) :xyz} 2 2 9.9
139b0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32  9999.} {abc: 2 2
139c0 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d   (9.99999) :xyz}
139d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
139e0 32 2e 35 2e 36 2e 35 20 7b 0a 20 20 73 71 6c 69  2.5.6.5 {.  sqli
139f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13a00 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13a10 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39  %#g) :xyz} 2 2 9
13a20 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
13a30 20 32 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79   2 (9.99999) :xy
13a40 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13a50 66 2d 32 2e 35 2e 36 2e 36 20 7b 0a 20 20 73 71  f-2.5.6.6 {.  sq
13a60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13a70 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13a80 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
13a90 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   2 9.99999.} {ab
13aa0 63 3a 20 32 20 32 20 28 30 30 30 39 2e 39 39 39  c: 2 2 (0009.999
13ab0 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
13ac0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 37  t printf-2.5.6.7
13ad0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
13ae0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
13af0 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29 20  : %d %d (%2.2f) 
13b00 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39 39 39  :xyz} 2 2 9.9999
13b10 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 31  9.} {abc: 2 2 (1
13b20 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
13b30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36  est printf-2.5.6
13b40 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
13b50 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13b60 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65  bc: %d %d (%2.2e
13b70 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39  ) :xyz} 2 2 9.99
13b80 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  999.} {abc: 2 2 
13b90 28 31 2e 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d  (1.00e+01) :xyz}
13ba0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13bb0 32 2e 35 2e 36 2e 39 20 7b 0a 20 20 73 71 6c 69  2.5.6.9 {.  sqli
13bc0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13bd0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13be0 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2g) :xyz} 2 2
13bf0 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
13c00 20 32 20 32 20 28 31 30 29 20 3a 78 79 7a 7d 0a   2 2 (10) :xyz}.
13c10 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13c20 2e 35 2e 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .5.7.1 {.  sqlit
13c30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13c40 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
13c50 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30 35  :xyz} 2 2 -0.005
13c60 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30  43.} {abc: (-0.0
13c70 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
13c80 20 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 32 20   printf-2.5.7.2 
13c90 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
13ca0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
13cb0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
13cc0 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   2 -0.00543.} {a
13cd0 62 63 3a 20 28 2d 35 2e 34 33 65 2d 30 33 29 20  bc: (-5.43e-03) 
13ce0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13cf0 69 6e 74 66 2d 32 2e 35 2e 37 2e 33 20 7b 0a 20  intf-2.5.7.3 {. 
13d00 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13d10 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
13d20 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*g) :xyz} 2 2 
13d30 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
13d40 20 28 2d 30 2e 30 30 35 34 29 20 3a 78 79 7a 7d   (-0.0054) :xyz}
13d50 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13d60 32 2e 35 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69  2.5.7.4 {.  sqli
13d70 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13d80 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
13d90 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30  %g) :xyz} 2 2 -0
13da0 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32  .00543.} {abc: 2
13db0 20 32 20 28 2d 30 2e 30 30 35 34 33 29 20 3a 78   2 (-0.00543) :x
13dc0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13dd0 74 66 2d 32 2e 35 2e 37 2e 35 20 7b 0a 20 20 73  tf-2.5.7.5 {.  s
13de0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
13df0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
13e00 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
13e10 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  2 -0.00543.} {ab
13e20 63 3a 20 32 20 32 20 28 2d 30 2e 30 30 35 34 33  c: 2 2 (-0.00543
13e30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
13e40 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e  st printf-2.5.7.
13e50 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
13e60 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
13e70 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
13e80 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30   :xyz} 2 2 -0.00
13e90 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  543.} {abc: 2 2 
13ea0 28 2d 30 30 30 2e 30 30 35 34 33 29 20 3a 78 79  (-000.00543) :xy
13eb0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13ec0 66 2d 32 2e 35 2e 37 2e 37 20 7b 0a 20 20 73 71  f-2.5.7.7 {.  sq
13ed0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13ee0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13ef0 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32   (%2.2f) :xyz} 2
13f00 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   2 -0.00543.} {a
13f10 62 63 3a 20 32 20 32 20 28 2d 30 2e 30 31 29 20  bc: 2 2 (-0.01) 
13f20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13f30 69 6e 74 66 2d 32 2e 35 2e 37 2e 38 20 7b 0a 20  intf-2.5.7.8 {. 
13f40 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13f50 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
13f60 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
13f70 7d 20 32 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d  } 2 2 -0.00543.}
13f80 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 35 2e 34   {abc: 2 2 (-5.4
13f90 33 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e-03) :xyz}.do_
13fa0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
13fb0 37 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.9 {.  sqlite3_
13fc0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
13fd0 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32  abc: %d %d (%2.2
13fe0 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e  g) :xyz} 2 2 -0.
13ff0 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20  00543.} {abc: 2 
14000 32 20 28 2d 30 2e 30 30 35 34 29 20 3a 78 79 7a  2 (-0.0054) :xyz
14010 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14020 2d 32 2e 35 2e 38 2e 31 20 7b 0a 20 20 73 71 6c  -2.5.8.1 {.  sql
14030 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14040 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
14050 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30  ) :xyz} 2 2 -1.0
14060 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 29  .} {abc: (-1.00)
14070 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14080 72 69 6e 74 66 2d 32 2e 35 2e 38 2e 32 20 7b 0a  rintf-2.5.8.2 {.
14090 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
140a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
140b0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*e) :xyz} 2 2
140c0 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d   -1.0.} {abc: (-
140d0 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  1.00e+00) :xyz}.
140e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
140f0 2e 35 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .5.8.3 {.  sqlit
14100 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14110 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
14120 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a 7d  :xyz} 2 2 -1.0.}
14130 20 7b 61 62 63 3a 20 28 2d 31 29 20 3a 78 79 7a   {abc: (-1) :xyz
14140 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14150 2d 32 2e 35 2e 38 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.8.4 {.  sql
14160 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14170 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
14180 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  (%g) :xyz} 2 2 -
14190 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  1.0.} {abc: 2 2 
141a0 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  (-1) :xyz}.do_te
141b0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e  st printf-2.5.8.
141c0 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
141d0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
141e0 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
141f0 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a 7d 20  xyz} 2 2 -1.0.} 
14200 7b 61 62 63 3a 20 32 20 32 20 28 2d 31 2e 30 30  {abc: 2 2 (-1.00
14210 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
14220 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e  st printf-2.5.8.
14230 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
14240 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
14250 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
14260 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a   :xyz} 2 2 -1.0.
14270 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 30 30  } {abc: 2 2 (-00
14280 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64  0000001) :xyz}.d
14290 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
142a0 35 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  5.8.7 {.  sqlite
142b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
142c0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
142d0 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .2f) :xyz} 2 2 -
142e0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  1.0.} {abc: 2 2 
142f0 28 2d 31 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  (-1.00) :xyz}.do
14300 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
14310 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.8 {.  sqlite3
14320 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
14330 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
14340 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31  2e) :xyz} 2 2 -1
14350 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
14360 2d 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  -1.00e+00) :xyz}
14370 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
14380 32 2e 35 2e 38 2e 39 20 7b 0a 20 20 73 71 6c 69  2.5.8.9 {.  sqli
14390 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
143a0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
143b0 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2g) :xyz} 2 2
143c0 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20   -1.0.} {abc: 2 
143d0 32 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  2 (-1) :xyz}.do_
143e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
143f0 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.1 {.  sqlite3_
14400 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
14410 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
14420 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39 39  z} 2 2 -99.99999
14430 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 2e 30  .} {abc: (-100.0
14440 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
14450 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 32 20   printf-2.5.9.2 
14460 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
14470 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
14480 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
14490 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   2 -99.99999.} {
144a0 61 62 63 3a 20 28 2d 31 2e 30 30 65 2b 30 32 29  abc: (-1.00e+02)
144b0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
144c0 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 33 20 7b 0a  rintf-2.5.9.3 {.
144d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
144e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
144f0 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*g) :xyz} 2 2
14500 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
14510 63 3a 20 28 2d 31 65 2b 30 32 29 20 3a 78 79 7a  c: (-1e+02) :xyz
14520 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14530 2d 32 2e 35 2e 39 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.9.4 {.  sql
14540 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14550 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
14560 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  (%g) :xyz} 2 2 -
14570 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
14580 20 32 20 32 20 28 2d 31 30 30 29 20 3a 78 79 7a   2 2 (-100) :xyz
14590 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
145a0 2d 32 2e 35 2e 39 2e 35 20 7b 0a 20 20 73 71 6c  -2.5.9.5 {.  sql
145b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
145c0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
145d0 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  (%#g) :xyz} 2 2 
145e0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
145f0 3a 20 32 20 32 20 28 2d 31 30 30 2e 30 30 30 29  : 2 2 (-100.000)
14600 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14610 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 36 20 7b 0a  rintf-2.5.9.6 {.
14620 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14630 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
14640 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
14650 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39 39  z} 2 2 -99.99999
14660 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 30  .} {abc: 2 2 (-0
14670 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a  00000100) :xyz}.
14680 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14690 2e 35 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .5.9.7 {.  sqlit
146a0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
146b0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
146c0 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2f) :xyz} 2 2 
146d0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
146e0 3a 20 32 20 32 20 28 2d 31 30 30 2e 30 30 29 20  : 2 2 (-100.00) 
146f0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14700 69 6e 74 66 2d 32 2e 35 2e 39 2e 38 20 7b 0a 20  intf-2.5.9.8 {. 
14710 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14720 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
14730 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
14740 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39 39 0a  } 2 2 -99.99999.
14750 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31 2e  } {abc: 2 2 (-1.
14760 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
14770 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
14780 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.9 {.  sqlite3
14790 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
147a0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
147b0 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 39  2g) :xyz} 2 2 -9
147c0 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
147d0 32 20 32 20 28 2d 31 65 2b 30 32 29 20 3a 78 79  2 2 (-1e+02) :xy
147e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
147f0 66 2d 32 2e 35 2e 31 30 2e 31 20 7b 0a 20 20 73  f-2.5.10.1 {.  s
14800 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14810 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
14820 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e  *f) :xyz} 2 2 3.
14830 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33  14e+9.} {abc: (3
14840 31 34 30 30 30 30 30 30 30 2e 30 30 29 20 3a 78  140000000.00) :x
14850 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14860 74 66 2d 32 2e 35 2e 31 30 2e 32 20 7b 0a 20 20  tf-2.5.10.2 {.  
14870 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
14880 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
14890 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 33  .*e) :xyz} 2 2 3
148a0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
148b0 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
148c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
148d0 2e 35 2e 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69  .5.10.3 {.  sqli
148e0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
148f0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
14900 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65   :xyz} 2 2 3.14e
14910 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 65  +9.} {abc: (3.1e
14920 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
14930 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30  st printf-2.5.10
14940 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
14950 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
14960 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
14970 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b 39  xyz} 2 2 3.14e+9
14980 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33 2e  .} {abc: 2 2 (3.
14990 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  14e+09) :xyz}.do
149a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
149b0 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .10.5 {.  sqlite
149c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
149d0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
149e0 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31  g) :xyz} 2 2 3.1
149f0 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32  4e+9.} {abc: 2 2
14a00 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20 3a   (3.14000e+09) :
14a10 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14a20 6e 74 66 2d 32 2e 35 2e 31 30 2e 36 20 7b 0a 20  ntf-2.5.10.6 {. 
14a30 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14a40 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
14a50 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
14a60 7d 20 32 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20  } 2 2 3.14e+9.} 
14a70 7b 61 62 63 3a 20 32 20 32 20 28 30 30 33 2e 31  {abc: 2 2 (003.1
14a80 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  4e+09) :xyz}.do_
14a90 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
14aa0 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.7 {.  sqlite3
14ab0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
14ac0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
14ad0 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e  2f) :xyz} 2 2 3.
14ae0 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20  14e+9.} {abc: 2 
14af0 32 20 28 33 31 34 30 30 30 30 30 30 30 2e 30 30  2 (3140000000.00
14b00 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14b10 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30 2e 38 20  printf-2.5.10.8 
14b20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
14b30 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
14b40 20 25 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a   %d %d (%2.2e) :
14b50 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b 39  xyz} 2 2 3.14e+9
14b60 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33 2e  .} {abc: 2 2 (3.
14b70 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  14e+09) :xyz}.do
14b80 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
14b90 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .10.9 {.  sqlite
14ba0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14bb0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
14bc0 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 33  .2g) :xyz} 2 2 3
14bd0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32  .14e+9.} {abc: 2
14be0 20 32 20 28 33 2e 31 65 2b 30 39 29 20 3a 78 79   2 (3.1e+09) :xy
14bf0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
14c00 66 2d 32 2e 35 2e 31 31 2e 32 20 7b 0a 20 20 73  f-2.5.11.2 {.  s
14c10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14c20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
14c30 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34  *e) :xyz} 2 2 -4
14c40 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
14c50 63 3a 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a  c: (-4.73e+88) :
14c60 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14c70 6e 74 66 2d 32 2e 35 2e 31 31 2e 33 20 7b 0a 20  ntf-2.5.11.3 {. 
14c80 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14c90 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
14ca0 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*g) :xyz} 2 2 
14cb0 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
14cc0 61 62 63 3a 20 28 2d 34 2e 37 65 2b 38 38 29 20  abc: (-4.7e+88) 
14cd0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14ce0 69 6e 74 66 2d 32 2e 35 2e 31 31 2e 34 20 7b 0a  intf-2.5.11.4 {.
14cf0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14d00 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
14d10 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
14d20 32 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  2 2 -4.72732e+88
14d30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 34  .} {abc: 2 2 (-4
14d40 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a  .72732e+88) :xyz
14d50 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14d60 2d 32 2e 35 2e 31 31 2e 35 20 7b 0a 20 20 73 71  -2.5.11.5 {.  sq
14d70 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14d80 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
14d90 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32   (%#g) :xyz} 2 2
14da0 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
14db0 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 32  {abc: 2 2 (-4.72
14dc0 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
14dd0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14de0 35 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74  5.11.6 {.  sqlit
14df0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14e00 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14e10 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  010g) :xyz} 2 2 
14e20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
14e30 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 32 37  abc: 2 2 (-4.727
14e40 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  32e+88) :xyz}.do
14e50 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
14e60 2e 31 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .11.8 {.  sqlite
14e70 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14e80 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
14e90 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .2e) :xyz} 2 2 -
14ea0 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
14eb0 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 33 65 2b  bc: 2 2 (-4.73e+
14ec0 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
14ed0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 31 2e  t printf-2.5.11.
14ee0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
14ef0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
14f00 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67 29  c: %d %d (%2.2g)
14f10 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e 37 32   :xyz} 2 2 -4.72
14f20 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
14f30 32 20 32 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a  2 2 (-4.7e+88) :
14f40 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14f50 6e 74 66 2d 32 2e 35 2e 31 32 2e 32 20 7b 0a 20  ntf-2.5.12.2 {. 
14f60 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14f70 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
14f80 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
14f90 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
14fa0 61 62 63 3a 20 28 39 2e 38 38 65 2b 31 34 33 29  abc: (9.88e+143)
14fb0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14fc0 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 33 20 7b  rintf-2.5.12.3 {
14fd0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14fe0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14ff0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
15000 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  2 9.87991e+143.}
15010 20 7b 61 62 63 3a 20 28 39 2e 39 65 2b 31 34 33   {abc: (9.9e+143
15020 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15030 70 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 34 20  printf-2.5.12.4 
15040 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15050 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15060 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
15070 7d 20 32 20 32 20 39 2e 38 37 39 39 31 65 2b 31  } 2 2 9.87991e+1
15080 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  43.} {abc: 2 2 (
15090 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78  9.87991e+143) :x
150a0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
150b0 74 66 2d 32 2e 35 2e 31 32 2e 35 20 7b 0a 20 20  tf-2.5.12.5 {.  
150c0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
150d0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
150e0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
150f0 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   2 9.87991e+143.
15100 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38  } {abc: 2 2 (9.8
15110 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
15120 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15130 32 2e 35 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c  2.5.12.6 {.  sql
15140 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15150 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
15160 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
15170 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  2 9.87991e+143.}
15180 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38 37   {abc: 2 2 (9.87
15190 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  991e+143) :xyz}.
151a0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
151b0 2e 35 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69  .5.12.8 {.  sqli
151c0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
151d0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
151e0 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2e) :xyz} 2 2
151f0 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
15200 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38 38 65  {abc: 2 2 (9.88e
15210 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  +143) :xyz}.do_t
15220 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
15230 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  2.9 {.  sqlite3_
15240 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
15250 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32  abc: %d %d (%2.2
15260 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 38  g) :xyz} 2 2 9.8
15270 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
15280 3a 20 32 20 32 20 28 39 2e 39 65 2b 31 34 33 29  : 2 2 (9.9e+143)
15290 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
152a0 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 31 20 7b  rintf-2.5.13.1 {
152b0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
152c0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
152d0 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
152e0 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
152f0 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 29 20 3a   {abc: (-0.00) :
15300 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15310 6e 74 66 2d 32 2e 35 2e 31 33 2e 32 20 7b 0a 20  ntf-2.5.13.2 {. 
15320 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15330 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
15340 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
15350 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
15360 61 62 63 3a 20 28 2d 36 2e 32 39 65 2d 30 39 29  abc: (-6.29e-09)
15370 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
15380 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 33 20 7b  rintf-2.5.13.3 {
15390 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
153a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
153b0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
153c0 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
153d0 20 7b 61 62 63 3a 20 28 2d 36 2e 33 65 2d 30 39   {abc: (-6.3e-09
153e0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
153f0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 34 20  printf-2.5.13.4 
15400 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15410 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15420 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
15430 7d 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65  } 2 2 -6.287291e
15440 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  -9.} {abc: 2 2 (
15450 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
15460 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15470 74 66 2d 32 2e 35 2e 31 33 2e 35 20 7b 0a 20 20  tf-2.5.13.5 {.  
15480 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
15490 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
154a0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
154b0 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
154c0 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36 2e  } {abc: 2 2 (-6.
154d0 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
154e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
154f0 32 2e 35 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c  2.5.13.6 {.  sql
15500 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15510 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
15520 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
15530 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
15540 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36 2e 32   {abc: 2 2 (-6.2
15550 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
15560 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15570 2e 35 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69  .5.13.7 {.  sqli
15580 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15590 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
155a0 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2f) :xyz} 2 2
155b0 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
155c0 7b 61 62 63 3a 20 32 20 32 20 28 2d 30 2e 30 30  {abc: 2 2 (-0.00
155d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
155e0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 38 20  printf-2.5.13.8 
155f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15600 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15610 20 25 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a   %d %d (%2.2e) :
15620 78 79 7a 7d 20 32 20 32 20 2d 36 2e 32 38 37 32  xyz} 2 2 -6.2872
15630 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20  91e-9.} {abc: 2 
15640 32 20 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78  2 (-6.29e-09) :x
15650 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15660 74 66 2d 32 2e 35 2e 31 33 2e 39 20 7b 0a 20 20  tf-2.5.13.9 {.  
15670 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
15680 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
15690 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d  %d (%2.2g) :xyz}
156a0 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 2 -6.287291e-
156b0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d  9.} {abc: 2 2 (-
156c0 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  6.3e-09) :xyz}.d
156d0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
156e0 35 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74  5.14.1 {.  sqlit
156f0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15700 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
15710 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32  :xyz} 2 2 3.3882
15720 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
15730 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  : (0.00) :xyz}.d
15740 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
15750 35 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74  5.14.2 {.  sqlit
15760 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15770 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
15780 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32  :xyz} 2 2 3.3882
15790 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
157a0 3a 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78  : (3.39e-110) :x
157b0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
157c0 74 66 2d 32 2e 35 2e 31 34 2e 33 20 7b 0a 20 20  tf-2.5.14.3 {.  
157d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
157e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
157f0 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 33  .*g) :xyz} 2 2 3
15800 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
15810 20 7b 61 62 63 3a 20 28 33 2e 34 65 2d 31 31 30   {abc: (3.4e-110
15820 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15830 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 34 20  printf-2.5.14.4 
15840 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15850 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15860 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
15870 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39 32  } 2 2 3.38826392
15880 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20  e-110.} {abc: 2 
15890 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29  2 (3.38826e-110)
158a0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
158b0 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 35 20 7b  rintf-2.5.14.5 {
158c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
158d0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
158e0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
158f0 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39 32  } 2 2 3.38826392
15900 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20  e-110.} {abc: 2 
15910 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29  2 (3.38826e-110)
15920 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
15930 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 36 20 7b  rintf-2.5.14.6 {
15940 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15950 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15960 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
15970 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33  yz} 2 2 3.388263
15980 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
15990 32 20 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31  2 2 (3.38826e-11
159a0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
159b0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 37   printf-2.5.14.7
159c0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
159d0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
159e0 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29 20  : %d %d (%2.2f) 
159f0 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32  :xyz} 2 2 3.3882
15a00 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
15a10 3a 20 32 20 32 20 28 30 2e 30 30 29 20 3a 78 79  : 2 2 (0.00) :xy
15a20 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15a30 66 2d 32 2e 35 2e 31 34 2e 38 20 7b 0a 20 20 73  f-2.5.14.8 {.  s
15a40 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15a50 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
15a60 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20  d (%2.2e) :xyz} 
15a70 32 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  2 2 3.38826392e-
15a80 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  110.} {abc: 2 2 
15a90 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a  (3.39e-110) :xyz
15aa0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
15ab0 2d 32 2e 35 2e 31 34 2e 39 20 7b 0a 20 20 73 71  -2.5.14.9 {.  sq
15ac0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15ad0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
15ae0 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32   (%2.2g) :xyz} 2
15af0 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
15b00 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  10.} {abc: 2 2 (
15b10 33 2e 34 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  3.4e-110) :xyz}.
15b20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15b30 2e 36 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .6.1.1 {.  sqlit
15b40 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15b50 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
15b60 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a  :xyz} 2 3 0.001.
15b70 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31 29 20  } {abc: (0.001) 
15b80 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
15b90 69 6e 74 66 2d 32 2e 36 2e 31 2e 32 20 7b 0a 20  intf-2.6.1.2 {. 
15ba0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15bb0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
15bc0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
15bd0 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31  0.001.} {abc: (1
15be0 2e 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a  .000e-03) :xyz}.
15bf0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15c00 2e 36 2e 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .6.1.3 {.  sqlit
15c10 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15c20 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
15c30 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a  :xyz} 2 3 0.001.
15c40 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31 29 20  } {abc: (0.001) 
15c50 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
15c60 69 6e 74 66 2d 32 2e 36 2e 31 2e 34 20 7b 0a 20  intf-2.6.1.4 {. 
15c70 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15c80 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15c90 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
15ca0 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   3 0.001.} {abc:
15cb0 20 32 20 33 20 28 30 2e 30 30 31 29 20 3a 78 79   2 3 (0.001) :xy
15cc0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15cd0 66 2d 32 2e 36 2e 31 2e 35 20 7b 0a 20 20 73 71  f-2.6.1.5 {.  sq
15ce0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15cf0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
15d00 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33   (%#g) :xyz} 2 3
15d10 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32   0.001.} {abc: 2
15d20 20 33 20 28 30 2e 30 30 31 30 30 30 30 30 29 20   3 (0.00100000) 
15d30 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
15d40 69 6e 74 66 2d 32 2e 36 2e 31 2e 36 20 7b 0a 20  intf-2.6.1.6 {. 
15d50 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15d60 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
15d70 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
15d80 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61  } 2 3 0.001.} {a
15d90 62 63 3a 20 32 20 33 20 28 30 30 30 30 30 30 2e  bc: 2 3 (000000.
15da0 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
15db0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e  st printf-2.6.1.
15dc0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
15dd0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15de0 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 66 29  c: %d %d (%2.3f)
15df0 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30 31   :xyz} 2 3 0.001
15e00 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 2e  .} {abc: 2 3 (0.
15e10 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
15e20 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e  st printf-2.6.1.
15e30 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
15e40 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15e50 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29  c: %d %d (%2.3e)
15e60 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30 31   :xyz} 2 3 0.001
15e70 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e  .} {abc: 2 3 (1.
15e80 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  000e-03) :xyz}.d
15e90 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
15ea0 36 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  6.1.9 {.  sqlite
15eb0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
15ec0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
15ed0 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 30  .3g) :xyz} 2 3 0
15ee0 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33  .001.} {abc: 2 3
15ef0 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
15f00 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
15f10 36 2e 32 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  6.2.1 {.  sqlite
15f20 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
15f30 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
15f40 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30  xyz} 2 3 1.0e-20
15f50 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29  .} {abc: (0.000)
15f60 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
15f70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 32 20 7b 0a  rintf-2.6.2.2 {.
15f80 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
15f90 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
15fa0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
15fb0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
15fc0 20 28 31 2e 30 30 30 65 2d 32 30 29 20 3a 78 79   (1.000e-20) :xy
15fd0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
15fe0 66 2d 32 2e 36 2e 32 2e 33 20 7b 0a 20 20 73 71  f-2.6.2.3 {.  sq
15ff0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16000 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
16010 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30  g) :xyz} 2 3 1.0
16020 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65  e-20.} {abc: (1e
16030 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
16040 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e  st printf-2.6.2.
16050 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
16060 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16070 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
16080 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30 0a  yz} 2 3 1.0e-20.
16090 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 65 2d  } {abc: 2 3 (1e-
160a0 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
160b0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 35  t printf-2.6.2.5
160c0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
160d0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
160e0 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
160f0 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30 0a  yz} 2 3 1.0e-20.
16100 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e 30  } {abc: 2 3 (1.0
16110 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  0000e-20) :xyz}.
16120 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
16130 2e 36 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .6.2.6 {.  sqlit
16140 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16150 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
16160 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  010g) :xyz} 2 3 
16170 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
16180 32 20 33 20 28 30 30 30 30 30 31 65 2d 32 30 29  2 3 (000001e-20)
16190 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
161a0 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 37 20 7b 0a  rintf-2.6.2.7 {.
161b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
161c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
161d0 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79  d %d (%2.3f) :xy
161e0 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30 0a 7d  z} 2 3 1.0e-20.}
161f0 20 7b 61 62 63 3a 20 32 20 33 20 28 30 2e 30 30   {abc: 2 3 (0.00
16200 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
16210 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 38 20   printf-2.6.2.8 
16220 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
16230 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
16240 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a   %d %d (%2.3e) :
16250 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30  xyz} 2 3 1.0e-20
16260 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e  .} {abc: 2 3 (1.
16270 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  000e-20) :xyz}.d
16280 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16290 36 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  6.2.9 {.  sqlite
162a0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
162b0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
162c0 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31  .3g) :xyz} 2 3 1
162d0 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32  .0e-20.} {abc: 2
162e0 20 33 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d   3 (1e-20) :xyz}
162f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
16300 32 2e 36 2e 33 2e 31 20 7b 0a 20 20 73 71 6c 69  2.6.3.1 {.  sqli
16310 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
16320 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
16330 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d   :xyz} 2 3 1.0.}
16340 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 29 20 3a   {abc: (1.000) :
16350 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16360 6e 74 66 2d 32 2e 36 2e 33 2e 32 20 7b 0a 20 20  ntf-2.6.3.2 {.  
16370 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16380 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
16390 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 31  .*e) :xyz} 2 3 1
163a0 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  .0.} {abc: (1.00
163b0 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
163c0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
163d0 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.3 {.  sqlite3_
163e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
163f0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
16400 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 3 1.0.} {ab
16410 63 3a 20 28 20 31 29 20 3a 78 79 7a 7d 0a 64 6f  c: ( 1) :xyz}.do
16420 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
16430 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.4 {.  sqlite3
16440 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
16450 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
16460 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d   :xyz} 2 3 1.0.}
16470 20 7b 61 62 63 3a 20 32 20 33 20 28 31 29 20 3a   {abc: 2 3 (1) :
16480 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16490 6e 74 66 2d 32 2e 36 2e 33 2e 35 20 7b 0a 20 20  ntf-2.6.3.5 {.  
164a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
164b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
164c0 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
164d0 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 1.0.} {abc: 2
164e0 20 33 20 28 31 2e 30 30 30 30 30 29 20 3a 78 79   3 (1.00000) :xy
164f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16500 66 2d 32 2e 36 2e 33 2e 36 20 7b 0a 20 20 73 71  f-2.6.3.6 {.  sq
16510 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16520 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16530 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
16540 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 1.0.} {abc: 2
16550 20 33 20 28 30 30 30 30 30 30 30 30 30 31 29 20   3 (0000000001) 
16560 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16570 69 6e 74 66 2d 32 2e 36 2e 33 2e 37 20 7b 0a 20  intf-2.6.3.7 {. 
16580 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16590 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
165a0 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a   %d (%2.3f) :xyz
165b0 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 3 1.0.} {abc
165c0 3a 20 32 20 33 20 28 31 2e 30 30 30 29 20 3a 78  : 2 3 (1.000) :x
165d0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
165e0 74 66 2d 32 2e 36 2e 33 2e 38 20 7b 0a 20 20 73  tf-2.6.3.8 {.  s
165f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16600 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16610 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%2.3e) :xyz} 
16620 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 1.0.} {abc: 
16630 32 20 33 20 28 31 2e 30 30 30 65 2b 30 30 29 20  2 3 (1.000e+00) 
16640 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16650 69 6e 74 66 2d 32 2e 36 2e 33 2e 39 20 7b 0a 20  intf-2.6.3.9 {. 
16660 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16670 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16680 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a   %d (%2.3g) :xyz
16690 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63  } 2 3 1.0.} {abc
166a0 3a 20 32 20 33 20 28 20 31 29 20 3a 78 79 7a 7d  : 2 3 ( 1) :xyz}
166b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
166c0 32 2e 36 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69  2.6.4.1 {.  sqli
166d0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
166e0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
166f0 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d   :xyz} 2 3 0.0.}
16700 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a   {abc: (0.000) :
16710 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16720 6e 74 66 2d 32 2e 36 2e 34 2e 32 20 7b 0a 20 20  ntf-2.6.4.2 {.  
16730 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16740 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
16750 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 30  .*e) :xyz} 2 3 0
16760 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  .0.} {abc: (0.00
16770 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
16780 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
16790 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.3 {.  sqlite3_
167a0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
167b0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
167c0 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62  z} 2 3 0.0.} {ab
167d0 63 3a 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f  c: ( 0) :xyz}.do
167e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
167f0 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.4 {.  sqlite3
16800 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
16810 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
16820 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d   :xyz} 2 3 0.0.}
16830 20 7b 61 62 63 3a 20 32 20 33 20 28 30 29 20 3a   {abc: 2 3 (0) :
16840 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16850 6e 74 66 2d 32 2e 36 2e 34 2e 35 20 7b 0a 20 20  ntf-2.6.4.5 {.  
16860 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16870 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
16880 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
16890 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 0.0.} {abc: 2
168a0 20 33 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79   3 (0.00000) :xy
168b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
168c0 66 2d 32 2e 36 2e 34 2e 36 20 7b 0a 20 20 73 71  f-2.6.4.6 {.  sq
168d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
168e0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
168f0 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
16900 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   3 0.0.} {abc: 2
16910 20 33 20 28 30 30 30 30 30 30 30 30 30 30 29 20   3 (0000000000) 
16920 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16930 69 6e 74 66 2d 32 2e 36 2e 34 2e 37 20 7b 0a 20  intf-2.6.4.7 {. 
16940 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16950 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16960 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a   %d (%2.3f) :xyz
16970 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 2 3 0.0.} {abc
16980 3a 20 32 20 33 20 28 30 2e 30 30 30 29 20 3a 78  : 2 3 (0.000) :x
16990 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
169a0 74 66 2d 32 2e 36 2e 34 2e 38 20 7b 0a 20 20 73  tf-2.6.4.8 {.  s
169b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
169c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
169d0 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%2.3e) :xyz} 
169e0 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 0.0.} {abc: 
169f0 32 20 33 20 28 30 2e 30 30 30 65 2b 30 30 29 20  2 3 (0.000e+00) 
16a00 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16a10 69 6e 74 66 2d 32 2e 36 2e 34 2e 39 20 7b 0a 20  intf-2.6.4.9 {. 
16a20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16a30 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16a40 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a   %d (%2.3g) :xyz
16a50 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63  } 2 3 0.0.} {abc
16a60 3a 20 32 20 33 20 28 20 30 29 20 3a 78 79 7a 7d  : 2 3 ( 0) :xyz}
16a70 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
16a80 32 2e 36 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69  2.6.5.1 {.  sqli
16a90 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
16aa0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
16ab0 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30   :xyz} 2 3 100.0
16ac0 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30  .} {abc: (100.00
16ad0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
16ae0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 32 20   printf-2.6.5.2 
16af0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
16b00 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
16b10 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32   (%*.*e) :xyz} 2
16b20 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 100.0.} {abc:
16b30 20 28 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79   (1.000e+02) :xy
16b40 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16b50 66 2d 32 2e 36 2e 35 2e 33 20 7b 0a 20 20 73 71  f-2.6.5.3 {.  sq
16b60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16b70 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
16b80 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30  g) :xyz} 2 3 100
16b90 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 29  .0.} {abc: (100)
16ba0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16bb0 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 34 20 7b 0a  rintf-2.6.5.4 {.
16bc0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16bd0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16be0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
16bf0 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  2 3 100.0.} {abc
16c00 3a 20 32 20 33 20 28 31 30 30 29 20 3a 78 79 7a  : 2 3 (100) :xyz
16c10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16c20 2d 32 2e 36 2e 35 2e 35 20 7b 0a 20 20 73 71 6c  -2.6.5.5 {.  sql
16c30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16c40 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
16c50 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  (%#g) :xyz} 2 3 
16c60 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20  100.0.} {abc: 2 
16c70 33 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a  3 (100.000) :xyz
16c80 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16c90 2d 32 2e 36 2e 35 2e 36 20 7b 0a 20 20 73 71 6c  -2.6.5.6 {.  sql
16ca0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16cb0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
16cc0 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
16cd0 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 100.0.} {abc: 
16ce0 32 20 33 20 28 30 30 30 30 30 30 30 31 30 30 29  2 3 (0000000100)
16cf0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16d00 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 37 20 7b 0a  rintf-2.6.5.7 {.
16d10 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16d20 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16d30 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79  d %d (%2.3f) :xy
16d40 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b  z} 2 3 100.0.} {
16d50 61 62 63 3a 20 32 20 33 20 28 31 30 30 2e 30 30  abc: 2 3 (100.00
16d60 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
16d70 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 38 20   printf-2.6.5.8 
16d80 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
16d90 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
16da0 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a   %d %d (%2.3e) :
16db0 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d  xyz} 2 3 100.0.}
16dc0 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e 30 30   {abc: 2 3 (1.00
16dd0 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+02) :xyz}.do_
16de0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
16df0 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.9 {.  sqlite3_
16e00 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
16e10 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
16e20 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30  g) :xyz} 2 3 100
16e30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  .0.} {abc: 2 3 (
16e40 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
16e50 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e  st printf-2.6.6.
16e60 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
16e70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
16e80 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
16e90 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   2 3 9.99999.} {
16ea0 61 62 63 3a 20 28 31 30 2e 30 30 30 29 20 3a 78  abc: (10.000) :x
16eb0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16ec0 74 66 2d 32 2e 36 2e 36 2e 32 20 7b 0a 20 20 73  tf-2.6.6.2 {.  s
16ed0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16ee0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
16ef0 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e  *e) :xyz} 2 3 9.
16f00 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31  99999.} {abc: (1
16f10 2e 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a  .000e+01) :xyz}.
16f20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
16f30 2e 36 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .6.6.3 {.  sqlit
16f40 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16f50 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
16f60 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39  :xyz} 2 3 9.9999
16f70 39 0a 7d 20 7b 61 62 63 3a 20 28 31 30 29 20 3a  9.} {abc: (10) :
16f80 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16f90 6e 74 66 2d 32 2e 36 2e 36 2e 34 20 7b 0a 20 20  ntf-2.6.6.4 {.  
16fa0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16fb0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
16fc0 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20  %d (%g) :xyz} 2 
16fd0 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  3 9.99999.} {abc
16fe0 3a 20 32 20 33 20 28 39 2e 39 39 39 39 39 29 20  : 2 3 (9.99999) 
16ff0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
17000 69 6e 74 66 2d 32 2e 36 2e 36 2e 35 20 7b 0a 20  intf-2.6.6.5 {. 
17010 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
17020 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
17030 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
17040 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 3 9.99999.} {a
17050 62 63 3a 20 32 20 33 20 28 39 2e 39 39 39 39 39  bc: 2 3 (9.99999
17060 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17070 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 36 20 7b  printf-2.6.6.6 {
17080 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
17090 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
170a0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
170b0 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39 39 0a  yz} 2 3 9.99999.
170c0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 30 30  } {abc: 2 3 (000
170d0 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
170e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
170f0 36 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  6.6.7 {.  sqlite
17100 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17110 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
17120 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  .3f) :xyz} 2 3 9
17130 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32  .99999.} {abc: 2
17140 20 33 20 28 31 30 2e 30 30 30 29 20 3a 78 79 7a   3 (10.000) :xyz
17150 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17160 2d 32 2e 36 2e 36 2e 38 20 7b 0a 20 20 73 71 6c  -2.6.6.8 {.  sql
17170 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17180 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
17190 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20  (%2.3e) :xyz} 2 
171a0 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  3 9.99999.} {abc
171b0 3a 20 32 20 33 20 28 31 2e 30 30 30 65 2b 30 31  : 2 3 (1.000e+01
171c0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
171d0 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 39 20 7b  printf-2.6.6.9 {
171e0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
171f0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
17200 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78  %d %d (%2.3g) :x
17210 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39 39 0a  yz} 2 3 9.99999.
17220 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 30 29  } {abc: 2 3 (10)
17230 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
17240 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 31 20 7b 0a  rintf-2.6.7.1 {.
17250 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17260 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
17270 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*f) :xyz} 2 3
17280 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
17290 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d  : (-0.005) :xyz}
172a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
172b0 32 2e 36 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69  2.6.7.2 {.  sqli
172c0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
172d0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
172e0 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30   :xyz} 2 3 -0.00
172f0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e  543.} {abc: (-5.
17300 34 33 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  430e-03) :xyz}.d
17310 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17320 36 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  6.7.3 {.  sqlite
17330 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17340 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
17350 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34  xyz} 2 3 -0.0054
17360 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30  3.} {abc: (-0.00
17370 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
17380 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e  st printf-2.6.7.
17390 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
173a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
173b0 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
173c0 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34 33  yz} 2 3 -0.00543
173d0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30  .} {abc: 2 3 (-0
173e0 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
173f0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17400 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.5 {.  sqlite3
17410 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17420 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
17430 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30  ) :xyz} 2 3 -0.0
17440 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33  0543.} {abc: 2 3
17450 20 28 2d 30 2e 30 30 35 34 33 30 30 30 29 20 3a   (-0.00543000) :
17460 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17470 6e 74 66 2d 32 2e 36 2e 37 2e 36 20 7b 0a 20 20  ntf-2.6.7.6 {.  
17480 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17490 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
174a0 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
174b0 20 32 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20   2 3 -0.00543.} 
174c0 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 30 30 2e  {abc: 2 3 (-000.
174d0 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
174e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
174f0 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.7 {.  sqlite3_
17500 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
17510 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
17520 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e  f) :xyz} 2 3 -0.
17530 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20  00543.} {abc: 2 
17540 33 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d  3 (-0.005) :xyz}
17550 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17560 32 2e 36 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69  2.6.7.8 {.  sqli
17570 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17580 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
17590 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3e) :xyz} 2 3
175a0 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
175b0 3a 20 32 20 33 20 28 2d 35 2e 34 33 30 65 2d 30  : 2 3 (-5.430e-0
175c0 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
175d0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 39 20   printf-2.6.7.9 
175e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
175f0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
17600 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a   %d %d (%2.3g) :
17610 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34  xyz} 2 3 -0.0054
17620 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  3.} {abc: 2 3 (-
17630 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
17640 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17650 36 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  6.8.1 {.  sqlite
17660 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17670 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
17680 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20  xyz} 2 3 -1.0.} 
17690 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 29 20 3a  {abc: (-1.000) :
176a0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
176b0 6e 74 66 2d 32 2e 36 2e 38 2e 32 20 7b 0a 20 20  ntf-2.6.8.2 {.  
176c0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
176d0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
176e0 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  .*e) :xyz} 2 3 -
176f0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e  1.0.} {abc: (-1.
17700 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  000e+00) :xyz}.d
17710 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17720 36 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  6.8.3 {.  sqlite
17730 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17740 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
17750 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20  xyz} 2 3 -1.0.} 
17760 7b 61 62 63 3a 20 28 2d 31 29 20 3a 78 79 7a 7d  {abc: (-1) :xyz}
17770 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17780 32 2e 36 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69  2.6.8.4 {.  sqli
17790 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
177a0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
177b0 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31  %g) :xyz} 2 3 -1
177c0 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  .0.} {abc: 2 3 (
177d0 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  -1) :xyz}.do_tes
177e0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38 2e 35  t printf-2.6.8.5
177f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17800 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17810 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
17820 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20 7b  yz} 2 3 -1.0.} {
17830 61 62 63 3a 20 32 20 33 20 28 2d 31 2e 30 30 30  abc: 2 3 (-1.000
17840 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
17850 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38 2e 36  t printf-2.6.8.6
17860 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17870 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17880 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
17890 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d  :xyz} 2 3 -1.0.}
178a0 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 30 30   {abc: 2 3 (-000
178b0 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  000001) :xyz}.do
178c0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
178d0 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.7 {.  sqlite3
178e0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
178f0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
17900 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31  3f) :xyz} 2 3 -1
17910 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  .0.} {abc: 2 3 (
17920 2d 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  -1.000) :xyz}.do
17930 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17940 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.8 {.  sqlite3
17950 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17960 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
17970 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31  3e) :xyz} 2 3 -1
17980 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  .0.} {abc: 2 3 (
17990 2d 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  -1.000e+00) :xyz
179a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
179b0 2d 32 2e 36 2e 38 2e 39 20 7b 0a 20 20 73 71 6c  -2.6.8.9 {.  sql
179c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
179d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
179e0 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.3g) :xyz} 2 
179f0 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32  3 -1.0.} {abc: 2
17a00 20 33 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f   3 (-1) :xyz}.do
17a10 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17a20 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.1 {.  sqlite3
17a30 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17a40 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
17a50 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39 39  yz} 2 3 -99.9999
17a60 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 2e  9.} {abc: (-100.
17a70 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
17a80 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e  st printf-2.6.9.
17a90 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
17aa0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17ab0 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
17ac0 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   2 3 -99.99999.}
17ad0 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 65 2b   {abc: (-1.000e+
17ae0 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
17af0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 33  t printf-2.6.9.3
17b00 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17b10 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17b20 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
17b30 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  2 3 -99.99999.} 
17b40 7b 61 62 63 3a 20 28 2d 31 30 30 29 20 3a 78 79  {abc: (-100) :xy
17b50 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17b60 66 2d 32 2e 36 2e 39 2e 34 20 7b 0a 20 20 73 71  f-2.6.9.4 {.  sq
17b70 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17b80 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17b90 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20   (%g) :xyz} 2 3 
17ba0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
17bb0 3a 20 32 20 33 20 28 2d 31 30 30 29 20 3a 78 79  : 2 3 (-100) :xy
17bc0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17bd0 66 2d 32 2e 36 2e 39 2e 35 20 7b 0a 20 20 73 71  f-2.6.9.5 {.  sq
17be0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17bf0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17c00 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33   (%#g) :xyz} 2 3
17c10 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
17c20 63 3a 20 32 20 33 20 28 2d 31 30 30 2e 30 30 30  c: 2 3 (-100.000
17c30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17c40 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 36 20 7b  printf-2.6.9.6 {
17c50 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
17c60 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
17c70 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
17c80 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39 39  yz} 2 3 -99.9999
17c90 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  9.} {abc: 2 3 (-
17ca0 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
17cb0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17cc0 32 2e 36 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69  2.6.9.7 {.  sqli
17cd0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17ce0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
17cf0 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3f) :xyz} 2 3
17d00 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
17d10 63 3a 20 32 20 33 20 28 2d 31 30 30 2e 30 30 30  c: 2 3 (-100.000
17d20 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
17d30 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 38 20 7b  printf-2.6.9.8 {
17d40 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
17d50 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
17d60 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78  %d %d (%2.3e) :x
17d70 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39 39  yz} 2 3 -99.9999
17d80 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  9.} {abc: 2 3 (-
17d90 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d  1.000e+02) :xyz}
17da0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
17db0 32 2e 36 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69  2.6.9.9 {.  sqli
17dc0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17dd0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
17de0 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33  %2.3g) :xyz} 2 3
17df0 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
17e00 63 3a 20 32 20 33 20 28 2d 31 30 30 29 20 3a 78  c: 2 3 (-100) :x
17e10 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17e20 74 66 2d 32 2e 36 2e 31 30 2e 31 20 7b 0a 20 20  tf-2.6.10.1 {.  
17e30 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17e40 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
17e50 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .*f) :xyz} 2 3 3
17e60 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
17e70 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 29 20  3140000000.000) 
17e80 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
17e90 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 32 20 7b 0a  intf-2.6.10.2 {.
17ea0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
17eb0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
17ec0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
17ed0 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
17ee0 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a 78 79   (3.140e+09) :xy
17ef0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17f00 66 2d 32 2e 36 2e 31 30 2e 33 20 7b 0a 20 20 73  f-2.6.10.3 {.  s
17f10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
17f20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
17f30 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  *g) :xyz} 2 3 3.
17f40 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33  14e+9.} {abc: (3
17f50 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
17f60 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17f70 36 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74  6.10.4 {.  sqlit
17f80 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17f90 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
17fa0 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31  g) :xyz} 2 3 3.1
17fb0 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33  4e+9.} {abc: 2 3
17fc0 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a   (3.14e+09) :xyz
17fd0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17fe0 2d 32 2e 36 2e 31 30 2e 35 20 7b 0a 20 20 73 71  -2.6.10.5 {.  sq
17ff0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18000 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
18010 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33   (%#g) :xyz} 2 3
18020 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
18030 20 32 20 33 20 28 33 2e 31 34 30 30 30 65 2b 30   2 3 (3.14000e+0
18040 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
18050 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 36   printf-2.6.10.6
18060 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
18070 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
18080 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
18090 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34 65 2b  :xyz} 2 3 3.14e+
180a0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30  9.} {abc: 2 3 (0
180b0 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  03.14e+09) :xyz}
180c0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
180d0 32 2e 36 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c  2.6.10.7 {.  sql
180e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
180f0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18100 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20  (%2.3f) :xyz} 2 
18110 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
18120 3a 20 32 20 33 20 28 33 31 34 30 30 30 30 30 30  : 2 3 (314000000
18130 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
18140 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18150 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.8 {.  sqlite3
18160 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18170 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
18180 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  3e) :xyz} 2 3 3.
18190 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20  14e+9.} {abc: 2 
181a0 33 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a 78  3 (3.140e+09) :x
181b0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
181c0 74 66 2d 32 2e 36 2e 31 30 2e 39 20 7b 0a 20 20  tf-2.6.10.9 {.  
181d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
181e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
181f0 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d  %d (%2.3g) :xyz}
18200 20 32 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   2 3 3.14e+9.} {
18210 61 62 63 3a 20 32 20 33 20 28 33 2e 31 34 65 2b  abc: 2 3 (3.14e+
18220 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
18230 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e  t printf-2.6.11.
18240 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
18250 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18260 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
18270 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b 38   2 3 -4.72732e+8
18280 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32  8.} {abc: (-4.72
18290 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  7e+88) :xyz}.do_
182a0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
182b0 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.3 {.  sqlite3
182c0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
182d0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
182e0 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32  yz} 2 3 -4.72732
182f0 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
18300 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  .73e+88) :xyz}.d
18310 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
18320 36 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  6.11.4 {.  sqlit
18330 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18340 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18350 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e  g) :xyz} 2 3 -4.
18360 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
18370 3a 20 32 20 33 20 28 2d 34 2e 37 32 37 33 32 65  : 2 3 (-4.72732e
18380 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
18390 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31  st printf-2.6.11
183a0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
183b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
183c0 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
183d0 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37  :xyz} 2 3 -4.727
183e0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32  32e+88.} {abc: 2
183f0 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   3 (-4.72732e+88
18400 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
18410 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 36 20  printf-2.6.11.6 
18420 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
18430 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
18440 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
18450 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33  xyz} 2 3 -4.7273
18460 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20  2e+88.} {abc: 2 
18470 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  3 (-4.72732e+88)
18480 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18490 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 38 20 7b  rintf-2.6.11.8 {
184a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
184b0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
184c0 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a 78  %d %d (%2.3e) :x
184d0 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32  yz} 2 3 -4.72732
184e0 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33  e+88.} {abc: 2 3
184f0 20 28 2d 34 2e 37 32 37 65 2b 38 38 29 20 3a 78   (-4.727e+88) :x
18500 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
18510 74 66 2d 32 2e 36 2e 31 31 2e 39 20 7b 0a 20 20  tf-2.6.11.9 {.  
18520 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
18530 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
18540 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d  %d (%2.3g) :xyz}
18550 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b 38   2 3 -4.72732e+8
18560 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  8.} {abc: 2 3 (-
18570 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  4.73e+88) :xyz}.
18580 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18590 2e 36 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69  .6.12.2 {.  sqli
185a0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
185b0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
185c0 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37 39   :xyz} 2 3 9.879
185d0 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
185e0 28 39 2e 38 38 30 65 2b 31 34 33 29 20 3a 78 79  (9.880e+143) :xy
185f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
18600 66 2d 32 2e 36 2e 31 32 2e 33 20 7b 0a 20 20 73  f-2.6.12.3 {.  s
18610 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
18620 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
18630 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e  *g) :xyz} 2 3 9.
18640 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
18650 63 3a 20 28 39 2e 38 38 65 2b 31 34 33 29 20 3a  c: (9.88e+143) :
18660 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18670 6e 74 66 2d 32 2e 36 2e 31 32 2e 34 20 7b 0a 20  ntf-2.6.12.4 {. 
18680 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18690 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
186a0 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
186b0 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   3 9.87991e+143.
186c0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 39 2e 38  } {abc: 2 3 (9.8
186d0 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
186e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
186f0 32 2e 36 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c  2.6.12.5 {.  sql
18700 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18710 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18720 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  (%#g) :xyz} 2 3 
18730 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
18740 61 62 63 3a 20 32 20 33 20 28 39 2e 38 37 39 39  abc: 2 3 (9.8799
18750 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
18760 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
18770 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .12.6 {.  sqlite
18780 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
18790 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
187a0 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  10g) :xyz} 2 3 9
187b0 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
187c0 62 63 3a 20 32 20 33 20 28 39 2e 38 37 39 39 31  bc: 2 3 (9.87991
187d0 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
187e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
187f0 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.8 {.  sqlite3
18800 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18810 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
18820 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e  3e) :xyz} 2 3 9.
18830 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
18840 63 3a 20 32 20 33 20 28 39 2e 38 38 30 65 2b 31  c: 2 3 (9.880e+1
18850 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
18860 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 32 2e  t printf-2.6.12.
18870 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
18880 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18890 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29  c: %d %d (%2.3g)
188a0 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37 39   :xyz} 2 3 9.879
188b0 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
188c0 32 20 33 20 28 39 2e 38 38 65 2b 31 34 33 29 20  2 3 (9.88e+143) 
188d0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
188e0 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 31 20 7b 0a  intf-2.6.13.1 {.
188f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
18900 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
18910 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*f) :xyz} 2 3
18920 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
18930 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30 29 20 3a  {abc: (-0.000) :
18940 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18950 6e 74 66 2d 32 2e 36 2e 31 33 2e 32 20 7b 0a 20  ntf-2.6.13.2 {. 
18960 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18970 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
18980 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
18990 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
189a0 61 62 63 3a 20 28 2d 36 2e 32 38 37 65 2d 30 39  abc: (-6.287e-09
189b0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
189c0 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 33 20  printf-2.6.13.3 
189d0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
189e0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
189f0 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32   (%*.*g) :xyz} 2
18a00 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   3 -6.287291e-9.
18a10 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 39 65 2d  } {abc: (-6.29e-
18a20 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
18a30 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e  t printf-2.6.13.
18a40 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
18a50 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
18a60 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
18a70 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37 32 39  yz} 2 3 -6.28729
18a80 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33  1e-9.} {abc: 2 3
18a90 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
18aa0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
18ab0 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 35 20 7b 0a  intf-2.6.13.5 {.
18ac0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
18ad0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
18ae0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
18af0 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 3 -6.287291e-
18b00 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  9.} {abc: 2 3 (-
18b10 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
18b20 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
18b30 66 2d 32 2e 36 2e 31 33 2e 36 20 7b 0a 20 20 73  f-2.6.13.6 {.  s
18b40 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
18b50 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
18b60 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
18b70 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 3 -6.287291e-9
18b80 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 36  .} {abc: 2 3 (-6
18b90 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
18ba0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18bb0 2d 32 2e 36 2e 31 33 2e 37 20 7b 0a 20 20 73 71  -2.6.13.7 {.  sq
18bc0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18bd0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
18be0 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32   (%2.3f) :xyz} 2
18bf0 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   3 -6.287291e-9.
18c00 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 2e  } {abc: 2 3 (-0.
18c10 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
18c20 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33  st printf-2.6.13
18c30 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
18c40 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18c50 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65  bc: %d %d (%2.3e
18c60 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32  ) :xyz} 2 3 -6.2
18c70 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
18c80 20 32 20 33 20 28 2d 36 2e 32 38 37 65 2d 30 39   2 3 (-6.287e-09
18c90 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
18ca0 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 39 20  printf-2.6.13.9 
18cb0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
18cc0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
18cd0 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a   %d %d (%2.3g) :
18ce0 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37 32  xyz} 2 3 -6.2872
18cf0 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20  91e-9.} {abc: 2 
18d00 33 20 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78  3 (-6.29e-09) :x
18d10 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
18d20 74 66 2d 32 2e 36 2e 31 34 2e 31 20 7b 0a 20 20  tf-2.6.14.1 {.  
18d30 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
18d40 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
18d50 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .*f) :xyz} 2 3 3
18d60 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
18d70 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a   {abc: (0.000) :
18d80 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18d90 6e 74 66 2d 32 2e 36 2e 31 34 2e 32 20 7b 0a 20  ntf-2.6.14.2 {. 
18da0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18db0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
18dc0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
18dd0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
18de0 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 65 2d  } {abc: (3.388e-
18df0 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
18e00 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 34  st printf-2.6.14
18e10 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
18e20 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18e30 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
18e40 7d 20 32 20 33 20 33 2e 33 38 38 32 36 33 39 32  } 2 3 3.38826392
18e50 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33  e-110.} {abc: (3
18e60 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  .39e-110) :xyz}.
18e70 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18e80 2e 36 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69  .6.14.4 {.  sqli
18e90 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18ea0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
18eb0 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  %g) :xyz} 2 3 3.
18ec0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
18ed0 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38 38  {abc: 2 3 (3.388
18ee0 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
18ef0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
18f00 36 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74  6.14.5 {.  sqlit
18f10 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18f20 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18f30 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  #g) :xyz} 2 3 3.
18f40 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
18f50 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38 38  {abc: 2 3 (3.388
18f60 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
18f70 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
18f80 36 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  6.14.6 {.  sqlit
18f90 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
18fa0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
18fb0 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  010g) :xyz} 2 3 
18fc0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
18fd0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33  } {abc: 2 3 (3.3
18fe0 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
18ff0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19000 32 2e 36 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c  2.6.14.7 {.  sql
19010 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19020 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19030 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20  (%2.3f) :xyz} 2 
19040 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
19050 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30  0.} {abc: 2 3 (0
19060 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
19070 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
19080 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.8 {.  sqlite3_
19090 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
190a0 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
190b0 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33  e) :xyz} 2 3 3.3
190c0 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
190d0 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38 38 65  abc: 2 3 (3.388e
190e0 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
190f0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
19100 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.9 {.  sqlite3_
19110 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
19120 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
19130 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 33  g) :xyz} 2 3 3.3
19140 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
19150 61 62 63 3a 20 32 20 33 20 28 33 2e 33 39 65 2d  abc: 2 3 (3.39e-
19160 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
19170 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e  st printf-2.7.1.
19180 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
19190 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
191a0 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
191b0 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62   3 3 0.001.} {ab
191c0 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d  c: (0.001) :xyz}
191d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
191e0 32 2e 37 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69  2.7.1.2 {.  sqli
191f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19200 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
19210 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30 31   :xyz} 3 3 0.001
19220 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 65  .} {abc: (1.000e
19230 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
19240 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e  st printf-2.7.1.
19250 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
19260 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19270 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
19280 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62   3 3 0.001.} {ab
19290 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d  c: (0.001) :xyz}
192a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
192b0 32 2e 37 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69  2.7.1.4 {.  sqli
192c0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
192d0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
192e0 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e  %g) :xyz} 3 3 0.
192f0 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  001.} {abc: 3 3 
19300 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (0.001) :xyz}.do
19310 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19320 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.5 {.  sqlite3
19330 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19340 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
19350 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30  ) :xyz} 3 3 0.00
19360 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30  1.} {abc: 3 3 (0
19370 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a 7d  .00100000) :xyz}
19380 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19390 32 2e 37 2e 31 2e 36 20 7b 0a 20 20 73 71 6c 69  2.7.1.6 {.  sqli
193a0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
193b0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
193c0 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33  %010g) :xyz} 3 3
193d0 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33   0.001.} {abc: 3
193e0 20 33 20 28 30 30 30 30 30 30 2e 30 30 31 29 20   3 (000000.001) 
193f0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
19400 69 6e 74 66 2d 32 2e 37 2e 31 2e 37 20 7b 0a 20  intf-2.7.1.7 {. 
19410 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
19420 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
19430 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
19440 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 3 0.001.} {a
19450 62 63 3a 20 33 20 33 20 28 30 2e 30 30 31 29 20  bc: 3 3 (0.001) 
19460 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
19470 69 6e 74 66 2d 32 2e 37 2e 31 2e 38 20 7b 0a 20  intf-2.7.1.8 {. 
19480 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
19490 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
194a0 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a   %d (%3.3e) :xyz
194b0 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 3 0.001.} {a
194c0 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65 2d  bc: 3 3 (1.000e-
194d0 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
194e0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 39  t printf-2.7.1.9
194f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19500 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19510 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20  : %d %d (%3.3g) 
19520 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a  :xyz} 3 3 0.001.
19530 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 2e 30  } {abc: 3 3 (0.0
19540 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
19550 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 31  t printf-2.7.2.1
19560 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19570 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19580 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
19590 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  3 3 1.0e-20.} {a
195a0 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78 79 7a  bc: (0.000) :xyz
195b0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
195c0 2d 32 2e 37 2e 32 2e 32 20 7b 0a 20 20 73 71 6c  -2.7.2.2 {.  sql
195d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
195e0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
195f0 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65  ) :xyz} 3 3 1.0e
19600 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  -20.} {abc: (1.0
19610 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e-20) :xyz}.do
19620 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19630 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.3 {.  sqlite3
19640 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19650 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
19660 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32 30 0a  yz} 3 3 1.0e-20.
19670 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32 30 29 20  } {abc: (1e-20) 
19680 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
19690 69 6e 74 66 2d 32 2e 37 2e 32 2e 34 20 7b 0a 20  intf-2.7.2.4 {. 
196a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
196b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
196c0 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
196d0 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   3 1.0e-20.} {ab
196e0 63 3a 20 33 20 33 20 28 31 65 2d 32 30 29 20 3a  c: 3 3 (1e-20) :
196f0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
19700 6e 74 66 2d 32 2e 37 2e 32 2e 35 20 7b 0a 20 20  ntf-2.7.2.5 {.  
19710 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
19720 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
19730 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
19740 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   3 1.0e-20.} {ab
19750 63 3a 20 33 20 33 20 28 31 2e 30 30 30 30 30 65  c: 3 3 (1.00000e
19760 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
19770 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e  st printf-2.7.2.
19780 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
19790 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
197a0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
197b0 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d   :xyz} 3 3 1.0e-
197c0 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  20.} {abc: 3 3 (
197d0 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79 7a  000001e-20) :xyz
197e0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
197f0 2d 32 2e 37 2e 32 2e 37 20 7b 0a 20 20 73 71 6c  -2.7.2.7 {.  sql
19800 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19810 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19820 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20  (%3.3f) :xyz} 3 
19830 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  3 1.0e-20.} {abc
19840 3a 20 33 20 33 20 28 30 2e 30 30 30 29 20 3a 78  : 3 3 (0.000) :x
19850 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19860 74 66 2d 32 2e 37 2e 32 2e 38 20 7b 0a 20 20 73  tf-2.7.2.8 {.  s
19870 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19880 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19890 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20  d (%3.3e) :xyz} 
198a0 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  3 3 1.0e-20.} {a
198b0 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65 2d  bc: 3 3 (1.000e-
198c0 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
198d0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 39  t printf-2.7.2.9
198e0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
198f0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19900 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20  : %d %d (%3.3g) 
19910 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32  :xyz} 3 3 1.0e-2
19920 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 31  0.} {abc: 3 3 (1
19930 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
19940 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33  est printf-2.7.3
19950 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
19960 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19970 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
19980 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63  } 3 3 1.0.} {abc
19990 3a 20 28 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  : (1.000) :xyz}.
199a0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
199b0 2e 37 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .7.3.2 {.  sqlit
199c0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
199d0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
199e0 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20  :xyz} 3 3 1.0.} 
199f0 7b 61 62 63 3a 20 28 31 2e 30 30 30 65 2b 30 30  {abc: (1.000e+00
19a00 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
19a10 70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e 33 20 7b  printf-2.7.3.3 {
19a20 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
19a30 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
19a40 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20  (%*.*g) :xyz} 3 
19a50 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  3 1.0.} {abc: ( 
19a60 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73   1) :xyz}.do_tes
19a70 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e 34  t printf-2.7.3.4
19a80 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19a90 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19aa0 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
19ab0 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62  z} 3 3 1.0.} {ab
19ac0 63 3a 20 33 20 33 20 28 31 29 20 3a 78 79 7a 7d  c: 3 3 (1) :xyz}
19ad0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19ae0 32 2e 37 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69  2.7.3.5 {.  sqli
19af0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19b00 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
19b10 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  %#g) :xyz} 3 3 1
19b20 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
19b30 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  1.00000) :xyz}.d
19b40 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19b50 37 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  7.3.6 {.  sqlite
19b60 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19b70 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
19b80 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  10g) :xyz} 3 3 1
19b90 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
19ba0 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a  0000000001) :xyz
19bb0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19bc0 2d 32 2e 37 2e 33 2e 37 20 7b 0a 20 20 73 71 6c  -2.7.3.7 {.  sql
19bd0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19be0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19bf0 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20  (%3.3f) :xyz} 3 
19c00 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  3 1.0.} {abc: 3 
19c10 33 20 28 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  3 (1.000) :xyz}.
19c20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
19c30 2e 37 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .7.3.8 {.  sqlit
19c40 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
19c50 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
19c60 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3e) :xyz} 3 3 
19c70 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  1.0.} {abc: 3 3 
19c80 28 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  (1.000e+00) :xyz
19c90 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19ca0 2d 32 2e 37 2e 33 2e 39 20 7b 0a 20 20 73 71 6c  -2.7.3.9 {.  sql
19cb0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19cc0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19cd0 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20  (%3.3g) :xyz} 3 
19ce0 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  3 1.0.} {abc: 3 
19cf0 33 20 28 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f  3 (  1) :xyz}.do
19d00 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
19d10 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.1 {.  sqlite3
19d20 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
19d30 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
19d40 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61  yz} 3 3 0.0.} {a
19d50 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78 79 7a  bc: (0.000) :xyz
19d60 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19d70 2d 32 2e 37 2e 34 2e 32 20 7b 0a 20 20 73 71 6c  -2.7.4.2 {.  sql
19d80 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19d90 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
19da0 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a  ) :xyz} 3 3 0.0.
19db0 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 65 2b  } {abc: (0.000e+
19dc0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
19dd0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 34 2e 33  t printf-2.7.4.3
19de0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
19df0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
19e00 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
19e10 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 0.0.} {abc: 
19e20 28 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (  0) :xyz}.do_t
19e30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 34  est printf-2.7.4
19e40 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
19e50 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
19e60 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
19e70 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b  xyz} 3 3 0.0.} {
19e80 61 62 63 3a 20 33 20 33 20 28 30 29 20 3a 78 79  abc: 3 3 (0) :xy
19e90 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19ea0 66 2d 32 2e 37 2e 34 2e 35 20 7b 0a 20 20 73 71  f-2.7.4.5 {.  sq
19eb0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19ec0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19ed0 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
19ee0 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   0.0.} {abc: 3 3
19ef0 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d   (0.00000) :xyz}
19f00 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19f10 32 2e 37 2e 34 2e 36 20 7b 0a 20 20 73 71 6c 69  2.7.4.6 {.  sqli
19f20 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19f30 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
19f40 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33  %010g) :xyz} 3 3
19f50 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   0.0.} {abc: 3 3
19f60 20 28 30 30 30 30 30 30 30 30 30 30 29 20 3a 78   (0000000000) :x
19f70 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19f80 74 66 2d 32 2e 37 2e 34 2e 37 20 7b 0a 20 20 73  tf-2.7.4.7 {.  s
19f90 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19fa0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19fb0 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%3.3f) :xyz} 
19fc0 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 0.0.} {abc: 
19fd0 33 20 33 20 28 30 2e 30 30 30 29 20 3a 78 79 7a  3 3 (0.000) :xyz
19fe0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19ff0 2d 32 2e 37 2e 34 2e 38 20 7b 0a 20 20 73 71 6c  -2.7.4.8 {.  sql
1a000 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a010 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1a020 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1a030 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  3 0.0.} {abc: 3 
1a040 33 20 28 30 2e 30 30 30 65 2b 30 30 29 20 3a 78  3 (0.000e+00) :x
1a050 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1a060 74 66 2d 32 2e 37 2e 34 2e 39 20 7b 0a 20 20 73  tf-2.7.4.9 {.  s
1a070 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1a080 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1a090 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20  d (%3.3g) :xyz} 
1a0a0 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 3 0.0.} {abc: 
1a0b0 33 20 33 20 28 20 20 30 29 20 3a 78 79 7a 7d 0a  3 3 (  0) :xyz}.
1a0c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1a0d0 2e 37 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .7.5.1 {.  sqlit
1a0e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1a0f0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
1a100 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a  :xyz} 3 3 100.0.
1a110 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 30  } {abc: (100.000
1a120 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a130 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 32 20 7b  printf-2.7.5.2 {
1a140 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a150 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a160 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20  (%*.*e) :xyz} 3 
1a170 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 100.0.} {abc: 
1a180 28 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79 7a  (1.000e+02) :xyz
1a190 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a1a0 2d 32 2e 37 2e 35 2e 33 20 7b 0a 20 20 73 71 6c  -2.7.5.3 {.  sql
1a1b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a1c0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1a1d0 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e  ) :xyz} 3 3 100.
1a1e0 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 29 20  0.} {abc: (100) 
1a1f0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1a200 69 6e 74 66 2d 32 2e 37 2e 35 2e 34 20 7b 0a 20  intf-2.7.5.4 {. 
1a210 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1a220 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1a230 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1a240 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 100.0.} {abc:
1a250 20 33 20 33 20 28 31 30 30 29 20 3a 78 79 7a 7d   3 3 (100) :xyz}
1a260 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1a270 32 2e 37 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69  2.7.5.5 {.  sqli
1a280 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1a290 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1a2a0 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31  %#g) :xyz} 3 3 1
1a2b0 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  00.0.} {abc: 3 3
1a2c0 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d   (100.000) :xyz}
1a2d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1a2e0 32 2e 37 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69  2.7.5.6 {.  sqli
1a2f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1a300 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1a310 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33  %010g) :xyz} 3 3
1a320 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   100.0.} {abc: 3
1a330 20 33 20 28 30 30 30 30 30 30 30 31 30 30 29 20   3 (0000000100) 
1a340 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1a350 69 6e 74 66 2d 32 2e 37 2e 35 2e 37 20 7b 0a 20  intf-2.7.5.7 {. 
1a360 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1a370 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1a380 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
1a390 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61  } 3 3 100.0.} {a
1a3a0 62 63 3a 20 33 20 33 20 28 31 30 30 2e 30 30 30  bc: 3 3 (100.000
1a3b0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a3c0 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 38 20 7b  printf-2.7.5.8 {
1a3d0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a3e0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a3f0 25 64 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78  %d %d (%3.3e) :x
1a400 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d 20  yz} 3 3 100.0.} 
1a410 7b 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30  {abc: 3 3 (1.000
1a420 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
1a430 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 35  est printf-2.7.5
1a440 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
1a450 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1a460 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67  bc: %d %d (%3.3g
1a470 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e  ) :xyz} 3 3 100.
1a480 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 31  0.} {abc: 3 3 (1
1a490 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1a4a0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 31  t printf-2.7.6.1
1a4b0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1a4c0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1a4d0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1a4e0 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 3 9.99999.} {a
1a4f0 62 63 3a 20 28 31 30 2e 30 30 30 29 20 3a 78 79  bc: (10.000) :xy
1a500 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a510 66 2d 32 2e 37 2e 36 2e 32 20 7b 0a 20 20 73 71  f-2.7.6.2 {.  sq
1a520 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a530 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1a540 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39  e) :xyz} 3 3 9.9
1a550 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  9999.} {abc: (1.
1a560 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64  000e+01) :xyz}.d
1a570 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1a580 37 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  7.6.3 {.  sqlite
1a590 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a5a0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1a5b0 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39 39  xyz} 3 3 9.99999
1a5c0 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30 29 20 3a  .} {abc: ( 10) :
1a5d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1a5e0 6e 74 66 2d 32 2e 37 2e 36 2e 34 20 7b 0a 20 20  ntf-2.7.6.4 {.  
1a5f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1a600 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1a610 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1a620 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  3 9.99999.} {abc
1a630 3a 20 33 20 33 20 28 39 2e 39 39 39 39 39 29 20  : 3 3 (9.99999) 
1a640 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1a650 69 6e 74 66 2d 32 2e 37 2e 36 2e 35 20 7b 0a 20  intf-2.7.6.5 {. 
1a660 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1a670 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1a680 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
1a690 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 3 9.99999.} {a
1a6a0 62 63 3a 20 33 20 33 20 28 39 2e 39 39 39 39 39  bc: 3 3 (9.99999
1a6b0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a6c0 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 36 20 7b  printf-2.7.6.6 {
1a6d0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a6e0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a6f0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1a700 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39 39 0a  yz} 3 3 9.99999.
1a710 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 30 30  } {abc: 3 3 (000
1a720 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
1a730 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1a740 37 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  7.6.7 {.  sqlite
1a750 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a760 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1a770 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  .3f) :xyz} 3 3 9
1a780 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33  .99999.} {abc: 3
1a790 20 33 20 28 31 30 2e 30 30 30 29 20 3a 78 79 7a   3 (10.000) :xyz
1a7a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a7b0 2d 32 2e 37 2e 36 2e 38 20 7b 0a 20 20 73 71 6c  -2.7.6.8 {.  sql
1a7c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a7d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1a7e0 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1a7f0 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  3 9.99999.} {abc
1a800 3a 20 33 20 33 20 28 31 2e 30 30 30 65 2b 30 31  : 3 3 (1.000e+01
1a810 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a820 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 39 20 7b  printf-2.7.6.9 {
1a830 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a840 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a850 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78  %d %d (%3.3g) :x
1a860 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39 39 0a  yz} 3 3 9.99999.
1a870 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 20 31 30  } {abc: 3 3 ( 10
1a880 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1a890 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 31 20 7b  printf-2.7.7.1 {
1a8a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1a8b0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1a8c0 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
1a8d0 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  3 -0.00543.} {ab
1a8e0 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a  c: (-0.005) :xyz
1a8f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a900 2d 32 2e 37 2e 37 2e 32 20 7b 0a 20 20 73 71 6c  -2.7.7.2 {.  sql
1a910 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a920 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
1a930 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30  ) :xyz} 3 3 -0.0
1a940 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35  0543.} {abc: (-5
1a950 2e 34 33 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a  .430e-03) :xyz}.
1a960 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1a970 2e 37 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .7.7.3 {.  sqlit
1a980 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1a990 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1a9a0 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35  :xyz} 3 3 -0.005
1a9b0 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30  43.} {abc: (-0.0
1a9c0 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
1a9d0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37  est printf-2.7.7
1a9e0 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
1a9f0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1aa00 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
1aa10 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35 34  xyz} 3 3 -0.0054
1aa20 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  3.} {abc: 3 3 (-
1aa30 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
1aa40 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1aa50 37 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  7.7.5 {.  sqlite
1aa60 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1aa70 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
1aa80 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e  g) :xyz} 3 3 -0.
1aa90 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20  00543.} {abc: 3 
1aaa0 33 20 28 2d 30 2e 30 30 35 34 33 30 30 30 29 20  3 (-0.00543000) 
1aab0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1aac0 69 6e 74 66 2d 32 2e 37 2e 37 2e 36 20 7b 0a 20  intf-2.7.7.6 {. 
1aad0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1aae0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1aaf0 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
1ab00 7d 20 33 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d  } 3 3 -0.00543.}
1ab10 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30 30 30   {abc: 3 3 (-000
1ab20 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
1ab30 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1ab40 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.7 {.  sqlite3
1ab50 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1ab60 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1ab70 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30  3f) :xyz} 3 3 -0
1ab80 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33  .00543.} {abc: 3
1ab90 20 33 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a   3 (-0.005) :xyz
1aba0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1abb0 2d 32 2e 37 2e 37 2e 38 20 7b 0a 20 20 73 71 6c  -2.7.7.8 {.  sql
1abc0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1abd0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1abe0 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1abf0 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  3 -0.00543.} {ab
1ac00 63 3a 20 33 20 33 20 28 2d 35 2e 34 33 30 65 2d  c: 3 3 (-5.430e-
1ac10 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
1ac20 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 39  t printf-2.7.7.9
1ac30 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1ac40 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1ac50 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20  : %d %d (%3.3g) 
1ac60 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35  :xyz} 3 3 -0.005
1ac70 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  43.} {abc: 3 3 (
1ac80 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  -0.00543) :xyz}.
1ac90 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1aca0 2e 37 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .7.8.1 {.  sqlit
1acb0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1acc0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
1acd0 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d  :xyz} 3 3 -1.0.}
1ace0 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 29 20   {abc: (-1.000) 
1acf0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1ad00 69 6e 74 66 2d 32 2e 37 2e 38 2e 32 20 7b 0a 20  intf-2.7.8.2 {. 
1ad10 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1ad20 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1ad30 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  *.*e) :xyz} 3 3 
1ad40 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
1ad50 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  .000e+00) :xyz}.
1ad60 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1ad70 2e 37 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .7.8.3 {.  sqlit
1ad80 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1ad90 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1ada0 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d  :xyz} 3 3 -1.0.}
1adb0 20 7b 61 62 63 3a 20 28 20 2d 31 29 20 3a 78 79   {abc: ( -1) :xy
1adc0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1add0 66 2d 32 2e 37 2e 38 2e 34 20 7b 0a 20 20 73 71  f-2.7.8.4 {.  sq
1ade0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1adf0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1ae00 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
1ae10 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  -1.0.} {abc: 3 3
1ae20 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   (-1) :xyz}.do_t
1ae30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 38  est printf-2.7.8
1ae40 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1ae50 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ae60 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1ae70 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a 7d  :xyz} 3 3 -1.0.}
1ae80 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 2e 30   {abc: 3 3 (-1.0
1ae90 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
1aea0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 38  est printf-2.7.8
1aeb0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
1aec0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1aed0 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
1aee0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30  ) :xyz} 3 3 -1.0
1aef0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30  .} {abc: 3 3 (-0
1af00 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a  00000001) :xyz}.
1af10 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1af20 2e 37 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .7.8.7 {.  sqlit
1af30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1af40 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1af50 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3f) :xyz} 3 3 
1af60 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  -1.0.} {abc: 3 3
1af70 20 28 2d 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a   (-1.000) :xyz}.
1af80 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1af90 2e 37 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .7.8.8 {.  sqlit
1afa0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1afb0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1afc0 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3e) :xyz} 3 3 
1afd0 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  -1.0.} {abc: 3 3
1afe0 20 28 2d 31 2e 30 30 30 65 2b 30 30 29 20 3a 78   (-1.000e+00) :x
1aff0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b000 74 66 2d 32 2e 37 2e 38 2e 39 20 7b 0a 20 20 73  tf-2.7.8.9 {.  s
1b010 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1b020 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1b030 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20  d (%3.3g) :xyz} 
1b040 33 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  3 3 -1.0.} {abc:
1b050 20 33 20 33 20 28 20 2d 31 29 20 3a 78 79 7a 7d   3 3 ( -1) :xyz}
1b060 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b070 32 2e 37 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69  2.7.9.1 {.  sqli
1b080 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1b090 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
1b0a0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39   :xyz} 3 3 -99.9
1b0b0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  9999.} {abc: (-1
1b0c0 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00.000) :xyz}.do
1b0d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1b0e0 2e 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.2 {.  sqlite3
1b0f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1b100 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
1b110 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39  yz} 3 3 -99.9999
1b120 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30  9.} {abc: (-1.00
1b130 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+02) :xyz}.do_
1b140 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b150 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.3 {.  sqlite3_
1b160 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1b170 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1b180 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39  z} 3 3 -99.99999
1b190 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 29 20  .} {abc: (-100) 
1b1a0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b1b0 69 6e 74 66 2d 32 2e 37 2e 39 2e 34 20 7b 0a 20  intf-2.7.9.4 {. 
1b1c0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b1d0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b1e0 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1b1f0 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   3 -99.99999.} {
1b200 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30 29 20  abc: 3 3 (-100) 
1b210 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b220 69 6e 74 66 2d 32 2e 37 2e 39 2e 35 20 7b 0a 20  intf-2.7.9.5 {. 
1b230 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b240 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b250 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
1b260 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  3 3 -99.99999.} 
1b270 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30 2e  {abc: 3 3 (-100.
1b280 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
1b290 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e  st printf-2.7.9.
1b2a0 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
1b2b0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1b2c0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
1b2d0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39   :xyz} 3 3 -99.9
1b2e0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  9999.} {abc: 3 3
1b2f0 20 28 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78   (-000000100) :x
1b300 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b310 74 66 2d 32 2e 37 2e 39 2e 37 20 7b 0a 20 20 73  tf-2.7.9.7 {.  s
1b320 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1b330 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1b340 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%3.3f) :xyz} 
1b350 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  3 3 -99.99999.} 
1b360 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30 2e  {abc: 3 3 (-100.
1b370 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
1b380 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 39 2e  st printf-2.7.9.
1b390 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
1b3a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1b3b0 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 65 29  c: %d %d (%3.3e)
1b3c0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39   :xyz} 3 3 -99.9
1b3d0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  9999.} {abc: 3 3
1b3e0 20 28 2d 31 2e 30 30 30 65 2b 30 32 29 20 3a 78   (-1.000e+02) :x
1b3f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b400 74 66 2d 32 2e 37 2e 39 2e 39 20 7b 0a 20 20 73  tf-2.7.9.9 {.  s
1b410 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1b420 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1b430 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20  d (%3.3g) :xyz} 
1b440 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  3 3 -99.99999.} 
1b450 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30 29  {abc: 3 3 (-100)
1b460 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1b470 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 31 20 7b  rintf-2.7.10.1 {
1b480 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b490 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b4a0 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
1b4b0 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
1b4c0 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e 30 30  : (3140000000.00
1b4d0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1b4e0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 32   printf-2.7.10.2
1b4f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1b500 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1b510 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1b520 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 3 3.14e+9.} {a
1b530 62 63 3a 20 28 33 2e 31 34 30 65 2b 30 39 29 20  bc: (3.140e+09) 
1b540 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b550 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 33 20 7b 0a  intf-2.7.10.3 {.
1b560 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1b570 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1b580 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*g) :xyz} 3 3
1b590 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1b5a0 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a   (3.14e+09) :xyz
1b5b0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1b5c0 2d 32 2e 37 2e 31 30 2e 34 20 7b 0a 20 20 73 71  -2.7.10.4 {.  sq
1b5d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b5e0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1b5f0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
1b600 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
1b610 33 20 33 20 28 33 2e 31 34 65 2b 30 39 29 20 3a  3 3 (3.14e+09) :
1b620 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1b630 6e 74 66 2d 32 2e 37 2e 31 30 2e 35 20 7b 0a 20  ntf-2.7.10.5 {. 
1b640 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b650 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b660 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
1b670 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 3 3.14e+9.} {a
1b680 62 63 3a 20 33 20 33 20 28 33 2e 31 34 30 30 30  bc: 3 3 (3.14000
1b690 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
1b6a0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1b6b0 30 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.6 {.  sqlite3_
1b6c0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1b6d0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1b6e0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e 31  g) :xyz} 3 3 3.1
1b6f0 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  4e+9.} {abc: 3 3
1b700 20 28 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78   (003.14e+09) :x
1b710 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1b720 74 66 2d 32 2e 37 2e 31 30 2e 37 20 7b 0a 20 20  tf-2.7.10.7 {.  
1b730 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b740 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1b750 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d  %d (%3.3f) :xyz}
1b760 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 3 3.14e+9.} {
1b770 61 62 63 3a 20 33 20 33 20 28 33 31 34 30 30 30  abc: 3 3 (314000
1b780 30 30 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  0000.000) :xyz}.
1b790 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1b7a0 2e 37 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69  .7.10.8 {.  sqli
1b7b0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1b7c0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1b7d0 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
1b7e0 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1b7f0 20 33 20 33 20 28 33 2e 31 34 30 65 2b 30 39 29   3 3 (3.140e+09)
1b800 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1b810 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 39 20 7b  rintf-2.7.10.9 {
1b820 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b830 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b840 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78  %d %d (%3.3g) :x
1b850 79 7a 7d 20 33 20 33 20 33 2e 31 34 65 2b 39 0a  yz} 3 3 3.14e+9.
1b860 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 31  } {abc: 3 3 (3.1
1b870 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  4e+09) :xyz}.do_
1b880 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b890 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.2 {.  sqlite3
1b8a0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1b8b0 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
1b8c0 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33 32  yz} 3 3 -4.72732
1b8d0 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
1b8e0 2e 37 32 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  .727e+88) :xyz}.
1b8f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1b900 2e 37 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69  .7.11.3 {.  sqli
1b910 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1b920 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1b930 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32   :xyz} 3 3 -4.72
1b940 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
1b950 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a  (-4.73e+88) :xyz
1b960 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1b970 2d 32 2e 37 2e 31 31 2e 34 20 7b 0a 20 20 73 71  -2.7.11.4 {.  sq
1b980 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1b990 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1b9a0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20   (%g) :xyz} 3 3 
1b9b0 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
1b9c0 61 62 63 3a 20 33 20 33 20 28 2d 34 2e 37 32 37  abc: 3 3 (-4.727
1b9d0 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  32e+88) :xyz}.do
1b9e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1b9f0 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .11.5 {.  sqlite
1ba00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1ba10 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
1ba20 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e  g) :xyz} 3 3 -4.
1ba30 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
1ba40 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 33 32 65  : 3 3 (-4.72732e
1ba50 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
1ba60 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31  st printf-2.7.11
1ba70 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
1ba80 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1ba90 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
1baa0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37  ) :xyz} 3 3 -4.7
1bab0 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
1bac0 20 33 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b   3 3 (-4.72732e+
1bad0 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
1bae0 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e  t printf-2.7.11.
1baf0 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
1bb00 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1bb10 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 65 29  c: %d %d (%3.3e)
1bb20 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32   :xyz} 3 3 -4.72
1bb30 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
1bb40 33 20 33 20 28 2d 34 2e 37 32 37 65 2b 38 38 29  3 3 (-4.727e+88)
1bb50 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1bb60 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e 39 20 7b  rintf-2.7.11.9 {
1bb70 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1bb80 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1bb90 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a 78  %d %d (%3.3g) :x
1bba0 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33 32  yz} 3 3 -4.72732
1bbb0 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20 33  e+88.} {abc: 3 3
1bbc0 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79   (-4.73e+88) :xy
1bbd0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1bbe0 66 2d 32 2e 37 2e 31 32 2e 32 20 7b 0a 20 20 73  f-2.7.12.2 {.  s
1bbf0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1bc00 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1bc10 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e  *e) :xyz} 3 3 9.
1bc20 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
1bc30 63 3a 20 28 39 2e 38 38 30 65 2b 31 34 33 29 20  c: (9.880e+143) 
1bc40 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1bc50 69 6e 74 66 2d 32 2e 37 2e 31 32 2e 33 20 7b 0a  intf-2.7.12.3 {.
1bc60 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1bc70 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1bc80 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*g) :xyz} 3 3
1bc90 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
1bca0 7b 61 62 63 3a 20 28 39 2e 38 38 65 2b 31 34 33  {abc: (9.88e+143
1bcb0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1bcc0 70 72 69 6e 74 66 2d 32 2e 37 2e 31 32 2e 34 20  printf-2.7.12.4 
1bcd0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1bce0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1bcf0 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
1bd00 7d 20 33 20 33 20 39 2e 38 37 39 39 31 65 2b 31  } 3 3 9.87991e+1
1bd10 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  43.} {abc: 3 3 (
1bd20 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78  9.87991e+143) :x
1bd30 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1bd40 74 66 2d 32 2e 37 2e 31 32 2e 35 20 7b 0a 20 20  tf-2.7.12.5 {.  
1bd50 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1bd60 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1bd70 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
1bd80 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   3 9.87991e+143.
1bd90 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38  } {abc: 3 3 (9.8
1bda0 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
1bdb0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1bdc0 32 2e 37 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c  2.7.12.6 {.  sql
1bdd0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1bde0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1bdf0 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
1be00 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  3 9.87991e+143.}
1be10 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38 37   {abc: 3 3 (9.87
1be20 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  991e+143) :xyz}.
1be30 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1be40 2e 37 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69  .7.12.8 {.  sqli
1be50 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1be60 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1be70 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
1be80 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
1be90 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38 38 30  {abc: 3 3 (9.880
1bea0 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
1beb0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1bec0 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.9 {.  sqlite3
1bed0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1bee0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1bef0 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e  3g) :xyz} 3 3 9.
1bf00 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
1bf10 63 3a 20 33 20 33 20 28 39 2e 38 38 65 2b 31 34  c: 3 3 (9.88e+14
1bf20 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1bf30 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 31   printf-2.7.13.1
1bf40 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1bf50 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1bf60 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1bf70 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  3 3 -6.287291e-9
1bf80 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30  .} {abc: (-0.000
1bf90 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1bfa0 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 32 20  printf-2.7.13.2 
1bfb0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1bfc0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1bfd0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33   (%*.*e) :xyz} 3
1bfe0 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   3 -6.287291e-9.
1bff0 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37 65  } {abc: (-6.287e
1c000 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
1c010 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33  st printf-2.7.13
1c020 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1c030 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c040 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1c050 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65  } 3 3 -6.287291e
1c060 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32  -9.} {abc: (-6.2
1c070 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e-09) :xyz}.do_
1c080 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1c090 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.4 {.  sqlite3
1c0a0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1c0b0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
1c0c0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38   :xyz} 3 3 -6.28
1c0d0 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1c0e0 33 20 33 20 28 2d 36 2e 32 38 37 32 39 65 2d 30  3 3 (-6.28729e-0
1c0f0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1c100 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 35   printf-2.7.13.5
1c110 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1c120 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1c130 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
1c140 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39  yz} 3 3 -6.28729
1c150 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  1e-9.} {abc: 3 3
1c160 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
1c170 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1c180 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 36 20 7b 0a  intf-2.7.13.6 {.
1c190 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1c1a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1c1b0 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
1c1c0 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31  z} 3 3 -6.287291
1c1d0 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  e-9.} {abc: 3 3 
1c1e0 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
1c1f0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1c200 6e 74 66 2d 32 2e 37 2e 31 33 2e 37 20 7b 0a 20  ntf-2.7.13.7 {. 
1c210 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1c220 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1c230 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
1c240 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65  } 3 3 -6.287291e
1c250 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  -9.} {abc: 3 3 (
1c260 2d 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  -0.000) :xyz}.do
1c270 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1c280 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .13.8 {.  sqlite
1c290 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1c2a0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1c2b0 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d  .3e) :xyz} 3 3 -
1c2c0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
1c2d0 62 63 3a 20 33 20 33 20 28 2d 36 2e 32 38 37 65  bc: 3 3 (-6.287e
1c2e0 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
1c2f0 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33  st printf-2.7.13
1c300 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
1c310 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c320 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67  bc: %d %d (%3.3g
1c330 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32  ) :xyz} 3 3 -6.2
1c340 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1c350 20 33 20 33 20 28 2d 36 2e 32 39 65 2d 30 39 29   3 3 (-6.29e-09)
1c360 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1c370 72 69 6e 74 66 2d 32 2e 37 2e 31 34 2e 31 20 7b  rintf-2.7.14.1 {
1c380 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1c390 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1c3a0 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
1c3b0 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
1c3c0 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30  0.} {abc: (0.000
1c3d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1c3e0 70 72 69 6e 74 66 2d 32 2e 37 2e 31 34 2e 32 20  printf-2.7.14.2 
1c3f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1c400 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1c410 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33   (%*.*e) :xyz} 3
1c420 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
1c430 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38  10.} {abc: (3.38
1c440 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  8e-110) :xyz}.do
1c450 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1c460 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .14.3 {.  sqlite
1c470 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1c480 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1c490 78 79 7a 7d 20 33 20 33 20 33 2e 33 38 38 32 36  xyz} 3 3 3.38826
1c4a0 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
1c4b0 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79   (3.39e-110) :xy
1c4c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c4d0 66 2d 32 2e 37 2e 31 34 2e 34 20 7b 0a 20 20 73  f-2.7.14.4 {.  s
1c4e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1c4f0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1c500 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33  d (%g) :xyz} 3 3
1c510 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1c520 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e  .} {abc: 3 3 (3.
1c530 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
1c540 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1c550 2d 32 2e 37 2e 31 34 2e 35 20 7b 0a 20 20 73 71  -2.7.14.5 {.  sq
1c560 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1c570 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1c580 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33   (%#g) :xyz} 3 3
1c590 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1c5a0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e  .} {abc: 3 3 (3.
1c5b0 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
1c5c0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1c5d0 2d 32 2e 37 2e 31 34 2e 36 20 7b 0a 20 20 73 71  -2.7.14.6 {.  sq
1c5e0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1c5f0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1c600 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1c610 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
1c620 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  10.} {abc: 3 3 (
1c630 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78  3.38826e-110) :x
1c640 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c650 74 66 2d 32 2e 37 2e 31 34 2e 37 20 7b 0a 20 20  tf-2.7.14.7 {.  
1c660 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1c670 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1c680 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d  %d (%3.3f) :xyz}
1c690 20 33 20 33 20 33 2e 33 38 38 32 36 33 39 32 65   3 3 3.38826392e
1c6a0 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33  -110.} {abc: 3 3
1c6b0 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64   (0.000) :xyz}.d
1c6c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c6d0 37 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74  7.14.8 {.  sqlit
1c6e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c6f0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c700 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3e) :xyz} 3 3 
1c710 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1c720 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 33  } {abc: 3 3 (3.3
1c730 38 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  88e-110) :xyz}.d
1c740 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c750 37 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74  7.14.9 {.  sqlit
1c760 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c770 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c780 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3g) :xyz} 3 3 
1c790 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1c7a0 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e 33  } {abc: 3 3 (3.3
1c7b0 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  9e-110) :xyz}.do
1c7c0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1c7d0 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.1 {.  sqlite3
1c7e0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1c7f0 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
1c800 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 3 2 0.001.} 
1c810 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79  {abc: (0.00) :xy
1c820 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c830 66 2d 32 2e 38 2e 31 2e 32 20 7b 0a 20 20 73 71  f-2.8.1.2 {.  sq
1c840 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1c850 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1c860 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30  e) :xyz} 3 2 0.0
1c870 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  01.} {abc: (1.00
1c880 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
1c890 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1c8a0 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1c8b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1c8c0 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1c8d0 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 2 0.001.} {a
1c8e0 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a  bc: (0.001) :xyz
1c8f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1c900 2d 32 2e 38 2e 31 2e 34 20 7b 0a 20 20 73 71 6c  -2.8.1.4 {.  sql
1c910 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1c920 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1c930 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  (%g) :xyz} 3 2 0
1c940 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 32  .001.} {abc: 3 2
1c950 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
1c960 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c970 38 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  8.1.5 {.  sqlite
1c980 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1c990 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
1c9a0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30  g) :xyz} 3 2 0.0
1c9b0 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  01.} {abc: 3 2 (
1c9c0 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a  0.00100000) :xyz
1c9d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1c9e0 2d 32 2e 38 2e 31 2e 36 20 7b 0a 20 20 73 71 6c  -2.8.1.6 {.  sql
1c9f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1ca00 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1ca10 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
1ca20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  2 0.001.} {abc: 
1ca30 33 20 32 20 28 30 30 30 30 30 30 2e 30 30 31 29  3 2 (000000.001)
1ca40 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ca50 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 37 20 7b 0a  rintf-2.8.1.7 {.
1ca60 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ca70 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1ca80 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79  d %d (%3.2f) :xy
1ca90 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 2 0.001.} {
1caa0 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30 29 20  abc: 3 2 (0.00) 
1cab0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1cac0 69 6e 74 66 2d 32 2e 38 2e 31 2e 38 20 7b 0a 20  intf-2.8.1.8 {. 
1cad0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1cae0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1caf0 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a   %d (%3.2e) :xyz
1cb00 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 2 0.001.} {a
1cb10 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65 2d 30  bc: 3 2 (1.00e-0
1cb20 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1cb30 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 39 20   printf-2.8.1.9 
1cb40 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1cb50 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1cb60 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1cb70 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d  xyz} 3 2 0.001.}
1cb80 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30   {abc: 3 2 (0.00
1cb90 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
1cba0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 31 20   printf-2.8.2.1 
1cbb0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1cbc0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1cbd0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1cbe0 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   2 1.0e-20.} {ab
1cbf0 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  c: (0.00) :xyz}.
1cc00 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1cc10 2e 38 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .8.2.2 {.  sqlit
1cc20 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1cc30 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1cc40 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32  :xyz} 3 2 1.0e-2
1cc50 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65  0.} {abc: (1.00e
1cc60 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
1cc70 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e  st printf-2.8.2.
1cc80 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
1cc90 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1cca0 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
1ccb0 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 2 1.0e-20.} {
1ccc0 61 62 63 3a 20 28 31 65 2d 32 30 29 20 3a 78 79  abc: (1e-20) :xy
1ccd0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1cce0 66 2d 32 2e 38 2e 32 2e 34 20 7b 0a 20 20 73 71  f-2.8.2.4 {.  sq
1ccf0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1cd00 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1cd10 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1cd20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
1cd30 33 20 32 20 28 31 65 2d 32 30 29 20 3a 78 79 7a  3 2 (1e-20) :xyz
1cd40 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1cd50 2d 32 2e 38 2e 32 2e 35 20 7b 0a 20 20 73 71 6c  -2.8.2.5 {.  sql
1cd60 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1cd70 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1cd80 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  (%#g) :xyz} 3 2 
1cd90 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
1cda0 33 20 32 20 28 31 2e 30 30 30 30 30 65 2d 32 30  3 2 (1.00000e-20
1cdb0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1cdc0 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 36 20 7b  printf-2.8.2.6 {
1cdd0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1cde0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1cdf0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1ce00 79 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32 30 0a  yz} 3 2 1.0e-20.
1ce10 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 30 30  } {abc: 3 2 (000
1ce20 30 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  001e-20) :xyz}.d
1ce30 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1ce40 38 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  8.2.7 {.  sqlite
1ce50 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1ce60 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1ce70 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 31  .2f) :xyz} 3 2 1
1ce80 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33  .0e-20.} {abc: 3
1ce90 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a   2 (0.00) :xyz}.
1cea0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1ceb0 2e 38 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .8.2.8 {.  sqlit
1cec0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1ced0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1cee0 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2e) :xyz} 3 2 
1cef0 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
1cf00 33 20 32 20 28 31 2e 30 30 65 2d 32 30 29 20 3a  3 2 (1.00e-20) :
1cf10 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1cf20 6e 74 66 2d 32 2e 38 2e 32 2e 39 20 7b 0a 20 20  ntf-2.8.2.9 {.  
1cf30 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1cf40 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1cf50 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d  %d (%3.2g) :xyz}
1cf60 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 2 1.0e-20.} {
1cf70 61 62 63 3a 20 33 20 32 20 28 31 65 2d 32 30 29  abc: 3 2 (1e-20)
1cf80 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1cf90 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 31 20 7b 0a  rintf-2.8.3.1 {.
1cfa0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1cfb0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1cfc0 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*f) :xyz} 3 2
1cfd0 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e   1.0.} {abc: (1.
1cfe0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1cff0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 32  t printf-2.8.3.2
1d000 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d010 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d020 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1d030 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 2 1.0.} {abc: 
1d040 28 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  (1.00e+00) :xyz}
1d050 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1d060 32 2e 38 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69  2.8.3.3 {.  sqli
1d070 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1d080 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1d090 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d   :xyz} 3 2 1.0.}
1d0a0 20 7b 61 62 63 3a 20 28 20 20 31 29 20 3a 78 79   {abc: (  1) :xy
1d0b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d0c0 66 2d 32 2e 38 2e 33 2e 34 20 7b 0a 20 20 73 71  f-2.8.3.4 {.  sq
1d0d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d0e0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1d0f0 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1d100 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  1.0.} {abc: 3 2 
1d110 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  (1) :xyz}.do_tes
1d120 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 35  t printf-2.8.3.5
1d130 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d140 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d150 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
1d160 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 3 2 1.0.} {a
1d170 62 63 3a 20 33 20 32 20 28 31 2e 30 30 30 30 30  bc: 3 2 (1.00000
1d180 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d190 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 36 20 7b  printf-2.8.3.6 {
1d1a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d1b0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d1c0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1d1d0 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 3 2 1.0.} {a
1d1e0 62 63 3a 20 33 20 32 20 28 30 30 30 30 30 30 30  bc: 3 2 (0000000
1d1f0 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
1d200 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e  st printf-2.8.3.
1d210 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1d220 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d230 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29  c: %d %d (%3.2f)
1d240 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d   :xyz} 3 2 1.0.}
1d250 20 7b 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30   {abc: 3 2 (1.00
1d260 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d270 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 38 20 7b  printf-2.8.3.8 {
1d280 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d290 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d2a0 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78  %d %d (%3.2e) :x
1d2b0 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 3 2 1.0.} {a
1d2c0 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65 2b 30  bc: 3 2 (1.00e+0
1d2d0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d2e0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 39 20   printf-2.8.3.9 
1d2f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d300 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d310 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1d320 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b  xyz} 3 2 1.0.} {
1d330 61 62 63 3a 20 33 20 32 20 28 20 20 31 29 20 3a  abc: 3 2 (  1) :
1d340 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d350 6e 74 66 2d 32 2e 38 2e 34 2e 31 20 7b 0a 20 20  ntf-2.8.4.1 {.  
1d360 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d370 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1d380 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  .*f) :xyz} 3 2 0
1d390 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  .0.} {abc: (0.00
1d3a0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d3b0 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 32 20 7b  printf-2.8.4.2 {
1d3c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d3d0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d3e0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20  (%*.*e) :xyz} 3 
1d3f0 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30  2 0.0.} {abc: (0
1d400 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64  .00e+00) :xyz}.d
1d410 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1d420 38 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  8.4.3 {.  sqlite
1d430 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1d440 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1d450 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b  xyz} 3 2 0.0.} {
1d460 61 62 63 3a 20 28 20 20 30 29 20 3a 78 79 7a 7d  abc: (  0) :xyz}
1d470 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1d480 32 2e 38 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69  2.8.4.4 {.  sqli
1d490 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1d4a0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1d4b0 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e  %g) :xyz} 3 2 0.
1d4c0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30  0.} {abc: 3 2 (0
1d4d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d4e0 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 35 20 7b  printf-2.8.4.5 {
1d4f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d500 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d510 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1d520 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 2 0.0.} {abc
1d530 3a 20 33 20 32 20 28 30 2e 30 30 30 30 30 29 20  : 3 2 (0.00000) 
1d540 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d550 69 6e 74 66 2d 32 2e 38 2e 34 2e 36 20 7b 0a 20  intf-2.8.4.6 {. 
1d560 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d570 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d580 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
1d590 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 2 0.0.} {abc
1d5a0 3a 20 33 20 32 20 28 30 30 30 30 30 30 30 30 30  : 3 2 (000000000
1d5b0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d5c0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 37 20   printf-2.8.4.7 
1d5d0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d5e0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d5f0 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a   %d %d (%3.2f) :
1d600 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b  xyz} 3 2 0.0.} {
1d610 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30 29 20  abc: 3 2 (0.00) 
1d620 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d630 69 6e 74 66 2d 32 2e 38 2e 34 2e 38 20 7b 0a 20  intf-2.8.4.8 {. 
1d640 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d650 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1d660 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a   %d (%3.2e) :xyz
1d670 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 3 2 0.0.} {abc
1d680 3a 20 33 20 32 20 28 30 2e 30 30 65 2b 30 30 29  : 3 2 (0.00e+00)
1d690 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1d6a0 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 39 20 7b 0a  rintf-2.8.4.9 {.
1d6b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d6c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1d6d0 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79  d %d (%3.2g) :xy
1d6e0 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 3 2 0.0.} {ab
1d6f0 63 3a 20 33 20 32 20 28 20 20 30 29 20 3a 78 79  c: 3 2 (  0) :xy
1d700 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d710 66 2d 32 2e 38 2e 35 2e 31 20 7b 0a 20 20 73 71  f-2.8.5.1 {.  sq
1d720 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d730 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1d740 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30 30  f) :xyz} 3 2 100
1d750 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e  .0.} {abc: (100.
1d760 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d770 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 32  t printf-2.8.5.2
1d780 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d790 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d7a0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1d7b0 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  3 2 100.0.} {abc
1d7c0 3a 20 28 31 2e 30 30 65 2b 30 32 29 20 3a 78 79  : (1.00e+02) :xy
1d7d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1d7e0 66 2d 32 2e 38 2e 35 2e 33 20 7b 0a 20 20 73 71  f-2.8.5.3 {.  sq
1d7f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1d800 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1d810 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30 30  g) :xyz} 3 2 100
1d820 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2b 30  .0.} {abc: (1e+0
1d830 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
1d840 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 34 20   printf-2.8.5.4 
1d850 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d860 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d870 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
1d880 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61  } 3 2 100.0.} {a
1d890 62 63 3a 20 33 20 32 20 28 31 30 30 29 20 3a 78  bc: 3 2 (100) :x
1d8a0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1d8b0 74 66 2d 32 2e 38 2e 35 2e 35 20 7b 0a 20 20 73  tf-2.8.5.5 {.  s
1d8c0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1d8d0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1d8e0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20  d (%#g) :xyz} 3 
1d8f0 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 100.0.} {abc: 
1d900 33 20 32 20 28 31 30 30 2e 30 30 30 29 20 3a 78  3 2 (100.000) :x
1d910 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1d920 74 66 2d 32 2e 38 2e 35 2e 36 20 7b 0a 20 20 73  tf-2.8.5.6 {.  s
1d930 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1d940 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1d950 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1d960 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  3 2 100.0.} {abc
1d970 3a 20 33 20 32 20 28 30 30 30 30 30 30 30 31 30  : 3 2 (000000010
1d980 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d990 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 37 20   printf-2.8.5.7 
1d9a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d9b0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d9c0 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a   %d %d (%3.2f) :
1d9d0 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d  xyz} 3 2 100.0.}
1d9e0 20 7b 61 62 63 3a 20 33 20 32 20 28 31 30 30 2e   {abc: 3 2 (100.
1d9f0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1da00 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 38  t printf-2.8.5.8
1da10 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1da20 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1da30 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20  : %d %d (%3.2e) 
1da40 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a  :xyz} 3 2 100.0.
1da50 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 2e 30  } {abc: 3 2 (1.0
1da60 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+02) :xyz}.do_
1da70 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1da80 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.9 {.  sqlite3_
1da90 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1daa0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1dab0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30 30  g) :xyz} 3 2 100
1dac0 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  .0.} {abc: 3 2 (
1dad0 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e+02) :xyz}.do_
1dae0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1daf0 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.1 {.  sqlite3_
1db00 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1db10 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
1db20 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 3 2 9.99999.}
1db30 20 7b 61 62 63 3a 20 28 31 30 2e 30 30 29 20 3a   {abc: (10.00) :
1db40 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1db50 6e 74 66 2d 32 2e 38 2e 36 2e 32 20 7b 0a 20 20  ntf-2.8.6.2 {.  
1db60 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1db70 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1db80 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 39  .*e) :xyz} 3 2 9
1db90 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
1dba0 31 2e 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a  1.00e+01) :xyz}.
1dbb0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1dbc0 2e 38 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .8.6.3 {.  sqlit
1dbd0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1dbe0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1dbf0 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39  :xyz} 3 2 9.9999
1dc00 39 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30 29 20  9.} {abc: ( 10) 
1dc10 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1dc20 69 6e 74 66 2d 32 2e 38 2e 36 2e 34 20 7b 0a 20  intf-2.8.6.4 {. 
1dc30 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1dc40 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1dc50 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1dc60 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   2 9.99999.} {ab
1dc70 63 3a 20 33 20 32 20 28 39 2e 39 39 39 39 39 29  c: 3 2 (9.99999)
1dc80 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1dc90 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 35 20 7b 0a  rintf-2.8.6.5 {.
1dca0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1dcb0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1dcc0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1dcd0 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b   3 2 9.99999.} {
1dce0 61 62 63 3a 20 33 20 32 20 28 39 2e 39 39 39 39  abc: 3 2 (9.9999
1dcf0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1dd00 20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 36 20   printf-2.8.6.6 
1dd10 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1dd20 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1dd30 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1dd40 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39  xyz} 3 2 9.99999
1dd50 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 30  .} {abc: 3 2 (00
1dd60 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  09.99999) :xyz}.
1dd70 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1dd80 2e 38 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .8.6.7 {.  sqlit
1dd90 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1dda0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1ddb0 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2f) :xyz} 3 2 
1ddc0 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
1ddd0 33 20 32 20 28 31 30 2e 30 30 29 20 3a 78 79 7a  3 2 (10.00) :xyz
1dde0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1ddf0 2d 32 2e 38 2e 36 2e 38 20 7b 0a 20 20 73 71 6c  -2.8.6.8 {.  sql
1de00 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1de10 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1de20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.2e) :xyz} 3 
1de30 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  2 9.99999.} {abc
1de40 3a 20 33 20 32 20 28 31 2e 30 30 65 2b 30 31 29  : 3 2 (1.00e+01)
1de50 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1de60 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 39 20 7b 0a  rintf-2.8.6.9 {.
1de70 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1de80 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1de90 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79  d %d (%3.2g) :xy
1dea0 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d  z} 3 2 9.99999.}
1deb0 20 7b 61 62 63 3a 20 33 20 32 20 28 20 31 30 29   {abc: 3 2 ( 10)
1dec0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ded0 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 31 20 7b 0a  rintf-2.8.7.1 {.
1dee0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1def0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1df00 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*f) :xyz} 3 2
1df10 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
1df20 3a 20 28 2d 30 2e 30 31 29 20 3a 78 79 7a 7d 0a  : (-0.01) :xyz}.
1df30 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1df40 2e 38 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .8.7.2 {.  sqlit
1df50 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1df60 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1df70 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35  :xyz} 3 2 -0.005
1df80 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34  43.} {abc: (-5.4
1df90 33 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e-03) :xyz}.do_
1dfa0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1dfb0 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.3 {.  sqlite3_
1dfc0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1dfd0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1dfe0 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a  z} 3 2 -0.00543.
1dff0 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35 34  } {abc: (-0.0054
1e000 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e010 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 34 20 7b  printf-2.8.7.4 {
1e020 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e030 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e040 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
1e050 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20   3 2 -0.00543.} 
1e060 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e 30 30  {abc: 3 2 (-0.00
1e070 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
1e080 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e  st printf-2.8.7.
1e090 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1e0a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e0b0 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
1e0c0 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34  xyz} 3 2 -0.0054
1e0d0 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d  3.} {abc: 3 2 (-
1e0e0 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a  0.00543000) :xyz
1e0f0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1e100 2d 32 2e 38 2e 37 2e 36 20 7b 0a 20 20 73 71 6c  -2.8.7.6 {.  sql
1e110 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1e120 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1e130 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
1e140 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  2 -0.00543.} {ab
1e150 63 3a 20 33 20 32 20 28 2d 30 30 30 2e 30 30 35  c: 3 2 (-000.005
1e160 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1e170 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 37  t printf-2.8.7.7
1e180 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e190 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e1a0 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20  : %d %d (%3.2f) 
1e1b0 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35  :xyz} 3 2 -0.005
1e1c0 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  43.} {abc: 3 2 (
1e1d0 2d 30 2e 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  -0.01) :xyz}.do_
1e1e0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e1f0 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.8 {.  sqlite3_
1e200 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1e210 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1e220 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e  e) :xyz} 3 2 -0.
1e230 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20  00543.} {abc: 3 
1e240 32 20 28 2d 35 2e 34 33 65 2d 30 33 29 20 3a 78  2 (-5.43e-03) :x
1e250 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e260 74 66 2d 32 2e 38 2e 37 2e 39 20 7b 0a 20 20 73  tf-2.8.7.9 {.  s
1e270 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e280 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1e290 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%3.2g) :xyz} 
1e2a0 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  3 2 -0.00543.} {
1e2b0 61 62 63 3a 20 33 20 32 20 28 2d 30 2e 30 30 35  abc: 3 2 (-0.005
1e2c0 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  4) :xyz}.do_test
1e2d0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 31 20   printf-2.8.8.1 
1e2e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1e2f0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1e300 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1e310 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
1e320 28 2d 31 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  (-1.00) :xyz}.do
1e330 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1e340 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.2 {.  sqlite3
1e350 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1e360 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
1e370 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b  yz} 3 2 -1.0.} {
1e380 61 62 63 3a 20 28 2d 31 2e 30 30 65 2b 30 30 29  abc: (-1.00e+00)
1e390 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1e3a0 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 33 20 7b 0a  rintf-2.8.8.3 {.
1e3b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1e3c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1e3d0 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*g) :xyz} 3 2
1e3e0 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20   -1.0.} {abc: ( 
1e3f0 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  -1) :xyz}.do_tes
1e400 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 34  t printf-2.8.8.4
1e410 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e420 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e430 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
1e440 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61  z} 3 2 -1.0.} {a
1e450 62 63 3a 20 33 20 32 20 28 2d 31 29 20 3a 78 79  bc: 3 2 (-1) :xy
1e460 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1e470 66 2d 32 2e 38 2e 38 2e 35 20 7b 0a 20 20 73 71  f-2.8.8.5 {.  sq
1e480 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1e490 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1e4a0 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32   (%#g) :xyz} 3 2
1e4b0 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20   -1.0.} {abc: 3 
1e4c0 32 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79  2 (-1.00000) :xy
1e4d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1e4e0 66 2d 32 2e 38 2e 38 2e 36 20 7b 0a 20 20 73 71  f-2.8.8.6 {.  sq
1e4f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1e500 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1e510 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1e520 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   2 -1.0.} {abc: 
1e530 33 20 32 20 28 2d 30 30 30 30 30 30 30 30 31 29  3 2 (-000000001)
1e540 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1e550 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 37 20 7b 0a  rintf-2.8.8.7 {.
1e560 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1e570 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1e580 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79  d %d (%3.2f) :xy
1e590 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61  z} 3 2 -1.0.} {a
1e5a0 62 63 3a 20 33 20 32 20 28 2d 31 2e 30 30 29 20  bc: 3 2 (-1.00) 
1e5b0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1e5c0 69 6e 74 66 2d 32 2e 38 2e 38 2e 38 20 7b 0a 20  intf-2.8.8.8 {. 
1e5d0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1e5e0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1e5f0 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79 7a   %d (%3.2e) :xyz
1e600 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 3 2 -1.0.} {ab
1e610 63 3a 20 33 20 32 20 28 2d 31 2e 30 30 65 2b 30  c: 3 2 (-1.00e+0
1e620 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1e630 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 39 20   printf-2.8.8.9 
1e640 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1e650 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1e660 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1e670 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20  xyz} 3 2 -1.0.} 
1e680 7b 61 62 63 3a 20 33 20 32 20 28 20 2d 31 29 20  {abc: 3 2 ( -1) 
1e690 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1e6a0 69 6e 74 66 2d 32 2e 38 2e 39 2e 31 20 7b 0a 20  intf-2.8.9.1 {. 
1e6b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1e6c0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1e6d0 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*f) :xyz} 3 2 
1e6e0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
1e6f0 3a 20 28 2d 31 30 30 2e 30 30 29 20 3a 78 79 7a  : (-100.00) :xyz
1e700 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1e710 2d 32 2e 38 2e 39 2e 32 20 7b 0a 20 20 73 71 6c  -2.8.9.2 {.  sql
1e720 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1e730 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
1e740 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e  ) :xyz} 3 2 -99.
1e750 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  99999.} {abc: (-
1e760 31 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  1.00e+02) :xyz}.
1e770 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1e780 2e 38 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .8.9.3 {.  sqlit
1e790 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1e7a0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1e7b0 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39  :xyz} 3 2 -99.99
1e7c0 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 65  999.} {abc: (-1e
1e7d0 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
1e7e0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e  st printf-2.8.9.
1e7f0 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
1e800 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e810 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
1e820 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39 39  yz} 3 2 -99.9999
1e830 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d  9.} {abc: 3 2 (-
1e840 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
1e850 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e  st printf-2.8.9.
1e860 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1e870 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e880 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
1e890 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39  xyz} 3 2 -99.999
1e8a0 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  99.} {abc: 3 2 (
1e8b0 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  -100.000) :xyz}.
1e8c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1e8d0 2e 38 2e 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .8.9.6 {.  sqlit
1e8e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1e8f0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1e900 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  010g) :xyz} 3 2 
1e910 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
1e920 3a 20 33 20 32 20 28 2d 30 30 30 30 30 30 31 30  : 3 2 (-00000010
1e930 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1e940 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 37 20   printf-2.8.9.7 
1e950 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1e960 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1e970 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a   %d %d (%3.2f) :
1e980 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39  xyz} 3 2 -99.999
1e990 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  99.} {abc: 3 2 (
1e9a0 2d 31 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64  -100.00) :xyz}.d
1e9b0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1e9c0 38 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  8.9.8 {.  sqlite
1e9d0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1e9e0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1e9f0 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  .2e) :xyz} 3 2 -
1ea00 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
1ea10 20 33 20 32 20 28 2d 31 2e 30 30 65 2b 30 32 29   3 2 (-1.00e+02)
1ea20 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ea30 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 39 20 7b 0a  rintf-2.8.9.9 {.
1ea40 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ea50 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1ea60 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79  d %d (%3.2g) :xy
1ea70 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39 39 39  z} 3 2 -99.99999
1ea80 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 31  .} {abc: 3 2 (-1
1ea90 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
1eaa0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1eab0 30 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.1 {.  sqlite3_
1eac0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ead0 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
1eae0 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d  z} 3 2 3.14e+9.}
1eaf0 20 7b 61 62 63 3a 20 28 33 31 34 30 30 30 30 30   {abc: (31400000
1eb00 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00.00) :xyz}.do_
1eb10 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1eb20 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.2 {.  sqlite3
1eb30 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1eb40 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
1eb50 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 3 2 3.14e+9.
1eb60 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 65 2b 30  } {abc: (3.14e+0
1eb70 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1eb80 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 33   printf-2.8.10.3
1eb90 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1eba0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1ebb0 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
1ebc0 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  3 2 3.14e+9.} {a
1ebd0 62 63 3a 20 28 33 2e 31 65 2b 30 39 29 20 3a 78  bc: (3.1e+09) :x
1ebe0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ebf0 74 66 2d 32 2e 38 2e 31 30 2e 34 20 7b 0a 20 20  tf-2.8.10.4 {.  
1ec00 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1ec10 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1ec20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1ec30 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  2 3.14e+9.} {abc
1ec40 3a 20 33 20 32 20 28 33 2e 31 34 65 2b 30 39 29  : 3 2 (3.14e+09)
1ec50 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ec60 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 35 20 7b  rintf-2.8.10.5 {
1ec70 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1ec80 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1ec90 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1eca0 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20  } 3 2 3.14e+9.} 
1ecb0 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 31 34 30  {abc: 3 2 (3.140
1ecc0 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  00e+09) :xyz}.do
1ecd0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1ece0 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .10.6 {.  sqlite
1ecf0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1ed00 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
1ed10 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  10g) :xyz} 3 2 3
1ed20 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33  .14e+9.} {abc: 3
1ed30 20 32 20 28 30 30 33 2e 31 34 65 2b 30 39 29 20   2 (003.14e+09) 
1ed40 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1ed50 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 37 20 7b 0a  intf-2.8.10.7 {.
1ed60 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ed70 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1ed80 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78 79  d %d (%3.2f) :xy
1ed90 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d  z} 3 2 3.14e+9.}
1eda0 20 7b 61 62 63 3a 20 33 20 32 20 28 33 31 34 30   {abc: 3 2 (3140
1edb0 30 30 30 30 30 30 2e 30 30 29 20 3a 78 79 7a 7d  000000.00) :xyz}
1edc0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1edd0 32 2e 38 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c  2.8.10.8 {.  sql
1ede0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1edf0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1ee00 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.2e) :xyz} 3 
1ee10 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  2 3.14e+9.} {abc
1ee20 3a 20 33 20 32 20 28 33 2e 31 34 65 2b 30 39 29  : 3 2 (3.14e+09)
1ee30 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ee40 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 39 20 7b  rintf-2.8.10.9 {
1ee50 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1ee60 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1ee70 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78  %d %d (%3.2g) :x
1ee80 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 3 2 3.14e+9.
1ee90 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 31  } {abc: 3 2 (3.1
1eea0 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
1eeb0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1eec0 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.2 {.  sqlite3_
1eed0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1eee0 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
1eef0 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65  z} 3 2 -4.72732e
1ef00 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e  +88.} {abc: (-4.
1ef10 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  73e+88) :xyz}.do
1ef20 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1ef30 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .11.3 {.  sqlite
1ef40 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1ef50 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1ef60 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33  xyz} 3 2 -4.7273
1ef70 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
1ef80 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  4.7e+88) :xyz}.d
1ef90 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1efa0 38 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  8.11.4 {.  sqlit
1efb0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1efc0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1efd0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e  g) :xyz} 3 2 -4.
1efe0 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
1eff0 3a 20 33 20 32 20 28 2d 34 2e 37 32 37 33 32 65  : 3 2 (-4.72732e
1f000 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
1f010 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31  st printf-2.8.11
1f020 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1f030 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f040 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1f050 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37  :xyz} 3 2 -4.727
1f060 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33  32e+88.} {abc: 3
1f070 20 32 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   2 (-4.72732e+88
1f080 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1f090 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 36 20  printf-2.8.11.6 
1f0a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1f0b0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1f0c0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1f0d0 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33  xyz} 3 2 -4.7273
1f0e0 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20  2e+88.} {abc: 3 
1f0f0 32 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  2 (-4.72732e+88)
1f100 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1f110 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 38 20 7b  rintf-2.8.11.8 {
1f120 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1f130 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1f140 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78  %d %d (%3.2e) :x
1f150 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32  yz} 3 2 -4.72732
1f160 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20 32  e+88.} {abc: 3 2
1f170 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79   (-4.73e+88) :xy
1f180 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1f190 66 2d 32 2e 38 2e 31 31 2e 39 20 7b 0a 20 20 73  f-2.8.11.9 {.  s
1f1a0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1f1b0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1f1c0 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%3.2g) :xyz} 
1f1d0 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  3 2 -4.72732e+88
1f1e0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 34  .} {abc: 3 2 (-4
1f1f0 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  .7e+88) :xyz}.do
1f200 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f210 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .12.2 {.  sqlite
1f220 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f230 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1f240 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31  xyz} 3 2 9.87991
1f250 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39  e+143.} {abc: (9
1f260 2e 38 38 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  .88e+143) :xyz}.
1f270 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1f280 2e 38 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69  .8.12.3 {.  sqli
1f290 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1f2a0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1f2b0 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39   :xyz} 3 2 9.879
1f2c0 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
1f2d0 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d  (9.9e+143) :xyz}
1f2e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f2f0 32 2e 38 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c  2.8.12.4 {.  sql
1f300 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f310 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1f320 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 39  (%g) :xyz} 3 2 9
1f330 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
1f340 62 63 3a 20 33 20 32 20 28 39 2e 38 37 39 39 31  bc: 3 2 (9.87991
1f350 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
1f360 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f370 31 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.5 {.  sqlite3
1f380 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f390 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
1f3a0 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37  ) :xyz} 3 2 9.87
1f3b0 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
1f3c0 20 33 20 32 20 28 39 2e 38 37 39 39 31 65 2b 31   3 2 (9.87991e+1
1f3d0 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1f3e0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32 2e  t printf-2.8.12.
1f3f0 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
1f400 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f410 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
1f420 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39   :xyz} 3 2 9.879
1f430 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
1f440 33 20 32 20 28 39 2e 38 37 39 39 31 65 2b 31 34  3 2 (9.87991e+14
1f450 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1f460 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32 2e 38   printf-2.8.12.8
1f470 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1f480 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1f490 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20  : %d %d (%3.2e) 
1f4a0 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39  :xyz} 3 2 9.8799
1f4b0 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33  1e+143.} {abc: 3
1f4c0 20 32 20 28 39 2e 38 38 65 2b 31 34 33 29 20 3a   2 (9.88e+143) :
1f4d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1f4e0 6e 74 66 2d 32 2e 38 2e 31 32 2e 39 20 7b 0a 20  ntf-2.8.12.9 {. 
1f4f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1f500 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1f510 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1f520 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65 2b 31  } 3 2 9.87991e+1
1f530 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  43.} {abc: 3 2 (
1f540 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  9.9e+143) :xyz}.
1f550 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1f560 2e 38 2e 31 33 2e 31 20 7b 0a 20 20 73 71 6c 69  .8.13.1 {.  sqli
1f570 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1f580 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
1f590 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38   :xyz} 3 2 -6.28
1f5a0 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1f5b0 28 2d 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  (-0.00) :xyz}.do
1f5c0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f5d0 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .13.2 {.  sqlite
1f5e0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f5f0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1f600 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37 32  xyz} 3 2 -6.2872
1f610 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  91e-9.} {abc: (-
1f620 36 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  6.29e-09) :xyz}.
1f630 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1f640 2e 38 2e 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69  .8.13.3 {.  sqli
1f650 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1f660 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1f670 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38   :xyz} 3 2 -6.28
1f680 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1f690 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d  (-6.3e-09) :xyz}
1f6a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f6b0 32 2e 38 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c  2.8.13.4 {.  sql
1f6c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f6d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1f6e0 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  (%g) :xyz} 3 2 -
1f6f0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
1f700 62 63 3a 20 33 20 32 20 28 2d 36 2e 32 38 37 32  bc: 3 2 (-6.2872
1f710 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e-09) :xyz}.do_
1f720 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f730 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.5 {.  sqlite3
1f740 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f750 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
1f760 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32  ) :xyz} 3 2 -6.2
1f770 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1f780 20 33 20 32 20 28 2d 36 2e 32 38 37 32 39 65 2d   3 2 (-6.28729e-
1f790 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1f7a0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33 2e  t printf-2.8.13.
1f7b0 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
1f7c0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f7d0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
1f7e0 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38   :xyz} 3 2 -6.28
1f7f0 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1f800 33 20 32 20 28 2d 36 2e 32 38 37 32 39 65 2d 30  3 2 (-6.28729e-0
1f810 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1f820 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33 2e 37   printf-2.8.13.7
1f830 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1f840 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1f850 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20  : %d %d (%3.2f) 
1f860 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37  :xyz} 3 2 -6.287
1f870 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33  291e-9.} {abc: 3
1f880 20 32 20 28 2d 30 2e 30 30 29 20 3a 78 79 7a 7d   2 (-0.00) :xyz}
1f890 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f8a0 32 2e 38 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c  2.8.13.8 {.  sql
1f8b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f8c0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1f8d0 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.2e) :xyz} 3 
1f8e0 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
1f8f0 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 36 2e 32   {abc: 3 2 (-6.2
1f900 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e-09) :xyz}.do_
1f910 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1f920 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.9 {.  sqlite3
1f930 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1f940 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1f950 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36  2g) :xyz} 3 2 -6
1f960 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
1f970 63 3a 20 33 20 32 20 28 2d 36 2e 33 65 2d 30 39  c: 3 2 (-6.3e-09
1f980 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1f990 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e 31 20  printf-2.8.14.1 
1f9a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1f9b0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1f9c0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1f9d0 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
1f9e0 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  10.} {abc: (0.00
1f9f0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1fa00 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e 32 20  printf-2.8.14.2 
1fa10 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1fa20 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1fa30 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33   (%*.*e) :xyz} 3
1fa40 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
1fa50 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 39  10.} {abc: (3.39
1fa60 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
1fa70 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1fa80 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.3 {.  sqlite3
1fa90 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1faa0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1fab0 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33  yz} 3 2 3.388263
1fac0 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
1fad0 28 33 2e 34 65 2d 31 31 30 29 20 3a 78 79 7a 7d  (3.4e-110) :xyz}
1fae0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1faf0 32 2e 38 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c  2.8.14.4 {.  sql
1fb00 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1fb10 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1fb20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  (%g) :xyz} 3 2 3
1fb30 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
1fb40 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33 38   {abc: 3 2 (3.38
1fb50 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
1fb60 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1fb70 2e 38 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69  .8.14.5 {.  sqli
1fb80 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1fb90 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1fba0 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  %#g) :xyz} 3 2 3
1fbb0 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
1fbc0 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33 38   {abc: 3 2 (3.38
1fbd0 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
1fbe0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1fbf0 2e 38 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69  .8.14.6 {.  sqli
1fc00 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1fc10 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1fc20 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32  %010g) :xyz} 3 2
1fc30 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1fc40 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e  .} {abc: 3 2 (3.
1fc50 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
1fc60 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1fc70 2d 32 2e 38 2e 31 34 2e 37 20 7b 0a 20 20 73 71  -2.8.14.7 {.  sq
1fc80 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1fc90 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1fca0 20 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33   (%3.2f) :xyz} 3
1fcb0 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   2 3.38826392e-1
1fcc0 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  10.} {abc: 3 2 (
1fcd0 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
1fce0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1fcf0 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.8 {.  sqlite3_
1fd00 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1fd10 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1fd20 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33  e) :xyz} 3 2 3.3
1fd30 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
1fd40 61 62 63 3a 20 33 20 32 20 28 33 2e 33 39 65 2d  abc: 3 2 (3.39e-
1fd50 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
1fd60 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34  st printf-2.8.14
1fd70 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
1fd80 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1fd90 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67  bc: %d %d (%3.2g
1fda0 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38  ) :xyz} 3 2 3.38
1fdb0 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
1fdc0 62 63 3a 20 33 20 32 20 28 33 2e 34 65 2d 31 31  bc: 3 2 (3.4e-11
1fdd0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1fde0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 31   printf-2.8.15.1
1fdf0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1fe00 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1fe10 3a 20 28 25 20 2a 2e 2a 66 29 20 3a 78 79 7a 7d  : (% *.*f) :xyz}
1fe20 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   3 2 3.38826392e
1fe30 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 20 30  -110.} {abc: ( 0
1fe40 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
1fe50 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35  st printf-2.8.15
1fe60 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
1fe70 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1fe80 62 63 3a 20 28 25 20 2a 2e 2a 65 29 20 3a 78 79  bc: (% *.*e) :xy
1fe90 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33 39  z} 3 2 3.3882639
1fea0 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
1feb0 20 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a   3.39e-110) :xyz
1fec0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1fed0 2d 32 2e 38 2e 31 35 2e 33 20 7b 0a 20 20 73 71  -2.8.15.3 {.  sq
1fee0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1fef0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 20 2a 2e  uble {abc: (% *.
1ff00 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  *g) :xyz} 3 2 3.
1ff10 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1ff20 7b 61 62 63 3a 20 28 20 33 2e 34 65 2d 31 31 30  {abc: ( 3.4e-110
1ff30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ff40 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 34 20  printf-2.8.15.4 
1ff50 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ff60 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ff70 20 25 64 20 25 64 20 28 25 20 67 29 20 3a 78 79   %d %d (% g) :xy
1ff80 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33 39  z} 3 2 3.3882639
1ff90 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33  2e-110.} {abc: 3
1ffa0 20 32 20 28 20 33 2e 33 38 38 32 36 65 2d 31 31   2 ( 3.38826e-11
1ffb0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1ffc0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 35   printf-2.8.15.5
1ffd0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1ffe0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1fff0 3a 20 25 64 20 25 64 20 28 25 20 23 67 29 20 3a  : %d %d (% #g) :
20000 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36  xyz} 3 2 3.38826
20010 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
20020 20 33 20 32 20 28 20 33 2e 33 38 38 32 36 65 2d   3 2 ( 3.38826e-
20030 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
20040 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35  st printf-2.8.15
20050 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
20060 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
20070 62 63 3a 20 25 64 20 25 64 20 28 25 30 20 31 30  bc: %d %d (%0 10
20080 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33  g) :xyz} 3 2 3.3
20090 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
200a0 61 62 63 3a 20 33 20 32 20 28 20 33 2e 33 38 38  abc: 3 2 ( 3.388
200b0 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
200c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
200d0 38 2e 31 35 2e 37 20 7b 0a 20 20 73 71 6c 69 74  8.15.7 {.  sqlit
200e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
200f0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
20100 20 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32   3.2f) :xyz} 3 2
20110 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
20120 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 20 30  .} {abc: 3 2 ( 0
20130 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
20140 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35  st printf-2.8.15
20150 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
20160 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
20170 62 63 3a 20 25 64 20 25 64 20 28 25 20 33 2e 32  bc: %d %d (% 3.2
20180 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33  e) :xyz} 3 2 3.3
20190 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
201a0 61 62 63 3a 20 33 20 32 20 28 20 33 2e 33 39 65  abc: 3 2 ( 3.39e
201b0 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
201c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
201d0 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.9 {.  sqlite3_
201e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
201f0 61 62 63 3a 20 25 64 20 25 64 20 28 25 20 33 2e  abc: %d %d (% 3.
20200 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  2g) :xyz} 3 2 3.
20210 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
20220 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e 34 65  {abc: 3 2 ( 3.4e
20230 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 0a 64 6f 5f  -110) :xyz}..do_
20240 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e  test printf-2.9.
20250 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
20260 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
20270 63 3a 20 25 64 20 25 64 20 28 25 35 2e 30 67 29  c: %d %d (%5.0g)
20280 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34   :xyz} 0 0 1.234
20290 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 20 20  .} {abc: 0 0 (  
202a0 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65    1) :xyz}.do_te
202b0 73 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e 32 20  st printf-2.9.2 
202c0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
202d0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
202e0 20 25 64 20 25 64 20 28 25 2b 35 2e 30 67 29 20   %d %d (%+5.0g) 
202f0 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a  :xyz} 0 0 1.234.
20300 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 20 20 20  } {abc: 0 0 (   
20310 2b 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  +1) :xyz}.do_tes
20320 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e 33 20 7b  t printf-2.9.3 {
20330 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20340 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
20350 25 64 20 25 64 20 28 25 2b 2d 35 2e 30 67 29 20  %d %d (%+-5.0g) 
20360 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a  :xyz} 0 0 1.234.
20370 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 2b 31 20  } {abc: 0 0 (+1 
20380 20 20 29 20 3a 78 79 7a 7d 0a 0a 64 6f 5f 74 65    ) :xyz}..do_te
20390 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 30 2e 31  st printf-2.10.1
203a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
203b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
203c0 3a 20 25 64 20 25 64 20 28 25 2d 30 31 30 2e 35  : %d %d (%-010.5
203d0 66 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32  f) :xyz} 0 0 1.2
203e0 33 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28  34.} {abc: 0 0 (
203f0 31 2e 32 33 34 30 30 20 20 20 29 20 3a 78 79 7a  1.23400   ) :xyz
20400 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
20410 2d 32 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69  -2.10.2 {.  sqli
20420 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
20430 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
20440 25 30 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 30  %010.5f) :xyz} 0
20450 20 30 20 31 2e 32 33 34 0a 7d 20 7b 61 62 63 3a   0 1.234.} {abc:
20460 20 30 20 30 20 28 30 30 30 31 2e 32 33 34 30 30   0 0 (0001.23400
20470 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
20480 70 72 69 6e 74 66 2d 32 2e 31 30 2e 33 20 7b 0a  printf-2.10.3 {.
20490 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
204a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
204b0 64 20 25 64 20 28 25 2b 30 31 30 2e 35 66 29 20  d %d (%+010.5f) 
204c0 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34 0a  :xyz} 0 0 1.234.
204d0 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 2b 30 30  } {abc: 0 0 (+00
204e0 31 2e 32 33 34 30 30 29 20 3a 78 79 7a 7d 0a 0a  1.23400) :xyz}..
204f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 33  do_test printf-3
20500 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
20510 70 72 69 6e 74 66 5f 73 74 72 20 7b 41 20 53 74  printf_str {A St
20520 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20 31  ring: (%*.*s)} 1
20530 30 20 31 30 20 7b 54 68 69 73 20 69 73 20 74 68  0 10 {This is th
20540 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72  e string}.} [for
20550 6d 61 74 20 7b 41 20 53 74 72 69 6e 67 3a 20 28  mat {A String: (
20560 25 2a 2e 2a 73 29 7d 20 31 30 20 31 30 20 7b 54  %*.*s)} 10 10 {T
20570 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e  his is the strin
20580 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  g}].do_test prin
20590 74 66 2d 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74  tf-3.2 {.  sqlit
205a0 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b  e3_mprintf_str {
205b0 41 20 53 74 72 69 6e 67 3a 20 28 25 2a 2e 2a 73  A String: (%*.*s
205c0 29 7d 20 31 30 20 35 20 7b 54 68 69 73 20 69 73  )} 10 5 {This is
205d0 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b   the string}.} [
205e0 66 6f 72 6d 61 74 20 7b 41 20 53 74 72 69 6e 67  format {A String
205f0 3a 20 28 25 2a 2e 2a 73 29 7d 20 31 30 20 35 20  : (%*.*s)} 10 5 
20600 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20610 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72  ing}].do_test pr
20620 69 6e 74 66 2d 33 2e 33 20 7b 0a 20 20 73 71 6c  intf-3.3 {.  sql
20630 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
20640 20 7b 41 20 53 74 72 69 6e 67 3a 20 28 25 2a 2e   {A String: (%*.
20650 2a 73 29 7d 20 2d 31 30 20 35 20 7b 54 68 69 73  *s)} -10 5 {This
20660 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a   is the string}.
20670 7d 20 5b 66 6f 72 6d 61 74 20 7b 41 20 53 74 72  } [format {A Str
20680 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20 2d 31  ing: (%*.*s)} -1
20690 30 20 35 20 7b 54 68 69 73 20 69 73 20 74 68 65  0 5 {This is the
206a0 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73   string}].do_tes
206b0 74 20 70 72 69 6e 74 66 2d 33 2e 34 20 7b 0a 20  t printf-3.4 {. 
206c0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
206d0 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 53 74  _str {%d %d A St
206e0 72 69 6e 67 3a 20 28 25 73 29 7d 20 31 20 32 20  ring: (%s)} 1 2 
206f0 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20700 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d 61 74 20 7b  ing}.} [format {
20710 25 64 20 25 64 20 41 20 53 74 72 69 6e 67 3a 20  %d %d A String: 
20720 28 25 73 29 7d 20 31 20 32 20 7b 54 68 69 73 20  (%s)} 1 2 {This 
20730 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 5d 0a  is the string}].
20740 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 33  do_test printf-3
20750 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
20760 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
20770 64 20 41 20 53 74 72 69 6e 67 3a 20 28 25 33 30  d A String: (%30
20780 73 29 7d 20 31 20 32 20 7b 54 68 69 73 20 69 73  s)} 1 2 {This is
20790 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b   the string}.} [
207a0 66 6f 72 6d 61 74 20 7b 25 64 20 25 64 20 41 20  format {%d %d A 
207b0 53 74 72 69 6e 67 3a 20 28 25 33 30 73 29 7d 20  String: (%30s)} 
207c0 31 20 32 20 7b 54 68 69 73 20 69 73 20 74 68 65  1 2 {This is the
207d0 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73   string}].do_tes
207e0 74 20 70 72 69 6e 74 66 2d 33 2e 36 20 7b 0a 20  t printf-3.6 {. 
207f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
20800 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 53 74  _str {%d %d A St
20810 72 69 6e 67 3a 20 28 25 2d 33 30 73 29 7d 20 31  ring: (%-30s)} 1
20820 20 32 20 7b 54 68 69 73 20 69 73 20 74 68 65 20   2 {This is the 
20830 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d 61  string}.} [forma
20840 74 20 7b 25 64 20 25 64 20 41 20 53 74 72 69 6e  t {%d %d A Strin
20850 67 3a 20 28 25 2d 33 30 73 29 7d 20 31 20 32 20  g: (%-30s)} 1 2 
20860 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72  {This is the str
20870 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72  ing}].do_test pr
20880 69 6e 74 66 2d 33 2e 37 20 7b 0a 20 20 73 71 6c  intf-3.7 {.  sql
20890 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
208a0 20 7b 25 64 20 41 20 53 74 72 69 6e 67 3a 20 28   {%d A String: (
208b0 25 2a 73 29 7d 20 31 20 32 31 34 37 34 38 33 36  %*s)} 1 21474836
208c0 34 37 20 7b 54 68 69 73 20 69 73 20 74 68 65 20  47 {This is the 
208d0 73 74 72 69 6e 67 7d 0a 7d 20 5b 5d 0a 64 6f 5f  string}.} [].do_
208e0 74 65 73 74 20 70 72 69 6e 74 66 2d 33 2e 38 20  test printf-3.8 
208f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20900 6e 74 66 5f 73 74 72 20 7b 25 64 20 41 20 53 74  ntf_str {%d A St
20910 72 69 6e 67 3a 20 28 25 2a 73 29 7d 20 31 20 2d  ring: (%*s)} 1 -
20920 32 31 34 37 34 38 33 36 34 38 20 7b 54 68 69 73  2147483648 {This
20930 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a   is the string}.
20940 7d 20 5b 5d 0a 64 6f 5f 74 65 73 74 20 70 72 69  } [].do_test pri
20950 6e 74 66 2d 33 2e 39 20 7b 0a 20 20 73 71 6c 69  ntf-3.9 {.  sqli
20960 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
20970 7b 25 64 20 41 20 53 74 72 69 6e 67 3a 20 28 25  {%d A String: (%
20980 2e 2a 73 29 7d 20 31 20 2d 32 31 34 37 34 38 33  .*s)} 1 -2147483
20990 36 34 38 20 7b 54 68 69 73 20 69 73 20 74 68 65  648 {This is the
209a0 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 31 20 41 20   string}.} {1 A 
209b0 53 74 72 69 6e 67 3a 20 28 54 68 69 73 20 69 73  String: (This is
209c0 20 74 68 65 20 73 74 72 69 6e 67 29 7d 0a 64 6f   the string)}.do
209d0 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33  _test snprintf-3
209e0 2e 31 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  .11 {.  sqlite3_
209f0 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 32 20 7b  snprintf_str 2 {
20a00 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20a10 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20a20 72 69 6e 67 7d 0a 7d 20 7b 78 7d 0a 64 6f 5f 74  ring}.} {x}.do_t
20a30 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31  est snprintf-3.1
20a40 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e  2 {.  sqlite3_sn
20a50 70 72 69 6e 74 66 5f 73 74 72 20 33 20 7b 78 25  printf_str 3 {x%
20a60 64 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b  d %d %s} 10 10 {
20a70 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69  This is the stri
20a80 6e 67 7d 0a 7d 20 7b 78 31 7d 0a 64 6f 5f 74 65  ng}.} {x1}.do_te
20a90 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 33  st snprintf-3.13
20aa0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70   {.  sqlite3_snp
20ab0 72 69 6e 74 66 5f 73 74 72 20 34 20 7b 78 25 64  rintf_str 4 {x%d
20ac0 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54   %d %s} 10 10 {T
20ad0 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e  his is the strin
20ae0 67 7d 0a 7d 20 7b 78 31 30 7d 0a 64 6f 5f 74 65  g}.} {x10}.do_te
20af0 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 34  st snprintf-3.14
20b00 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70   {.  sqlite3_snp
20b10 72 69 6e 74 66 5f 73 74 72 20 35 20 7b 78 25 64  rintf_str 5 {x%d
20b20 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54   %d %s} 10 10 {T
20b30 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e  his is the strin
20b40 67 7d 0a 7d 20 7b 78 31 30 20 7d 0a 64 6f 5f 74  g}.} {x10 }.do_t
20b50 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31  est snprintf-3.1
20b60 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e  5 {.  sqlite3_sn
20b70 70 72 69 6e 74 66 5f 73 74 72 20 36 20 7b 78 25  printf_str 6 {x%
20b80 64 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b  d %d %s} 10 10 {
20b90 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69  This is the stri
20ba0 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 7d 0a 64 6f  ng}.} {x10 1}.do
20bb0 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33  _test snprintf-3
20bc0 2e 31 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  .16 {.  sqlite3_
20bd0 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 37 20 7b  snprintf_str 7 {
20be0 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20bf0 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20c00 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 30 7d  ring}.} {x10 10}
20c10 0a 64 6f 5f 74 65 73 74 20 73 6e 70 72 69 6e 74  .do_test snprint
20c20 66 2d 33 2e 31 37 20 7b 0a 20 20 73 71 6c 69 74  f-3.17 {.  sqlit
20c30 65 33 5f 73 6e 70 72 69 6e 74 66 5f 73 74 72 20  e3_snprintf_str 
20c40 38 20 7b 78 25 64 20 25 64 20 25 73 7d 20 31 30  8 {x%d %d %s} 10
20c50 20 31 30 20 7b 54 68 69 73 20 69 73 20 74 68 65   10 {This is the
20c60 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20   string}.} {x10 
20c70 31 30 20 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70  10 }.do_test snp
20c80 72 69 6e 74 66 2d 33 2e 31 38 20 7b 0a 20 20 73  rintf-3.18 {.  s
20c90 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f  qlite3_snprintf_
20ca0 73 74 72 20 39 20 7b 78 25 64 20 25 64 20 25 73  str 9 {x%d %d %s
20cb0 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73  } 10 10 {This is
20cc0 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b   the string}.} {
20cd0 78 31 30 20 31 30 20 54 7d 0a 64 6f 5f 74 65 73  x10 10 T}.do_tes
20ce0 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 39 20  t snprintf-3.19 
20cf0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72  {.  sqlite3_snpr
20d00 69 6e 74 66 5f 73 74 72 20 31 30 30 20 7b 78 25  intf_str 100 {x%
20d10 64 20 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b  d %d %s} 10 10 {
20d20 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69  This is the stri
20d30 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 30 20 54 68  ng}.} {x10 10 Th
20d40 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20d50 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  }..do_test print
20d60 66 2d 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  f-4.1 {.  sqlite
20d70 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25  3_mprintf_str {%
20d80 64 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74  d %d A quoted st
20d90 72 69 6e 67 3a 20 27 25 71 27 7d 20 31 20 32 20  ring: '%q'} 1 2 
20da0 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20  {Hi Y'all}.} {1 
20db0 32 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  2 A quoted strin
20dc0 67 3a 20 27 48 69 20 59 27 27 61 6c 6c 27 7d 0a  g: 'Hi Y''all'}.
20dd0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34  do_test printf-4
20de0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
20df0 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
20e00 64 20 41 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72  d A NULL pointer
20e10 20 69 6e 20 25 25 71 3a 20 27 25 71 27 7d 20 31   in %%q: '%q'} 1
20e20 20 32 0a 7d 20 7b 31 20 32 20 41 20 4e 55 4c 4c   2.} {1 2 A NULL
20e30 20 70 6f 69 6e 74 65 72 20 69 6e 20 25 71 3a 20   pointer in %q: 
20e40 27 28 4e 55 4c 4c 29 27 7d 0a 64 6f 5f 74 65 73  '(NULL)'}.do_tes
20e50 74 20 70 72 69 6e 74 66 2d 34 2e 33 20 7b 0a 20  t printf-4.3 {. 
20e60 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
20e70 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 71 75  _str {%d %d A qu
20e80 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 25 51 7d  oted string: %Q}
20e90 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a   1 2 {Hi Y'all}.
20ea0 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20  } {1 2 A quoted 
20eb0 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27 61  string: 'Hi Y''a
20ec0 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  ll'}.do_test pri
20ed0 6e 74 66 2d 34 2e 34 20 7b 0a 20 20 73 71 6c 69  ntf-4.4 {.  sqli
20ee0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
20ef0 7b 25 64 20 25 64 20 41 20 4e 55 4c 4c 20 70 6f  {%d %d A NULL po
20f00 69 6e 74 65 72 20 69 6e 20 25 25 51 3a 20 25 51  inter in %%Q: %Q
20f10 7d 20 31 20 32 0a 7d 20 7b 31 20 32 20 41 20 4e  } 1 2.} {1 2 A N
20f20 55 4c 4c 20 70 6f 69 6e 74 65 72 20 69 6e 20 25  ULL pointer in %
20f30 51 3a 20 4e 55 4c 4c 7d 0a 64 6f 5f 74 65 73 74  Q: NULL}.do_test
20f40 20 70 72 69 6e 74 66 2d 34 2e 35 20 7b 0a 20 20   printf-4.5 {.  
20f50 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
20f60 73 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f  str {%d %d A quo
20f70 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 31  ted string: '%.1
20f80 30 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61  0q'} 1 2 {Hi Y'a
20f90 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f  ll}.} {1 2 A quo
20fa0 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20  ted string: 'Hi 
20fb0 59 27 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74  Y''all'}.do_test
20fc0 20 70 72 69 6e 74 66 2d 34 2e 36 20 7b 0a 20 20   printf-4.6 {.  
20fd0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
20fe0 73 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f  str {%d %d A quo
20ff0 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 39  ted string: '%.9
21000 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c  q'} 1 2 {Hi Y'al
21010 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74  l}.} {1 2 A quot
21020 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59  ed string: 'Hi Y
21030 27 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74 20  ''all'}.do_test 
21040 70 72 69 6e 74 66 2d 34 2e 37 20 7b 0a 20 20 73  printf-4.7 {.  s
21050 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
21060 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74  tr {%d %d A quot
21070 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 38 71  ed string: '%.8q
21080 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c  '} 1 2 {Hi Y'all
21090 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65  }.} {1 2 A quote
210a0 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27  d string: 'Hi Y'
210b0 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70  'all'}.do_test p
210c0 72 69 6e 74 66 2d 34 2e 38 20 7b 0a 20 20 73 71  rintf-4.8 {.  sq
210d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
210e0 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65  r {%d %d A quote
210f0 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 37 71 27  d string: '%.7q'
21100 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d  } 1 2 {Hi Y'all}
21110 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64  .} {1 2 A quoted
21120 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27   string: 'Hi Y''
21130 61 6c 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  al'}.do_test pri
21140 6e 74 66 2d 34 2e 39 20 7b 0a 20 20 73 71 6c 69  ntf-4.9 {.  sqli
21150 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
21160 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20  {%d %d A quoted 
21170 73 74 72 69 6e 67 3a 20 27 25 2e 36 71 27 7d 20  string: '%.6q'} 
21180 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d  1 2 {Hi Y'all}.}
21190 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20 73   {1 2 A quoted s
211a0 74 72 69 6e 67 3a 20 27 48 69 20 59 27 27 61 27  tring: 'Hi Y''a'
211b0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
211c0 2d 34 2e 31 30 20 7b 0a 20 20 73 71 6c 69 74 65  -4.10 {.  sqlite
211d0 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25  3_mprintf_str {%
211e0 64 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74  d %d A quoted st
211f0 72 69 6e 67 3a 20 27 25 2e 35 71 27 7d 20 31 20  ring: '%.5q'} 1 
21200 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b  2 {Hi Y'all}.} {
21210 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72  1 2 A quoted str
21220 69 6e 67 3a 20 27 48 69 20 59 27 27 27 7d 0a 64  ing: 'Hi Y'''}.d
21230 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e  o_test printf-4.
21240 31 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  11 {.  sqlite3_m
21250 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
21260 64 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  d A quoted strin
21270 67 3a 20 27 25 2e 34 71 27 7d 20 31 20 32 20 7b  g: '%.4q'} 1 2 {
21280 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32  Hi Y'all}.} {1 2
21290 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67   A quoted string
212a0 3a 20 27 48 69 20 59 27 7d 0a 64 6f 5f 74 65 73  : 'Hi Y'}.do_tes
212b0 74 20 70 72 69 6e 74 66 2d 34 2e 31 32 20 7b 0a  t printf-4.12 {.
212c0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
212d0 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 71  f_str {%d %d A q
212e0 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25  uoted string: '%
212f0 2e 33 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27  .3q'} 1 2 {Hi Y'
21300 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75  all}.} {1 2 A qu
21310 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69  oted string: 'Hi
21320 20 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e   '}.do_test prin
21330 74 66 2d 34 2e 31 33 20 7b 0a 20 20 73 71 6c 69  tf-4.13 {.  sqli
21340 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
21350 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20  {%d %d A quoted 
21360 73 74 72 69 6e 67 3a 20 27 25 2e 32 71 27 7d 20  string: '%.2q'} 
21370 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d  1 2 {Hi Y'all}.}
21380 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20 73   {1 2 A quoted s
21390 74 72 69 6e 67 3a 20 27 48 69 27 7d 0a 64 6f 5f  tring: 'Hi'}.do_
213a0 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 34  test printf-4.14
213b0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
213c0 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20  intf_str {%d %d 
213d0 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a  A quoted string:
213e0 20 27 25 2e 31 71 27 7d 20 31 20 32 20 7b 48 69   '%.1q'} 1 2 {Hi
213f0 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41   Y'all}.} {1 2 A
21400 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20   quoted string: 
21410 27 48 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  'H'}.do_test pri
21420 6e 74 66 2d 34 2e 31 35 20 7b 0a 20 20 73 71 6c  ntf-4.15 {.  sql
21430 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
21440 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65 64   {%d %d A quoted
21450 20 73 74 72 69 6e 67 3a 20 27 25 2e 30 71 27 7d   string: '%.0q'}
21460 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a   1 2 {Hi Y'all}.
21470 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20  } {1 2 A quoted 
21480 73 74 72 69 6e 67 3a 20 27 27 7d 0a 64 6f 5f 74  string: ''}.do_t
21490 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 36 20  est printf-4.16 
214a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
214b0 6e 74 66 5f 73 74 72 20 7b 25 64 20 41 20 71 75  ntf_str {%d A qu
214c0 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e  oted string: '%.
214d0 2a 71 27 7d 20 31 20 36 20 7b 48 69 20 59 27 61  *q'} 1 6 {Hi Y'a
214e0 6c 6c 7d 0a 7d 20 7b 31 20 41 20 71 75 6f 74 65  ll}.} {1 A quote
214f0 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59 27  d string: 'Hi Y'
21500 27 61 27 7d 0a 0a 0a 64 6f 5f 74 65 73 74 20 70  'a'}...do_test p
21510 72 69 6e 74 66 2d 35 2e 31 20 7b 0a 20 20 73 65  rintf-5.1 {.  se
21520 74 20 78 20 5b 73 71 6c 69 74 65 33 5f 6d 70 72  t x [sqlite3_mpr
21530 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20  intf_str {%d %d 
21540 25 31 30 30 30 30 30 73 7d 20 30 20 30 20 7b 48  %100000s} 0 0 {H
21550 65 6c 6c 6f 7d 5d 0a 20 20 73 74 72 69 6e 67 20  ello}].  string 
21560 6c 65 6e 67 74 68 20 24 78 0a 7d 20 7b 31 30 30  length $x.} {100
21570 30 30 34 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  004}.do_test pri
21580 6e 74 66 2d 35 2e 32 20 7b 0a 20 20 73 71 6c 69  ntf-5.2 {.  sqli
21590 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
215a0 7b 25 64 20 25 64 20 28 25 2d 31 30 2e 31 30 73  {%d %d (%-10.10s
215b0 29 20 25 7d 20 2d 39 20 2d 31 30 20 7b 48 65 6c  ) %} -9 -10 {Hel
215c0 6c 6f 48 65 6c 6c 6f 48 65 6c 6c 6f 7d 0a 7d 20  loHelloHello}.} 
215d0 7b 2d 39 20 2d 31 30 20 28 48 65 6c 6c 6f 48 65  {-9 -10 (HelloHe
215e0 6c 6c 6f 29 20 25 7d 0a 0a 64 6f 5f 74 65 73 74  llo) %}..do_test
215f0 20 70 72 69 6e 74 66 2d 36 2e 31 20 7b 0a 20 20   printf-6.1 {.  
21600 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
21610 7a 5f 74 65 73 74 20 2c 20 6f 6e 65 20 74 77 6f  z_test , one two
21620 20 74 68 72 65 65 20 66 6f 75 72 20 66 69 76 65   three four five
21630 20 73 69 78 0a 7d 20 7b 2c 6f 6e 65 2c 74 77 6f   six.} {,one,two
21640 2c 74 68 72 65 65 2c 66 6f 75 72 2c 66 69 76 65  ,three,four,five
21650 2c 73 69 78 7d 0a 0a 0a 64 6f 5f 74 65 73 74 20  ,six}...do_test 
21660 70 72 69 6e 74 66 2d 37 2e 31 20 7b 0a 20 20 73  printf-7.1 {.  s
21670 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
21680 63 61 6c 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a  caled {A double:
21690 20 25 67 7d 20 31 2e 30 65 33 30 37 20 31 2e 30   %g} 1.0e307 1.0
216a0 0a 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20 31 65  .} {A double: 1e
216b0 2b 33 30 37 7d 0a 64 6f 5f 74 65 73 74 20 70 72  +307}.do_test pr
216c0 69 6e 74 66 2d 37 2e 32 20 7b 0a 20 20 73 71 6c  intf-7.2 {.  sql
216d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 63 61  ite3_mprintf_sca
216e0 6c 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a 20 25  led {A double: %
216f0 67 7d 20 31 2e 30 65 33 30 37 20 31 30 2e 30 0a  g} 1.0e307 10.0.
21700 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20 31 65 2b  } {A double: 1e+
21710 33 30 38 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  308}.do_test pri
21720 6e 74 66 2d 37 2e 33 20 7b 0a 20 20 73 71 6c 69  ntf-7.3 {.  sqli
21730 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c  te3_mprintf_scal
21740 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a 20 25 67  ed {A double: %g
21750 7d 20 31 2e 30 65 33 30 37 20 31 30 30 2e 30 0a  } 1.0e307 100.0.
21760 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20 49 6e 66  } {A double: Inf
21770 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
21780 2d 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  -7.4 {.  sqlite3
21790 5f 6d 70 72 69 6e 74 66 5f 73 63 61 6c 65 64 20  _mprintf_scaled 
217a0 7b 41 20 64 6f 75 62 6c 65 3a 20 25 67 7d 20 2d  {A double: %g} -
217b0 31 2e 30 65 33 30 37 20 31 30 30 2e 30 0a 7d 20  1.0e307 100.0.} 
217c0 7b 41 20 64 6f 75 62 6c 65 3a 20 2d 49 6e 66 7d  {A double: -Inf}
217d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
217e0 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.5 {.  sqlite3_
217f0 6d 70 72 69 6e 74 66 5f 73 63 61 6c 65 64 20 7b  mprintf_scaled {
21800 41 20 64 6f 75 62 6c 65 3a 20 25 2b 67 7d 20 31  A double: %+g} 1
21810 2e 30 65 33 30 37 20 31 30 30 2e 30 0a 7d 20 7b  .0e307 100.0.} {
21820 41 20 64 6f 75 62 6c 65 3a 20 2b 49 6e 66 7d 0a  A double: +Inf}.
21830 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21840 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.1 {.  sqlite3_
21850 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25 75 20  mprintf_int {%u 
21860 25 75 20 25 75 7d 20 30 78 37 66 66 66 66 66 66  %u %u} 0x7ffffff
21870 66 20 30 78 38 30 30 30 30 30 30 30 20 30 78 66  f 0x80000000 0xf
21880 66 66 66 66 66 66 66 0a 7d 20 7b 32 31 34 37 34  fffffff.} {21474
21890 38 33 36 34 37 20 32 31 34 37 34 38 33 36 34 38  83647 2147483648
218a0 20 34 32 39 34 39 36 37 32 39 35 7d 0a 64 6f 5f   4294967295}.do_
218b0 74 65 73 74 20 70 72 69 6e 74 66 2d 38 2e 32 20  test printf-8.2 
218c0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
218d0 6e 74 66 5f 6c 6f 6e 67 20 7b 25 6c 75 20 25 6c  ntf_long {%lu %l
218e0 75 20 25 6c 75 7d 20 30 78 37 66 66 66 66 66 66  u %lu} 0x7ffffff
218f0 66 20 30 78 38 30 30 30 30 30 30 30 20 30 78 66  f 0x80000000 0xf
21900 66 66 66 66 66 66 66 0a 7d 20 7b 32 31 34 37 34  fffffff.} {21474
21910 38 33 36 34 37 20 32 31 34 37 34 38 33 36 34 38  83647 2147483648
21920 20 34 32 39 34 39 36 37 32 39 35 7d 0a 64 6f 5f   4294967295}.do_
21930 74 65 73 74 20 70 72 69 6e 74 66 2d 38 2e 33 20  test printf-8.3 
21940 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21950 6e 74 66 5f 69 6e 74 36 34 20 7b 25 6c 6c 75 20  ntf_int64 {%llu 
21960 25 6c 6c 75 20 25 6c 6c 75 7d 20 32 31 34 37 34  %llu %llu} 21474
21970 38 33 36 34 37 20 32 31 34 37 34 38 33 36 34 38  83647 2147483648
21980 20 34 32 39 34 39 36 37 32 39 36 0a 7d 20 7b 32   4294967296.} {2
21990 31 34 37 34 38 33 36 34 37 20 32 31 34 37 34 38  147483647 214748
219a0 33 36 34 38 20 34 32 39 34 39 36 37 32 39 36 7d  3648 4294967296}
219b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
219c0 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.4 {.  sqlite3_
219d0 6d 70 72 69 6e 74 66 5f 69 6e 74 36 34 20 7b 25  mprintf_int64 {%
219e0 6c 6c 64 20 25 6c 6c 64 20 25 6c 6c 64 7d 20 32  lld %lld %lld} 2
219f0 31 34 37 34 38 33 36 34 37 20 32 31 34 37 34 38  147483647 214748
21a00 33 36 34 38 20 34 32 39 34 39 36 37 32 39 36 0a  3648 4294967296.
21a10 7d 20 7b 32 31 34 37 34 38 33 36 34 37 20 32 31  } {2147483647 21
21a20 34 37 34 38 33 36 34 38 20 34 32 39 34 39 36 37  47483648 4294967
21a30 32 39 36 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  296}.do_test pri
21a40 6e 74 66 2d 38 2e 35 20 7b 0a 20 20 73 71 6c 69  ntf-8.5 {.  sqli
21a50 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 36  te3_mprintf_int6
21a60 34 20 7b 25 6c 6c 78 20 25 6c 6c 78 20 25 6c 6c  4 {%llx %llx %ll
21a70 78 7d 20 32 31 34 37 34 38 33 36 34 37 20 32 31  x} 2147483647 21
21a80 34 37 34 38 33 36 34 38 20 34 32 39 34 39 36 37  47483648 4294967
21a90 32 39 36 0a 7d 20 7b 37 66 66 66 66 66 66 66 20  296.} {7fffffff 
21aa0 38 30 30 30 30 30 30 30 20 31 30 30 30 30 30 30  80000000 1000000
21ab0 30 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  00}.do_test prin
21ac0 74 66 2d 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74  tf-8.6 {.  sqlit
21ad0 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 36 34  e3_mprintf_int64
21ae0 20 7b 25 6c 6c 78 20 25 6c 6c 6f 20 25 6c 6c 64   {%llx %llo %lld
21af0 7d 20 2d 31 20 2d 31 20 2d 31 0a 7d 20 7b 66 66  } -1 -1 -1.} {ff
21b00 66 66 66 66 66 66 66 66 66 66 66 66 66 66 20 31  ffffffffffffff 1
21b10 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37  7777777777777777
21b20 37 37 37 37 37 20 2d 31 7d 0a 64 6f 5f 74 65 73  77777 -1}.do_tes
21b30 74 20 70 72 69 6e 74 66 2d 38 2e 37 20 7b 0a 20  t printf-8.7 {. 
21b40 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
21b50 5f 69 6e 74 36 34 20 7b 25 6c 6c 78 20 25 6c 6c  _int64 {%llx %ll
21b60 78 20 25 6c 6c 78 7d 20 2b 32 31 34 37 34 38 33  x %llx} +2147483
21b70 36 34 37 20 2b 32 31 34 37 34 38 33 36 34 38 20  647 +2147483648 
21b80 2b 34 32 39 34 39 36 37 32 39 36 0a 7d 20 7b 37  +4294967296.} {7
21b90 66 66 66 66 66 66 66 20 38 30 30 30 30 30 30 30  fffffff 80000000
21ba0 20 31 30 30 30 30 30 30 30 30 7d 0a 0a 64 6f 5f   100000000}..do_
21bb0 74 65 73 74 20 70 72 69 6e 74 66 2d 39 2e 31 20  test printf-9.1 
21bc0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21bd0 6e 74 66 5f 69 6e 74 20 7b 25 2a 2e 2a 63 7d 20  ntf_int {%*.*c} 
21be0 34 20 34 20 36 35 0a 7d 20 7b 41 41 41 41 7d 0a  4 4 65.} {AAAA}.
21bf0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 39  do_test printf-9
21c00 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
21c10 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25 2a 2e 2a  printf_int {%*.*
21c20 63 7d 20 2d 34 20 31 20 36 36 0a 7d 20 7b 42 20  c} -4 1 66.} {B 
21c30 20 20 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e    }.do_test prin
21c40 74 66 2d 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74  tf-9.3 {.  sqlit
21c50 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b  e3_mprintf_int {
21c60 25 2a 2e 2a 63 7d 20 34 20 31 20 36 37 0a 7d 20  %*.*c} 4 1 67.} 
21c70 7b 20 20 20 43 7d 0a 64 6f 5f 74 65 73 74 20 70  {   C}.do_test p
21c80 72 69 6e 74 66 2d 39 2e 34 20 7b 0a 20 20 73 71  rintf-9.4 {.  sq
21c90 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
21ca0 74 20 7b 25 64 20 25 64 20 25 63 7d 20 34 20 31  t {%d %d %c} 4 1
21cb0 20 36 37 0a 7d 20 7b 34 20 31 20 43 7d 0a 73 65   67.} {4 1 C}.se
21cc0 74 20 74 65 6e 20 7b 20 20 20 20 20 20 20 20 20  t ten {         
21cd0 20 7d 0a 73 65 74 20 66 69 66 74 79 20 24 74 65   }.set fifty $te
21ce0 6e 24 74 65 6e 24 74 65 6e 24 74 65 6e 24 74 65  n$ten$ten$ten$te
21cf0 6e 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  n.do_test printf
21d00 2d 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  -9.5 {.  sqlite3
21d10 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25 64  _mprintf_int {%d
21d20 20 25 2a 63 7d 20 31 20 2d 32 30 31 20 36 37 0a   %*c} 1 -201 67.
21d30 7d 20 22 31 20 43 24 66 69 66 74 79 24 66 69 66  } "1 C$fifty$fif
21d40 74 79 24 66 69 66 74 79 24 66 69 66 74 79 22 0a  ty$fifty$fifty".
21d50 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 39  do_test printf-9
21d60 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
21d70 70 72 69 6e 74 66 5f 69 6e 74 20 7b 68 69 25 31  printf_int {hi%1
21d80 32 33 34 35 2e 31 32 33 34 36 79 68 65 6c 6c 6f  2345.12346yhello
21d90 7d 20 30 20 30 20 30 0a 7d 20 7b 68 69 7d 0a 0a  } 0 0 0.} {hi}..
21da0 23 20 54 69 63 6b 65 74 20 23 38 31 32 0a 23 0a  # Ticket #812.#.
21db0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
21dc0 30 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.1 {.  sqlite3_
21dd0 6d 70 72 69 6e 74 66 5f 73 74 72 6f 6e 6c 79 20  mprintf_stronly 
21de0 25 73 20 7b 7d 0a 7d 20 7b 7d 0a 0a 23 20 54 69  %s {}.} {}..# Ti
21df0 63 6b 65 74 20 23 38 33 31 0a 23 0a 64 6f 5f 74  cket #831.#.do_t
21e00 65 73 74 20 70 72 69 6e 74 66 2d 31 30 2e 32 20  est printf-10.2 
21e10 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21e20 6e 74 66 5f 73 74 72 6f 6e 6c 79 20 25 71 20 7b  ntf_stronly %q {
21e30 7d 0a 7d 20 7b 7d 0a 0a 23 20 54 69 63 6b 65 74  }.} {}..# Ticket
21e40 20 23 31 33 34 30 3a 20 20 54 65 73 74 20 66 6f   #1340:  Test fo
21e50 72 20 6c 6f 73 73 20 6f 66 20 70 72 65 63 69 73  r loss of precis
21e60 69 6f 6e 20 6f 6e 20 6c 61 72 67 65 20 70 6f 73  ion on large pos
21e70 69 74 69 76 65 20 65 78 70 6f 6e 65 6e 74 73 0a  itive exponents.
21e80 23 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  #.do_test printf
21e90 2d 31 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  -10.3 {.  sqlite
21ea0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
21eb0 20 7b 25 64 20 25 64 20 25 66 7d 20 31 20 31 20   {%d %d %f} 1 1 
21ec0 31 65 33 30 30 0a 7d 20 7b 31 20 31 20 31 30 30  1e300.} {1 1 100
21ed0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21ee0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
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 2e 30 30 30 30 30  0000000000.00000
22000 30 7d 0a 0a 23 20 54 68 65 20 6e 6f 6e 2d 73 74  0}..# The non-st
22010 61 6e 64 61 72 64 20 27 21 27 20 66 6c 61 67 20  andard '!' flag 
22020 6f 6e 20 61 20 27 67 27 20 63 6f 6e 76 65 72 73  on a 'g' convers
22030 69 6f 6e 20 66 6f 72 63 65 73 20 61 20 64 65 63  ion forces a dec
22040 69 6d 61 6c 20 70 6f 69 6e 74 0a 23 20 61 6e 64  imal point.# and
22050 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 64 69   at least one di
22060 67 69 74 20 6f 6e 20 65 69 74 68 65 72 20 73 69  git on either si
22070 64 65 20 6f 66 20 74 68 65 20 64 65 63 69 6d 61  de of the decima
22080 6c 20 70 6f 69 6e 74 2e 0a 23 0a 64 6f 5f 74 65  l point..#.do_te
22090 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 31 20 7b  st printf-11.1 {
220a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
220b0 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64  tf_double {%d %d
220c0 20 25 21 67 7d 20 31 20 31 20 31 0a 7d 20 7b 31   %!g} 1 1 1.} {1
220d0 20 31 20 31 2e 30 7d 0a 64 6f 5f 74 65 73 74 20   1 1.0}.do_test 
220e0 70 72 69 6e 74 66 2d 31 31 2e 32 20 7b 0a 20 20  printf-11.2 {.  
220f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
22100 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25 21  double {%d %d %!
22110 67 7d 20 31 20 31 20 31 32 33 0a 7d 20 7b 31 20  g} 1 1 123.} {1 
22120 31 20 31 32 33 2e 30 7d 0a 64 6f 5f 74 65 73 74  1 123.0}.do_test
22130 20 70 72 69 6e 74 66 2d 31 31 2e 33 20 7b 0a 20   printf-11.3 {. 
22140 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
22150 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25  _double {%d %d %
22160 21 67 7d 20 31 20 31 20 31 32 2e 33 0a 7d 20 7b  !g} 1 1 12.3.} {
22170 31 20 31 20 31 32 2e 33 7d 0a 64 6f 5f 74 65 73  1 1 12.3}.do_tes
22180 74 20 70 72 69 6e 74 66 2d 31 31 2e 34 20 7b 0a  t printf-11.4 {.
22190 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
221a0 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20  f_double {%d %d 
221b0 25 21 67 7d 20 31 20 31 20 30 2e 31 32 33 0a 7d  %!g} 1 1 0.123.}
221c0 20 7b 31 20 31 20 30 2e 31 32 33 7d 0a 64 6f 5f   {1 1 0.123}.do_
221d0 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 35  test printf-11.5
221e0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
221f0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20  intf_double {%d 
22200 25 64 20 25 21 2e 31 35 67 7d 20 31 20 31 20 31  %d %!.15g} 1 1 1
22210 0a 7d 20 7b 31 20 31 20 31 2e 30 7d 0a 64 6f 5f  .} {1 1 1.0}.do_
22220 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31 2e 36  test printf-11.6
22230 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
22240 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20  intf_double {%d 
22250 25 64 20 25 21 2e 31 35 67 7d 20 31 20 31 20 31  %d %!.15g} 1 1 1
22260 65 31 30 0a 7d 20 7b 31 20 31 20 31 30 30 30 30  e10.} {1 1 10000
22270 30 30 30 30 30 30 2e 30 7d 0a 64 6f 5f 74 65 73  000000.0}.do_tes
22280 74 20 70 72 69 6e 74 66 2d 31 31 2e 37 20 7b 0a  t printf-11.7 {.
22290 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
222a0 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20  f_double {%d %d 
222b0 25 21 2e 31 35 67 7d 20 31 20 31 20 31 65 33 30  %!.15g} 1 1 1e30
222c0 30 0a 7d 20 7b 31 20 31 20 31 2e 30 65 2b 33 30  0.} {1 1 1.0e+30
222d0 30 7d 0a 0a 23 20 41 64 64 69 74 69 6f 6e 61 6c  0}..# Additional
222e0 20 74 65 73 74 73 20 66 6f 72 20 63 6f 76 65 72   tests for cover
222f0 61 67 65 0a 23 0a 64 6f 5f 74 65 73 74 20 70 72  age.#.do_test pr
22300 69 6e 74 66 2d 31 32 2e 31 20 7b 0a 20 20 73 71  intf-12.1 {.  sq
22310 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
22320 75 62 6c 65 20 7b 25 64 20 25 64 20 25 2e 32 30  uble {%d %d %.20
22330 30 30 67 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b  00g} 1 1 1.0.} {
22340 31 20 31 20 31 7d 0a 0a 23 20 46 6c 6f 61 74 69  1 1 1}..# Floati
22350 6e 67 20 70 6f 69 6e 74 20 62 6f 75 6e 64 61 72  ng point boundar
22360 79 20 63 61 73 65 73 0a 23 0a 64 6f 5f 74 65 73  y cases.#.do_tes
22370 74 20 70 72 69 6e 74 66 2d 31 33 2e 31 20 7b 0a  t printf-13.1 {.
22380 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
22390 66 5f 68 65 78 64 6f 75 62 6c 65 20 25 2e 32 30  f_hexdouble %.20
223a0 66 20 34 30 32 34 30 30 30 30 30 30 30 30 30 30  f 40240000000000
223b0 30 30 0a 7d 20 7b 31 30 2e 30 30 30 30 30 30 30  00.} {10.0000000
223c0 30 30 30 30 30 30 30 30 30 30 30 30 30 7d 0a 64  0000000000000}.d
223d0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 33  o_test printf-13
223e0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
223f0 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65  printf_hexdouble
22400 20 25 2e 32 30 66 20 34 31 39 37 64 37 38 34 30   %.20f 4197d7840
22410 30 30 30 30 30 30 30 0a 7d 20 7b 31 30 30 30 30  0000000.} {10000
22420 30 30 30 30 2e 30 30 30 30 30 30 30 30 30 30 30  0000.00000000000
22430 30 30 30 30 30 30 30 30 30 7d 0a 64 6f 5f 74 65  000000000}.do_te
22440 73 74 20 70 72 69 6e 74 66 2d 31 33 2e 33 20 7b  st printf-13.3 {
22450 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
22460 74 66 5f 68 65 78 64 6f 75 62 6c 65 20 25 2e 32  tf_hexdouble %.2
22470 30 66 20 34 36 39 33 62 38 62 35 62 35 30 35 36  0f 4693b8b5b5056
22480 65 31 37 0a 7d 20 7b 31 30 30 30 30 30 30 30 30  e17.} {100000000
22490 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
224a0 30 30 30 30 30 30 30 30 2e 30 30 30 30 30 30 30  00000000.0000000
224b0 30 30 30 30 30 30 30 30 30 30 30 30 30 7d 0a 64  0000000000000}.d
224c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 33  o_test printf-13
224d0 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
224e0 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c 65  printf_hexdouble
224f0 20 25 2e 32 30 66 20 37 66 66 30 30 30 30 30 30   %.20f 7ff000000
22500 30 30 30 30 30 30 30 0a 7d 20 7b 49 6e 66 7d 0a  0000000.} {Inf}.
22510 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
22520 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.5 {.  sqlite3_
22530 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c  mprintf_hexdoubl
22540 65 20 25 2e 32 30 66 20 66 66 66 30 30 30 30 30  e %.20f fff00000
22550 30 30 30 30 30 30 30 30 0a 7d 20 7b 2d 49 6e 66  00000000.} {-Inf
22560 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
22570 2d 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  -13.6 {.  sqlite
22580 33 5f 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75  3_mprintf_hexdou
22590 62 6c 65 20 25 2e 32 30 66 20 66 66 66 38 30 30  ble %.20f fff800
225a0 30 30 30 30 30 30 30 30 30 30 0a 7d 20 7b 4e 61  0000000000.} {Na
225b0 4e 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  N}..do_test prin
225c0 74 66 2d 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69  tf-14.1 {.  sqli
225d0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
225e0 7b 61 62 63 2d 25 79 2d 31 32 33 7d 20 30 20 30  {abc-%y-123} 0 0
225f0 20 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61   {not used}.} {a
22600 62 63 2d 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  bc-}.do_test pri
22610 6e 74 66 2d 31 34 2e 32 20 7b 0a 20 20 73 71 6c  ntf-14.2 {.  sql
22620 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 6e 5f 74  ite3_mprintf_n_t
22630 65 73 74 20 7b 78 79 7a 7a 79 7d 0a 7d 20 35 0a  est {xyzzy}.} 5.
22640 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
22650 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.3 {.  sqlite3_
22660 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 61 62 63  mprintf_str {abc
22670 2d 25 54 2d 31 32 33 7d 20 30 20 30 20 7b 6e 6f  -%T-123} 0 0 {no
22680 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 7d  t used}.} {abc-}
22690 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
226a0 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.4 {.  sqlite3
226b0 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 61 62  _mprintf_str {ab
226c0 63 2d 25 23 7d 20 30 20 30 20 7b 6e 6f 74 20 75  c-%#} 0 0 {not u
226d0 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 7d 0a 64 6f  sed}.} {abc-}.do
226e0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e  _test printf-14.
226f0 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
22700 72 69 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25  rintf_str {abc-%
22710 2a 2e 2a 73 2d 78 79 7a 7d 20 31 30 20 2d 31 30  *.*s-xyz} 10 -10
22720 20 7b 61 5f 76 65 72 79 5f 6c 6f 6e 67 5f 73 74   {a_very_long_st
22730 72 69 6e 67 7d 0a 7d 20 7b 61 62 63 2d 61 5f 76  ring}.} {abc-a_v
22740 65 72 79 5f 6c 6f 6e 2d 78 79 7a 7d 0a 64 6f 5f  ery_lon-xyz}.do_
22750 74 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 36  test printf-14.6
22760 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
22770 69 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25 35  intf_str {abc-%5
22780 2e 31 30 2f 7d 20 30 20 30 20 7b 6e 6f 74 20 75  .10/} 0 0 {not u
22790 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 7d 0a 64 6f  sed}.} {abc-}.do
227a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e  _test printf-14.
227b0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
227c0 72 69 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25  rintf_str {abc-%
227d0 30 35 2e 35 64 7d 20 31 32 33 20 30 20 7b 6e 6f  05.5d} 123 0 {no
227e0 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63 2d 30  t used}.} {abc-0
227f0 30 31 32 33 7d 0a 64 6f 5f 74 65 73 74 20 70 72  0123}.do_test pr
22800 69 6e 74 66 2d 31 34 2e 38 20 7b 0a 20 20 73 71  intf-14.8 {.  sq
22810 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
22820 72 20 7b 61 62 63 2d 25 30 35 2e 35 64 7d 20 31  r {abc-%05.5d} 1
22830 32 33 34 35 36 37 20 30 20 7b 6e 6f 74 20 75 73  234567 0 {not us
22840 65 64 7d 0a 7d 20 7b 61 62 63 2d 31 32 33 34 35  ed}.} {abc-12345
22850 36 37 7d 0a 0a 66 6f 72 20 7b 73 65 74 20 69 20  67}..for {set i 
22860 32 7d 20 7b 24 69 3c 32 30 30 7d 20 7b 69 6e 63  2} {$i<200} {inc
22870 72 20 69 7d 20 7b 0a 20 20 73 65 74 20 72 65 73  r i} {.  set res
22880 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
22890 7b 20 7d 20 5b 65 78 70 72 20 7b 24 69 2d 31 7d  { } [expr {$i-1}
228a0 5d 5d 78 0a 20 20 64 6f 5f 74 65 73 74 20 70 72  ]]x.  do_test pr
228b0 69 6e 74 66 2d 31 34 2e 39 30 2e 24 69 20 22 0a  intf-14.90.$i ".
228c0 20 20 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69      sqlite3_mpri
228d0 6e 74 66 5f 73 74 72 20 7b 25 2a 2e 2a 73 7d 20  ntf_str {%*.*s} 
228e0 24 69 20 35 30 30 20 78 0a 20 20 22 20 24 72 65  $i 500 x.  " $re
228f0 73 0a 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69  s.}..do_test pri
22900 6e 74 66 2d 31 35 2e 31 20 7b 0a 20 20 73 71 6c  ntf-15.1 {.  sql
22910 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 69 6e  ite3_snprintf_in
22920 74 20 35 20 7b 31 32 33 34 35 7d 20 30 0a 7d 20  t 5 {12345} 0.} 
22930 7b 31 32 33 34 7d 0a 64 6f 5f 74 65 73 74 20 70  {1234}.do_test p
22940 72 69 6e 74 66 2d 31 35 2e 32 20 7b 0a 20 20 73  rintf-15.2 {.  s
22950 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f  qlite3_snprintf_
22960 69 6e 74 20 35 20 7b 7d 20 30 0a 7d 20 7b 7d 0a  int 5 {} 0.} {}.
22970 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
22980 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.3 {.  sqlite3_
22990 73 6e 70 72 69 6e 74 66 5f 69 6e 74 20 30 20 7b  snprintf_int 0 {
229a0 7d 20 30 0a 7d 20 7b 61 62 63 64 65 66 67 68 69  } 0.} {abcdefghi
229b0 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79  jklmnopqrstuvwxy
229c0 7a 7d 0a 0a 23 20 4e 6f 77 20 74 65 73 74 20 6d  z}..# Now test m
229d0 61 6c 6c 6f 63 28 29 20 66 61 69 6c 75 72 65 20  alloc() failure 
229e0 77 69 74 68 69 6e 20 61 20 73 71 6c 69 74 65 33  within a sqlite3
229f0 5f 6d 70 72 69 6e 74 66 28 29 3a 0a 23 0a 69 66  _mprintf():.#.if
22a00 63 61 70 61 62 6c 65 20 6d 65 6d 64 65 62 75 67  capable memdebug
22a10 20 7b 0a 20 20 66 6f 72 65 61 63 68 20 76 61 72   {.  foreach var
22a20 20 7b 61 20 62 20 63 20 64 7d 20 7b 0a 20 20 20   {a b c d} {.   
22a30 20 73 65 74 20 24 76 61 72 20 5b 73 74 72 69 6e   set $var [strin
22a40 67 20 72 65 70 65 61 74 20 24 76 61 72 20 34 30  g repeat $var 40
22a50 30 5d 0a 20 20 7d 0a 20 20 73 65 74 20 73 74 72  0].  }.  set str
22a60 31 20 22 5b 73 74 72 69 6e 67 20 72 65 70 65 61  1 "[string repea
22a70 74 20 41 20 33 36 30 5d 25 64 25 64 25 73 22 0a  t A 360]%d%d%s".
22a80 20 20 73 65 74 20 73 74 72 32 20 5b 73 74 72 69    set str2 [stri
22a90 6e 67 20 72 65 70 65 61 74 20 42 20 35 30 30 30  ng repeat B 5000
22aa0 5d 0a 20 20 73 65 74 20 7a 53 75 63 63 65 73 73  ].  set zSuccess
22ab0 20 22 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74   "[string repeat
22ac0 20 41 20 33 36 30 5d 31 31 5b 73 74 72 69 6e 67   A 360]11[string
22ad0 20 72 65 70 65 61 74 20 42 20 35 30 30 30 5d 22   repeat B 5000]"
22ae0 0a 20 20 66 6f 72 65 61 63 68 20 3a 3a 69 52 65  .  foreach ::iRe
22af0 70 65 61 74 20 7b 30 20 31 7d 20 7b 0a 20 20 20  peat {0 1} {.   
22b00 20 73 65 74 20 6e 54 65 73 74 4e 75 6d 20 31 0a   set nTestNum 1.
22b10 20 20 20 20 77 68 69 6c 65 20 7b 31 7d 20 7b 0a      while {1} {.
22b20 20 20 20 20 20 20 73 71 6c 69 74 65 33 5f 6d 65        sqlite3_me
22b30 6d 64 65 62 75 67 5f 66 61 69 6c 20 24 6e 54 65  mdebug_fail $nTe
22b40 73 74 4e 75 6d 20 2d 72 65 70 65 61 74 20 24 3a  stNum -repeat $:
22b50 3a 69 52 65 70 65 61 74 0a 20 20 20 20 20 20 73  :iRepeat.      s
22b60 65 74 20 7a 20 5b 73 71 6c 69 74 65 33 5f 6d 70  et z [sqlite3_mp
22b70 72 69 6e 74 66 5f 73 74 72 20 24 73 74 72 31 20  rintf_str $str1 
22b80 31 20 31 20 24 73 74 72 32 5d 0a 20 20 20 20 20  1 1 $str2].     
22b90 20 73 65 74 20 6e 46 61 69 6c 20 5b 73 71 6c 69   set nFail [sqli
22ba0 74 65 33 5f 6d 65 6d 64 65 62 75 67 5f 66 61 69  te3_memdebug_fai
22bb0 6c 20 2d 31 20 2d 62 65 6e 69 67 6e 20 6e 42 65  l -1 -benign nBe
22bc0 6e 69 67 6e 5d 0a 20 20 20 20 20 20 64 6f 5f 74  nign].      do_t
22bd0 65 73 74 20 70 72 69 6e 74 66 2d 6d 61 6c 6c 6f  est printf-mallo
22be0 63 2d 24 3a 3a 69 52 65 70 65 61 74 2e 24 6e 54  c-$::iRepeat.$nT
22bf0 65 73 74 4e 75 6d 20 7b 0a 20 20 20 20 20 20 20  estNum {.       
22c00 20 65 78 70 72 20 7b 28 24 6e 46 61 69 6c 3e 30   expr {($nFail>0
22c10 20 26 26 20 24 7a 20 65 71 20 22 22 29 20 7c 7c   && $z eq "") ||
22c20 20 28 24 6e 46 61 69 6c 3d 3d 24 6e 42 65 6e 69   ($nFail==$nBeni
22c30 67 6e 20 26 26 20 24 7a 20 65 71 20 24 7a 53 75  gn && $z eq $zSu
22c40 63 63 65 73 73 29 7d 0a 20 20 20 20 20 20 7d 20  ccess)}.      } 
22c50 7b 31 7d 0a 20 20 20 20 20 20 69 66 20 7b 24 6e  {1}.      if {$n
22c60 46 61 69 6c 20 3d 3d 20 30 7d 20 62 72 65 61 6b  Fail == 0} break
22c70 0a 20 20 20 20 20 20 69 6e 63 72 20 6e 54 65 73  .      incr nTes
22c80 74 4e 75 6d 0a 20 20 20 20 7d 0a 20 20 7d 0a 7d  tNum.    }.  }.}
22c90 0a 0a 66 69 6e 69 73 68 5f 74 65 73 74 0a        ..finish_test.