/ Hex Artifact Content
Login

Artifact 05970cde31b1a9f54bd75af60597be75a5c54fea:


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 32 2e 31 2e 31 2e 31 20 7b  printf-2.1.1.1 {
4420: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
4430: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
4440: 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20  (%*.*f) :xyz} 1 
4450: 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  1 0.001.} {abc: 
4460: 28 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (0.0) :xyz}.do_t
4470: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31  est printf-2.1.1
4480: 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
4490: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
44a0: 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
44b0: 7d 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61  } 1 1 0.001.} {a
44c0: 62 63 3a 20 28 31 2e 30 65 2d 30 33 29 20 3a 78  bc: (1.0e-03) :x
44d0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
44e0: 74 66 2d 32 2e 31 2e 31 2e 33 20 7b 0a 20 20 73  tf-2.1.1.3 {.  s
44f0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
4500: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
4510: 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e  *g) :xyz} 1 1 0.
4520: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  001.} {abc: (0.0
4530: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
4540: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 2e 34  t printf-2.1.1.4
4550: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
4560: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
4570: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
4580: 7a 7d 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b  z} 1 1 0.001.} {
4590: 61 62 63 3a 20 31 20 31 20 28 30 2e 30 30 31 29  abc: 1 1 (0.001)
45a0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
45b0: 72 69 6e 74 66 2d 32 2e 31 2e 31 2e 35 20 7b 0a  rintf-2.1.1.5 {.
45c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
45d0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
45e0: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
45f0: 20 31 20 31 20 30 2e 30 30 31 0a 7d 20 7b 61 62   1 1 0.001.} {ab
4600: 63 3a 20 31 20 31 20 28 30 2e 30 30 31 30 30 30  c: 1 1 (0.001000
4610: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
4620: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 2e 36  t printf-2.1.1.6
4630: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
4640: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
4650: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
4660: 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 30 31 0a  :xyz} 1 1 0.001.
4670: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30 30  } {abc: 1 1 (000
4680: 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64  000.001) :xyz}.d
4690: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
46a0: 31 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  1.1.7 {.  sqlite
46b0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
46c0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
46d0: 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 30  .1f) :xyz} 1 1 0
46e0: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20 31  .001.} {abc: 1 1
46f0: 20 28 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   (0.0) :xyz}.do_
4700: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
4710: 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.8 {.  sqlite3_
4720: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
4730: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
4740: 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30  e) :xyz} 1 1 0.0
4750: 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  01.} {abc: 1 1 (
4760: 31 2e 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64  1.0e-03) :xyz}.d
4770: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
4780: 31 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  1.1.9 {.  sqlite
4790: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
47a0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
47b0: 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 30  .1g) :xyz} 1 1 0
47c0: 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 20 31  .001.} {abc: 1 1
47d0: 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
47e0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
47f0: 31 2e 32 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  1.2.1 {.  sqlite
4800: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
4810: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
4820: 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32 30  xyz} 1 1 1.0e-20
4830: 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 29 20 3a  .} {abc: (0.0) :
4840: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4850: 6e 74 66 2d 32 2e 31 2e 32 2e 32 20 7b 0a 20 20  ntf-2.1.2.2 {.  
4860: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4870: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
4880: 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  .*e) :xyz} 1 1 1
4890: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28  .0e-20.} {abc: (
48a0: 31 2e 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  1.0e-20) :xyz}.d
48b0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
48c0: 31 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  1.2.3 {.  sqlite
48d0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
48e0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
48f0: 78 79 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32 30  xyz} 1 1 1.0e-20
4900: 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32 30 29  .} {abc: (1e-20)
4910: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4920: 72 69 6e 74 66 2d 32 2e 31 2e 32 2e 34 20 7b 0a  rintf-2.1.2.4 {.
4930: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4940: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
4950: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
4960: 31 20 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  1 1 1.0e-20.} {a
4970: 62 63 3a 20 31 20 31 20 28 31 65 2d 32 30 29 20  bc: 1 1 (1e-20) 
4980: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
4990: 69 6e 74 66 2d 32 2e 31 2e 32 2e 35 20 7b 0a 20  intf-2.1.2.5 {. 
49a0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
49b0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
49c0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
49d0: 31 20 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  1 1 1.0e-20.} {a
49e0: 62 63 3a 20 31 20 31 20 28 31 2e 30 30 30 30 30  bc: 1 1 (1.00000
49f0: 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
4a00: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 32  est printf-2.1.2
4a10: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
4a20: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
4a30: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
4a40: 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 65  ) :xyz} 1 1 1.0e
4a50: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  -20.} {abc: 1 1 
4a60: 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79  (000001e-20) :xy
4a70: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
4a80: 66 2d 32 2e 31 2e 32 2e 37 20 7b 0a 20 20 73 71  f-2.1.2.7 {.  sq
4a90: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
4aa0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
4ab0: 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31   (%1.1f) :xyz} 1
4ac0: 20 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   1 1.0e-20.} {ab
4ad0: 63 3a 20 31 20 31 20 28 30 2e 30 29 20 3a 78 79  c: 1 1 (0.0) :xy
4ae0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
4af0: 66 2d 32 2e 31 2e 32 2e 38 20 7b 0a 20 20 73 71  f-2.1.2.8 {.  sq
4b00: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
4b10: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
4b20: 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d 20 31   (%1.1e) :xyz} 1
4b30: 20 31 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   1 1.0e-20.} {ab
4b40: 63 3a 20 31 20 31 20 28 31 2e 30 65 2d 32 30 29  c: 1 1 (1.0e-20)
4b50: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
4b60: 72 69 6e 74 66 2d 32 2e 31 2e 32 2e 39 20 7b 0a  rintf-2.1.2.9 {.
4b70: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
4b80: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
4b90: 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79  d %d (%1.1g) :xy
4ba0: 7a 7d 20 31 20 31 20 31 2e 30 65 2d 32 30 0a 7d  z} 1 1 1.0e-20.}
4bb0: 20 7b 61 62 63 3a 20 31 20 31 20 28 31 65 2d 32   {abc: 1 1 (1e-2
4bc0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
4bd0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 31 20   printf-2.1.3.1 
4be0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
4bf0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
4c00: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
4c10: 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   1 1.0.} {abc: (
4c20: 31 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  1.0) :xyz}.do_te
4c30: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e  st printf-2.1.3.
4c40: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
4c50: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
4c60: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
4c70: 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 1.0.} {abc:
4c80: 20 28 31 2e 30 65 2b 30 30 29 20 3a 78 79 7a 7d   (1.0e+00) :xyz}
4c90: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
4ca0: 32 2e 31 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69  2.1.3.3 {.  sqli
4cb0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
4cc0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
4cd0: 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e 30 0a 7d   :xyz} 1 1 1.0.}
4ce0: 20 7b 61 62 63 3a 20 28 31 29 20 3a 78 79 7a 7d   {abc: (1) :xyz}
4cf0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
4d00: 32 2e 31 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69  2.1.3.4 {.  sqli
4d10: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
4d20: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
4d30: 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 2e  %g) :xyz} 1 1 1.
4d40: 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31  0.} {abc: 1 1 (1
4d50: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
4d60: 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 35 20 7b  printf-2.1.3.5 {
4d70: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
4d80: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
4d90: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
4da0: 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63  } 1 1 1.0.} {abc
4db0: 3a 20 31 20 31 20 28 31 2e 30 30 30 30 30 29 20  : 1 1 (1.00000) 
4dc0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
4dd0: 69 6e 74 66 2d 32 2e 31 2e 33 2e 36 20 7b 0a 20  intf-2.1.3.6 {. 
4de0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
4df0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
4e00: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
4e10: 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63  } 1 1 1.0.} {abc
4e20: 3a 20 31 20 31 20 28 30 30 30 30 30 30 30 30 30  : 1 1 (000000000
4e30: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
4e40: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 33 2e 37 20   printf-2.1.3.7 
4e50: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
4e60: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
4e70: 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a   %d %d (%1.1f) :
4e80: 78 79 7a 7d 20 31 20 31 20 31 2e 30 0a 7d 20 7b  xyz} 1 1 1.0.} {
4e90: 61 62 63 3a 20 31 20 31 20 28 31 2e 30 29 20 3a  abc: 1 1 (1.0) :
4ea0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4eb0: 6e 74 66 2d 32 2e 31 2e 33 2e 38 20 7b 0a 20 20  ntf-2.1.3.8 {.  
4ec0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4ed0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
4ee0: 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79 7a 7d  %d (%1.1e) :xyz}
4ef0: 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 1.0.} {abc:
4f00: 20 31 20 31 20 28 31 2e 30 65 2b 30 30 29 20 3a   1 1 (1.0e+00) :
4f10: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
4f20: 6e 74 66 2d 32 2e 31 2e 33 2e 39 20 7b 0a 20 20  ntf-2.1.3.9 {.  
4f30: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
4f40: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
4f50: 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d  %d (%1.1g) :xyz}
4f60: 20 31 20 31 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   1 1 1.0.} {abc:
4f70: 20 31 20 31 20 28 31 29 20 3a 78 79 7a 7d 0a 64   1 1 (1) :xyz}.d
4f80: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
4f90: 31 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  1.4.1 {.  sqlite
4fa0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
4fb0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
4fc0: 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d 20 7b  xyz} 1 1 0.0.} {
4fd0: 61 62 63 3a 20 28 30 2e 30 29 20 3a 78 79 7a 7d  abc: (0.0) :xyz}
4fe0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
4ff0: 32 2e 31 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69  2.1.4.2 {.  sqli
5000: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5010: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
5020: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d   :xyz} 1 1 0.0.}
5030: 20 7b 61 62 63 3a 20 28 30 2e 30 65 2b 30 30 29   {abc: (0.0e+00)
5040: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5050: 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 33 20 7b 0a  rintf-2.1.4.3 {.
5060: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5070: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
5080: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31  %*.*g) :xyz} 1 1
5090: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 29   0.0.} {abc: (0)
50a0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
50b0: 72 69 6e 74 66 2d 32 2e 31 2e 34 2e 34 20 7b 0a  rintf-2.1.4.4 {.
50c0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
50d0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
50e0: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
50f0: 31 20 31 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 1 0.0.} {abc: 
5100: 31 20 31 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f  1 1 (0) :xyz}.do
5110: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
5120: 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.5 {.  sqlite3
5130: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
5140: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
5150: 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a  ) :xyz} 1 1 0.0.
5160: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30  } {abc: 1 1 (0.0
5170: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
5180: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34  est printf-2.1.4
5190: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
51a0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
51b0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
51c0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a  ) :xyz} 1 1 0.0.
51d0: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30 30  } {abc: 1 1 (000
51e0: 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0000000) :xyz}.d
51f0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
5200: 31 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  1.4.7 {.  sqlite
5210: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5220: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
5230: 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 30  .1f) :xyz} 1 1 0
5240: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  .0.} {abc: 1 1 (
5250: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
5260: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e  st printf-2.1.4.
5270: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
5280: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
5290: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
52a0: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d   :xyz} 1 1 0.0.}
52b0: 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e 30 65   {abc: 1 1 (0.0e
52c0: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
52d0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 34 2e  st printf-2.1.4.
52e0: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
52f0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
5300: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67 29  c: %d %d (%1.1g)
5310: 20 3a 78 79 7a 7d 20 31 20 31 20 30 2e 30 0a 7d   :xyz} 1 1 0.0.}
5320: 20 7b 61 62 63 3a 20 31 20 31 20 28 30 29 20 3a   {abc: 1 1 (0) :
5330: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5340: 6e 74 66 2d 32 2e 31 2e 35 2e 31 20 7b 0a 20 20  ntf-2.1.5.1 {.  
5350: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5360: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
5370: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 31  .*f) :xyz} 1 1 1
5380: 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30  00.0.} {abc: (10
5390: 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  0.0) :xyz}.do_te
53a0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e  st printf-2.1.5.
53b0: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
53c0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
53d0: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
53e0: 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62   1 1 100.0.} {ab
53f0: 63 3a 20 28 31 2e 30 65 2b 30 32 29 20 3a 78 79  c: (1.0e+02) :xy
5400: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5410: 66 2d 32 2e 31 2e 35 2e 33 20 7b 0a 20 20 73 71  f-2.1.5.3 {.  sq
5420: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5430: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
5440: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 31 30 30  g) :xyz} 1 1 100
5450: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2b 30  .0.} {abc: (1e+0
5460: 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
5470: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 34 20   printf-2.1.5.4 
5480: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
5490: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
54a0: 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
54b0: 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61  } 1 1 100.0.} {a
54c0: 62 63 3a 20 31 20 31 20 28 31 30 30 29 20 3a 78  bc: 1 1 (100) :x
54d0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
54e0: 74 66 2d 32 2e 31 2e 35 2e 35 20 7b 0a 20 20 73  tf-2.1.5.5 {.  s
54f0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5500: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5510: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20  d (%#g) :xyz} 1 
5520: 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  1 100.0.} {abc: 
5530: 31 20 31 20 28 31 30 30 2e 30 30 30 29 20 3a 78  1 1 (100.000) :x
5540: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5550: 74 66 2d 32 2e 31 2e 35 2e 36 20 7b 0a 20 20 73  tf-2.1.5.6 {.  s
5560: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5570: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5580: 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
5590: 31 20 31 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  1 1 100.0.} {abc
55a0: 3a 20 31 20 31 20 28 30 30 30 30 30 30 30 31 30  : 1 1 (000000010
55b0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
55c0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 37 20   printf-2.1.5.7 
55d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
55e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
55f0: 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a   %d %d (%1.1f) :
5600: 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d  xyz} 1 1 100.0.}
5610: 20 7b 61 62 63 3a 20 31 20 31 20 28 31 30 30 2e   {abc: 1 1 (100.
5620: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
5630: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e 38 20   printf-2.1.5.8 
5640: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
5650: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
5660: 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a   %d %d (%1.1e) :
5670: 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30 0a 7d  xyz} 1 1 100.0.}
5680: 20 7b 61 62 63 3a 20 31 20 31 20 28 31 2e 30 65   {abc: 1 1 (1.0e
5690: 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
56a0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 35 2e  st printf-2.1.5.
56b0: 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
56c0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
56d0: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67 29  c: %d %d (%1.1g)
56e0: 20 3a 78 79 7a 7d 20 31 20 31 20 31 30 30 2e 30   :xyz} 1 1 100.0
56f0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 31 65  .} {abc: 1 1 (1e
5700: 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
5710: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36 2e  st printf-2.1.6.
5720: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
5730: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
5740: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
5750: 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b   1 1 9.99999.} {
5760: 61 62 63 3a 20 28 31 30 2e 30 29 20 3a 78 79 7a  abc: (10.0) :xyz
5770: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
5780: 2d 32 2e 31 2e 36 2e 32 20 7b 0a 20 20 73 71 6c  -2.1.6.2 {.  sql
5790: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
57a0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
57b0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 39 39  ) :xyz} 1 1 9.99
57c0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  999.} {abc: (1.0
57d0: 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+01) :xyz}.do_t
57e0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 36  est printf-2.1.6
57f0: 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
5800: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
5810: 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
5820: 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d 20  } 1 1 9.99999.} 
5830: 7b 61 62 63 3a 20 28 31 65 2b 30 31 29 20 3a 78  {abc: (1e+01) :x
5840: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
5850: 74 66 2d 32 2e 31 2e 36 2e 34 20 7b 0a 20 20 73  tf-2.1.6.4 {.  s
5860: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
5870: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
5880: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31  d (%g) :xyz} 1 1
5890: 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
58a0: 20 31 20 31 20 28 39 2e 39 39 39 39 39 29 20 3a   1 1 (9.99999) :
58b0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
58c0: 6e 74 66 2d 32 2e 31 2e 36 2e 35 20 7b 0a 20 20  ntf-2.1.6.5 {.  
58d0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
58e0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
58f0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
5900: 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   1 9.99999.} {ab
5910: 63 3a 20 31 20 31 20 28 39 2e 39 39 39 39 39 29  c: 1 1 (9.99999)
5920: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5930: 72 69 6e 74 66 2d 32 2e 31 2e 36 2e 36 20 7b 0a  rintf-2.1.6.6 {.
5940: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5950: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
5960: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
5970: 7a 7d 20 31 20 31 20 39 2e 39 39 39 39 39 0a 7d  z} 1 1 9.99999.}
5980: 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30 30 39   {abc: 1 1 (0009
5990: 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f  .99999) :xyz}.do
59a0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
59b0: 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.7 {.  sqlite3
59c0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
59d0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
59e0: 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e  1f) :xyz} 1 1 9.
59f0: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20  99999.} {abc: 1 
5a00: 31 20 28 31 30 2e 30 29 20 3a 78 79 7a 7d 0a 64  1 (10.0) :xyz}.d
5a10: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
5a20: 31 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  1.6.8 {.  sqlite
5a30: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
5a40: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
5a50: 2e 31 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 39  .1e) :xyz} 1 1 9
5a60: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
5a70: 20 31 20 28 31 2e 30 65 2b 30 31 29 20 3a 78 79   1 (1.0e+01) :xy
5a80: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5a90: 66 2d 32 2e 31 2e 36 2e 39 20 7b 0a 20 20 73 71  f-2.1.6.9 {.  sq
5aa0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5ab0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
5ac0: 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31   (%1.1g) :xyz} 1
5ad0: 20 31 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   1 9.99999.} {ab
5ae0: 63 3a 20 31 20 31 20 28 31 65 2b 30 31 29 20 3a  c: 1 1 (1e+01) :
5af0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5b00: 6e 74 66 2d 32 2e 31 2e 37 2e 31 20 7b 0a 20 20  ntf-2.1.7.1 {.  
5b10: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5b20: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
5b30: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .*f) :xyz} 1 1 -
5b40: 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
5b50: 28 2d 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  (-0.0) :xyz}.do_
5b60: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
5b70: 37 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.2 {.  sqlite3_
5b80: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5b90: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
5ba0: 7a 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a  z} 1 1 -0.00543.
5bb0: 7d 20 7b 61 62 63 3a 20 28 2d 35 2e 34 65 2d 30  } {abc: (-5.4e-0
5bc0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
5bd0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 33 20   printf-2.1.7.3 
5be0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
5bf0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
5c00: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
5c10: 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   1 -0.00543.} {a
5c20: 62 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79  bc: (-0.005) :xy
5c30: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
5c40: 66 2d 32 2e 31 2e 37 2e 34 20 7b 0a 20 20 73 71  f-2.1.7.4 {.  sq
5c50: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
5c60: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
5c70: 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20   (%g) :xyz} 1 1 
5c80: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
5c90: 20 31 20 31 20 28 2d 30 2e 30 30 35 34 33 29 20   1 1 (-0.00543) 
5ca0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
5cb0: 69 6e 74 66 2d 32 2e 31 2e 37 2e 35 20 7b 0a 20  intf-2.1.7.5 {. 
5cc0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
5cd0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
5ce0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
5cf0: 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  1 1 -0.00543.} {
5d00: 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 30 35  abc: 1 1 (-0.005
5d10: 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  43000) :xyz}.do_
5d20: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
5d30: 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.6 {.  sqlite3_
5d40: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5d50: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
5d60: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30 2e  g) :xyz} 1 1 -0.
5d70: 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20  00543.} {abc: 1 
5d80: 31 20 28 2d 30 30 30 2e 30 30 35 34 33 29 20 3a  1 (-000.00543) :
5d90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5da0: 6e 74 66 2d 32 2e 31 2e 37 2e 37 20 7b 0a 20 20  ntf-2.1.7.7 {.  
5db0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5dc0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
5dd0: 25 64 20 28 25 31 2e 31 66 29 20 3a 78 79 7a 7d  %d (%1.1f) :xyz}
5de0: 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a 7d 20   1 1 -0.00543.} 
5df0: 7b 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 29  {abc: 1 1 (-0.0)
5e00: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
5e10: 72 69 6e 74 66 2d 32 2e 31 2e 37 2e 38 20 7b 0a  rintf-2.1.7.8 {.
5e20: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
5e30: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
5e40: 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79  d %d (%1.1e) :xy
5e50: 7a 7d 20 31 20 31 20 2d 30 2e 30 30 35 34 33 0a  z} 1 1 -0.00543.
5e60: 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 35 2e  } {abc: 1 1 (-5.
5e70: 34 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  4e-03) :xyz}.do_
5e80: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
5e90: 37 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.9 {.  sqlite3_
5ea0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5eb0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31  abc: %d %d (%1.1
5ec0: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 30 2e  g) :xyz} 1 1 -0.
5ed0: 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20  00543.} {abc: 1 
5ee0: 31 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a 7d  1 (-0.005) :xyz}
5ef0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
5f00: 32 2e 31 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69  2.1.8.1 {.  sqli
5f10: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
5f20: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
5f30: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a   :xyz} 1 1 -1.0.
5f40: 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 29 20 3a  } {abc: (-1.0) :
5f50: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
5f60: 6e 74 66 2d 32 2e 31 2e 38 2e 32 20 7b 0a 20 20  ntf-2.1.8.2 {.  
5f70: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
5f80: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
5f90: 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d  .*e) :xyz} 1 1 -
5fa0: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e  1.0.} {abc: (-1.
5fb0: 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
5fc0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
5fd0: 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.3 {.  sqlite3_
5fe0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
5ff0: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
6000: 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61  z} 1 1 -1.0.} {a
6010: 62 63 3a 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64  bc: (-1) :xyz}.d
6020: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6030: 31 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  1.8.4 {.  sqlite
6040: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6050: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
6060: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30  ) :xyz} 1 1 -1.0
6070: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31  .} {abc: 1 1 (-1
6080: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
6090: 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 35 20 7b  printf-2.1.8.5 {
60a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
60b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
60c0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
60d0: 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 1 1 -1.0.} {ab
60e0: 63 3a 20 31 20 31 20 28 2d 31 2e 30 30 30 30 30  c: 1 1 (-1.00000
60f0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
6100: 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 36 20 7b  printf-2.1.8.6 {
6110: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
6120: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
6130: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
6140: 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d 20 7b  yz} 1 1 -1.0.} {
6150: 61 62 63 3a 20 31 20 31 20 28 2d 30 30 30 30 30  abc: 1 1 (-00000
6160: 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0001) :xyz}.do_t
6170: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38  est printf-2.1.8
6180: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
6190: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
61a0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 66  bc: %d %d (%1.1f
61b0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30  ) :xyz} 1 1 -1.0
61c0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31  .} {abc: 1 1 (-1
61d0: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
61e0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38 2e 38  t printf-2.1.8.8
61f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
6200: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
6210: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
6220: 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30 0a 7d  :xyz} 1 1 -1.0.}
6230: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 2e 30   {abc: 1 1 (-1.0
6240: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
6250: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 38  est printf-2.1.8
6260: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
6270: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6280: 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 67  bc: %d %d (%1.1g
6290: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 31 2e 30  ) :xyz} 1 1 -1.0
62a0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31  .} {abc: 1 1 (-1
62b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
62c0: 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 31 20 7b  printf-2.1.9.1 {
62d0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
62e0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
62f0: 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 20  (%*.*f) :xyz} 1 
6300: 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  1 -99.99999.} {a
6310: 62 63 3a 20 28 2d 31 30 30 2e 30 29 20 3a 78 79  bc: (-100.0) :xy
6320: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
6330: 66 2d 32 2e 31 2e 39 2e 32 20 7b 0a 20 20 73 71  f-2.1.9.2 {.  sq
6340: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
6350: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
6360: 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39  e) :xyz} 1 1 -99
6370: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
6380: 2d 31 2e 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a  -1.0e+02) :xyz}.
6390: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
63a0: 2e 31 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .1.9.3 {.  sqlit
63b0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
63c0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
63d0: 3a 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39  :xyz} 1 1 -99.99
63e0: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 65  999.} {abc: (-1e
63f0: 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
6400: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e  st printf-2.1.9.
6410: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
6420: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6430: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
6440: 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39 39  yz} 1 1 -99.9999
6450: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  9.} {abc: 1 1 (-
6460: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
6470: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e  st printf-2.1.9.
6480: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
6490: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
64a0: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
64b0: 78 79 7a 7d 20 31 20 31 20 2d 39 39 2e 39 39 39  xyz} 1 1 -99.999
64c0: 39 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  99.} {abc: 1 1 (
64d0: 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  -100.000) :xyz}.
64e0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
64f0: 2e 31 2e 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .1.9.6 {.  sqlit
6500: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6510: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
6520: 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  010g) :xyz} 1 1 
6530: 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
6540: 3a 20 31 20 31 20 28 2d 30 30 30 30 30 30 31 30  : 1 1 (-00000010
6550: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
6560: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 39 2e 37 20   printf-2.1.9.7 
6570: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
6580: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
6590: 20 25 64 20 25 64 20 28 25 31 2e 31 66 29 20 3a   %d %d (%1.1f) :
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 31 20 31 20 28  99.} {abc: 1 1 (
65c0: 2d 31 30 30 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f  -100.0) :xyz}.do
65d0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
65e0: 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.8 {.  sqlite3
65f0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
6600: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 2e  {abc: %d %d (%1.
6610: 31 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 39  1e) :xyz} 1 1 -9
6620: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
6630: 31 20 31 20 28 2d 31 2e 30 65 2b 30 32 29 20 3a  1 1 (-1.0e+02) :
6640: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
6650: 6e 74 66 2d 32 2e 31 2e 39 2e 39 20 7b 0a 20 20  ntf-2.1.9.9 {.  
6660: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
6670: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
6680: 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d  %d (%1.1g) :xyz}
6690: 20 31 20 31 20 2d 39 39 2e 39 39 39 39 39 0a 7d   1 1 -99.99999.}
66a0: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 31 65 2b   {abc: 1 1 (-1e+
66b0: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
66c0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e  t printf-2.1.10.
66d0: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
66e0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
66f0: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
6700: 20 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   1 1 3.14e+9.} {
6710: 61 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30  abc: (3140000000
6720: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
6730: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e  t printf-2.1.10.
6740: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
6750: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6760: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
6770: 20 31 20 31 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   1 1 3.14e+9.} {
6780: 61 62 63 3a 20 28 33 2e 31 65 2b 30 39 29 20 3a  abc: (3.1e+09) :
6790: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
67a0: 6e 74 66 2d 32 2e 31 2e 31 30 2e 33 20 7b 0a 20  ntf-2.1.10.3 {. 
67b0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
67c0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
67d0: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  *.*g) :xyz} 1 1 
67e0: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
67f0: 28 33 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  (3e+09) :xyz}.do
6800: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6810: 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .10.4 {.  sqlite
6820: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6830: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
6840: 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34  ) :xyz} 1 1 3.14
6850: 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  e+9.} {abc: 1 1 
6860: 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  (3.14e+09) :xyz}
6870: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
6880: 32 2e 31 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c  2.1.10.5 {.  sql
6890: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
68a0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
68b0: 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  (%#g) :xyz} 1 1 
68c0: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
68d0: 31 20 31 20 28 33 2e 31 34 30 30 30 65 2b 30 39  1 1 (3.14000e+09
68e0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
68f0: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e 36 20  printf-2.1.10.6 
6900: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
6910: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
6920: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
6930: 78 79 7a 7d 20 31 20 31 20 33 2e 31 34 65 2b 39  xyz} 1 1 3.14e+9
6940: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 30  .} {abc: 1 1 (00
6950: 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
6960: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
6970: 2e 31 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69  .1.10.7 {.  sqli
6980: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
6990: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
69a0: 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1f) :xyz} 1 1
69b0: 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
69c0: 20 31 20 31 20 28 33 31 34 30 30 30 30 30 30 30   1 1 (3140000000
69d0: 2e 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  .0) :xyz}.do_tes
69e0: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 30 2e  t printf-2.1.10.
69f0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
6a00: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6a10: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
6a20: 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 31 34 65   :xyz} 1 1 3.14e
6a30: 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  +9.} {abc: 1 1 (
6a40: 33 2e 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  3.1e+09) :xyz}.d
6a50: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6a60: 31 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74  1.10.9 {.  sqlit
6a70: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6a80: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
6a90: 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20 31 20  1.1g) :xyz} 1 1 
6aa0: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
6ab0: 31 20 31 20 28 33 65 2b 30 39 29 20 3a 78 79 7a  1 1 (3e+09) :xyz
6ac0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
6ad0: 2d 32 2e 31 2e 31 31 2e 32 20 7b 0a 20 20 73 71  -2.1.11.2 {.  sq
6ae0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
6af0: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
6b00: 65 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e  e) :xyz} 1 1 -4.
6b10: 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
6b20: 3a 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79  : (-4.7e+88) :xy
6b30: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
6b40: 66 2d 32 2e 31 2e 31 31 2e 33 20 7b 0a 20 20 73  f-2.1.11.3 {.  s
6b50: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
6b60: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
6b70: 2a 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34  *g) :xyz} 1 1 -4
6b80: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
6b90: 63 3a 20 28 2d 35 65 2b 38 38 29 20 3a 78 79 7a  c: (-5e+88) :xyz
6ba0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
6bb0: 2d 32 2e 31 2e 31 31 2e 34 20 7b 0a 20 20 73 71  -2.1.11.4 {.  sq
6bc0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
6bd0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
6be0: 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 20 31 20   (%g) :xyz} 1 1 
6bf0: 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
6c00: 61 62 63 3a 20 31 20 31 20 28 2d 34 2e 37 32 37  abc: 1 1 (-4.727
6c10: 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  32e+88) :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 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .11.5 {.  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 23   {abc: %d %d (%#
6c60: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e  g) :xyz} 1 1 -4.
6c70: 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
6c80: 3a 20 31 20 31 20 28 2d 34 2e 37 32 37 33 32 65  : 1 1 (-4.72732e
6c90: 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
6ca0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 31  st printf-2.1.11
6cb0: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
6cc0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
6cd0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
6ce0: 29 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37  ) :xyz} 1 1 -4.7
6cf0: 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
6d00: 20 31 20 31 20 28 2d 34 2e 37 32 37 33 32 65 2b   1 1 (-4.72732e+
6d10: 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  88) :xyz}.do_tes
6d20: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 31 2e  t printf-2.1.11.
6d30: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
6d40: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6d50: 63 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29  c: %d %d (%1.1e)
6d60: 20 3a 78 79 7a 7d 20 31 20 31 20 2d 34 2e 37 32   :xyz} 1 1 -4.72
6d70: 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
6d80: 31 20 31 20 28 2d 34 2e 37 65 2b 38 38 29 20 3a  1 1 (-4.7e+88) :
6d90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
6da0: 6e 74 66 2d 32 2e 31 2e 31 31 2e 39 20 7b 0a 20  ntf-2.1.11.9 {. 
6db0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
6dc0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
6dd0: 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78 79 7a   %d (%1.1g) :xyz
6de0: 7d 20 31 20 31 20 2d 34 2e 37 32 37 33 32 65 2b  } 1 1 -4.72732e+
6df0: 38 38 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28  88.} {abc: 1 1 (
6e00: 2d 35 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  -5e+88) :xyz}.do
6e10: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6e20: 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .12.2 {.  sqlite
6e30: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6e40: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
6e50: 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31  xyz} 1 1 9.87991
6e60: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39  e+143.} {abc: (9
6e70: 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  .9e+143) :xyz}.d
6e80: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
6e90: 31 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74  1.12.3 {.  sqlit
6ea0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
6eb0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
6ec0: 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39  :xyz} 1 1 9.8799
6ed0: 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28  1e+143.} {abc: (
6ee0: 31 65 2b 31 34 34 29 20 3a 78 79 7a 7d 0a 64 6f  1e+144) :xyz}.do
6ef0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
6f00: 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .12.4 {.  sqlite
6f10: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
6f20: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
6f30: 29 20 3a 78 79 7a 7d 20 31 20 31 20 39 2e 38 37  ) :xyz} 1 1 9.87
6f40: 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
6f50: 20 31 20 31 20 28 39 2e 38 37 39 39 31 65 2b 31   1 1 (9.87991e+1
6f60: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
6f70: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e  t printf-2.1.12.
6f80: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
6f90: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
6fa0: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
6fb0: 78 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31  xyz} 1 1 9.87991
6fc0: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20  e+143.} {abc: 1 
6fd0: 31 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  1 (9.87991e+143)
6fe0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
6ff0: 72 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 36 20 7b  rintf-2.1.12.6 {
7000: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
7010: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
7020: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
7030: 79 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65  yz} 1 1 9.87991e
7040: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31  +143.} {abc: 1 1
7050: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
7060: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
7070: 69 6e 74 66 2d 32 2e 31 2e 31 32 2e 38 20 7b 0a  intf-2.1.12.8 {.
7080: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7090: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
70a0: 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79  d %d (%1.1e) :xy
70b0: 7a 7d 20 31 20 31 20 39 2e 38 37 39 39 31 65 2b  z} 1 1 9.87991e+
70c0: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  143.} {abc: 1 1 
70d0: 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d  (9.9e+143) :xyz}
70e0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
70f0: 32 2e 31 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c  2.1.12.9 {.  sql
7100: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
7110: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
7120: 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20  (%1.1g) :xyz} 1 
7130: 31 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  1 9.87991e+143.}
7140: 20 7b 61 62 63 3a 20 31 20 31 20 28 31 65 2b 31   {abc: 1 1 (1e+1
7150: 34 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  44) :xyz}.do_tes
7160: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e  t printf-2.1.13.
7170: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
7180: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7190: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
71a0: 20 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d   1 1 -6.287291e-
71b0: 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 29  9.} {abc: (-0.0)
71c0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
71d0: 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 32 20 7b  rintf-2.1.13.2 {
71e0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
71f0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
7200: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 20  (%*.*e) :xyz} 1 
7210: 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  1 -6.287291e-9.}
7220: 20 7b 61 62 63 3a 20 28 2d 36 2e 33 65 2d 30 39   {abc: (-6.3e-09
7230: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
7240: 70 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 33 20  printf-2.1.13.3 
7250: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7260: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7270: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
7280: 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   1 -6.287291e-9.
7290: 7d 20 7b 61 62 63 3a 20 28 2d 36 65 2d 30 39 29  } {abc: (-6e-09)
72a0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
72b0: 72 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 34 20 7b  rintf-2.1.13.4 {
72c0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
72d0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
72e0: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
72f0: 20 31 20 31 20 2d 36 2e 32 38 37 32 39 31 65 2d   1 1 -6.287291e-
7300: 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 2d  9.} {abc: 1 1 (-
7310: 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
7320: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
7330: 66 2d 32 2e 31 2e 31 33 2e 35 20 7b 0a 20 20 73  f-2.1.13.5 {.  s
7340: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
7350: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
7360: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 20  d (%#g) :xyz} 1 
7370: 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  1 -6.287291e-9.}
7380: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e 32   {abc: 1 1 (-6.2
7390: 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
73a0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
73b0: 2e 31 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69  .1.13.6 {.  sqli
73c0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
73d0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
73e0: 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31  %010g) :xyz} 1 1
73f0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
7400: 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 2e 32 38  {abc: 1 1 (-6.28
7410: 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
7420: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7430: 31 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74  1.13.7 {.  sqlit
7440: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7450: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7460: 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31 20  1.1f) :xyz} 1 1 
7470: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
7480: 61 62 63 3a 20 31 20 31 20 28 2d 30 2e 30 29 20  abc: 1 1 (-0.0) 
7490: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
74a0: 69 6e 74 66 2d 32 2e 31 2e 31 33 2e 38 20 7b 0a  intf-2.1.13.8 {.
74b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
74c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
74d0: 64 20 25 64 20 28 25 31 2e 31 65 29 20 3a 78 79  d %d (%1.1e) :xy
74e0: 7a 7d 20 31 20 31 20 2d 36 2e 32 38 37 32 39 31  z} 1 1 -6.287291
74f0: 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20  e-9.} {abc: 1 1 
7500: 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d  (-6.3e-09) :xyz}
7510: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
7520: 32 2e 31 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c  2.1.13.9 {.  sql
7530: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
7540: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
7550: 28 25 31 2e 31 67 29 20 3a 78 79 7a 7d 20 31 20  (%1.1g) :xyz} 1 
7560: 31 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  1 -6.287291e-9.}
7570: 20 7b 61 62 63 3a 20 31 20 31 20 28 2d 36 65 2d   {abc: 1 1 (-6e-
7580: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
7590: 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e  t printf-2.1.14.
75a0: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
75b0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
75c0: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
75d0: 20 31 20 31 20 33 2e 33 38 38 32 36 33 39 32 65   1 1 3.38826392e
75e0: 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e  -110.} {abc: (0.
75f0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
7600: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 32   printf-2.1.14.2
7610: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7620: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7630: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
7640: 31 20 31 20 33 2e 33 38 38 32 36 33 39 32 65 2d  1 1 3.38826392e-
7650: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 34  110.} {abc: (3.4
7660: 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
7670: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 2e  test printf-2.1.
7680: 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.3 {.  sqlite3
7690: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
76a0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
76b0: 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36 33  yz} 1 1 3.388263
76c0: 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
76d0: 28 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  (3e-110) :xyz}.d
76e0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
76f0: 31 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74  1.14.4 {.  sqlit
7700: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
7710: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
7720: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33  g) :xyz} 1 1 3.3
7730: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
7740: 61 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38 32  abc: 1 1 (3.3882
7750: 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
7760: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
7770: 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .14.5 {.  sqlite
7780: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
7790: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
77a0: 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33  g) :xyz} 1 1 3.3
77b0: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
77c0: 61 62 63 3a 20 31 20 31 20 28 33 2e 33 38 38 32  abc: 1 1 (3.3882
77d0: 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
77e0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31  _test printf-2.1
77f0: 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .14.6 {.  sqlite
7800: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
7810: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
7820: 31 30 67 29 20 3a 78 79 7a 7d 20 31 20 31 20 33  10g) :xyz} 1 1 3
7830: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
7840: 20 7b 61 62 63 3a 20 31 20 31 20 28 33 2e 33 38   {abc: 1 1 (3.38
7850: 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
7860: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
7870: 2e 31 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69  .1.14.7 {.  sqli
7880: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
7890: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
78a0: 25 31 2e 31 66 29 20 3a 78 79 7a 7d 20 31 20 31  %1.1f) :xyz} 1 1
78b0: 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
78c0: 0a 7d 20 7b 61 62 63 3a 20 31 20 31 20 28 30 2e  .} {abc: 1 1 (0.
78d0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
78e0: 20 70 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 38   printf-2.1.14.8
78f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7900: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7910: 3a 20 25 64 20 25 64 20 28 25 31 2e 31 65 29 20  : %d %d (%1.1e) 
7920: 3a 78 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32  :xyz} 1 1 3.3882
7930: 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
7940: 3a 20 31 20 31 20 28 33 2e 34 65 2d 31 31 30 29  : 1 1 (3.4e-110)
7950: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
7960: 72 69 6e 74 66 2d 32 2e 31 2e 31 34 2e 39 20 7b  rintf-2.1.14.9 {
7970: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
7980: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
7990: 25 64 20 25 64 20 28 25 31 2e 31 67 29 20 3a 78  %d %d (%1.1g) :x
79a0: 79 7a 7d 20 31 20 31 20 33 2e 33 38 38 32 36 33  yz} 1 1 3.388263
79b0: 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
79c0: 31 20 31 20 28 33 65 2d 31 31 30 29 20 3a 78 79  1 1 (3e-110) :xy
79d0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
79e0: 66 2d 32 2e 32 2e 31 2e 31 20 7b 0a 20 20 73 71  f-2.2.1.1 {.  sq
79f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
7a00: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
7a10: 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  f) :xyz} 5 5 0.0
7a20: 30 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  01.} {abc: (0.00
7a30: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
7a40: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e  st printf-2.2.1.
7a50: 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
7a60: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
7a70: 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
7a80: 20 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62   5 5 0.001.} {ab
7a90: 63 3a 20 28 31 2e 30 30 30 30 30 65 2d 30 33 29  c: (1.00000e-03)
7aa0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
7ab0: 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 33 20 7b 0a  rintf-2.2.1.3 {.
7ac0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
7ad0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
7ae0: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35  %*.*g) :xyz} 5 5
7af0: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28   0.001.} {abc: (
7b00: 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.001) :xyz}.do_
7b10: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
7b20: 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.4 {.  sqlite3_
7b30: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
7b40: 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
7b50: 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a  :xyz} 5 5 0.001.
7b60: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30  } {abc: 5 5 (0.0
7b70: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
7b80: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 35  t printf-2.2.1.5
7b90: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7ba0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7bb0: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
7bc0: 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a 7d 20  yz} 5 5 0.001.} 
7bd0: 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 31  {abc: 5 5 (0.001
7be0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
7bf0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
7c00: 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.6 {.  sqlite3_
7c10: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
7c20: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
7c30: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30  g) :xyz} 5 5 0.0
7c40: 30 31 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  01.} {abc: 5 5 (
7c50: 30 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a  000000.001) :xyz
7c60: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
7c70: 2d 32 2e 32 2e 31 2e 37 20 7b 0a 20 20 73 71 6c  -2.2.1.7 {.  sql
7c80: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
7c90: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
7ca0: 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20  (%5.5f) :xyz} 5 
7cb0: 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  5 0.001.} {abc: 
7cc0: 35 20 35 20 28 30 2e 30 30 31 30 30 29 20 3a 78  5 5 (0.00100) :x
7cd0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
7ce0: 74 66 2d 32 2e 32 2e 31 2e 38 20 7b 0a 20 20 73  tf-2.2.1.8 {.  s
7cf0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
7d00: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
7d10: 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20  d (%5.5e) :xyz} 
7d20: 35 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  5 5 0.001.} {abc
7d30: 3a 20 35 20 35 20 28 31 2e 30 30 30 30 30 65 2d  : 5 5 (1.00000e-
7d40: 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
7d50: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 2e 39  t printf-2.2.1.9
7d60: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7d70: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7d80: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67 29 20  : %d %d (%5.5g) 
7d90: 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 30 31 0a  :xyz} 5 5 0.001.
7da0: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30  } {abc: 5 5 (0.0
7db0: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
7dc0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 31  t printf-2.2.2.1
7dd0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7de0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7df0: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
7e00: 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  5 5 1.0e-20.} {a
7e10: 62 63 3a 20 28 30 2e 30 30 30 30 30 29 20 3a 78  bc: (0.00000) :x
7e20: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
7e30: 74 66 2d 32 2e 32 2e 32 2e 32 20 7b 0a 20 20 73  tf-2.2.2.2 {.  s
7e40: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
7e50: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
7e60: 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  *e) :xyz} 5 5 1.
7e70: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31  0e-20.} {abc: (1
7e80: 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a  .00000e-20) :xyz
7e90: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
7ea0: 2d 32 2e 32 2e 32 2e 33 20 7b 0a 20 20 73 71 6c  -2.2.2.3 {.  sql
7eb0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
7ec0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
7ed0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 65  ) :xyz} 5 5 1.0e
7ee0: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2d  -20.} {abc: (1e-
7ef0: 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  20) :xyz}.do_tes
7f00: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 34  t printf-2.2.2.4
7f10: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
7f20: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
7f30: 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
7f40: 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d  z} 5 5 1.0e-20.}
7f50: 20 7b 61 62 63 3a 20 35 20 35 20 28 31 65 2d 32   {abc: 5 5 (1e-2
7f60: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
7f70: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 35 20   printf-2.2.2.5 
7f80: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
7f90: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
7fa0: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
7fb0: 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d  z} 5 5 1.0e-20.}
7fc0: 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e 30 30   {abc: 5 5 (1.00
7fd0: 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  000e-20) :xyz}.d
7fe0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
7ff0: 32 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  2.2.6 {.  sqlite
8000: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8010: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
8020: 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31  10g) :xyz} 5 5 1
8030: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 35  .0e-20.} {abc: 5
8040: 20 35 20 28 30 30 30 30 30 31 65 2d 32 30 29 20   5 (000001e-20) 
8050: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
8060: 69 6e 74 66 2d 32 2e 32 2e 32 2e 37 20 7b 0a 20  intf-2.2.2.7 {. 
8070: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8080: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
8090: 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a   %d (%5.5f) :xyz
80a0: 7d 20 35 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20  } 5 5 1.0e-20.} 
80b0: 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30 30  {abc: 5 5 (0.000
80c0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
80d0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 32 2e 38  t printf-2.2.2.8
80e0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
80f0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
8100: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
8110: 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30 65 2d 32  :xyz} 5 5 1.0e-2
8120: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31  0.} {abc: 5 5 (1
8130: 2e 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a  .00000e-20) :xyz
8140: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8150: 2d 32 2e 32 2e 32 2e 39 20 7b 0a 20 20 73 71 6c  -2.2.2.9 {.  sql
8160: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8170: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
8180: 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20  (%5.5g) :xyz} 5 
8190: 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  5 1.0e-20.} {abc
81a0: 3a 20 35 20 35 20 28 31 65 2d 32 30 29 20 3a 78  : 5 5 (1e-20) :x
81b0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
81c0: 74 66 2d 32 2e 32 2e 33 2e 31 20 7b 0a 20 20 73  tf-2.2.3.1 {.  s
81d0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
81e0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
81f0: 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  *f) :xyz} 5 5 1.
8200: 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  0.} {abc: (1.000
8210: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
8220: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e 32  t printf-2.2.3.2
8230: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
8240: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
8250: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
8260: 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 5 1.0.} {abc: 
8270: 28 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78  (1.00000e+00) :x
8280: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
8290: 74 66 2d 32 2e 32 2e 33 2e 33 20 7b 0a 20 20 73  tf-2.2.3.3 {.  s
82a0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
82b0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
82c0: 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e  *g) :xyz} 5 5 1.
82d0: 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 31  0.} {abc: (    1
82e0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
82f0: 70 72 69 6e 74 66 2d 32 2e 32 2e 33 2e 34 20 7b  printf-2.2.3.4 {
8300: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8310: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8320: 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
8330: 20 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   5 5 1.0.} {abc:
8340: 20 35 20 35 20 28 31 29 20 3a 78 79 7a 7d 0a 64   5 5 (1) :xyz}.d
8350: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
8360: 32 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  2.3.5 {.  sqlite
8370: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
8380: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
8390: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30  g) :xyz} 5 5 1.0
83a0: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31 2e  .} {abc: 5 5 (1.
83b0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
83c0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
83d0: 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.6 {.  sqlite3_
83e0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
83f0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
8400: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 2e 30  g) :xyz} 5 5 1.0
8410: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30  .} {abc: 5 5 (00
8420: 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a  00000001) :xyz}.
8430: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8440: 2e 32 2e 33 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .2.3.7 {.  sqlit
8450: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8460: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
8470: 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5f) :xyz} 5 5 
8480: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  1.0.} {abc: 5 5 
8490: 28 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  (1.00000) :xyz}.
84a0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
84b0: 2e 32 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .2.3.8 {.  sqlit
84c0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
84d0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
84e0: 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5e) :xyz} 5 5 
84f0: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  1.0.} {abc: 5 5 
8500: 28 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78  (1.00000e+00) :x
8510: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
8520: 74 66 2d 32 2e 32 2e 33 2e 39 20 7b 0a 20 20 73  tf-2.2.3.9 {.  s
8530: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
8540: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
8550: 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20  d (%5.5g) :xyz} 
8560: 35 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  5 5 1.0.} {abc: 
8570: 35 20 35 20 28 20 20 20 20 31 29 20 3a 78 79 7a  5 5 (    1) :xyz
8580: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8590: 2d 32 2e 32 2e 34 2e 31 20 7b 0a 20 20 73 71 6c  -2.2.4.1 {.  sql
85a0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
85b0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
85c0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a  ) :xyz} 5 5 0.0.
85d0: 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30  } {abc: (0.00000
85e0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
85f0: 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e 32 20 7b  printf-2.2.4.2 {
8600: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
8610: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
8620: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20  (%*.*e) :xyz} 5 
8630: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30  5 0.0.} {abc: (0
8640: 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  .00000e+00) :xyz
8650: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
8660: 2d 32 2e 32 2e 34 2e 33 20 7b 0a 20 20 73 71 6c  -2.2.4.3 {.  sql
8670: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8680: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
8690: 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a  ) :xyz} 5 5 0.0.
86a0: 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 30 29 20  } {abc: (    0) 
86b0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
86c0: 69 6e 74 66 2d 32 2e 32 2e 34 2e 34 20 7b 0a 20  intf-2.2.4.4 {. 
86d0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
86e0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
86f0: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35   %d (%g) :xyz} 5
8700: 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35   5 0.0.} {abc: 5
8710: 20 35 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   5 (0) :xyz}.do_
8720: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
8730: 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.5 {.  sqlite3_
8740: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
8750: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
8760: 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d   :xyz} 5 5 0.0.}
8770: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e 30 30   {abc: 5 5 (0.00
8780: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
8790: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 34 2e  st printf-2.2.4.
87a0: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
87b0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
87c0: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
87d0: 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e 30 0a 7d   :xyz} 5 5 0.0.}
87e0: 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30 30 30   {abc: 5 5 (0000
87f0: 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000000) :xyz}.do
8800: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8810: 2e 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.7 {.  sqlite3
8820: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8830: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
8840: 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  5f) :xyz} 5 5 0.
8850: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30  0.} {abc: 5 5 (0
8860: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
8870: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8880: 2e 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.8 {.  sqlite3
8890: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
88a0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
88b0: 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 30 2e  5e) :xyz} 5 5 0.
88c0: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30  0.} {abc: 5 5 (0
88d0: 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  .00000e+00) :xyz
88e0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
88f0: 2d 32 2e 32 2e 34 2e 39 20 7b 0a 20 20 73 71 6c  -2.2.4.9 {.  sql
8900: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
8910: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
8920: 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20  (%5.5g) :xyz} 5 
8930: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20  5 0.0.} {abc: 5 
8940: 35 20 28 20 20 20 20 30 29 20 3a 78 79 7a 7d 0a  5 (    0) :xyz}.
8950: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8960: 2e 32 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .2.5.1 {.  sqlit
8970: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8980: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
8990: 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a  :xyz} 5 5 100.0.
89a0: 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 30  } {abc: (100.000
89b0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
89c0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 32  t printf-2.2.5.2
89d0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
89e0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
89f0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
8a00: 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  5 5 100.0.} {abc
8a10: 3a 20 28 31 2e 30 30 30 30 30 65 2b 30 32 29 20  : (1.00000e+02) 
8a20: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
8a30: 69 6e 74 66 2d 32 2e 32 2e 35 2e 33 20 7b 0a 20  intf-2.2.5.3 {. 
8a40: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8a50: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
8a60: 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*g) :xyz} 5 5 
8a70: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20  100.0.} {abc: ( 
8a80: 20 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   100) :xyz}.do_t
8a90: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35  est printf-2.2.5
8aa0: 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
8ab0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8ac0: 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
8ad0: 78 79 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d  xyz} 5 5 100.0.}
8ae0: 20 7b 61 62 63 3a 20 35 20 35 20 28 31 30 30 29   {abc: 5 5 (100)
8af0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8b00: 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 35 20 7b 0a  rintf-2.2.5.5 {.
8b10: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8b20: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
8b30: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
8b40: 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62   5 5 100.0.} {ab
8b50: 63 3a 20 35 20 35 20 28 31 30 30 2e 30 30 30 29  c: 5 5 (100.000)
8b60: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8b70: 72 69 6e 74 66 2d 32 2e 32 2e 35 2e 36 20 7b 0a  rintf-2.2.5.6 {.
8b80: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8b90: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
8ba0: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
8bb0: 7a 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b  z} 5 5 100.0.} {
8bc0: 61 62 63 3a 20 35 20 35 20 28 30 30 30 30 30 30  abc: 5 5 (000000
8bd0: 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0100) :xyz}.do_t
8be0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 35  est printf-2.2.5
8bf0: 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
8c00: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
8c10: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66  bc: %d %d (%5.5f
8c20: 29 20 3a 78 79 7a 7d 20 35 20 35 20 31 30 30 2e  ) :xyz} 5 5 100.
8c30: 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 31  0.} {abc: 5 5 (1
8c40: 30 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  00.00000) :xyz}.
8c50: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8c60: 2e 32 2e 35 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .2.5.8 {.  sqlit
8c70: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8c80: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
8c90: 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5e) :xyz} 5 5 
8ca0: 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20  100.0.} {abc: 5 
8cb0: 35 20 28 31 2e 30 30 30 30 30 65 2b 30 32 29 20  5 (1.00000e+02) 
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 39 20 7b 0a 20  intf-2.2.5.9 {. 
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 35 2e 35 67 29 20 3a 78 79 7a   %d (%5.5g) :xyz
8d10: 7d 20 35 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61  } 5 5 100.0.} {a
8d20: 62 63 3a 20 35 20 35 20 28 20 20 31 30 30 29 20  bc: 5 5 (  100) 
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 36 2e 31 20 7b 0a 20  intf-2.2.6.1 {. 
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 28 25  _double {abc: (%
8d70: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*f) :xyz} 5 5 
8d80: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
8d90: 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  (9.99999) :xyz}.
8da0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8db0: 2e 32 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .2.6.2 {.  sqlit
8dc0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
8dd0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
8de0: 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39  :xyz} 5 5 9.9999
8df0: 39 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39  9.} {abc: (9.999
8e00: 39 39 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  99e+00) :xyz}.do
8e10: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
8e20: 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.3 {.  sqlite3
8e30: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
8e40: 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
8e50: 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39 0a  yz} 5 5 9.99999.
8e60: 7d 20 7b 61 62 63 3a 20 28 20 20 20 31 30 29 20  } {abc: (   10) 
8e70: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
8e80: 69 6e 74 66 2d 32 2e 32 2e 36 2e 34 20 7b 0a 20  intf-2.2.6.4 {. 
8e90: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
8ea0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
8eb0: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35   %d (%g) :xyz} 5
8ec0: 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
8ed0: 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39 39 29  c: 5 5 (9.99999)
8ee0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
8ef0: 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 35 20 7b 0a  rintf-2.2.6.5 {.
8f00: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
8f10: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
8f20: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
8f30: 20 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b   5 5 9.99999.} {
8f40: 61 62 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39  abc: 5 5 (9.9999
8f50: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
8f60: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36 2e 36 20   printf-2.2.6.6 
8f70: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
8f80: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
8f90: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
8fa0: 78 79 7a 7d 20 35 20 35 20 39 2e 39 39 39 39 39  xyz} 5 5 9.99999
8fb0: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 30  .} {abc: 5 5 (00
8fc0: 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  09.99999) :xyz}.
8fd0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
8fe0: 2e 32 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .2.6.7 {.  sqlit
8ff0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9000: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
9010: 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5f) :xyz} 5 5 
9020: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
9030: 35 20 35 20 28 39 2e 39 39 39 39 39 29 20 3a 78  5 5 (9.99999) :x
9040: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
9050: 74 66 2d 32 2e 32 2e 36 2e 38 20 7b 0a 20 20 73  tf-2.2.6.8 {.  s
9060: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
9070: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
9080: 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20  d (%5.5e) :xyz} 
9090: 35 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 5 9.99999.} {a
90a0: 62 63 3a 20 35 20 35 20 28 39 2e 39 39 39 39 39  bc: 5 5 (9.99999
90b0: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
90c0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 36  est printf-2.2.6
90d0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
90e0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
90f0: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67  bc: %d %d (%5.5g
9100: 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 39 39  ) :xyz} 5 5 9.99
9110: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  999.} {abc: 5 5 
9120: 28 20 20 20 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  (   10) :xyz}.do
9130: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
9140: 2e 37 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.1 {.  sqlite3
9150: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
9160: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
9170: 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33  yz} 5 5 -0.00543
9180: 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35  .} {abc: (-0.005
9190: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
91a0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 32  t printf-2.2.7.2
91b0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
91c0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
91d0: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
91e0: 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  5 5 -0.00543.} {
91f0: 61 62 63 3a 20 28 2d 35 2e 34 33 30 30 30 65 2d  abc: (-5.43000e-
9200: 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
9210: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 33  t printf-2.2.7.3
9220: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9230: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9240: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
9250: 35 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  5 5 -0.00543.} {
9260: 61 62 63 3a 20 28 2d 30 2e 30 30 35 34 33 29 20  abc: (-0.00543) 
9270: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9280: 69 6e 74 66 2d 32 2e 32 2e 37 2e 34 20 7b 0a 20  intf-2.2.7.4 {. 
9290: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
92a0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
92b0: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35   %d (%g) :xyz} 5
92c0: 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   5 -0.00543.} {a
92d0: 62 63 3a 20 35 20 35 20 28 2d 30 2e 30 30 35 34  bc: 5 5 (-0.0054
92e0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
92f0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 35 20   printf-2.2.7.5 
9300: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9310: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9320: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
9330: 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33 0a  z} 5 5 -0.00543.
9340: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30 2e  } {abc: 5 5 (-0.
9350: 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d 0a  00543000) :xyz}.
9360: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
9370: 2e 32 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .2.7.6 {.  sqlit
9380: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9390: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
93a0: 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  010g) :xyz} 5 5 
93b0: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
93c0: 20 35 20 35 20 28 2d 30 30 30 2e 30 30 35 34 33   5 5 (-000.00543
93d0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
93e0: 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 37 20 7b  printf-2.2.7.7 {
93f0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
9400: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9410: 25 64 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78  %d %d (%5.5f) :x
9420: 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33  yz} 5 5 -0.00543
9430: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30  .} {abc: 5 5 (-0
9440: 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
9450: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
9460: 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.8 {.  sqlite3
9470: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
9480: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
9490: 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 30  5e) :xyz} 5 5 -0
94a0: 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 35  .00543.} {abc: 5
94b0: 20 35 20 28 2d 35 2e 34 33 30 30 30 65 2d 30 33   5 (-5.43000e-03
94c0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
94d0: 70 72 69 6e 74 66 2d 32 2e 32 2e 37 2e 39 20 7b  printf-2.2.7.9 {
94e0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
94f0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
9500: 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78  %d %d (%5.5g) :x
9510: 79 7a 7d 20 35 20 35 20 2d 30 2e 30 30 35 34 33  yz} 5 5 -0.00543
9520: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 2d 30  .} {abc: 5 5 (-0
9530: 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
9540: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
9550: 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.1 {.  sqlite3
9560: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
9570: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
9580: 79 7a 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b  yz} 5 5 -1.0.} {
9590: 61 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 29 20  abc: (-1.00000) 
95a0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
95b0: 69 6e 74 66 2d 32 2e 32 2e 38 2e 32 20 7b 0a 20  intf-2.2.8.2 {. 
95c0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
95d0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
95e0: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*e) :xyz} 5 5 
95f0: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
9600: 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a  .00000e+00) :xyz
9610: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9620: 2d 32 2e 32 2e 38 2e 33 20 7b 0a 20 20 73 71 6c  -2.2.8.3 {.  sql
9630: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
9640: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
9650: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30  ) :xyz} 5 5 -1.0
9660: 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 2d 31 29  .} {abc: (   -1)
9670: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
9680: 72 69 6e 74 66 2d 32 2e 32 2e 38 2e 34 20 7b 0a  rintf-2.2.8.4 {.
9690: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
96a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
96b0: 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
96c0: 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  5 5 -1.0.} {abc:
96d0: 20 35 20 35 20 28 2d 31 29 20 3a 78 79 7a 7d 0a   5 5 (-1) :xyz}.
96e0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
96f0: 2e 32 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .2.8.5 {.  sqlit
9700: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9710: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
9720: 23 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31  #g) :xyz} 5 5 -1
9730: 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  .0.} {abc: 5 5 (
9740: 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  -1.00000) :xyz}.
9750: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
9760: 2e 32 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .2.8.6 {.  sqlit
9770: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
9780: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
9790: 30 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  010g) :xyz} 5 5 
97a0: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 35 20 35  -1.0.} {abc: 5 5
97b0: 20 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a 78   (-000000001) :x
97c0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
97d0: 74 66 2d 32 2e 32 2e 38 2e 37 20 7b 0a 20 20 73  tf-2.2.8.7 {.  s
97e0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
97f0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
9800: 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20  d (%5.5f) :xyz} 
9810: 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  5 5 -1.0.} {abc:
9820: 20 35 20 35 20 28 2d 31 2e 30 30 30 30 30 29 20   5 5 (-1.00000) 
9830: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
9840: 69 6e 74 66 2d 32 2e 32 2e 38 2e 38 20 7b 0a 20  intf-2.2.8.8 {. 
9850: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
9860: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
9870: 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79 7a   %d (%5.5e) :xyz
9880: 7d 20 35 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62  } 5 5 -1.0.} {ab
9890: 63 3a 20 35 20 35 20 28 2d 31 2e 30 30 30 30 30  c: 5 5 (-1.00000
98a0: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
98b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 38  est printf-2.2.8
98c0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
98d0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
98e0: 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 67  bc: %d %d (%5.5g
98f0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 31 2e 30  ) :xyz} 5 5 -1.0
9900: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 20 20  .} {abc: 5 5 (  
9910: 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   -1) :xyz}.do_te
9920: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e  st printf-2.2.9.
9930: 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
9940: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
9950: 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
9960: 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d   5 5 -99.99999.}
9970: 20 7b 61 62 63 3a 20 28 2d 39 39 2e 39 39 39 39   {abc: (-99.9999
9980: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
9990: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 32 20   printf-2.2.9.2 
99a0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
99b0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
99c0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35   (%*.*e) :xyz} 5
99d0: 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   5 -99.99999.} {
99e0: 61 62 63 3a 20 28 2d 31 2e 30 30 30 30 30 65 2b  abc: (-1.00000e+
99f0: 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
9a00: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 33  t printf-2.2.9.3
9a10: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9a20: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9a30: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
9a40: 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  5 5 -99.99999.} 
9a50: 7b 61 62 63 3a 20 28 20 2d 31 30 30 29 20 3a 78  {abc: ( -100) :x
9a60: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
9a70: 74 66 2d 32 2e 32 2e 39 2e 34 20 7b 0a 20 20 73  tf-2.2.9.4 {.  s
9a80: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
9a90: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
9aa0: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 35 20 35  d (%g) :xyz} 5 5
9ab0: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
9ac0: 63 3a 20 35 20 35 20 28 2d 31 30 30 29 20 3a 78  c: 5 5 (-100) :x
9ad0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
9ae0: 74 66 2d 32 2e 32 2e 39 2e 35 20 7b 0a 20 20 73  tf-2.2.9.5 {.  s
9af0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
9b00: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
9b10: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 35 20  d (%#g) :xyz} 5 
9b20: 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
9b30: 62 63 3a 20 35 20 35 20 28 2d 31 30 30 2e 30 30  bc: 5 5 (-100.00
9b40: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
9b50: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 36 20   printf-2.2.9.6 
9b60: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9b70: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9b80: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
9b90: 78 79 7a 7d 20 35 20 35 20 2d 39 39 2e 39 39 39  xyz} 5 5 -99.999
9ba0: 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  99.} {abc: 5 5 (
9bb0: 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a  -000000100) :xyz
9bc0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9bd0: 2d 32 2e 32 2e 39 2e 37 20 7b 0a 20 20 73 71 6c  -2.2.9.7 {.  sql
9be0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
9bf0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
9c00: 28 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20  (%5.5f) :xyz} 5 
9c10: 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  5 -99.99999.} {a
9c20: 62 63 3a 20 35 20 35 20 28 2d 39 39 2e 39 39 39  bc: 5 5 (-99.999
9c30: 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
9c40: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 39 2e 38  t printf-2.2.9.8
9c50: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9c60: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9c70: 3a 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20  : %d %d (%5.5e) 
9c80: 3a 78 79 7a 7d 20 35 20 35 20 2d 39 39 2e 39 39  :xyz} 5 5 -99.99
9c90: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  999.} {abc: 5 5 
9ca0: 28 2d 31 2e 30 30 30 30 30 65 2b 30 32 29 20 3a  (-1.00000e+02) :
9cb0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
9cc0: 6e 74 66 2d 32 2e 32 2e 39 2e 39 20 7b 0a 20 20  ntf-2.2.9.9 {.  
9cd0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
9ce0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
9cf0: 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d  %d (%5.5g) :xyz}
9d00: 20 35 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d   5 5 -99.99999.}
9d10: 20 7b 61 62 63 3a 20 35 20 35 20 28 20 2d 31 30   {abc: 5 5 ( -10
9d20: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
9d30: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 31   printf-2.2.10.1
9d40: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
9d50: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
9d60: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
9d70: 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61  5 5 3.14e+9.} {a
9d80: 62 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e  bc: (3140000000.
9d90: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
9da0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
9db0: 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.2 {.  sqlite3
9dc0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
9dd0: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
9de0: 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a  yz} 5 5 3.14e+9.
9df0: 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30 30  } {abc: (3.14000
9e00: 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
9e10: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
9e20: 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.3 {.  sqlite3_
9e30: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
9e40: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
9e50: 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d  z} 5 5 3.14e+9.}
9e60: 20 7b 61 62 63 3a 20 28 33 2e 31 34 65 2b 30 39   {abc: (3.14e+09
9e70: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
9e80: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 34 20  printf-2.2.10.4 
9e90: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
9ea0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
9eb0: 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
9ec0: 7d 20 35 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20  } 5 5 3.14e+9.} 
9ed0: 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 31 34 65  {abc: 5 5 (3.14e
9ee0: 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
9ef0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30  st printf-2.2.10
9f00: 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
9f10: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
9f20: 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
9f30: 3a 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b  :xyz} 5 5 3.14e+
9f40: 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33  9.} {abc: 5 5 (3
9f50: 2e 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a  .14000e+09) :xyz
9f60: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
9f70: 2d 32 2e 32 2e 31 30 2e 36 20 7b 0a 20 20 73 71  -2.2.10.6 {.  sq
9f80: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
9f90: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
9fa0: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 35   (%010g) :xyz} 5
9fb0: 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
9fc0: 63 3a 20 35 20 35 20 28 30 30 33 2e 31 34 65 2b  c: 5 5 (003.14e+
9fd0: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
9fe0: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e  t printf-2.2.10.
9ff0: 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
a000: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
a010: 63 3a 20 25 64 20 25 64 20 28 25 35 2e 35 66 29  c: %d %d (%5.5f)
a020: 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65   :xyz} 5 5 3.14e
a030: 2b 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  +9.} {abc: 5 5 (
a040: 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 30 30  3140000000.00000
a050: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a060: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 30 2e 38 20  printf-2.2.10.8 
a070: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a080: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a090: 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a   %d %d (%5.5e) :
a0a0: 78 79 7a 7d 20 35 20 35 20 33 2e 31 34 65 2b 39  xyz} 5 5 3.14e+9
a0b0: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e  .} {abc: 5 5 (3.
a0c0: 31 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d  14000e+09) :xyz}
a0d0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
a0e0: 32 2e 32 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c  2.2.10.9 {.  sql
a0f0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
a100: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
a110: 28 25 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20  (%5.5g) :xyz} 5 
a120: 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  5 3.14e+9.} {abc
a130: 3a 20 35 20 35 20 28 33 2e 31 34 65 2b 30 39 29  : 5 5 (3.14e+09)
a140: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a150: 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 32 20 7b  rintf-2.2.11.2 {
a160: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a170: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a180: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20  (%*.*e) :xyz} 5 
a190: 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  5 -4.72732e+88.}
a1a0: 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32 37 33 32   {abc: (-4.72732
a1b0: 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
a1c0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
a1d0: 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.3 {.  sqlite3_
a1e0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
a1f0: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
a200: 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32 65  z} 5 5 -4.72732e
a210: 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e  +88.} {abc: (-4.
a220: 37 32 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  7273e+88) :xyz}.
a230: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
a240: 2e 32 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69  .2.11.4 {.  sqli
a250: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
a260: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
a270: 25 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 34  %g) :xyz} 5 5 -4
a280: 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
a290: 63 3a 20 35 20 35 20 28 2d 34 2e 37 32 37 33 32  c: 5 5 (-4.72732
a2a0: 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
a2b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31  est printf-2.2.1
a2c0: 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.5 {.  sqlite3_
a2d0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
a2e0: 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
a2f0: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32   :xyz} 5 5 -4.72
a300: 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
a310: 35 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  5 5 (-4.72732e+8
a320: 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
a330: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 36   printf-2.2.11.6
a340: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a350: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a360: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
a370: 3a 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37  :xyz} 5 5 -4.727
a380: 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35  32e+88.} {abc: 5
a390: 20 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   5 (-4.72732e+88
a3a0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
a3b0: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 38 20  printf-2.2.11.8 
a3c0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
a3d0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
a3e0: 20 25 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a   %d %d (%5.5e) :
a3f0: 78 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33  xyz} 5 5 -4.7273
a400: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20  2e+88.} {abc: 5 
a410: 35 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29  5 (-4.72732e+88)
a420: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a430: 72 69 6e 74 66 2d 32 2e 32 2e 31 31 2e 39 20 7b  rintf-2.2.11.9 {
a440: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a450: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a460: 25 64 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78  %d %d (%5.5g) :x
a470: 79 7a 7d 20 35 20 35 20 2d 34 2e 37 32 37 33 32  yz} 5 5 -4.72732
a480: 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 35 20 35  e+88.} {abc: 5 5
a490: 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29 20 3a   (-4.7273e+88) :
a4a0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
a4b0: 6e 74 66 2d 32 2e 32 2e 31 32 2e 32 20 7b 0a 20  ntf-2.2.12.2 {. 
a4c0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
a4d0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
a4e0: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20  *.*e) :xyz} 5 5 
a4f0: 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
a500: 61 62 63 3a 20 28 39 2e 38 37 39 39 31 65 2b 31  abc: (9.87991e+1
a510: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
a520: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e  t printf-2.2.12.
a530: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
a540: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
a550: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
a560: 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34   5 5 9.87991e+14
a570: 33 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 38 37 39  3.} {abc: (9.879
a580: 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  9e+143) :xyz}.do
a590: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
a5a0: 2e 31 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .12.4 {.  sqlite
a5b0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
a5c0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
a5d0: 29 20 3a 78 79 7a 7d 20 35 20 35 20 39 2e 38 37  ) :xyz} 5 5 9.87
a5e0: 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
a5f0: 20 35 20 35 20 28 39 2e 38 37 39 39 31 65 2b 31   5 5 (9.87991e+1
a600: 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
a610: 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e  t printf-2.2.12.
a620: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
a630: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
a640: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
a650: 78 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31  xyz} 5 5 9.87991
a660: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20  e+143.} {abc: 5 
a670: 35 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29  5 (9.87991e+143)
a680: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
a690: 72 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 36 20 7b  rintf-2.2.12.6 {
a6a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
a6b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
a6c0: 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
a6d0: 79 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65  yz} 5 5 9.87991e
a6e0: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35  +143.} {abc: 5 5
a6f0: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
a700: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
a710: 69 6e 74 66 2d 32 2e 32 2e 31 32 2e 38 20 7b 0a  intf-2.2.12.8 {.
a720: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
a730: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
a740: 64 20 25 64 20 28 25 35 2e 35 65 29 20 3a 78 79  d %d (%5.5e) :xy
a750: 7a 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b  z} 5 5 9.87991e+
a760: 31 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  143.} {abc: 5 5 
a770: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
a780: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
a790: 6e 74 66 2d 32 2e 32 2e 31 32 2e 39 20 7b 0a 20  ntf-2.2.12.9 {. 
a7a0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
a7b0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
a7c0: 20 25 64 20 28 25 35 2e 35 67 29 20 3a 78 79 7a   %d (%5.5g) :xyz
a7d0: 7d 20 35 20 35 20 39 2e 38 37 39 39 31 65 2b 31  } 5 5 9.87991e+1
a7e0: 34 33 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  43.} {abc: 5 5 (
a7f0: 39 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79  9.8799e+143) :xy
a800: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
a810: 66 2d 32 2e 32 2e 31 33 2e 31 20 7b 0a 20 20 73  f-2.2.13.1 {.  s
a820: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
a830: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
a840: 2a 66 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36  *f) :xyz} 5 5 -6
a850: 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62  .287291e-9.} {ab
a860: 63 3a 20 28 2d 30 2e 30 30 30 30 30 29 20 3a 78  c: (-0.00000) :x
a870: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
a880: 74 66 2d 32 2e 32 2e 31 33 2e 32 20 7b 0a 20 20  tf-2.2.13.2 {.  
a890: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
a8a0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
a8b0: 2e 2a 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 2d  .*e) :xyz} 5 5 -
a8c0: 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
a8d0: 62 63 3a 20 28 2d 36 2e 32 38 37 32 39 65 2d 30  bc: (-6.28729e-0
a8e0: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
a8f0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 33   printf-2.2.13.3
a900: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
a910: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
a920: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
a930: 35 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  5 5 -6.287291e-9
a940: 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37  .} {abc: (-6.287
a950: 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e-09) :xyz}.do_
a960: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
a970: 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.4 {.  sqlite3
a980: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
a990: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
a9a0: 20 3a 78 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38   :xyz} 5 5 -6.28
a9b0: 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
a9c0: 35 20 35 20 28 2d 36 2e 32 38 37 32 39 65 2d 30  5 5 (-6.28729e-0
a9d0: 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
a9e0: 20 70 72 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 35   printf-2.2.13.5
a9f0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
aa00: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
aa10: 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78  : %d %d (%#g) :x
aa20: 79 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39  yz} 5 5 -6.28729
aa30: 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35  1e-9.} {abc: 5 5
aa40: 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
aa50: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
aa60: 69 6e 74 66 2d 32 2e 32 2e 31 33 2e 36 20 7b 0a  intf-2.2.13.6 {.
aa70: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
aa80: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
aa90: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
aaa0: 7a 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31  z} 5 5 -6.287291
aab0: 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20  e-9.} {abc: 5 5 
aac0: 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
aad0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
aae0: 6e 74 66 2d 32 2e 32 2e 31 33 2e 37 20 7b 0a 20  ntf-2.2.13.7 {. 
aaf0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
ab00: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
ab10: 20 25 64 20 28 25 35 2e 35 66 29 20 3a 78 79 7a   %d (%5.5f) :xyz
ab20: 7d 20 35 20 35 20 2d 36 2e 32 38 37 32 39 31 65  } 5 5 -6.287291e
ab30: 2d 39 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28  -9.} {abc: 5 5 (
ab40: 2d 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  -0.00000) :xyz}.
ab50: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ab60: 2e 32 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69  .2.13.8 {.  sqli
ab70: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
ab80: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
ab90: 25 35 2e 35 65 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5e) :xyz} 5 5
aba0: 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
abb0: 7b 61 62 63 3a 20 35 20 35 20 28 2d 36 2e 32 38  {abc: 5 5 (-6.28
abc0: 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
abd0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
abe0: 32 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74  2.13.9 {.  sqlit
abf0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ac00: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
ac10: 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5g) :xyz} 5 5 
ac20: 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
ac30: 61 62 63 3a 20 35 20 35 20 28 2d 36 2e 32 38 37  abc: 5 5 (-6.287
ac40: 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3e-09) :xyz}.do_
ac50: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
ac60: 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.1 {.  sqlite3
ac70: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
ac80: 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
ac90: 79 7a 7d 20 35 20 35 20 33 2e 33 38 38 32 36 33  yz} 5 5 3.388263
aca0: 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
acb0: 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  (0.00000) :xyz}.
acc0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
acd0: 2e 32 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c 69  .2.14.2 {.  sqli
ace0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
acf0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
ad00: 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33 38 38   :xyz} 5 5 3.388
ad10: 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
ad20: 63 3a 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30  c: (3.38826e-110
ad30: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
ad40: 70 72 69 6e 74 66 2d 32 2e 32 2e 31 34 2e 33 20  printf-2.2.14.3 
ad50: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ad60: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ad70: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 35   (%*.*g) :xyz} 5
ad80: 20 35 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   5 3.38826392e-1
ad90: 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38  10.} {abc: (3.38
ada0: 38 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  83e-110) :xyz}.d
adb0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
adc0: 32 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74  2.14.4 {.  sqlit
add0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
ade0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
adf0: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33  g) :xyz} 5 5 3.3
ae00: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
ae10: 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38 32  abc: 5 5 (3.3882
ae20: 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
ae30: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
ae40: 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .14.5 {.  sqlite
ae50: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
ae60: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
ae70: 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e 33  g) :xyz} 5 5 3.3
ae80: 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
ae90: 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38 32  abc: 5 5 (3.3882
aea0: 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
aeb0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32  _test printf-2.2
aec0: 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .14.6 {.  sqlite
aed0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
aee0: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
aef0: 31 30 67 29 20 3a 78 79 7a 7d 20 35 20 35 20 33  10g) :xyz} 5 5 3
af00: 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
af10: 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38   {abc: 5 5 (3.38
af20: 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
af30: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
af40: 2e 32 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69  .2.14.7 {.  sqli
af50: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
af60: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
af70: 25 35 2e 35 66 29 20 3a 78 79 7a 7d 20 35 20 35  %5.5f) :xyz} 5 5
af80: 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
af90: 0a 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 30 2e  .} {abc: 5 5 (0.
afa0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
afb0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 32 2e  test printf-2.2.
afc0: 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.8 {.  sqlite3
afd0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
afe0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e  {abc: %d %d (%5.
aff0: 35 65 29 20 3a 78 79 7a 7d 20 35 20 35 20 33 2e  5e) :xyz} 5 5 3.
b000: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
b010: 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33 38 38  {abc: 5 5 (3.388
b020: 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  26e-110) :xyz}.d
b030: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b040: 32 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74  2.14.9 {.  sqlit
b050: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b060: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b070: 35 2e 35 67 29 20 3a 78 79 7a 7d 20 35 20 35 20  5.5g) :xyz} 5 5 
b080: 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
b090: 7d 20 7b 61 62 63 3a 20 35 20 35 20 28 33 2e 33  } {abc: 5 5 (3.3
b0a0: 38 38 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  883e-110) :xyz}.
b0b0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b0c0: 2e 33 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .3.1.1 {.  sqlit
b0d0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b0e0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
b0f0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30  :xyz} 10 10 0.00
b100: 31 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31  1.} {abc: (0.001
b110: 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64  0000000) :xyz}.d
b120: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b130: 33 2e 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  3.1.2 {.  sqlite
b140: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b150: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
b160: 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31  xyz} 10 10 0.001
b170: 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30  .} {abc: (1.0000
b180: 30 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a  000000e-03) :xyz
b190: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
b1a0: 2d 32 2e 33 2e 31 2e 33 20 7b 0a 20 20 73 71 6c  -2.3.1.3 {.  sql
b1b0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
b1c0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
b1d0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
b1e0: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20  001.} {abc: (   
b1f0: 20 20 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64    0.001) :xyz}.d
b200: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b210: 33 2e 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  3.1.4 {.  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 67   {abc: %d %d (%g
b240: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
b250: 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  001.} {abc: 10 1
b260: 30 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  0 (0.001) :xyz}.
b270: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b280: 2e 33 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .3.1.5 {.  sqlit
b290: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b2a0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b2b0: 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  #g) :xyz} 10 10 
b2c0: 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31 30  0.001.} {abc: 10
b2d0: 20 31 30 20 28 30 2e 30 30 31 30 30 30 30 30 29   10 (0.00100000)
b2e0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
b2f0: 72 69 6e 74 66 2d 32 2e 33 2e 31 2e 36 20 7b 0a  rintf-2.3.1.6 {.
b300: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
b310: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
b320: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
b330: 7a 7d 20 31 30 20 31 30 20 30 2e 30 30 31 0a 7d  z} 10 10 0.001.}
b340: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30 30   {abc: 10 10 (00
b350: 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  0000.001) :xyz}.
b360: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
b370: 2e 33 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .3.1.7 {.  sqlit
b380: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
b390: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
b3a0: 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30  10.10f) :xyz} 10
b3b0: 20 31 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63   10 0.001.} {abc
b3c0: 3a 20 31 30 20 31 30 20 28 30 2e 30 30 31 30 30  : 10 10 (0.00100
b3d0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
b3e0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
b3f0: 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.8 {.  sqlite3_
b400: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
b410: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
b420: 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10e) :xyz} 10 10
b430: 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 31   0.001.} {abc: 1
b440: 30 20 31 30 20 28 31 2e 30 30 30 30 30 30 30 30  0 10 (1.00000000
b450: 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  00e-03) :xyz}.do
b460: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b470: 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.9 {.  sqlite3
b480: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b490: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
b4a0: 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10g) :xyz} 10 1
b4b0: 30 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  0 0.001.} {abc: 
b4c0: 31 30 20 31 30 20 28 20 20 20 20 20 30 2e 30 30  10 10 (     0.00
b4d0: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
b4e0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 31 20   printf-2.3.2.1 
b4f0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
b500: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
b510: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
b520: 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20 7b  0 10 1.0e-20.} {
b530: 61 62 63 3a 20 28 30 2e 30 30 30 30 30 30 30 30  abc: (0.00000000
b540: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
b550: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 32  t printf-2.3.2.2
b560: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
b570: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
b580: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
b590: 31 30 20 31 30 20 31 2e 30 65 2d 32 30 0a 7d 20  10 10 1.0e-20.} 
b5a0: 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 30 30  {abc: (1.0000000
b5b0: 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  000e-20) :xyz}.d
b5c0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
b5d0: 33 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  3.2.3 {.  sqlite
b5e0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
b5f0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
b600: 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d  xyz} 10 10 1.0e-
b610: 32 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20  20.} {abc: (    
b620: 20 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f   1e-20) :xyz}.do
b630: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
b640: 2e 32 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.4 {.  sqlite3
b650: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
b660: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
b670: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
b680: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e-20.} {abc: 10 
b690: 31 30 20 28 31 65 2d 32 30 29 20 3a 78 79 7a 7d  10 (1e-20) :xyz}
b6a0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
b6b0: 32 2e 33 2e 32 2e 35 20 7b 0a 20 20 73 71 6c 69  2.3.2.5 {.  sqli
b6c0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
b6d0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
b6e0: 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  %#g) :xyz} 10 10
b6f0: 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
b700: 20 31 30 20 31 30 20 28 31 2e 30 30 30 30 30 65   10 10 (1.00000e
b710: 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
b720: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e  st printf-2.3.2.
b730: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
b740: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
b750: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
b760: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
b770: 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e-20.} {abc: 10 
b780: 31 30 20 28 30 30 30 30 30 31 65 2d 32 30 29 20  10 (000001e-20) 
b790: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
b7a0: 69 6e 74 66 2d 32 2e 33 2e 32 2e 37 20 7b 0a 20  intf-2.3.2.7 {. 
b7b0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
b7c0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
b7d0: 20 25 64 20 28 25 31 30 2e 31 30 66 29 20 3a 78   %d (%10.10f) :x
b7e0: 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32  yz} 10 10 1.0e-2
b7f0: 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  0.} {abc: 10 10 
b800: 28 30 2e 30 30 30 30 30 30 30 30 30 30 29 20 3a  (0.0000000000) :
b810: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
b820: 6e 74 66 2d 32 2e 33 2e 32 2e 38 20 7b 0a 20 20  ntf-2.3.2.8 {.  
b830: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
b840: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
b850: 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79  %d (%10.10e) :xy
b860: 7a 7d 20 31 30 20 31 30 20 31 2e 30 65 2d 32 30  z} 10 10 1.0e-20
b870: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
b880: 31 2e 30 30 30 30 30 30 30 30 30 30 65 2d 32 30  1.0000000000e-20
b890: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
b8a0: 70 72 69 6e 74 66 2d 32 2e 33 2e 32 2e 39 20 7b  printf-2.3.2.9 {
b8b0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
b8c0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
b8d0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20  %d %d (%10.10g) 
b8e0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30 65  :xyz} 10 10 1.0e
b8f0: 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  -20.} {abc: 10 1
b900: 30 20 28 20 20 20 20 20 31 65 2d 32 30 29 20 3a  0 (     1e-20) :
b910: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
b920: 6e 74 66 2d 32 2e 33 2e 33 2e 31 20 7b 0a 20 20  ntf-2.3.3.1 {.  
b930: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
b940: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
b950: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*f) :xyz} 10 10
b960: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e   1.0.} {abc: (1.
b970: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
b980: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
b990: 2d 32 2e 33 2e 33 2e 32 20 7b 0a 20 20 73 71 6c  -2.3.3.2 {.  sql
b9a0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
b9b0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
b9c0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e  ) :xyz} 10 10 1.
b9d0: 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  0.} {abc: (1.000
b9e0: 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  0000000e+00) :xy
b9f0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
ba00: 66 2d 32 2e 33 2e 33 2e 33 20 7b 0a 20 20 73 71  f-2.3.3.3 {.  sq
ba10: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
ba20: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
ba30: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31  g) :xyz} 10 10 1
ba40: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20  .0.} {abc: (    
ba50: 20 20 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f       1) :xyz}.do
ba60: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
ba70: 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.4 {.  sqlite3
ba80: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
ba90: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
baa0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
bab0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
bac0: 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
bad0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e 35 20   printf-2.3.3.5 
bae0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
baf0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
bb00: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
bb10: 7a 7d 20 31 30 20 31 30 20 31 2e 30 0a 7d 20 7b  z} 10 10 1.0.} {
bb20: 61 62 63 3a 20 31 30 20 31 30 20 28 31 2e 30 30  abc: 10 10 (1.00
bb30: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
bb40: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33 2e  st printf-2.3.3.
bb50: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
bb60: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
bb70: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
bb80: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 31 2e 30   :xyz} 10 10 1.0
bb90: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
bba0: 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a  0000000001) :xyz
bbb0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
bbc0: 2d 32 2e 33 2e 33 2e 37 20 7b 0a 20 20 73 71 6c  -2.3.3.7 {.  sql
bbd0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
bbe0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
bbf0: 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20  (%10.10f) :xyz} 
bc00: 31 30 20 31 30 20 31 2e 30 0a 7d 20 7b 61 62 63  10 10 1.0.} {abc
bc10: 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30 30 30  : 10 10 (1.00000
bc20: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :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 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.8 {.  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 31 30 2e  abc: %d %d (%10.
bc70: 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10e) :xyz} 10 10
bc80: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   1.0.} {abc: 10 
bc90: 31 30 20 28 31 2e 30 30 30 30 30 30 30 30 30 30  10 (1.0000000000
bca0: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
bcb0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 33  est printf-2.3.3
bcc0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
bcd0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
bce0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
bcf0: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0g) :xyz} 10 10 
bd00: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  1.0.} {abc: 10 1
bd10: 30 20 28 20 20 20 20 20 20 20 20 20 31 29 20 3a  0 (         1) :
bd20: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
bd30: 6e 74 66 2d 32 2e 33 2e 34 2e 31 20 7b 0a 20 20  ntf-2.3.4.1 {.  
bd40: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
bd50: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
bd60: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*f) :xyz} 10 10
bd70: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e   0.0.} {abc: (0.
bd80: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
bd90: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
bda0: 2d 32 2e 33 2e 34 2e 32 20 7b 0a 20 20 73 71 6c  -2.3.4.2 {.  sql
bdb0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
bdc0: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
bdd0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e  ) :xyz} 10 10 0.
bde0: 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30  0.} {abc: (0.000
bdf0: 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  0000000e+00) :xy
be00: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
be10: 66 2d 32 2e 33 2e 34 2e 33 20 7b 0a 20 20 73 71  f-2.3.4.3 {.  sq
be20: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
be30: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
be40: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30  g) :xyz} 10 10 0
be50: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20  .0.} {abc: (    
be60: 20 20 20 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f       0) :xyz}.do
be70: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
be80: 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.4 {.  sqlite3
be90: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
bea0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
beb0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
bec0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
bed0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
bee0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e 35 20   printf-2.3.4.5 
bef0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
bf00: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
bf10: 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
bf20: 7a 7d 20 31 30 20 31 30 20 30 2e 30 0a 7d 20 7b  z} 10 10 0.0.} {
bf30: 61 62 63 3a 20 31 30 20 31 30 20 28 30 2e 30 30  abc: 10 10 (0.00
bf40: 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
bf50: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34 2e  st printf-2.3.4.
bf60: 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
bf70: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
bf80: 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
bf90: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 30 2e 30   :xyz} 10 10 0.0
bfa0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
bfb0: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
bfc0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
bfd0: 2d 32 2e 33 2e 34 2e 37 20 7b 0a 20 20 73 71 6c  -2.3.4.7 {.  sql
bfe0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
bff0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
c000: 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20  (%10.10f) :xyz} 
c010: 31 30 20 31 30 20 30 2e 30 0a 7d 20 7b 61 62 63  10 10 0.0.} {abc
c020: 3a 20 31 30 20 31 30 20 28 30 2e 30 30 30 30 30  : 10 10 (0.00000
c030: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :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 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.8 {.  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 31 30 2e  abc: %d %d (%10.
c080: 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10e) :xyz} 10 10
c090: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20   0.0.} {abc: 10 
c0a0: 31 30 20 28 30 2e 30 30 30 30 30 30 30 30 30 30  10 (0.0000000000
c0b0: 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+00) :xyz}.do_t
c0c0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 34  est printf-2.3.4
c0d0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
c0e0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
c0f0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31  bc: %d %d (%10.1
c100: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  0g) :xyz} 10 10 
c110: 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  0.0.} {abc: 10 1
c120: 30 20 28 20 20 20 20 20 20 20 20 20 30 29 20 3a  0 (         0) :
c130: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c140: 6e 74 66 2d 32 2e 33 2e 35 2e 31 20 7b 0a 20 20  ntf-2.3.5.1 {.  
c150: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c160: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
c170: 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*f) :xyz} 10 10
c180: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
c190: 31 30 30 2e 30 30 30 30 30 30 30 30 30 30 29 20  100.0000000000) 
c1a0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
c1b0: 69 6e 74 66 2d 32 2e 33 2e 35 2e 32 20 7b 0a 20  intf-2.3.5.2 {. 
c1c0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
c1d0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
c1e0: 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20 31  *.*e) :xyz} 10 1
c1f0: 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  0 100.0.} {abc: 
c200: 28 31 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30  (1.0000000000e+0
c210: 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
c220: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 33 20   printf-2.3.5.3 
c230: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
c240: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
c250: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
c260: 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62  0 10 100.0.} {ab
c270: 63 3a 20 28 20 20 20 20 20 20 20 31 30 30 29 20  c: (       100) 
c280: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
c290: 69 6e 74 66 2d 32 2e 33 2e 35 2e 34 20 7b 0a 20  intf-2.3.5.4 {. 
c2a0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
c2b0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
c2c0: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
c2d0: 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62  0 10 100.0.} {ab
c2e0: 63 3a 20 31 30 20 31 30 20 28 31 30 30 29 20 3a  c: 10 10 (100) :
c2f0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
c300: 6e 74 66 2d 32 2e 33 2e 35 2e 35 20 7b 0a 20 20  ntf-2.3.5.5 {.  
c310: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
c320: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
c330: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
c340: 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62  0 10 100.0.} {ab
c350: 63 3a 20 31 30 20 31 30 20 28 31 30 30 2e 30 30  c: 10 10 (100.00
c360: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
c370: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 35 2e 36 20   printf-2.3.5.6 
c380: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
c390: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
c3a0: 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
c3b0: 78 79 7a 7d 20 31 30 20 31 30 20 31 30 30 2e 30  xyz} 10 10 100.0
c3c0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
c3d0: 30 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a  0000000100) :xyz
c3e0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c3f0: 2d 32 2e 33 2e 35 2e 37 20 7b 0a 20 20 73 71 6c  -2.3.5.7 {.  sql
c400: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c410: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
c420: 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20  (%10.10f) :xyz} 
c430: 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61  10 10 100.0.} {a
c440: 62 63 3a 20 31 30 20 31 30 20 28 31 30 30 2e 30  bc: 10 10 (100.0
c450: 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a 7d  000000000) :xyz}
c460: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
c470: 32 2e 33 2e 35 2e 38 20 7b 0a 20 20 73 71 6c 69  2.3.5.8 {.  sqli
c480: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
c490: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
c4a0: 25 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31  %10.10e) :xyz} 1
c4b0: 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61 62  0 10 100.0.} {ab
c4c0: 63 3a 20 31 30 20 31 30 20 28 31 2e 30 30 30 30  c: 10 10 (1.0000
c4d0: 30 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a  000000e+02) :xyz
c4e0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c4f0: 2d 32 2e 33 2e 35 2e 39 20 7b 0a 20 20 73 71 6c  -2.3.5.9 {.  sql
c500: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c510: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
c520: 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20  (%10.10g) :xyz} 
c530: 31 30 20 31 30 20 31 30 30 2e 30 0a 7d 20 7b 61  10 10 100.0.} {a
c540: 62 63 3a 20 31 30 20 31 30 20 28 20 20 20 20 20  bc: 10 10 (     
c550: 20 20 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f    100) :xyz}.do_
c560: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
c570: 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.1 {.  sqlite3_
c580: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
c590: 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
c5a0: 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39 39  z} 10 10 9.99999
c5b0: 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39 39  .} {abc: (9.9999
c5c0: 39 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  900000) :xyz}.do
c5d0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
c5e0: 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.2 {.  sqlite3
c5f0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
c600: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
c610: 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39 39  yz} 10 10 9.9999
c620: 39 0a 7d 20 7b 61 62 63 3a 20 28 39 2e 39 39 39  9.} {abc: (9.999
c630: 39 39 30 30 30 30 30 65 2b 30 30 29 20 3a 78 79  9900000e+00) :xy
c640: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
c650: 66 2d 32 2e 33 2e 36 2e 33 20 7b 0a 20 20 73 71  f-2.3.6.3 {.  sq
c660: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
c670: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
c680: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39  g) :xyz} 10 10 9
c690: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
c6a0: 20 20 20 39 2e 39 39 39 39 39 29 20 3a 78 79 7a     9.99999) :xyz
c6b0: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
c6c0: 2d 32 2e 33 2e 36 2e 34 20 7b 0a 20 20 73 71 6c  -2.3.6.4 {.  sql
c6d0: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
c6e0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
c6f0: 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  (%g) :xyz} 10 10
c700: 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
c710: 20 31 30 20 31 30 20 28 39 2e 39 39 39 39 39 29   10 10 (9.99999)
c720: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c730: 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 35 20 7b 0a  rintf-2.3.6.5 {.
c740: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
c750: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
c760: 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
c770: 20 31 30 20 31 30 20 39 2e 39 39 39 39 39 0a 7d   10 10 9.99999.}
c780: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 39 2e   {abc: 10 10 (9.
c790: 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  99999) :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 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.6 {.  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 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
c7e0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39  g) :xyz} 10 10 9
c7f0: 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
c800: 30 20 31 30 20 28 30 30 30 39 2e 39 39 39 39 39  0 10 (0009.99999
c810: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
c820: 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 37 20 7b  printf-2.3.6.7 {
c830: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
c840: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
c850: 25 64 20 25 64 20 28 25 31 30 2e 31 30 66 29 20  %d %d (%10.10f) 
c860: 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39  :xyz} 10 10 9.99
c870: 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  999.} {abc: 10 1
c880: 30 20 28 39 2e 39 39 39 39 39 30 30 30 30 30 29  0 (9.9999900000)
c890: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c8a0: 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 38 20 7b 0a  rintf-2.3.6.8 {.
c8b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
c8c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
c8d0: 64 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a  d %d (%10.10e) :
c8e0: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 39 39 39  xyz} 10 10 9.999
c8f0: 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  99.} {abc: 10 10
c900: 20 28 39 2e 39 39 39 39 39 30 30 30 30 30 65 2b   (9.9999900000e+
c910: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
c920: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 36 2e 39  t printf-2.3.6.9
c930: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
c940: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
c950: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67  : %d %d (%10.10g
c960: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e  ) :xyz} 10 10 9.
c970: 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30  99999.} {abc: 10
c980: 20 31 30 20 28 20 20 20 39 2e 39 39 39 39 39 29   10 (   9.99999)
c990: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
c9a0: 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 31 20 7b 0a  rintf-2.3.7.1 {.
c9b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
c9c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
c9d0: 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*f) :xyz} 10 
c9e0: 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61  10 -0.00543.} {a
c9f0: 62 63 3a 20 28 2d 30 2e 30 30 35 34 33 30 30 30  bc: (-0.00543000
ca00: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
ca10: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 32  t printf-2.3.7.2
ca20: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ca30: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ca40: 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
ca50: 31 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d  10 10 -0.00543.}
ca60: 20 7b 61 62 63 3a 20 28 2d 35 2e 34 33 30 30 30   {abc: (-5.43000
ca70: 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d  00000e-03) :xyz}
ca80: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
ca90: 32 2e 33 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69  2.3.7.3 {.  sqli
caa0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
cab0: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
cac0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 30 2e   :xyz} 10 10 -0.
cad0: 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 20  00543.} {abc: ( 
cae0: 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d   -0.00543) :xyz}
caf0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
cb00: 32 2e 33 2e 37 2e 34 20 7b 0a 20 20 73 71 6c 69  2.3.7.4 {.  sqli
cb10: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
cb20: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
cb30: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
cb40: 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a  -0.00543.} {abc:
cb50: 20 31 30 20 31 30 20 28 2d 30 2e 30 30 35 34 33   10 10 (-0.00543
cb60: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
cb70: 70 72 69 6e 74 66 2d 32 2e 33 2e 37 2e 35 20 7b  printf-2.3.7.5 {
cb80: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
cb90: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
cba0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
cbb0: 7d 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34 33  } 10 10 -0.00543
cbc0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
cbd0: 2d 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79  -0.00543000) :xy
cbe0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
cbf0: 66 2d 32 2e 33 2e 37 2e 36 20 7b 0a 20 20 73 71  f-2.3.7.6 {.  sq
cc00: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
cc10: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
cc20: 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31   (%010g) :xyz} 1
cc30: 30 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20  0 10 -0.00543.} 
cc40: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 30 30  {abc: 10 10 (-00
cc50: 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
cc60: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
cc70: 33 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  3.7.7 {.  sqlite
cc80: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
cc90: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
cca0: 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20 31 30 20  0.10f) :xyz} 10 
ccb0: 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61  10 -0.00543.} {a
ccc0: 62 63 3a 20 31 30 20 31 30 20 28 2d 30 2e 30 30  bc: 10 10 (-0.00
ccd0: 35 34 33 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  54300000) :xyz}.
cce0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
ccf0: 2e 33 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .3.7.8 {.  sqlit
cd00: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
cd10: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
cd20: 31 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30  10.10e) :xyz} 10
cd30: 20 31 30 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b   10 -0.00543.} {
cd40: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 35 2e 34  abc: 10 10 (-5.4
cd50: 33 30 30 30 30 30 30 30 30 65 2d 30 33 29 20 3a  300000000e-03) :
cd60: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
cd70: 6e 74 66 2d 32 2e 33 2e 37 2e 39 20 7b 0a 20 20  ntf-2.3.7.9 {.  
cd80: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
cd90: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
cda0: 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79  %d (%10.10g) :xy
cdb0: 7a 7d 20 31 30 20 31 30 20 2d 30 2e 30 30 35 34  z} 10 10 -0.0054
cdc0: 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  3.} {abc: 10 10 
cdd0: 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79  (  -0.00543) :xy
cde0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
cdf0: 66 2d 32 2e 33 2e 38 2e 31 20 7b 0a 20 20 73 71  f-2.3.8.1 {.  sq
ce00: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
ce10: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
ce20: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  f) :xyz} 10 10 -
ce30: 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e  1.0.} {abc: (-1.
ce40: 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79 7a  0000000000) :xyz
ce50: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ce60: 2d 32 2e 33 2e 38 2e 32 20 7b 0a 20 20 73 71 6c  -2.3.8.2 {.  sql
ce70: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
ce80: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
ce90: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31  ) :xyz} 10 10 -1
cea0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  .0.} {abc: (-1.0
ceb0: 30 30 30 30 30 30 30 30 30 65 2b 30 30 29 20 3a  000000000e+00) :
cec0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
ced0: 6e 74 66 2d 32 2e 33 2e 38 2e 33 20 7b 0a 20 20  ntf-2.3.8.3 {.  
cee0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
cef0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
cf00: 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  .*g) :xyz} 10 10
cf10: 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20   -1.0.} {abc: ( 
cf20: 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a 7d         -1) :xyz}
cf30: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
cf40: 32 2e 33 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69  2.3.8.4 {.  sqli
cf50: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
cf60: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
cf70: 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  %g) :xyz} 10 10 
cf80: 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -1.0.} {abc: 10 
cf90: 31 30 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f  10 (-1) :xyz}.do
cfa0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
cfb0: 2e 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.5 {.  sqlite3
cfc0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
cfd0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
cfe0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31  ) :xyz} 10 10 -1
cff0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  .0.} {abc: 10 10
d000: 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78 79 7a   (-1.00000) :xyz
d010: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d020: 2d 32 2e 33 2e 38 2e 36 20 7b 0a 20 20 73 71 6c  -2.3.8.6 {.  sql
d030: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
d040: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
d050: 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30  (%010g) :xyz} 10
d060: 20 31 30 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a   10 -1.0.} {abc:
d070: 20 31 30 20 31 30 20 28 2d 30 30 30 30 30 30 30   10 10 (-0000000
d080: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
d090: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 37  t printf-2.3.8.7
d0a0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
d0b0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
d0c0: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66  : %d %d (%10.10f
d0d0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31  ) :xyz} 10 10 -1
d0e0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  .0.} {abc: 10 10
d0f0: 20 28 2d 31 2e 30 30 30 30 30 30 30 30 30 30 29   (-1.0000000000)
d100: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
d110: 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 38 20 7b 0a  rintf-2.3.8.8 {.
d120: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
d130: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
d140: 64 20 25 64 20 28 25 31 30 2e 31 30 65 29 20 3a  d %d (%10.10e) :
d150: 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30 0a  xyz} 10 10 -1.0.
d160: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d  } {abc: 10 10 (-
d170: 31 2e 30 30 30 30 30 30 30 30 30 30 65 2b 30 30  1.0000000000e+00
d180: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
d190: 70 72 69 6e 74 66 2d 32 2e 33 2e 38 2e 39 20 7b  printf-2.3.8.9 {
d1a0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
d1b0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
d1c0: 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20  %d %d (%10.10g) 
d1d0: 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 31 2e 30  :xyz} 10 10 -1.0
d1e0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
d1f0: 20 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a          -1) :xyz
d200: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d210: 2d 32 2e 33 2e 39 2e 31 20 7b 0a 20 20 73 71 6c  -2.3.9.1 {.  sql
d220: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
d230: 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
d240: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39  ) :xyz} 10 10 -9
d250: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
d260: 28 2d 39 39 2e 39 39 39 39 39 30 30 30 30 30 29  (-99.9999900000)
d270: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
d280: 72 69 6e 74 66 2d 32 2e 33 2e 39 2e 32 20 7b 0a  rintf-2.3.9.2 {.
d290: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
d2a0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
d2b0: 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*e) :xyz} 10 
d2c0: 31 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b  10 -99.99999.} {
d2d0: 61 62 63 3a 20 28 2d 39 2e 39 39 39 39 39 39 30  abc: (-9.9999990
d2e0: 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64  000e+01) :xyz}.d
d2f0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
d300: 33 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  3.9.3 {.  sqlite
d310: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
d320: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
d330: 78 79 7a 7d 20 31 30 20 31 30 20 2d 39 39 2e 39  xyz} 10 10 -99.9
d340: 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 2d  9999.} {abc: ( -
d350: 39 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  99.99999) :xyz}.
d360: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
d370: 2e 33 2e 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74  .3.9.4 {.  sqlit
d380: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
d390: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
d3a0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
d3b0: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
d3c0: 20 31 30 20 31 30 20 28 2d 31 30 30 29 20 3a 78   10 10 (-100) :x
d3d0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
d3e0: 74 66 2d 32 2e 33 2e 39 2e 35 20 7b 0a 20 20 73  tf-2.3.9.5 {.  s
d3f0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d400: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
d410: 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31 30  d (%#g) :xyz} 10
d420: 20 31 30 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20   10 -99.99999.} 
d430: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 31 30  {abc: 10 10 (-10
d440: 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
d450: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
d460: 39 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.6 {.  sqlite3_
d470: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
d480: 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
d490: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
d4a0: 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
d4b0: 20 31 30 20 31 30 20 28 2d 30 30 30 30 30 30 31   10 10 (-0000001
d4c0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
d4d0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 39 2e 37  t printf-2.3.9.7
d4e0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
d4f0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
d500: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66  : %d %d (%10.10f
d510: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 39  ) :xyz} 10 10 -9
d520: 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
d530: 31 30 20 31 30 20 28 2d 39 39 2e 39 39 39 39 39  10 10 (-99.99999
d540: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
d550: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
d560: 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.8 {.  sqlite3_
d570: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
d580: 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
d590: 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30  10e) :xyz} 10 10
d5a0: 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
d5b0: 63 3a 20 31 30 20 31 30 20 28 2d 39 2e 39 39 39  c: 10 10 (-9.999
d5c0: 39 39 39 30 30 30 30 65 2b 30 31 29 20 3a 78 79  9990000e+01) :xy
d5d0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d5e0: 66 2d 32 2e 33 2e 39 2e 39 20 7b 0a 20 20 73 71  f-2.3.9.9 {.  sq
d5f0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d600: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
d610: 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a 7d   (%10.10g) :xyz}
d620: 20 31 30 20 31 30 20 2d 39 39 2e 39 39 39 39 39   10 10 -99.99999
d630: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
d640: 20 2d 39 39 2e 39 39 39 39 39 29 20 3a 78 79 7a   -99.99999) :xyz
d650: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
d660: 2d 32 2e 33 2e 31 30 2e 31 20 7b 0a 20 20 73 71  -2.3.10.1 {.  sq
d670: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
d680: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
d690: 66 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  f) :xyz} 10 10 3
d6a0: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
d6b0: 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 30 30  3140000000.00000
d6c0: 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
d6d0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
d6e0: 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.2 {.  sqlite3
d6f0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
d700: 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
d710: 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65 2b  yz} 10 10 3.14e+
d720: 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 30  9.} {abc: (3.140
d730: 30 30 30 30 30 30 30 65 2b 30 39 29 20 3a 78 79  0000000e+09) :xy
d740: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d750: 66 2d 32 2e 33 2e 31 30 2e 33 20 7b 0a 20 20 73  f-2.3.10.3 {.  s
d760: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d770: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
d780: 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  *g) :xyz} 10 10 
d790: 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
d7a0: 28 33 31 34 30 30 30 30 30 30 30 29 20 3a 78 79  (3140000000) :xy
d7b0: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
d7c0: 66 2d 32 2e 33 2e 31 30 2e 34 20 7b 0a 20 20 73  f-2.3.10.4 {.  s
d7d0: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
d7e0: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
d7f0: 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20  d (%g) :xyz} 10 
d800: 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62  10 3.14e+9.} {ab
d810: 63 3a 20 31 30 20 31 30 20 28 33 2e 31 34 65 2b  c: 10 10 (3.14e+
d820: 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
d830: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30 2e  t printf-2.3.10.
d840: 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
d850: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
d860: 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
d870: 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 31 34 65  xyz} 10 10 3.14e
d880: 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  +9.} {abc: 10 10
d890: 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20 3a   (3.14000e+09) :
d8a0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
d8b0: 6e 74 66 2d 32 2e 33 2e 31 30 2e 36 20 7b 0a 20  ntf-2.3.10.6 {. 
d8c0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
d8d0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
d8e0: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
d8f0: 7d 20 31 30 20 31 30 20 33 2e 31 34 65 2b 39 0a  } 10 10 3.14e+9.
d900: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 30  } {abc: 10 10 (0
d910: 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  03.14e+09) :xyz}
d920: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
d930: 32 2e 33 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c  2.3.10.7 {.  sql
d940: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
d950: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
d960: 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20  (%10.10f) :xyz} 
d970: 31 30 20 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20  10 10 3.14e+9.} 
d980: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 31 34  {abc: 10 10 (314
d990: 30 30 30 30 30 30 30 2e 30 30 30 30 30 30 30 30  0000000.00000000
d9a0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
d9b0: 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 30 2e  t printf-2.3.10.
d9c0: 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
d9d0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
d9e0: 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30  c: %d %d (%10.10
d9f0: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33  e) :xyz} 10 10 3
da00: 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 31  .14e+9.} {abc: 1
da10: 30 20 31 30 20 28 33 2e 31 34 30 30 30 30 30 30  0 10 (3.14000000
da20: 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  00e+09) :xyz}.do
da30: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
da40: 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .10.9 {.  sqlite
da50: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
da60: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
da70: 30 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  0.10g) :xyz} 10 
da80: 31 30 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62  10 3.14e+9.} {ab
da90: 63 3a 20 31 30 20 31 30 20 28 33 31 34 30 30 30  c: 10 10 (314000
daa0: 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
dab0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
dac0: 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.2 {.  sqlite3_
dad0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
dae0: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
daf0: 7a 7d 20 31 30 20 31 30 20 2d 34 2e 37 32 37 33  z} 10 10 -4.7273
db00: 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
db10: 34 2e 37 32 37 33 32 30 30 30 30 30 65 2b 38 38  4.7273200000e+88
db20: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
db30: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 31 2e 33 20  printf-2.3.11.3 
db40: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
db50: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
db60: 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31   (%*.*g) :xyz} 1
db70: 30 20 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38  0 10 -4.72732e+8
db80: 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37 32  8.} {abc: (-4.72
db90: 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
dba0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
dbb0: 33 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74  3.11.4 {.  sqlit
dbc0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
dbd0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
dbe0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d  g) :xyz} 10 10 -
dbf0: 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
dc00: 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37 32  bc: 10 10 (-4.72
dc10: 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
dc20: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
dc30: 33 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  3.11.5 {.  sqlit
dc40: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
dc50: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
dc60: 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20  #g) :xyz} 10 10 
dc70: 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
dc80: 61 62 63 3a 20 31 30 20 31 30 20 28 2d 34 2e 37  abc: 10 10 (-4.7
dc90: 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
dca0: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
dcb0: 2e 33 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69  .3.11.6 {.  sqli
dcc0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
dcd0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
dce0: 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  %010g) :xyz} 10 
dcf0: 31 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a  10 -4.72732e+88.
dd00: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d  } {abc: 10 10 (-
dd10: 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
dd20: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
dd30: 66 2d 32 2e 33 2e 31 31 2e 38 20 7b 0a 20 20 73  f-2.3.11.8 {.  s
dd40: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
dd50: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
dd60: 64 20 28 25 31 30 2e 31 30 65 29 20 3a 78 79 7a  d (%10.10e) :xyz
dd70: 7d 20 31 30 20 31 30 20 2d 34 2e 37 32 37 33 32  } 10 10 -4.72732
dd80: 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20  e+88.} {abc: 10 
dd90: 31 30 20 28 2d 34 2e 37 32 37 33 32 30 30 30 30  10 (-4.727320000
dda0: 30 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+88) :xyz}.do_
ddb0: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e  test printf-2.3.
ddc0: 31 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.9 {.  sqlite3
ddd0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
dde0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30  {abc: %d %d (%10
ddf0: 2e 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 31  .10g) :xyz} 10 1
de00: 30 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  0 -4.72732e+88.}
de10: 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d 34   {abc: 10 10 (-4
de20: 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a  .72732e+88) :xyz
de30: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
de40: 2d 32 2e 33 2e 31 32 2e 32 20 7b 0a 20 20 73 71  -2.3.12.2 {.  sq
de50: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
de60: 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
de70: 65 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39  e) :xyz} 10 10 9
de80: 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
de90: 62 63 3a 20 28 39 2e 38 37 39 39 31 30 30 30 30  bc: (9.879910000
dea0: 30 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  0e+143) :xyz}.do
deb0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
dec0: 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .12.3 {.  sqlite
ded0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
dee0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
def0: 78 79 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39  xyz} 10 10 9.879
df00: 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
df10: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
df20: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
df30: 6e 74 66 2d 32 2e 33 2e 31 32 2e 34 20 7b 0a 20  ntf-2.3.12.4 {. 
df40: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
df50: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
df60: 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
df70: 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31 34  0 10 9.87991e+14
df80: 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  3.} {abc: 10 10 
df90: 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
dfa0: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
dfb0: 6e 74 66 2d 32 2e 33 2e 31 32 2e 35 20 7b 0a 20  ntf-2.3.12.5 {. 
dfc0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
dfd0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
dfe0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
dff0: 31 30 20 31 30 20 39 2e 38 37 39 39 31 65 2b 31  10 10 9.87991e+1
e000: 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30  43.} {abc: 10 10
e010: 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20   (9.87991e+143) 
e020: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
e030: 69 6e 74 66 2d 32 2e 33 2e 31 32 2e 36 20 7b 0a  intf-2.3.12.6 {.
e040: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
e050: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
e060: 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
e070: 7a 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39 31  z} 10 10 9.87991
e080: 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30  e+143.} {abc: 10
e090: 20 31 30 20 28 39 2e 38 37 39 39 31 65 2b 31 34   10 (9.87991e+14
e0a0: 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
e0b0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 32 2e 38   printf-2.3.12.8
e0c0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
e0d0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
e0e0: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65  : %d %d (%10.10e
e0f0: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 39 2e  ) :xyz} 10 10 9.
e100: 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
e110: 63 3a 20 31 30 20 31 30 20 28 39 2e 38 37 39 39  c: 10 10 (9.8799
e120: 31 30 30 30 30 30 65 2b 31 34 33 29 20 3a 78 79  100000e+143) :xy
e130: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
e140: 66 2d 32 2e 33 2e 31 32 2e 39 20 7b 0a 20 20 73  f-2.3.12.9 {.  s
e150: 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
e160: 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
e170: 64 20 28 25 31 30 2e 31 30 67 29 20 3a 78 79 7a  d (%10.10g) :xyz
e180: 7d 20 31 30 20 31 30 20 39 2e 38 37 39 39 31 65  } 10 10 9.87991e
e190: 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20  +143.} {abc: 10 
e1a0: 31 30 20 28 39 2e 38 37 39 39 31 65 2b 31 34 33  10 (9.87991e+143
e1b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e1c0: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 31 20  printf-2.3.13.1 
e1d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e1e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e1f0: 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31   (%*.*f) :xyz} 1
e200: 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d  0 10 -6.287291e-
e210: 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30  9.} {abc: (-0.00
e220: 30 30 30 30 30 30 36 33 29 20 3a 78 79 7a 7d 0a  00000063) :xyz}.
e230: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
e240: 2e 33 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69  .3.13.2 {.  sqli
e250: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
e260: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
e270: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e   :xyz} 10 10 -6.
e280: 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
e290: 3a 20 28 2d 36 2e 32 38 37 32 39 31 30 30 30 30  : (-6.2872910000
e2a0: 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
e2b0: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31  est printf-2.3.1
e2c0: 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.3 {.  sqlite3_
e2d0: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
e2e0: 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
e2f0: 7a 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32  z} 10 10 -6.2872
e300: 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  91e-9.} {abc: (-
e310: 36 2e 32 38 37 32 39 31 65 2d 30 39 29 20 3a 78  6.287291e-09) :x
e320: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e330: 74 66 2d 32 2e 33 2e 31 33 2e 34 20 7b 0a 20 20  tf-2.3.13.4 {.  
e340: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e350: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e360: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
e370: 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39   10 -6.287291e-9
e380: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28  .} {abc: 10 10 (
e390: 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
e3a0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e3b0: 74 66 2d 32 2e 33 2e 31 33 2e 35 20 7b 0a 20 20  tf-2.3.13.5 {.  
e3c0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e3d0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e3e0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
e3f0: 30 20 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d  0 10 -6.287291e-
e400: 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20  9.} {abc: 10 10 
e410: 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
e420: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
e430: 6e 74 66 2d 32 2e 33 2e 31 33 2e 36 20 7b 0a 20  ntf-2.3.13.6 {. 
e440: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
e450: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
e460: 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
e470: 7d 20 31 30 20 31 30 20 2d 36 2e 32 38 37 32 39  } 10 10 -6.28729
e480: 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  1e-9.} {abc: 10 
e490: 31 30 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39  10 (-6.28729e-09
e4a0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e4b0: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 37 20  printf-2.3.13.7 
e4c0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e4d0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e4e0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 66 29   %d %d (%10.10f)
e4f0: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e   :xyz} 10 10 -6.
e500: 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
e510: 3a 20 31 30 20 31 30 20 28 2d 30 2e 30 30 30 30  : 10 10 (-0.0000
e520: 30 30 30 30 36 33 29 20 3a 78 79 7a 7d 0a 64 6f  000063) :xyz}.do
e530: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
e540: 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .13.8 {.  sqlite
e550: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
e560: 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
e570: 30 2e 31 30 65 29 20 3a 78 79 7a 7d 20 31 30 20  0.10e) :xyz} 10 
e580: 31 30 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a  10 -6.287291e-9.
e590: 7d 20 7b 61 62 63 3a 20 31 30 20 31 30 20 28 2d  } {abc: 10 10 (-
e5a0: 36 2e 32 38 37 32 39 31 30 30 30 30 65 2d 30 39  6.2872910000e-09
e5b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e5c0: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 33 2e 39 20  printf-2.3.13.9 
e5d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e5e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e5f0: 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 67 29   %d %d (%10.10g)
e600: 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 2d 36 2e   :xyz} 10 10 -6.
e610: 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
e620: 3a 20 31 30 20 31 30 20 28 2d 36 2e 32 38 37 32  : 10 10 (-6.2872
e630: 39 31 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  91e-09) :xyz}.do
e640: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 33  _test printf-2.3
e650: 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  .14.1 {.  sqlite
e660: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
e670: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
e680: 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38  xyz} 10 10 3.388
e690: 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
e6a0: 63 3a 20 28 30 2e 30 30 30 30 30 30 30 30 30 30  c: (0.0000000000
e6b0: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
e6c0: 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 32 20  printf-2.3.14.2 
e6d0: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
e6e0: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
e6f0: 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
e700: 30 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65  0 10 3.38826392e
e710: 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e  -110.} {abc: (3.
e720: 33 38 38 32 36 33 39 32 30 30 65 2d 31 31 30 29  3882639200e-110)
e730: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e740: 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 33 20 7b  rintf-2.3.14.3 {
e750: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e760: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e770: 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30  (%*.*g) :xyz} 10
e780: 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d   10 3.38826392e-
e790: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33  110.} {abc: (3.3
e7a0: 38 38 32 36 33 39 32 65 2d 31 31 30 29 20 3a 78  8826392e-110) :x
e7b0: 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
e7c0: 74 66 2d 32 2e 33 2e 31 34 2e 34 20 7b 0a 20 20  tf-2.3.14.4 {.  
e7d0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
e7e0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
e7f0: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
e800: 20 31 30 20 33 2e 33 38 38 32 36 33 39 32 65 2d   10 3.38826392e-
e810: 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 31  110.} {abc: 10 1
e820: 30 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29  0 (3.38826e-110)
e830: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
e840: 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 35 20 7b  rintf-2.3.14.5 {
e850: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
e860: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
e870: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
e880: 7d 20 31 30 20 31 30 20 33 2e 33 38 38 32 36 33  } 10 10 3.388263
e890: 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
e8a0: 31 30 20 31 30 20 28 33 2e 33 38 38 32 36 65 2d  10 10 (3.38826e-
e8b0: 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
e8c0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34  st printf-2.3.14
e8d0: 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
e8e0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
e8f0: 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
e900: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e  ) :xyz} 10 10 3.
e910: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
e920: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e 33  {abc: 10 10 (3.3
e930: 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
e940: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
e950: 32 2e 33 2e 31 34 2e 37 20 7b 0a 20 20 73 71 6c  2.3.14.7 {.  sql
e960: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
e970: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
e980: 28 25 31 30 2e 31 30 66 29 20 3a 78 79 7a 7d 20  (%10.10f) :xyz} 
e990: 31 30 20 31 30 20 33 2e 33 38 38 32 36 33 39 32  10 10 3.38826392
e9a0: 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30  e-110.} {abc: 10
e9b0: 20 31 30 20 28 30 2e 30 30 30 30 30 30 30 30 30   10 (0.000000000
e9c0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
e9d0: 20 70 72 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 38   printf-2.3.14.8
e9e0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
e9f0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ea00: 3a 20 25 64 20 25 64 20 28 25 31 30 2e 31 30 65  : %d %d (%10.10e
ea10: 29 20 3a 78 79 7a 7d 20 31 30 20 31 30 20 33 2e  ) :xyz} 10 10 3.
ea20: 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
ea30: 7b 61 62 63 3a 20 31 30 20 31 30 20 28 33 2e 33  {abc: 10 10 (3.3
ea40: 38 38 32 36 33 39 32 30 30 65 2d 31 31 30 29 20  882639200e-110) 
ea50: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
ea60: 69 6e 74 66 2d 32 2e 33 2e 31 34 2e 39 20 7b 0a  intf-2.3.14.9 {.
ea70: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
ea80: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
ea90: 64 20 25 64 20 28 25 31 30 2e 31 30 67 29 20 3a  d %d (%10.10g) :
eaa0: 78 79 7a 7d 20 31 30 20 31 30 20 33 2e 33 38 38  xyz} 10 10 3.388
eab0: 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
eac0: 63 3a 20 31 30 20 31 30 20 28 33 2e 33 38 38 32  c: 10 10 (3.3882
ead0: 36 33 39 32 65 2d 31 31 30 29 20 3a 78 79 7a 7d  6392e-110) :xyz}
eae0: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
eaf0: 32 2e 34 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69  2.4.1.1 {.  sqli
eb00: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
eb10: 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
eb20: 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30   :xyz} 10 5 0.00
eb30: 31 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 30 2e  1.} {abc: (   0.
eb40: 30 30 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00100) :xyz}.do_
eb50: 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
eb60: 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.2 {.  sqlite3_
eb70: 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
eb80: 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
eb90: 7a 7d 20 31 30 20 35 20 30 2e 30 30 31 0a 7d 20  z} 10 5 0.001.} 
eba0: 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 65 2d  {abc: (1.00000e-
ebb0: 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
ebc0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 33  t printf-2.4.1.3
ebd0: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ebe0: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ebf0: 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
ec00: 31 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62  10 5 0.001.} {ab
ec10: 63 3a 20 28 20 20 20 20 20 30 2e 30 30 31 29 20  c: (     0.001) 
ec20: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
ec30: 69 6e 74 66 2d 32 2e 34 2e 31 2e 34 20 7b 0a 20  intf-2.4.1.4 {. 
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 67 29 20 3a 78 79 7a 7d 20 31   %d (%g) :xyz} 1
ec70: 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  0 5 0.001.} {abc
ec80: 3a 20 31 30 20 35 20 28 30 2e 30 30 31 29 20 3a  : 10 5 (0.001) :
ec90: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
eca0: 6e 74 66 2d 32 2e 34 2e 31 2e 35 20 7b 0a 20 20  ntf-2.4.1.5 {.  
ecb0: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
ecc0: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
ecd0: 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
ece0: 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  0 5 0.001.} {abc
ecf0: 3a 20 31 30 20 35 20 28 30 2e 30 30 31 30 30 30  : 10 5 (0.001000
ed00: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
ed10: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 36  t printf-2.4.1.6
ed20: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ed30: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ed40: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
ed50: 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30 31  :xyz} 10 5 0.001
ed60: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30  .} {abc: 10 5 (0
ed70: 30 30 30 30 30 2e 30 30 31 29 20 3a 78 79 7a 7d  00000.001) :xyz}
ed80: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
ed90: 32 2e 34 2e 31 2e 37 20 7b 0a 20 20 73 71 6c 69  2.4.1.7 {.  sqli
eda0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
edb0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
edc0: 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30  %10.5f) :xyz} 10
edd0: 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   5 0.001.} {abc:
ede0: 20 31 30 20 35 20 28 20 20 20 30 2e 30 30 31 30   10 5 (   0.0010
edf0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
ee00: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 2e 38 20   printf-2.4.1.8 
ee10: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
ee20: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
ee30: 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20   %d %d (%10.5e) 
ee40: 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 30 31  :xyz} 10 5 0.001
ee50: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31  .} {abc: 10 5 (1
ee60: 2e 30 30 30 30 30 65 2d 30 33 29 20 3a 78 79 7a  .00000e-03) :xyz
ee70: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
ee80: 2d 32 2e 34 2e 31 2e 39 20 7b 0a 20 20 73 71 6c  -2.4.1.9 {.  sql
ee90: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
eea0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
eeb0: 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31  (%10.5g) :xyz} 1
eec0: 30 20 35 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  0 5 0.001.} {abc
eed0: 3a 20 31 30 20 35 20 28 20 20 20 20 20 30 2e 30  : 10 5 (     0.0
eee0: 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
eef0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 31  t printf-2.4.2.1
ef00: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ef10: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ef20: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
ef30: 31 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b  10 5 1.0e-20.} {
ef40: 61 62 63 3a 20 28 20 20 20 30 2e 30 30 30 30 30  abc: (   0.00000
ef50: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
ef60: 70 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 32 20 7b  printf-2.4.2.2 {
ef70: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
ef80: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
ef90: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
efa0: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
efb0: 63 3a 20 28 31 2e 30 30 30 30 30 65 2d 32 30 29  c: (1.00000e-20)
efc0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
efd0: 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 33 20 7b 0a  rintf-2.4.2.3 {.
efe0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
eff0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
f000: 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*g) :xyz} 10 
f010: 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  5 1.0e-20.} {abc
f020: 3a 20 28 20 20 20 20 20 31 65 2d 32 30 29 20 3a  : (     1e-20) :
f030: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f040: 6e 74 66 2d 32 2e 34 2e 32 2e 34 20 7b 0a 20 20  ntf-2.4.2.4 {.  
f050: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f060: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
f070: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
f080: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
f090: 63 3a 20 31 30 20 35 20 28 31 65 2d 32 30 29 20  c: 10 5 (1e-20) 
f0a0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f0b0: 69 6e 74 66 2d 32 2e 34 2e 32 2e 35 20 7b 0a 20  intf-2.4.2.5 {. 
f0c0: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f0d0: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
f0e0: 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
f0f0: 31 30 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b  10 5 1.0e-20.} {
f100: 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30  abc: 10 5 (1.000
f110: 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e-20) :xyz}.do
f120: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
f130: 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .2.6 {.  sqlite3
f140: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
f150: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
f160: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  0g) :xyz} 10 5 1
f170: 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31  .0e-20.} {abc: 1
f180: 30 20 35 20 28 30 30 30 30 30 31 65 2d 32 30 29  0 5 (000001e-20)
f190: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
f1a0: 72 69 6e 74 66 2d 32 2e 34 2e 32 2e 37 20 7b 0a  rintf-2.4.2.7 {.
f1b0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
f1c0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
f1d0: 64 20 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78  d %d (%10.5f) :x
f1e0: 79 7a 7d 20 31 30 20 35 20 31 2e 30 65 2d 32 30  yz} 10 5 1.0e-20
f1f0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20  .} {abc: 10 5 ( 
f200: 20 20 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d    0.00000) :xyz}
f210: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
f220: 32 2e 34 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69  2.4.2.8 {.  sqli
f230: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
f240: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
f250: 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30  %10.5e) :xyz} 10
f260: 20 35 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   5 1.0e-20.} {ab
f270: 63 3a 20 31 30 20 35 20 28 31 2e 30 30 30 30 30  c: 10 5 (1.00000
f280: 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
f290: 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 32  est printf-2.4.2
f2a0: 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
f2b0: 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
f2c0: 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35  bc: %d %d (%10.5
f2d0: 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e  g) :xyz} 10 5 1.
f2e0: 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 31 30  0e-20.} {abc: 10
f2f0: 20 35 20 28 20 20 20 20 20 31 65 2d 32 30 29 20   5 (     1e-20) 
f300: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f310: 69 6e 74 66 2d 32 2e 34 2e 33 2e 31 20 7b 0a 20  intf-2.4.3.1 {. 
f320: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f330: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
f340: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*f) :xyz} 10 5
f350: 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20   1.0.} {abc: (  
f360: 20 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a   1.00000) :xyz}.
f370: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
f380: 2e 34 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .4.3.2 {.  sqlit
f390: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
f3a0: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
f3b0: 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a 7d  :xyz} 10 5 1.0.}
f3c0: 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 30 30 65   {abc: (1.00000e
f3d0: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
f3e0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e  st printf-2.4.3.
f3f0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
f400: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
f410: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
f420: 20 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63   10 5 1.0.} {abc
f430: 3a 20 28 20 20 20 20 20 20 20 20 20 31 29 20 3a  : (         1) :
f440: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f450: 6e 74 66 2d 32 2e 34 2e 33 2e 34 20 7b 0a 20 20  ntf-2.4.3.4 {.  
f460: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f470: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
f480: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
f490: 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   5 1.0.} {abc: 1
f4a0: 30 20 35 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f  0 5 (1) :xyz}.do
f4b0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
f4c0: 2e 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.5 {.  sqlite3
f4d0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
f4e0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
f4f0: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30  ) :xyz} 10 5 1.0
f500: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31  .} {abc: 10 5 (1
f510: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
f520: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
f530: 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.6 {.  sqlite3
f540: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
f550: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
f560: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31  0g) :xyz} 10 5 1
f570: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
f580: 28 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79  (0000000001) :xy
f590: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
f5a0: 66 2d 32 2e 34 2e 33 2e 37 20 7b 0a 20 20 73 71  f-2.4.3.7 {.  sq
f5b0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
f5c0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
f5d0: 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20   (%10.5f) :xyz} 
f5e0: 31 30 20 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a  10 5 1.0.} {abc:
f5f0: 20 31 30 20 35 20 28 20 20 20 31 2e 30 30 30 30   10 5 (   1.0000
f600: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
f610: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 33 2e 38 20   printf-2.4.3.8 
f620: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
f630: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
f640: 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20   %d %d (%10.5e) 
f650: 3a 78 79 7a 7d 20 31 30 20 35 20 31 2e 30 0a 7d  :xyz} 10 5 1.0.}
f660: 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 2e 30   {abc: 10 5 (1.0
f670: 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0000e+00) :xyz}.
f680: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
f690: 2e 34 2e 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .4.3.9 {.  sqlit
f6a0: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
f6b0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
f6c0: 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20  10.5g) :xyz} 10 
f6d0: 35 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  5 1.0.} {abc: 10
f6e0: 20 35 20 28 20 20 20 20 20 20 20 20 20 31 29 20   5 (         1) 
f6f0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
f700: 69 6e 74 66 2d 32 2e 34 2e 34 2e 31 20 7b 0a 20  intf-2.4.4.1 {. 
f710: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
f720: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
f730: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*f) :xyz} 10 5
f740: 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20 20   0.0.} {abc: (  
f750: 20 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a   0.00000) :xyz}.
f760: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
f770: 2e 34 2e 34 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .4.4.2 {.  sqlit
f780: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
f790: 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
f7a0: 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a 7d  :xyz} 10 5 0.0.}
f7b0: 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 30 30 65   {abc: (0.00000e
f7c0: 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
f7d0: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e  st printf-2.4.4.
f7e0: 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
f7f0: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
f800: 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
f810: 20 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63   10 5 0.0.} {abc
f820: 3a 20 28 20 20 20 20 20 20 20 20 20 30 29 20 3a  : (         0) :
f830: 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
f840: 6e 74 66 2d 32 2e 34 2e 34 2e 34 20 7b 0a 20 20  ntf-2.4.4.4 {.  
f850: 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
f860: 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
f870: 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
f880: 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31   5 0.0.} {abc: 1
f890: 30 20 35 20 28 30 29 20 3a 78 79 7a 7d 0a 64 6f  0 5 (0) :xyz}.do
f8a0: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
f8b0: 2e 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.5 {.  sqlite3
f8c0: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
f8d0: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67  {abc: %d %d (%#g
f8e0: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30  ) :xyz} 10 5 0.0
f8f0: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30  .} {abc: 10 5 (0
f900: 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
f910: 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
f920: 2e 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.6 {.  sqlite3
f930: 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
f940: 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
f950: 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 30  0g) :xyz} 10 5 0
f960: 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  .0.} {abc: 10 5 
f970: 28 30 30 30 30 30 30 30 30 30 30 29 20 3a 78 79  (0000000000) :xy
f980: 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
f990: 66 2d 32 2e 34 2e 34 2e 37 20 7b 0a 20 20 73 71  f-2.4.4.7 {.  sq
f9a0: 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
f9b0: 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
f9c0: 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20   (%10.5f) :xyz} 
f9d0: 31 30 20 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a  10 5 0.0.} {abc:
f9e0: 20 31 30 20 35 20 28 20 20 20 30 2e 30 30 30 30   10 5 (   0.0000
f9f0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
fa00: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 34 2e 38 20   printf-2.4.4.8 
fa10: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
fa20: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
fa30: 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20   %d %d (%10.5e) 
fa40: 3a 78 79 7a 7d 20 31 30 20 35 20 30 2e 30 0a 7d  :xyz} 10 5 0.0.}
fa50: 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30 2e 30   {abc: 10 5 (0.0
fa60: 30 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0000e+00) :xyz}.
fa70: 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
fa80: 2e 34 2e 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .4.4.9 {.  sqlit
fa90: 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
faa0: 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
fab0: 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30 20  10.5g) :xyz} 10 
fac0: 35 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30  5 0.0.} {abc: 10
fad0: 20 35 20 28 20 20 20 20 20 20 20 20 20 30 29 20   5 (         0) 
fae0: 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
faf0: 69 6e 74 66 2d 32 2e 34 2e 35 2e 31 20 7b 0a 20  intf-2.4.5.1 {. 
fb00: 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
fb10: 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
fb20: 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*f) :xyz} 10 5
fb30: 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   100.0.} {abc: (
fb40: 20 31 30 30 2e 30 30 30 30 30 29 20 3a 78 79 7a   100.00000) :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 35 2e 32 20 7b 0a 20 20 73 71 6c  -2.4.5.2 {.  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 28 25 2a 2e 2a 65  ble {abc: (%*.*e
fb90: 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30  ) :xyz} 10 5 100
fba0: 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  .0.} {abc: (1.00
fbb0: 30 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  000e+02) :xyz}.d
fbc0: 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
fbd0: 34 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  4.5.3 {.  sqlite
fbe0: 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
fbf0: 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
fc00: 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a  xyz} 10 5 100.0.
fc10: 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20 20 20  } {abc: (       
fc20: 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
fc30: 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e  st printf-2.4.5.
fc40: 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
fc50: 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
fc60: 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
fc70: 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d  yz} 10 5 100.0.}
fc80: 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31 30 30   {abc: 10 5 (100
fc90: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
fca0: 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 35 20 7b  printf-2.4.5.5 {
fcb0: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
fcc0: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
fcd0: 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
fce0: 7d 20 31 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b  } 10 5 100.0.} {
fcf0: 61 62 63 3a 20 31 30 20 35 20 28 31 30 30 2e 30  abc: 10 5 (100.0
fd00: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
fd10: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 36  t printf-2.4.5.6
fd20: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
fd30: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
fd40: 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
fd50: 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30  :xyz} 10 5 100.0
fd60: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 30  .} {abc: 10 5 (0
fd70: 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
fd80: 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
fd90: 32 2e 34 2e 35 2e 37 20 7b 0a 20 20 73 71 6c 69  2.4.5.7 {.  sqli
fda0: 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
fdb0: 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
fdc0: 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30  %10.5f) :xyz} 10
fdd0: 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   5 100.0.} {abc:
fde0: 20 31 30 20 35 20 28 20 31 30 30 2e 30 30 30 30   10 5 ( 100.0000
fdf0: 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
fe00: 20 70 72 69 6e 74 66 2d 32 2e 34 2e 35 2e 38 20   printf-2.4.5.8 
fe10: 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
fe20: 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
fe30: 20 25 64 20 25 64 20 28 25 31 30 2e 35 65 29 20   %d %d (%10.5e) 
fe40: 3a 78 79 7a 7d 20 31 30 20 35 20 31 30 30 2e 30  :xyz} 10 5 100.0
fe50: 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 31  .} {abc: 10 5 (1
fe60: 2e 30 30 30 30 30 65 2b 30 32 29 20 3a 78 79 7a  .00000e+02) :xyz
fe70: 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
fe80: 2d 32 2e 34 2e 35 2e 39 20 7b 0a 20 20 73 71 6c  -2.4.5.9 {.  sql
fe90: 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
fea0: 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
feb0: 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31  (%10.5g) :xyz} 1
fec0: 30 20 35 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  0 5 100.0.} {abc
fed0: 3a 20 31 30 20 35 20 28 20 20 20 20 20 20 20 31  : 10 5 (       1
fee0: 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
fef0: 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 31  t printf-2.4.6.1
ff00: 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
ff10: 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
ff20: 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
ff30: 31 30 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b  10 5 9.99999.} {
ff40: 61 62 63 3a 20 28 20 20 20 39 2e 39 39 39 39 39  abc: (   9.99999
ff50: 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
ff60: 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 32 20 7b  printf-2.4.6.2 {
ff70: 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
ff80: 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
ff90: 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
ffa0: 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
ffb0: 63 3a 20 28 39 2e 39 39 39 39 39 65 2b 30 30 29  c: (9.99999e+00)
ffc0: 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
ffd0: 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 33 20 7b 0a  rintf-2.4.6.3 {.
ffe0: 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
fff0: 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
10000 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20  %*.*g) :xyz} 10 
10010 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  5 9.99999.} {abc
10020 3a 20 28 20 20 20 20 20 20 20 20 31 30 29 20 3a  : (        10) :
10030 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
10040 6e 74 66 2d 32 2e 34 2e 36 2e 34 20 7b 0a 20 20  ntf-2.4.6.4 {.  
10050 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
10060 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
10070 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30  %d (%g) :xyz} 10
10080 20 35 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   5 9.99999.} {ab
10090 63 3a 20 31 30 20 35 20 28 39 2e 39 39 39 39 39  c: 10 5 (9.99999
100a0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
100b0 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 35 20 7b  printf-2.4.6.5 {
100c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
100d0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
100e0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
100f0 7d 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a 7d  } 10 5 9.99999.}
10100 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 39   {abc: 10 5 (9.9
10110 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  9999) :xyz}.do_t
10120 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36  est printf-2.4.6
10130 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
10140 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10150 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
10160 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 39  ) :xyz} 10 5 9.9
10170 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
10180 35 20 28 30 30 30 39 2e 39 39 39 39 39 29 20 3a  5 (0009.99999) :
10190 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
101a0 6e 74 66 2d 32 2e 34 2e 36 2e 37 20 7b 0a 20 20  ntf-2.4.6.7 {.  
101b0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
101c0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
101d0 25 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a  %d (%10.5f) :xyz
101e0 7d 20 31 30 20 35 20 39 2e 39 39 39 39 39 0a 7d  } 10 5 9.99999.}
101f0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20 20   {abc: 10 5 (   
10200 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64  9.99999) :xyz}.d
10210 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10220 34 2e 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  4.6.8 {.  sqlite
10230 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
10240 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 31   {abc: %d %d (%1
10250 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35  0.5e) :xyz} 10 5
10260 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
10270 20 31 30 20 35 20 28 39 2e 39 39 39 39 39 65 2b   10 5 (9.99999e+
10280 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
10290 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 36 2e 39  t printf-2.4.6.9
102a0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
102b0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
102c0 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67 29  : %d %d (%10.5g)
102d0 20 3a 78 79 7a 7d 20 31 30 20 35 20 39 2e 39 39   :xyz} 10 5 9.99
102e0 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  999.} {abc: 10 5
102f0 20 28 20 20 20 20 20 20 20 20 31 30 29 20 3a 78   (        10) :x
10300 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10310 74 66 2d 32 2e 34 2e 37 2e 31 20 7b 0a 20 20 73  tf-2.4.7.1 {.  s
10320 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10330 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
10340 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  *f) :xyz} 10 5 -
10350 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
10360 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79  (  -0.00543) :xy
10370 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
10380 66 2d 32 2e 34 2e 37 2e 32 20 7b 0a 20 20 73 71  f-2.4.7.2 {.  sq
10390 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
103a0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
103b0 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30  e) :xyz} 10 5 -0
103c0 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28  .00543.} {abc: (
103d0 2d 35 2e 34 33 30 30 30 65 2d 30 33 29 20 3a 78  -5.43000e-03) :x
103e0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
103f0 74 66 2d 32 2e 34 2e 37 2e 33 20 7b 0a 20 20 73  tf-2.4.7.3 {.  s
10400 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10410 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
10420 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  *g) :xyz} 10 5 -
10430 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
10440 28 20 20 2d 30 2e 30 30 35 34 33 29 20 3a 78 79  (  -0.00543) :xy
10450 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
10460 66 2d 32 2e 34 2e 37 2e 34 20 7b 0a 20 20 73 71  f-2.4.7.4 {.  sq
10470 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
10480 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
10490 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35   (%g) :xyz} 10 5
104a0 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
104b0 3a 20 31 30 20 35 20 28 2d 30 2e 30 30 35 34 33  : 10 5 (-0.00543
104c0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
104d0 70 72 69 6e 74 66 2d 32 2e 34 2e 37 2e 35 20 7b  printf-2.4.7.5 {
104e0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
104f0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
10500 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
10510 7d 20 31 30 20 35 20 2d 30 2e 30 30 35 34 33 0a  } 10 5 -0.00543.
10520 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 30  } {abc: 10 5 (-0
10530 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79 7a 7d  .00543000) :xyz}
10540 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
10550 32 2e 34 2e 37 2e 36 20 7b 0a 20 20 73 71 6c 69  2.4.7.6 {.  sqli
10560 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
10570 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
10580 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20  %010g) :xyz} 10 
10590 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  5 -0.00543.} {ab
105a0 63 3a 20 31 30 20 35 20 28 2d 30 30 30 2e 30 30  c: 10 5 (-000.00
105b0 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
105c0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 37 2e  st printf-2.4.7.
105d0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
105e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
105f0 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 66  c: %d %d (%10.5f
10600 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 30 2e  ) :xyz} 10 5 -0.
10610 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 31 30  00543.} {abc: 10
10620 20 35 20 28 20 20 2d 30 2e 30 30 35 34 33 29 20   5 (  -0.00543) 
10630 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
10640 69 6e 74 66 2d 32 2e 34 2e 37 2e 38 20 7b 0a 20  intf-2.4.7.8 {. 
10650 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
10660 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
10670 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79   %d (%10.5e) :xy
10680 7a 7d 20 31 30 20 35 20 2d 30 2e 30 30 35 34 33  z} 10 5 -0.00543
10690 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
106a0 35 2e 34 33 30 30 30 65 2d 30 33 29 20 3a 78 79  5.43000e-03) :xy
106b0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
106c0 66 2d 32 2e 34 2e 37 2e 39 20 7b 0a 20 20 73 71  f-2.4.7.9 {.  sq
106d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
106e0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
106f0 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
10700 31 30 20 35 20 2d 30 2e 30 30 35 34 33 0a 7d 20  10 5 -0.00543.} 
10710 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20 2d 30  {abc: 10 5 (  -0
10720 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
10730 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
10740 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.1 {.  sqlite3
10750 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10760 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
10770 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20  yz} 10 5 -1.0.} 
10780 7b 61 62 63 3a 20 28 20 20 2d 31 2e 30 30 30 30  {abc: (  -1.0000
10790 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
107a0 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e 32 20   printf-2.4.8.2 
107b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
107c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
107d0 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31   (%*.*e) :xyz} 1
107e0 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  0 5 -1.0.} {abc:
107f0 20 28 2d 31 2e 30 30 30 30 30 65 2b 30 30 29 20   (-1.00000e+00) 
10800 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
10810 69 6e 74 66 2d 32 2e 34 2e 38 2e 33 20 7b 0a 20  intf-2.4.8.3 {. 
10820 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
10830 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
10840 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  *.*g) :xyz} 10 5
10850 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 20   -1.0.} {abc: ( 
10860 20 20 20 20 20 20 20 2d 31 29 20 3a 78 79 7a 7d         -1) :xyz}
10870 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
10880 32 2e 34 2e 38 2e 34 20 7b 0a 20 20 73 71 6c 69  2.4.8.4 {.  sqli
10890 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
108a0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
108b0 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  %g) :xyz} 10 5 -
108c0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  1.0.} {abc: 10 5
108d0 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   (-1) :xyz}.do_t
108e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38  est printf-2.4.8
108f0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
10900 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
10910 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
10920 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e 30 0a  :xyz} 10 5 -1.0.
10930 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 31  } {abc: 10 5 (-1
10940 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  .00000) :xyz}.do
10950 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
10960 2e 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  .8.6 {.  sqlite3
10970 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
10980 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
10990 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  0g) :xyz} 10 5 -
109a0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  1.0.} {abc: 10 5
109b0 20 28 2d 30 30 30 30 30 30 30 30 31 29 20 3a 78   (-000000001) :x
109c0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
109d0 74 66 2d 32 2e 34 2e 38 2e 37 20 7b 0a 20 20 73  tf-2.4.8.7 {.  s
109e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
109f0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
10a00 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d  d (%10.5f) :xyz}
10a10 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62   10 5 -1.0.} {ab
10a20 63 3a 20 31 30 20 35 20 28 20 20 2d 31 2e 30 30  c: 10 5 (  -1.00
10a30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
10a40 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 38 2e  st printf-2.4.8.
10a50 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
10a60 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10a70 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 65  c: %d %d (%10.5e
10a80 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 31 2e  ) :xyz} 10 5 -1.
10a90 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  0.} {abc: 10 5 (
10aa0 2d 31 2e 30 30 30 30 30 65 2b 30 30 29 20 3a 78  -1.00000e+00) :x
10ab0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
10ac0 74 66 2d 32 2e 34 2e 38 2e 39 20 7b 0a 20 20 73  tf-2.4.8.9 {.  s
10ad0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
10ae0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
10af0 64 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d  d (%10.5g) :xyz}
10b00 20 31 30 20 35 20 2d 31 2e 30 0a 7d 20 7b 61 62   10 5 -1.0.} {ab
10b10 63 3a 20 31 30 20 35 20 28 20 20 20 20 20 20 20  c: 10 5 (       
10b20 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   -1) :xyz}.do_te
10b30 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e  st printf-2.4.9.
10b40 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
10b50 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10b60 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
10b70 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a   10 5 -99.99999.
10b80 7d 20 7b 61 62 63 3a 20 28 20 2d 39 39 2e 39 39  } {abc: ( -99.99
10b90 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  999) :xyz}.do_te
10ba0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e  st printf-2.4.9.
10bb0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
10bc0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10bd0 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
10be0 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a   10 5 -99.99999.
10bf0 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 30  } {abc: (-1.0000
10c00 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+02) :xyz}.do_
10c10 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10c20 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.3 {.  sqlite3_
10c30 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10c40 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
10c50 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39  z} 10 5 -99.9999
10c60 39 0a 7d 20 7b 61 62 63 3a 20 28 20 20 20 20 20  9.} {abc: (     
10c70 20 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   -100) :xyz}.do_
10c80 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10c90 39 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.4 {.  sqlite3_
10ca0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10cb0 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
10cc0 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39 39 2e 39  :xyz} 10 5 -99.9
10cd0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20  9999.} {abc: 10 
10ce0 35 20 28 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64  5 (-100) :xyz}.d
10cf0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
10d00 34 2e 39 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  4.9.5 {.  sqlite
10d10 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
10d20 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
10d30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39  g) :xyz} 10 5 -9
10d40 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
10d50 31 30 20 35 20 28 2d 31 30 30 2e 30 30 30 29 20  10 5 (-100.000) 
10d60 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
10d70 69 6e 74 66 2d 32 2e 34 2e 39 2e 36 20 7b 0a 20  intf-2.4.9.6 {. 
10d80 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
10d90 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
10da0 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
10db0 7d 20 31 30 20 35 20 2d 39 39 2e 39 39 39 39 39  } 10 5 -99.99999
10dc0 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
10dd0 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
10de0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
10df0 32 2e 34 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69  2.4.9.7 {.  sqli
10e00 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
10e10 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
10e20 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30  %10.5f) :xyz} 10
10e30 20 35 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b   5 -99.99999.} {
10e40 61 62 63 3a 20 31 30 20 35 20 28 20 2d 39 39 2e  abc: 10 5 ( -99.
10e50 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  99999) :xyz}.do_
10e60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
10e70 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  9.8 {.  sqlite3_
10e80 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
10e90 61 62 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e  abc: %d %d (%10.
10ea0 35 65 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  5e) :xyz} 10 5 -
10eb0 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
10ec0 20 31 30 20 35 20 28 2d 31 2e 30 30 30 30 30 65   10 5 (-1.00000e
10ed0 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
10ee0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 39 2e  st printf-2.4.9.
10ef0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
10f00 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
10f10 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67  c: %d %d (%10.5g
10f20 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 39 39  ) :xyz} 10 5 -99
10f30 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 31  .99999.} {abc: 1
10f40 30 20 35 20 28 20 20 20 20 20 20 2d 31 30 30 29  0 5 (      -100)
10f50 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
10f60 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 31 20 7b  rintf-2.4.10.1 {
10f70 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
10f80 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
10f90 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 31 30  (%*.*f) :xyz} 10
10fa0 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
10fb0 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e 30  c: (3140000000.0
10fc0 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
10fd0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
10fe0 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.2 {.  sqlite3_
10ff0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11000 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79  abc: (%*.*e) :xy
11010 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a  z} 10 5 3.14e+9.
11020 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 30 30 30  } {abc: (3.14000
11030 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
11040 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
11050 30 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.3 {.  sqlite3_
11060 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
11070 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
11080 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a  z} 10 5 3.14e+9.
11090 7d 20 7b 61 62 63 3a 20 28 20 20 33 2e 31 34 65  } {abc: (  3.14e
110a0 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
110b0 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30  st printf-2.4.10
110c0 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
110d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
110e0 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
110f0 78 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65 2b  xyz} 10 5 3.14e+
11100 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  9.} {abc: 10 5 (
11110 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
11120 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11130 2e 34 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69  .4.10.5 {.  sqli
11140 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11150 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11160 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  %#g) :xyz} 10 5 
11170 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
11180 31 30 20 35 20 28 33 2e 31 34 30 30 30 65 2b 30  10 5 (3.14000e+0
11190 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
111a0 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 30 2e 36   printf-2.4.10.6
111b0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
111c0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
111d0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
111e0 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 31 34 65  :xyz} 10 5 3.14e
111f0 2b 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20  +9.} {abc: 10 5 
11200 28 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79  (003.14e+09) :xy
11210 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11220 66 2d 32 2e 34 2e 31 30 2e 37 20 7b 0a 20 20 73  f-2.4.10.7 {.  s
11230 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11240 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
11250 64 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d  d (%10.5f) :xyz}
11260 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20   10 5 3.14e+9.} 
11270 7b 61 62 63 3a 20 31 30 20 35 20 28 33 31 34 30  {abc: 10 5 (3140
11280 30 30 30 30 30 30 2e 30 30 30 30 30 29 20 3a 78  000000.00000) :x
11290 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
112a0 74 66 2d 32 2e 34 2e 31 30 2e 38 20 7b 0a 20 20  tf-2.4.10.8 {.  
112b0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
112c0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
112d0 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
112e0 7d 20 31 30 20 35 20 33 2e 31 34 65 2b 39 0a 7d  } 10 5 3.14e+9.}
112f0 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e 31   {abc: 10 5 (3.1
11300 34 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  4000e+09) :xyz}.
11310 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11320 2e 34 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69  .4.10.9 {.  sqli
11330 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11340 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11350 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20 31 30  %10.5g) :xyz} 10
11360 20 35 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   5 3.14e+9.} {ab
11370 63 3a 20 31 30 20 35 20 28 20 20 33 2e 31 34 65  c: 10 5 (  3.14e
11380 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
11390 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 31  st printf-2.4.11
113a0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
113b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
113c0 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
113d0 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65  } 10 5 -4.72732e
113e0 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e  +88.} {abc: (-4.
113f0 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d  72732e+88) :xyz}
11400 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
11410 32 2e 34 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c  2.4.11.3 {.  sql
11420 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
11430 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
11440 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d 34 2e  ) :xyz} 10 5 -4.
11450 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
11460 3a 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29 20  : (-4.7273e+88) 
11470 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
11480 69 6e 74 66 2d 32 2e 34 2e 31 31 2e 34 20 7b 0a  intf-2.4.11.4 {.
11490 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
114a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
114b0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
114c0 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38  10 5 -4.72732e+8
114d0 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  8.} {abc: 10 5 (
114e0 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
114f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
11500 74 66 2d 32 2e 34 2e 31 31 2e 35 20 7b 0a 20 20  tf-2.4.11.5 {.  
11510 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
11520 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
11530 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 31  %d (%#g) :xyz} 1
11540 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38 38  0 5 -4.72732e+88
11550 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d  .} {abc: 10 5 (-
11560 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
11570 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11580 66 2d 32 2e 34 2e 31 31 2e 36 20 7b 0a 20 20 73  f-2.4.11.6 {.  s
11590 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
115a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
115b0 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
115c0 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65 2b 38  10 5 -4.72732e+8
115d0 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  8.} {abc: 10 5 (
115e0 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78  -4.72732e+88) :x
115f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
11600 74 66 2d 32 2e 34 2e 31 31 2e 38 20 7b 0a 20 20  tf-2.4.11.8 {.  
11610 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
11620 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
11630 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79 7a  %d (%10.5e) :xyz
11640 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33 32 65  } 10 5 -4.72732e
11650 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35  +88.} {abc: 10 5
11660 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38 29 20   (-4.72732e+88) 
11670 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
11680 69 6e 74 66 2d 32 2e 34 2e 31 31 2e 39 20 7b 0a  intf-2.4.11.9 {.
11690 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
116a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
116b0 64 20 25 64 20 28 25 31 30 2e 35 67 29 20 3a 78  d %d (%10.5g) :x
116c0 79 7a 7d 20 31 30 20 35 20 2d 34 2e 37 32 37 33  yz} 10 5 -4.7273
116d0 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 31 30  2e+88.} {abc: 10
116e0 20 35 20 28 2d 34 2e 37 32 37 33 65 2b 38 38 29   5 (-4.7273e+88)
116f0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
11700 72 69 6e 74 66 2d 32 2e 34 2e 31 32 2e 32 20 7b  rintf-2.4.12.2 {
11710 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
11720 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
11730 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
11740 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   5 9.87991e+143.
11750 7d 20 7b 61 62 63 3a 20 28 39 2e 38 37 39 39 31  } {abc: (9.87991
11760 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
11770 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
11780 31 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.3 {.  sqlite3
11790 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
117a0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
117b0 79 7a 7d 20 31 30 20 35 20 39 2e 38 37 39 39 31  yz} 10 5 9.87991
117c0 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28 39  e+143.} {abc: (9
117d0 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79 7a  .8799e+143) :xyz
117e0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
117f0 2d 32 2e 34 2e 31 32 2e 34 20 7b 0a 20 20 73 71  -2.4.12.4 {.  sq
11800 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11810 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11820 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35   (%g) :xyz} 10 5
11830 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
11840 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37  {abc: 10 5 (9.87
11850 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  991e+143) :xyz}.
11860 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11870 2e 34 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c 69  .4.12.5 {.  sqli
11880 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11890 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
118a0 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  %#g) :xyz} 10 5 
118b0 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
118c0 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37 39  abc: 10 5 (9.879
118d0 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  91e+143) :xyz}.d
118e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
118f0 34 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74  4.12.6 {.  sqlit
11900 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11910 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11920 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  010g) :xyz} 10 5
11930 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
11940 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e 38 37  {abc: 10 5 (9.87
11950 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a  991e+143) :xyz}.
11960 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11970 2e 34 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69  .4.12.8 {.  sqli
11980 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11990 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
119a0 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30  %10.5e) :xyz} 10
119b0 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   5 9.87991e+143.
119c0 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 39 2e  } {abc: 10 5 (9.
119d0 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
119e0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
119f0 2d 32 2e 34 2e 31 32 2e 39 20 7b 0a 20 20 73 71  -2.4.12.9 {.  sq
11a00 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11a10 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11a20 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
11a30 31 30 20 35 20 39 2e 38 37 39 39 31 65 2b 31 34  10 5 9.87991e+14
11a40 33 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  3.} {abc: 10 5 (
11a50 39 2e 38 37 39 39 65 2b 31 34 33 29 20 3a 78 79  9.8799e+143) :xy
11a60 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11a70 66 2d 32 2e 34 2e 31 33 2e 31 20 7b 0a 20 20 73  f-2.4.13.1 {.  s
11a80 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11a90 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
11aa0 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 2d  *f) :xyz} 10 5 -
11ab0 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
11ac0 62 63 3a 20 28 20 20 2d 30 2e 30 30 30 30 30 29  bc: (  -0.00000)
11ad0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
11ae0 72 69 6e 74 66 2d 32 2e 34 2e 31 33 2e 32 20 7b  rintf-2.4.13.2 {
11af0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
11b00 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
11b10 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 31 30  (%*.*e) :xyz} 10
11b20 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   5 -6.287291e-9.
11b30 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37 32  } {abc: (-6.2872
11b40 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  9e-09) :xyz}.do_
11b50 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e  test printf-2.4.
11b60 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.3 {.  sqlite3
11b70 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
11b80 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
11b90 79 7a 7d 20 31 30 20 35 20 2d 36 2e 32 38 37 32  yz} 10 5 -6.2872
11ba0 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  91e-9.} {abc: (-
11bb0 36 2e 32 38 37 33 65 2d 30 39 29 20 3a 78 79 7a  6.2873e-09) :xyz
11bc0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
11bd0 2d 32 2e 34 2e 31 33 2e 34 20 7b 0a 20 20 73 71  -2.4.13.4 {.  sq
11be0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11bf0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11c00 20 28 25 67 29 20 3a 78 79 7a 7d 20 31 30 20 35   (%g) :xyz} 10 5
11c10 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
11c20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32  {abc: 10 5 (-6.2
11c30 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
11c40 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11c50 2e 34 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69  .4.13.5 {.  sqli
11c60 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11c70 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11c80 25 23 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  %#g) :xyz} 10 5 
11c90 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
11ca0 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32 38  abc: 10 5 (-6.28
11cb0 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64  729e-09) :xyz}.d
11cc0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
11cd0 34 2e 31 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74  4.13.6 {.  sqlit
11ce0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
11cf0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
11d00 30 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35  010g) :xyz} 10 5
11d10 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
11d20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36 2e 32  {abc: 10 5 (-6.2
11d30 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  8729e-09) :xyz}.
11d40 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11d50 2e 34 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c 69  .4.13.7 {.  sqli
11d60 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11d70 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11d80 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20 31 30  %10.5f) :xyz} 10
11d90 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   5 -6.287291e-9.
11da0 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 20 20  } {abc: 10 5 (  
11db0 2d 30 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  -0.00000) :xyz}.
11dc0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
11dd0 2e 34 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69  .4.13.8 {.  sqli
11de0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
11df0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
11e00 25 31 30 2e 35 65 29 20 3a 78 79 7a 7d 20 31 30  %10.5e) :xyz} 10
11e10 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   5 -6.287291e-9.
11e20 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 2d 36  } {abc: 10 5 (-6
11e30 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
11e40 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
11e50 2d 32 2e 34 2e 31 33 2e 39 20 7b 0a 20 20 73 71  -2.4.13.9 {.  sq
11e60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
11e70 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
11e80 20 28 25 31 30 2e 35 67 29 20 3a 78 79 7a 7d 20   (%10.5g) :xyz} 
11e90 31 30 20 35 20 2d 36 2e 32 38 37 32 39 31 65 2d  10 5 -6.287291e-
11ea0 39 0a 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28  9.} {abc: 10 5 (
11eb0 2d 36 2e 32 38 37 33 65 2d 30 39 29 20 3a 78 79  -6.2873e-09) :xy
11ec0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11ed0 66 2d 32 2e 34 2e 31 34 2e 31 20 7b 0a 20 20 73  f-2.4.14.1 {.  s
11ee0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11ef0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
11f00 2a 66 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33  *f) :xyz} 10 5 3
11f10 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
11f20 20 7b 61 62 63 3a 20 28 20 20 20 30 2e 30 30 30   {abc: (   0.000
11f30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
11f40 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e  t printf-2.4.14.
11f50 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
11f60 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
11f70 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
11f80 20 31 30 20 35 20 33 2e 33 38 38 32 36 33 39 32   10 5 3.38826392
11f90 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33  e-110.} {abc: (3
11fa0 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
11fb0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
11fc0 66 2d 32 2e 34 2e 31 34 2e 33 20 7b 0a 20 20 73  f-2.4.14.3 {.  s
11fd0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
11fe0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
11ff0 2a 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33  *g) :xyz} 10 5 3
12000 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
12010 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 33 65 2d   {abc: (3.3883e-
12020 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  110) :xyz}.do_te
12030 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34  st printf-2.4.14
12040 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
12050 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
12060 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
12070 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38 38 32  xyz} 10 5 3.3882
12080 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
12090 3a 20 31 30 20 35 20 28 33 2e 33 38 38 32 36 65  : 10 5 (3.38826e
120a0 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
120b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31  est printf-2.4.1
120c0 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.5 {.  sqlite3_
120d0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
120e0 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
120f0 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33 38   :xyz} 10 5 3.38
12100 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61  826392e-110.} {a
12110 62 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38 32  bc: 10 5 (3.3882
12120 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  6e-110) :xyz}.do
12130 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 34  _test printf-2.4
12140 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65  .14.6 {.  sqlite
12150 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12160 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30   {abc: %d %d (%0
12170 31 30 67 29 20 3a 78 79 7a 7d 20 31 30 20 35 20  10g) :xyz} 10 5 
12180 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
12190 7d 20 7b 61 62 63 3a 20 31 30 20 35 20 28 33 2e  } {abc: 10 5 (3.
121a0 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
121b0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
121c0 2d 32 2e 34 2e 31 34 2e 37 20 7b 0a 20 20 73 71  -2.4.14.7 {.  sq
121d0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
121e0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
121f0 20 28 25 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20   (%10.5f) :xyz} 
12200 31 30 20 35 20 33 2e 33 38 38 32 36 33 39 32 65  10 5 3.38826392e
12210 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 31 30 20  -110.} {abc: 10 
12220 35 20 28 20 20 20 30 2e 30 30 30 30 30 29 20 3a  5 (   0.00000) :
12230 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
12240 6e 74 66 2d 32 2e 34 2e 31 34 2e 38 20 7b 0a 20  ntf-2.4.14.8 {. 
12250 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12260 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
12270 20 25 64 20 28 25 31 30 2e 35 65 29 20 3a 78 79   %d (%10.5e) :xy
12280 7a 7d 20 31 30 20 35 20 33 2e 33 38 38 32 36 33  z} 10 5 3.388263
12290 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
122a0 31 30 20 35 20 28 33 2e 33 38 38 32 36 65 2d 31  10 5 (3.38826e-1
122b0 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
122c0 74 20 70 72 69 6e 74 66 2d 32 2e 34 2e 31 34 2e  t printf-2.4.14.
122d0 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
122e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
122f0 63 3a 20 25 64 20 25 64 20 28 25 31 30 2e 35 67  c: %d %d (%10.5g
12300 29 20 3a 78 79 7a 7d 20 31 30 20 35 20 33 2e 33  ) :xyz} 10 5 3.3
12310 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
12320 61 62 63 3a 20 31 30 20 35 20 28 33 2e 33 38 38  abc: 10 5 (3.388
12330 33 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  3e-110) :xyz}.do
12340 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
12350 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .1.1 {.  sqlite3
12360 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
12370 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
12380 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 2 2 0.001.} 
12390 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79  {abc: (0.00) :xy
123a0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
123b0 66 2d 32 2e 35 2e 31 2e 32 20 7b 0a 20 20 73 71  f-2.5.1.2 {.  sq
123c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
123d0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
123e0 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30  e) :xyz} 2 2 0.0
123f0 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  01.} {abc: (1.00
12400 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
12410 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
12420 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
12430 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
12440 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
12450 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61  } 2 2 0.001.} {a
12460 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a  bc: (0.001) :xyz
12470 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12480 2d 32 2e 35 2e 31 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.1.4 {.  sql
12490 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
124a0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
124b0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30  (%g) :xyz} 2 2 0
124c0 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 32  .001.} {abc: 2 2
124d0 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
124e0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
124f0 35 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  5.1.5 {.  sqlite
12500 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
12510 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
12520 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30  g) :xyz} 2 2 0.0
12530 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  01.} {abc: 2 2 (
12540 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a  0.00100000) :xyz
12550 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12560 2d 32 2e 35 2e 31 2e 36 20 7b 0a 20 20 73 71 6c  -2.5.1.6 {.  sql
12570 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12580 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12590 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20  (%010g) :xyz} 2 
125a0 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  2 0.001.} {abc: 
125b0 32 20 32 20 28 30 30 30 30 30 30 2e 30 30 31 29  2 2 (000000.001)
125c0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
125d0 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 37 20 7b 0a  rintf-2.5.1.7 {.
125e0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
125f0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
12600 64 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79  d %d (%2.2f) :xy
12610 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 2 0.001.} {
12620 61 62 63 3a 20 32 20 32 20 28 30 2e 30 30 29 20  abc: 2 2 (0.00) 
12630 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12640 69 6e 74 66 2d 32 2e 35 2e 31 2e 38 20 7b 0a 20  intf-2.5.1.8 {. 
12650 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12660 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
12670 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
12680 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61  } 2 2 0.001.} {a
12690 62 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2d 30  bc: 2 2 (1.00e-0
126a0 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
126b0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 2e 39 20   printf-2.5.1.9 
126c0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
126d0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
126e0 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a   %d %d (%2.2g) :
126f0 78 79 7a 7d 20 32 20 32 20 30 2e 30 30 31 0a 7d  xyz} 2 2 0.001.}
12700 20 7b 61 62 63 3a 20 32 20 32 20 28 30 2e 30 30   {abc: 2 2 (0.00
12710 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
12720 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 31 20   printf-2.5.2.1 
12730 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
12740 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
12750 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32   (%*.*f) :xyz} 2
12760 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   2 1.0e-20.} {ab
12770 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  c: (0.00) :xyz}.
12780 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
12790 2e 35 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74  .5.2.2 {.  sqlit
127a0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
127b0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
127c0 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 65 2d 32  :xyz} 2 2 1.0e-2
127d0 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 65  0.} {abc: (1.00e
127e0 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
127f0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e  st printf-2.5.2.
12800 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
12810 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
12820 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
12830 20 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   2 2 1.0e-20.} {
12840 61 62 63 3a 20 28 31 65 2d 32 30 29 20 3a 78 79  abc: (1e-20) :xy
12850 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12860 66 2d 32 2e 35 2e 32 2e 34 20 7b 0a 20 20 73 71  f-2.5.2.4 {.  sq
12870 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12880 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
12890 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20   (%g) :xyz} 2 2 
128a0 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
128b0 32 20 32 20 28 31 65 2d 32 30 29 20 3a 78 79 7a  2 2 (1e-20) :xyz
128c0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
128d0 2d 32 2e 35 2e 32 2e 35 20 7b 0a 20 20 73 71 6c  -2.5.2.5 {.  sql
128e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
128f0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12900 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  (%#g) :xyz} 2 2 
12910 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
12920 32 20 32 20 28 31 2e 30 30 30 30 30 65 2d 32 30  2 2 (1.00000e-20
12930 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12940 70 72 69 6e 74 66 2d 32 2e 35 2e 32 2e 36 20 7b  printf-2.5.2.6 {
12950 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12960 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12970 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
12980 79 7a 7d 20 32 20 32 20 31 2e 30 65 2d 32 30 0a  yz} 2 2 1.0e-20.
12990 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 30 30 30  } {abc: 2 2 (000
129a0 30 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  001e-20) :xyz}.d
129b0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
129c0 35 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  5.2.7 {.  sqlite
129d0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
129e0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
129f0 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  .2f) :xyz} 2 2 1
12a00 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 32  .0e-20.} {abc: 2
12a10 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a   2 (0.00) :xyz}.
12a20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
12a30 2e 35 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .5.2.8 {.  sqlit
12a40 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
12a50 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
12a60 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2e) :xyz} 2 2 
12a70 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
12a80 32 20 32 20 28 31 2e 30 30 65 2d 32 30 29 20 3a  2 2 (1.00e-20) :
12a90 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
12aa0 6e 74 66 2d 32 2e 35 2e 32 2e 39 20 7b 0a 20 20  ntf-2.5.2.9 {.  
12ab0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
12ac0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
12ad0 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d  %d (%2.2g) :xyz}
12ae0 20 32 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   2 2 1.0e-20.} {
12af0 61 62 63 3a 20 32 20 32 20 28 31 65 2d 32 30 29  abc: 2 2 (1e-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 33 2e 31 20 7b 0a  rintf-2.5.3.1 {.
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 28  f_double {abc: (
12b40 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*f) :xyz} 2 2
12b50 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e   1.0.} {abc: (1.
12b60 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
12b70 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 32  t printf-2.5.3.2
12b80 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
12b90 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
12ba0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
12bb0 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 2 1.0.} {abc: 
12bc0 28 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  (1.00e+00) :xyz}
12bd0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
12be0 32 2e 35 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69  2.5.3.3 {.  sqli
12bf0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
12c00 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
12c10 20 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d   :xyz} 2 2 1.0.}
12c20 20 7b 61 62 63 3a 20 28 20 31 29 20 3a 78 79 7a   {abc: ( 1) :xyz
12c30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
12c40 2d 32 2e 35 2e 33 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.3.4 {.  sql
12c50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
12c60 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
12c70 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31  (%g) :xyz} 2 2 1
12c80 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  .0.} {abc: 2 2 (
12c90 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
12ca0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 35 20   printf-2.5.3.5 
12cb0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
12cc0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
12cd0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
12ce0 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 2 1.0.} {ab
12cf0 63 3a 20 32 20 32 20 28 31 2e 30 30 30 30 30 29  c: 2 2 (1.00000)
12d00 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
12d10 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 36 20 7b 0a  rintf-2.5.3.6 {.
12d20 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12d30 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
12d40 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
12d50 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 2 1.0.} {ab
12d60 63 3a 20 32 20 32 20 28 30 30 30 30 30 30 30 30  c: 2 2 (00000000
12d70 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
12d80 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 37  t printf-2.5.3.7
12d90 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
12da0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
12db0 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29 20  : %d %d (%2.2f) 
12dc0 3a 78 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20  :xyz} 2 2 1.0.} 
12dd0 7b 61 62 63 3a 20 32 20 32 20 28 31 2e 30 30 29  {abc: 2 2 (1.00)
12de0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
12df0 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 38 20 7b 0a  rintf-2.5.3.8 {.
12e00 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
12e10 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
12e20 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79  d %d (%2.2e) :xy
12e30 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 2 1.0.} {ab
12e40 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2b 30 30  c: 2 2 (1.00e+00
12e50 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
12e60 70 72 69 6e 74 66 2d 32 2e 35 2e 33 2e 39 20 7b  printf-2.5.3.9 {
12e70 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
12e80 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
12e90 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78  %d %d (%2.2g) :x
12ea0 79 7a 7d 20 32 20 32 20 31 2e 30 0a 7d 20 7b 61  yz} 2 2 1.0.} {a
12eb0 62 63 3a 20 32 20 32 20 28 20 31 29 20 3a 78 79  bc: 2 2 ( 1) :xy
12ec0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
12ed0 66 2d 32 2e 35 2e 34 2e 31 20 7b 0a 20 20 73 71  f-2.5.4.1 {.  sq
12ee0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
12ef0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
12f00 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30  f) :xyz} 2 2 0.0
12f10 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20  .} {abc: (0.00) 
12f20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
12f30 69 6e 74 66 2d 32 2e 35 2e 34 2e 32 20 7b 0a 20  intf-2.5.4.2 {. 
12f40 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
12f50 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
12f60 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
12f70 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  0.0.} {abc: (0.0
12f80 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+00) :xyz}.do_
12f90 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
12fa0 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.3 {.  sqlite3_
12fb0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
12fc0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
12fd0 7a 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 2 2 0.0.} {ab
12fe0 63 3a 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64 6f  c: ( 0) :xyz}.do
12ff0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13000 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.4 {.  sqlite3
13010 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13020 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29  {abc: %d %d (%g)
13030 20 3a 78 79 7a 7d 20 32 20 32 20 30 2e 30 0a 7d   :xyz} 2 2 0.0.}
13040 20 7b 61 62 63 3a 20 32 20 32 20 28 30 29 20 3a   {abc: 2 2 (0) :
13050 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13060 6e 74 66 2d 32 2e 35 2e 34 2e 35 20 7b 0a 20 20  ntf-2.5.4.5 {.  
13070 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13080 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13090 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
130a0 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 0.0.} {abc: 2
130b0 20 32 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79   2 (0.00000) :xy
130c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
130d0 66 2d 32 2e 35 2e 34 2e 36 20 7b 0a 20 20 73 71  f-2.5.4.6 {.  sq
130e0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
130f0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13100 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
13110 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 0.0.} {abc: 2
13120 20 32 20 28 30 30 30 30 30 30 30 30 30 30 29 20   2 (0000000000) 
13130 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13140 69 6e 74 66 2d 32 2e 35 2e 34 2e 37 20 7b 0a 20  intf-2.5.4.7 {. 
13150 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13160 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
13170 20 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a   %d (%2.2f) :xyz
13180 7d 20 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63  } 2 2 0.0.} {abc
13190 3a 20 32 20 32 20 28 30 2e 30 30 29 20 3a 78 79  : 2 2 (0.00) :xy
131a0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
131b0 66 2d 32 2e 35 2e 34 2e 38 20 7b 0a 20 20 73 71  f-2.5.4.8 {.  sq
131c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
131d0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
131e0 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32   (%2.2e) :xyz} 2
131f0 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   2 0.0.} {abc: 2
13200 20 32 20 28 30 2e 30 30 65 2b 30 30 29 20 3a 78   2 (0.00e+00) :x
13210 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13220 74 66 2d 32 2e 35 2e 34 2e 39 20 7b 0a 20 20 73  tf-2.5.4.9 {.  s
13230 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
13240 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
13250 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%2.2g) :xyz} 
13260 32 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 2 0.0.} {abc: 
13270 32 20 32 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64  2 2 ( 0) :xyz}.d
13280 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
13290 35 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  5.5.1 {.  sqlite
132a0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
132b0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
132c0 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d  xyz} 2 2 100.0.}
132d0 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30 29 20   {abc: (100.00) 
132e0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
132f0 69 6e 74 66 2d 32 2e 35 2e 35 2e 32 20 7b 0a 20  intf-2.5.5.2 {. 
13300 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
13310 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
13320 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
13330 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  100.0.} {abc: (1
13340 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  .00e+02) :xyz}.d
13350 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
13360 35 2e 35 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  5.5.3 {.  sqlite
13370 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
13380 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
13390 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d  xyz} 2 2 100.0.}
133a0 20 7b 61 62 63 3a 20 28 31 65 2b 30 32 29 20 3a   {abc: (1e+02) :
133b0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
133c0 6e 74 66 2d 32 2e 35 2e 35 2e 34 20 7b 0a 20 20  ntf-2.5.5.4 {.  
133d0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
133e0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
133f0 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20  %d (%g) :xyz} 2 
13400 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 100.0.} {abc: 
13410 32 20 32 20 28 31 30 30 29 20 3a 78 79 7a 7d 0a  2 2 (100) :xyz}.
13420 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
13430 2e 35 2e 35 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .5.5.5 {.  sqlit
13440 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
13450 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
13460 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 31 30  #g) :xyz} 2 2 10
13470 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  0.0.} {abc: 2 2 
13480 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  (100.000) :xyz}.
13490 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
134a0 2e 35 2e 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .5.5.6 {.  sqlit
134b0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
134c0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
134d0 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  010g) :xyz} 2 2 
134e0 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20  100.0.} {abc: 2 
134f0 32 20 28 30 30 30 30 30 30 30 31 30 30 29 20 3a  2 (0000000100) :
13500 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13510 6e 74 66 2d 32 2e 35 2e 35 2e 37 20 7b 0a 20 20  ntf-2.5.5.7 {.  
13520 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13530 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13540 25 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d  %d (%2.2f) :xyz}
13550 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 2 100.0.} {ab
13560 63 3a 20 32 20 32 20 28 31 30 30 2e 30 30 29 20  c: 2 2 (100.00) 
13570 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
13580 69 6e 74 66 2d 32 2e 35 2e 35 2e 38 20 7b 0a 20  intf-2.5.5.8 {. 
13590 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
135a0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
135b0 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a   %d (%2.2e) :xyz
135c0 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61  } 2 2 100.0.} {a
135d0 62 63 3a 20 32 20 32 20 28 31 2e 30 30 65 2b 30  bc: 2 2 (1.00e+0
135e0 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
135f0 20 70 72 69 6e 74 66 2d 32 2e 35 2e 35 2e 39 20   printf-2.5.5.9 
13600 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
13610 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
13620 20 25 64 20 25 64 20 28 25 32 2e 32 67 29 20 3a   %d %d (%2.2g) :
13630 78 79 7a 7d 20 32 20 32 20 31 30 30 2e 30 0a 7d  xyz} 2 2 100.0.}
13640 20 7b 61 62 63 3a 20 32 20 32 20 28 31 65 2b 30   {abc: 2 2 (1e+0
13650 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  2) :xyz}.do_test
13660 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e 31 20   printf-2.5.6.1 
13670 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
13680 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
13690 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32   (%*.*f) :xyz} 2
136a0 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   2 9.99999.} {ab
136b0 63 3a 20 28 31 30 2e 30 30 29 20 3a 78 79 7a 7d  c: (10.00) :xyz}
136c0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
136d0 32 2e 35 2e 36 2e 32 20 7b 0a 20 20 73 71 6c 69  2.5.6.2 {.  sqli
136e0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
136f0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
13700 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39 39   :xyz} 2 2 9.999
13710 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  99.} {abc: (1.00
13720 65 2b 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+01) :xyz}.do_t
13730 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36  est printf-2.5.6
13740 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
13750 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13760 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
13770 7d 20 32 20 32 20 39 2e 39 39 39 39 39 0a 7d 20  } 2 2 9.99999.} 
13780 7b 61 62 63 3a 20 28 31 30 29 20 3a 78 79 7a 7d  {abc: (10) :xyz}
13790 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
137a0 32 2e 35 2e 36 2e 34 20 7b 0a 20 20 73 71 6c 69  2.5.6.4 {.  sqli
137b0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
137c0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
137d0 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e  %g) :xyz} 2 2 9.
137e0 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20  99999.} {abc: 2 
137f0 32 20 28 39 2e 39 39 39 39 39 29 20 3a 78 79 7a  2 (9.99999) :xyz
13800 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13810 2d 32 2e 35 2e 36 2e 35 20 7b 0a 20 20 73 71 6c  -2.5.6.5 {.  sql
13820 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13830 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
13840 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  (%#g) :xyz} 2 2 
13850 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
13860 32 20 32 20 28 39 2e 39 39 39 39 39 29 20 3a 78  2 2 (9.99999) :x
13870 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13880 74 66 2d 32 2e 35 2e 36 2e 36 20 7b 0a 20 20 73  tf-2.5.6.6 {.  s
13890 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
138a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
138b0 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
138c0 32 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 2 9.99999.} {a
138d0 62 63 3a 20 32 20 32 20 28 30 30 30 39 2e 39 39  bc: 2 2 (0009.99
138e0 39 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  999) :xyz}.do_te
138f0 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 36 2e  st printf-2.5.6.
13900 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
13910 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
13920 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29  c: %d %d (%2.2f)
13930 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39 39 39   :xyz} 2 2 9.999
13940 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  99.} {abc: 2 2 (
13950 31 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  10.00) :xyz}.do_
13960 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
13970 36 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  6.8 {.  sqlite3_
13980 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
13990 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32  abc: %d %d (%2.2
139a0 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e 39  e) :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 31 2e 30 30 65 2b 30 31 29 20 3a 78 79 7a   (1.00e+01) :xyz
139d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
139e0 2d 32 2e 35 2e 36 2e 39 20 7b 0a 20 20 73 71 6c  -2.5.6.9 {.  sql
139f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13a00 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
13a10 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.2g) :xyz} 2 
13a20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  2 9.99999.} {abc
13a30 3a 20 32 20 32 20 28 31 30 29 20 3a 78 79 7a 7d  : 2 2 (10) :xyz}
13a40 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13a50 32 2e 35 2e 37 2e 31 20 7b 0a 20 20 73 71 6c 69  2.5.7.1 {.  sqli
13a60 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13a70 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
13a80 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30 30   :xyz} 2 2 -0.00
13a90 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e  543.} {abc: (-0.
13aa0 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
13ab0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 32  t printf-2.5.7.2
13ac0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
13ad0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
13ae0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
13af0 32 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  2 2 -0.00543.} {
13b00 61 62 63 3a 20 28 2d 35 2e 34 33 65 2d 30 33 29  abc: (-5.43e-03)
13b10 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13b20 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 33 20 7b 0a  rintf-2.5.7.3 {.
13b30 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13b40 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
13b50 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*g) :xyz} 2 2
13b60 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63   -0.00543.} {abc
13b70 3a 20 28 2d 30 2e 30 30 35 34 29 20 3a 78 79 7a  : (-0.0054) :xyz
13b80 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
13b90 2d 32 2e 35 2e 37 2e 34 20 7b 0a 20 20 73 71 6c  -2.5.7.4 {.  sql
13ba0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
13bb0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
13bc0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  (%g) :xyz} 2 2 -
13bd0 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
13be0 32 20 32 20 28 2d 30 2e 30 30 35 34 33 29 20 3a  2 2 (-0.00543) :
13bf0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
13c00 6e 74 66 2d 32 2e 35 2e 37 2e 35 20 7b 0a 20 20  ntf-2.5.7.5 {.  
13c10 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
13c20 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
13c30 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32  %d (%#g) :xyz} 2
13c40 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   2 -0.00543.} {a
13c50 62 63 3a 20 32 20 32 20 28 2d 30 2e 30 30 35 34  bc: 2 2 (-0.0054
13c60 33 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  3000) :xyz}.do_t
13c70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 37  est printf-2.5.7
13c80 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
13c90 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
13ca0 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
13cb0 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30 2e 30  ) :xyz} 2 2 -0.0
13cc0 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32  0543.} {abc: 2 2
13cd0 20 28 2d 30 30 30 2e 30 30 35 34 33 29 20 3a 78   (-000.00543) :x
13ce0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
13cf0 74 66 2d 32 2e 35 2e 37 2e 37 20 7b 0a 20 20 73  tf-2.5.7.7 {.  s
13d00 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
13d10 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
13d20 64 20 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20  d (%2.2f) :xyz} 
13d30 32 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b  2 2 -0.00543.} {
13d40 61 62 63 3a 20 32 20 32 20 28 2d 30 2e 30 31 29  abc: 2 2 (-0.01)
13d50 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
13d60 72 69 6e 74 66 2d 32 2e 35 2e 37 2e 38 20 7b 0a  rintf-2.5.7.8 {.
13d70 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
13d80 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
13d90 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79  d %d (%2.2e) :xy
13da0 7a 7d 20 32 20 32 20 2d 30 2e 30 30 35 34 33 0a  z} 2 2 -0.00543.
13db0 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 35 2e  } {abc: 2 2 (-5.
13dc0 34 33 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  43e-03) :xyz}.do
13dd0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
13de0 2e 37 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.9 {.  sqlite3
13df0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
13e00 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
13e10 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 30  2g) :xyz} 2 2 -0
13e20 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32  .00543.} {abc: 2
13e30 20 32 20 28 2d 30 2e 30 30 35 34 29 20 3a 78 79   2 (-0.0054) :xy
13e40 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13e50 66 2d 32 2e 35 2e 38 2e 31 20 7b 0a 20 20 73 71  f-2.5.8.1 {.  sq
13e60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13e70 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
13e80 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e  f) :xyz} 2 2 -1.
13e90 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30  0.} {abc: (-1.00
13ea0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
13eb0 70 72 69 6e 74 66 2d 32 2e 35 2e 38 2e 32 20 7b  printf-2.5.8.2 {
13ec0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
13ed0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
13ee0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
13ef0 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28  2 -1.0.} {abc: (
13f00 2d 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  -1.00e+00) :xyz}
13f10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
13f20 32 2e 35 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69  2.5.8.3 {.  sqli
13f30 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
13f40 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
13f50 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a   :xyz} 2 2 -1.0.
13f60 7d 20 7b 61 62 63 3a 20 28 2d 31 29 20 3a 78 79  } {abc: (-1) :xy
13f70 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
13f80 66 2d 32 2e 35 2e 38 2e 34 20 7b 0a 20 20 73 71  f-2.5.8.4 {.  sq
13f90 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
13fa0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
13fb0 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20   (%g) :xyz} 2 2 
13fc0 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  -1.0.} {abc: 2 2
13fd0 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74   (-1) :xyz}.do_t
13fe0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38  est printf-2.5.8
13ff0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
14000 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
14010 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
14020 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30 0a 7d  :xyz} 2 2 -1.0.}
14030 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31 2e 30   {abc: 2 2 (-1.0
14040 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0000) :xyz}.do_t
14050 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 38  est printf-2.5.8
14060 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
14070 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
14080 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
14090 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 31 2e 30  ) :xyz} 2 2 -1.0
140a0 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 30  .} {abc: 2 2 (-0
140b0 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a  00000001) :xyz}.
140c0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
140d0 2e 35 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .5.8.7 {.  sqlit
140e0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
140f0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14100 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2f) :xyz} 2 2 
14110 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  -1.0.} {abc: 2 2
14120 20 28 2d 31 2e 30 30 29 20 3a 78 79 7a 7d 0a 64   (-1.00) :xyz}.d
14130 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14140 35 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  5.8.8 {.  sqlite
14150 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
14160 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
14170 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .2e) :xyz} 2 2 -
14180 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  1.0.} {abc: 2 2 
14190 28 2d 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a  (-1.00e+00) :xyz
141a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
141b0 2d 32 2e 35 2e 38 2e 39 20 7b 0a 20 20 73 71 6c  -2.5.8.9 {.  sql
141c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
141d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
141e0 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.2g) :xyz} 2 
141f0 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32  2 -1.0.} {abc: 2
14200 20 32 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f   2 (-1) :xyz}.do
14210 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
14220 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.1 {.  sqlite3
14230 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
14240 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
14250 79 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39  yz} 2 2 -99.9999
14260 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 2e  9.} {abc: (-100.
14270 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
14280 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 32  t printf-2.5.9.2
14290 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
142a0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
142b0 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
142c0 32 20 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  2 2 -99.99999.} 
142d0 7b 61 62 63 3a 20 28 2d 31 2e 30 30 65 2b 30 32  {abc: (-1.00e+02
142e0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
142f0 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 33 20 7b  printf-2.5.9.3 {
14300 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14310 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14320 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20  (%*.*g) :xyz} 2 
14330 32 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  2 -99.99999.} {a
14340 62 63 3a 20 28 2d 31 65 2b 30 32 29 20 3a 78 79  bc: (-1e+02) :xy
14350 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
14360 66 2d 32 2e 35 2e 39 2e 34 20 7b 0a 20 20 73 71  f-2.5.9.4 {.  sq
14370 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14380 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
14390 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 32 20   (%g) :xyz} 2 2 
143a0 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
143b0 3a 20 32 20 32 20 28 2d 31 30 30 29 20 3a 78 79  : 2 2 (-100) :xy
143c0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
143d0 66 2d 32 2e 35 2e 39 2e 35 20 7b 0a 20 20 73 71  f-2.5.9.5 {.  sq
143e0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
143f0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
14400 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 32   (%#g) :xyz} 2 2
14410 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
14420 63 3a 20 32 20 32 20 28 2d 31 30 30 2e 30 30 30  c: 2 2 (-100.000
14430 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14440 70 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 36 20 7b  printf-2.5.9.6 {
14450 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14460 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14470 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
14480 79 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39  yz} 2 2 -99.9999
14490 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d  9.} {abc: 2 2 (-
144a0 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a 7d  000000100) :xyz}
144b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
144c0 32 2e 35 2e 39 2e 37 20 7b 0a 20 20 73 71 6c 69  2.5.9.7 {.  sqli
144d0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
144e0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
144f0 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32  %2.2f) :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 32 20 32 20 28 2d 31 30 30 2e 30 30 29  c: 2 2 (-100.00)
14520 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14530 72 69 6e 74 66 2d 32 2e 35 2e 39 2e 38 20 7b 0a  rintf-2.5.9.8 {.
14540 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14550 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
14560 64 20 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79  d %d (%2.2e) :xy
14570 7a 7d 20 32 20 32 20 2d 39 39 2e 39 39 39 39 39  z} 2 2 -99.99999
14580 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 31  .} {abc: 2 2 (-1
14590 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64  .00e+02) :xyz}.d
145a0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
145b0 35 2e 39 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  5.9.9 {.  sqlite
145c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
145d0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
145e0 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .2g) :xyz} 2 2 -
145f0 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a  99.99999.} {abc:
14600 20 32 20 32 20 28 2d 31 65 2b 30 32 29 20 3a 78   2 2 (-1e+02) :x
14610 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14620 74 66 2d 32 2e 35 2e 31 30 2e 31 20 7b 0a 20 20  tf-2.5.10.1 {.  
14630 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
14640 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
14650 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 33  .*f) :xyz} 2 2 3
14660 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
14670 33 31 34 30 30 30 30 30 30 30 2e 30 30 29 20 3a  3140000000.00) :
14680 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14690 6e 74 66 2d 32 2e 35 2e 31 30 2e 32 20 7b 0a 20  ntf-2.5.10.2 {. 
146a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
146b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
146c0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*e) :xyz} 2 2 
146d0 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
146e0 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d  (3.14e+09) :xyz}
146f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
14700 32 2e 35 2e 31 30 2e 33 20 7b 0a 20 20 73 71 6c  2.5.10.3 {.  sql
14710 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
14720 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
14730 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34  ) :xyz} 2 2 3.14
14740 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31  e+9.} {abc: (3.1
14750 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+09) :xyz}.do_t
14760 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31  est printf-2.5.1
14770 30 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  0.4 {.  sqlite3_
14780 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
14790 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
147a0 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b  :xyz} 2 2 3.14e+
147b0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33  9.} {abc: 2 2 (3
147c0 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
147d0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
147e0 35 2e 31 30 2e 35 20 7b 0a 20 20 73 71 6c 69 74  5.10.5 {.  sqlit
147f0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14800 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14810 23 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e  #g) :xyz} 2 2 3.
14820 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20  14e+9.} {abc: 2 
14830 32 20 28 33 2e 31 34 30 30 30 65 2b 30 39 29 20  2 (3.14000e+09) 
14840 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14850 69 6e 74 66 2d 32 2e 35 2e 31 30 2e 36 20 7b 0a  intf-2.5.10.6 {.
14860 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14870 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
14880 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
14890 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b 39 0a 7d  z} 2 2 3.14e+9.}
148a0 20 7b 61 62 63 3a 20 32 20 32 20 28 30 30 33 2e   {abc: 2 2 (003.
148b0 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  14e+09) :xyz}.do
148c0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35  _test printf-2.5
148d0 2e 31 30 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  .10.7 {.  sqlite
148e0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
148f0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
14900 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20 32 20 33  .2f) :xyz} 2 2 3
14910 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32  .14e+9.} {abc: 2
14920 20 32 20 28 33 31 34 30 30 30 30 30 30 30 2e 30   2 (3140000000.0
14930 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
14940 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 30 2e 38   printf-2.5.10.8
14950 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
14960 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
14970 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65 29 20  : %d %d (%2.2e) 
14980 3a 78 79 7a 7d 20 32 20 32 20 33 2e 31 34 65 2b  :xyz} 2 2 3.14e+
14990 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 33  9.} {abc: 2 2 (3
149a0 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  .14e+09) :xyz}.d
149b0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
149c0 35 2e 31 30 2e 39 20 7b 0a 20 20 73 71 6c 69 74  5.10.9 {.  sqlit
149d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
149e0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
149f0 32 2e 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2g) :xyz} 2 2 
14a00 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
14a10 32 20 32 20 28 33 2e 31 65 2b 30 39 29 20 3a 78  2 2 (3.1e+09) :x
14a20 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
14a30 74 66 2d 32 2e 35 2e 31 31 2e 32 20 7b 0a 20 20  tf-2.5.11.2 {.  
14a40 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
14a50 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
14a60 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d  .*e) :xyz} 2 2 -
14a70 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61  4.72732e+88.} {a
14a80 62 63 3a 20 28 2d 34 2e 37 33 65 2b 38 38 29 20  bc: (-4.73e+88) 
14a90 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14aa0 69 6e 74 66 2d 32 2e 35 2e 31 31 2e 33 20 7b 0a  intf-2.5.11.3 {.
14ab0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14ac0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
14ad0 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*g) :xyz} 2 2
14ae0 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
14af0 7b 61 62 63 3a 20 28 2d 34 2e 37 65 2b 38 38 29  {abc: (-4.7e+88)
14b00 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
14b10 72 69 6e 74 66 2d 32 2e 35 2e 31 31 2e 34 20 7b  rintf-2.5.11.4 {
14b20 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
14b30 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
14b40 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
14b50 20 32 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38   2 2 -4.72732e+8
14b60 38 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d  8.} {abc: 2 2 (-
14b70 34 2e 37 32 37 33 32 65 2b 38 38 29 20 3a 78 79  4.72732e+88) :xy
14b80 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
14b90 66 2d 32 2e 35 2e 31 31 2e 35 20 7b 0a 20 20 73  f-2.5.11.5 {.  s
14ba0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
14bb0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
14bc0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
14bd0 32 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d  2 -4.72732e+88.}
14be0 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37   {abc: 2 2 (-4.7
14bf0 32 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  2732e+88) :xyz}.
14c00 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
14c10 2e 35 2e 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69  .5.11.6 {.  sqli
14c20 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
14c30 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
14c40 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 32  %010g) :xyz} 2 2
14c50 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
14c60 7b 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 32  {abc: 2 2 (-4.72
14c70 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
14c80 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
14c90 35 2e 31 31 2e 38 20 7b 0a 20 20 73 71 6c 69 74  5.11.8 {.  sqlit
14ca0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
14cb0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
14cc0 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20 32 20  2.2e) :xyz} 2 2 
14cd0 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b  -4.72732e+88.} {
14ce0 61 62 63 3a 20 32 20 32 20 28 2d 34 2e 37 33 65  abc: 2 2 (-4.73e
14cf0 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
14d00 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 31  st printf-2.5.11
14d10 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
14d20 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
14d30 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 67  bc: %d %d (%2.2g
14d40 29 20 3a 78 79 7a 7d 20 32 20 32 20 2d 34 2e 37  ) :xyz} 2 2 -4.7
14d50 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
14d60 20 32 20 32 20 28 2d 34 2e 37 65 2b 38 38 29 20   2 2 (-4.7e+88) 
14d70 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
14d80 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 32 20 7b 0a  intf-2.5.12.2 {.
14d90 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
14da0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
14db0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*e) :xyz} 2 2
14dc0 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
14dd0 7b 61 62 63 3a 20 28 39 2e 38 38 65 2b 31 34 33  {abc: (9.88e+143
14de0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
14df0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 33 20  printf-2.5.12.3 
14e00 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
14e10 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
14e20 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32   (%*.*g) :xyz} 2
14e30 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   2 9.87991e+143.
14e40 7d 20 7b 61 62 63 3a 20 28 39 2e 39 65 2b 31 34  } {abc: (9.9e+14
14e50 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
14e60 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 32 2e 34   printf-2.5.12.4
14e70 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
14e80 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
14e90 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
14ea0 7a 7d 20 32 20 32 20 39 2e 38 37 39 39 31 65 2b  z} 2 2 9.87991e+
14eb0 31 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  143.} {abc: 2 2 
14ec0 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
14ed0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
14ee0 6e 74 66 2d 32 2e 35 2e 31 32 2e 35 20 7b 0a 20  ntf-2.5.12.5 {. 
14ef0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
14f00 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
14f10 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
14f20 32 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33  2 2 9.87991e+143
14f30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e  .} {abc: 2 2 (9.
14f40 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
14f50 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
14f60 2d 32 2e 35 2e 31 32 2e 36 20 7b 0a 20 20 73 71  -2.5.12.6 {.  sq
14f70 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
14f80 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
14f90 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
14fa0 20 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   2 9.87991e+143.
14fb0 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38  } {abc: 2 2 (9.8
14fc0 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
14fd0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
14fe0 32 2e 35 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c  2.5.12.8 {.  sql
14ff0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
15000 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
15010 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d 20 32 20  (%2.2e) :xyz} 2 
15020 32 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  2 9.87991e+143.}
15030 20 7b 61 62 63 3a 20 32 20 32 20 28 39 2e 38 38   {abc: 2 2 (9.88
15040 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e+143) :xyz}.do_
15050 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e  test printf-2.5.
15060 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  12.9 {.  sqlite3
15070 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
15080 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
15090 32 67 29 20 3a 78 79 7a 7d 20 32 20 32 20 39 2e  2g) :xyz} 2 2 9.
150a0 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62  87991e+143.} {ab
150b0 63 3a 20 32 20 32 20 28 39 2e 39 65 2b 31 34 33  c: 2 2 (9.9e+143
150c0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
150d0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 31 20  printf-2.5.13.1 
150e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
150f0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15100 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32   (%*.*f) :xyz} 2
15110 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
15120 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 29 20  } {abc: (-0.00) 
15130 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
15140 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 32 20 7b 0a  intf-2.5.13.2 {.
15150 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
15160 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
15170 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 32  %*.*e) :xyz} 2 2
15180 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
15190 7b 61 62 63 3a 20 28 2d 36 2e 32 39 65 2d 30 39  {abc: (-6.29e-09
151a0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
151b0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 33 20  printf-2.5.13.3 
151c0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
151d0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
151e0 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32   (%*.*g) :xyz} 2
151f0 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
15200 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 33 65 2d 30  } {abc: (-6.3e-0
15210 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
15220 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 34   printf-2.5.13.4
15230 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
15240 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
15250 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
15260 7a 7d 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31  z} 2 2 -6.287291
15270 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  e-9.} {abc: 2 2 
15280 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a  (-6.28729e-09) :
15290 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
152a0 6e 74 66 2d 32 2e 35 2e 31 33 2e 35 20 7b 0a 20  ntf-2.5.13.5 {. 
152b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
152c0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
152d0 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
152e0 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 2 -6.287291e-9
152f0 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36  .} {abc: 2 2 (-6
15300 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a  .28729e-09) :xyz
15310 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
15320 2d 32 2e 35 2e 31 33 2e 36 20 7b 0a 20 20 73 71  -2.5.13.6 {.  sq
15330 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
15340 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
15350 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
15360 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
15370 7d 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 36 2e  } {abc: 2 2 (-6.
15380 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  28729e-09) :xyz}
15390 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
153a0 32 2e 35 2e 31 33 2e 37 20 7b 0a 20 20 73 71 6c  2.5.13.7 {.  sql
153b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
153c0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
153d0 28 25 32 2e 32 66 29 20 3a 78 79 7a 7d 20 32 20  (%2.2f) :xyz} 2 
153e0 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  2 -6.287291e-9.}
153f0 20 7b 61 62 63 3a 20 32 20 32 20 28 2d 30 2e 30   {abc: 2 2 (-0.0
15400 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
15410 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 33 2e 38   printf-2.5.13.8
15420 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
15430 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
15440 3a 20 25 64 20 25 64 20 28 25 32 2e 32 65 29 20  : %d %d (%2.2e) 
15450 3a 78 79 7a 7d 20 32 20 32 20 2d 36 2e 32 38 37  :xyz} 2 2 -6.287
15460 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32  291e-9.} {abc: 2
15470 20 32 20 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a   2 (-6.29e-09) :
15480 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
15490 6e 74 66 2d 32 2e 35 2e 31 33 2e 39 20 7b 0a 20  ntf-2.5.13.9 {. 
154a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
154b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
154c0 20 25 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a   %d (%2.2g) :xyz
154d0 7d 20 32 20 32 20 2d 36 2e 32 38 37 32 39 31 65  } 2 2 -6.287291e
154e0 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20 28  -9.} {abc: 2 2 (
154f0 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a 7d 0a  -6.3e-09) :xyz}.
15500 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15510 2e 35 2e 31 34 2e 31 20 7b 0a 20 20 73 71 6c 69  .5.14.1 {.  sqli
15520 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15530 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
15540 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38   :xyz} 2 2 3.388
15550 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
15560 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  c: (0.00) :xyz}.
15570 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15580 2e 35 2e 31 34 2e 32 20 7b 0a 20 20 73 71 6c 69  .5.14.2 {.  sqli
15590 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
155a0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
155b0 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38   :xyz} 2 2 3.388
155c0 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
155d0 63 3a 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a  c: (3.39e-110) :
155e0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
155f0 6e 74 66 2d 32 2e 35 2e 31 34 2e 33 20 7b 0a 20  ntf-2.5.14.3 {. 
15600 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
15610 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
15620 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 32 20  *.*g) :xyz} 2 2 
15630 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
15640 7d 20 7b 61 62 63 3a 20 28 33 2e 34 65 2d 31 31  } {abc: (3.4e-11
15650 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
15660 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 34   printf-2.5.14.4
15670 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
15680 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
15690 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
156a0 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39  z} 2 2 3.3882639
156b0 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32  2e-110.} {abc: 2
156c0 20 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30   2 (3.38826e-110
156d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
156e0 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 35 20  printf-2.5.14.5 
156f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15700 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15710 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
15720 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36 33 39  z} 2 2 3.3882639
15730 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32  2e-110.} {abc: 2
15740 20 32 20 28 33 2e 33 38 38 32 36 65 2d 31 31 30   2 (3.38826e-110
15750 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15760 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e 36 20  printf-2.5.14.6 
15770 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
15780 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
15790 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
157a0 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38 32 36  xyz} 2 2 3.38826
157b0 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
157c0 20 32 20 32 20 28 33 2e 33 38 38 32 36 65 2d 31   2 2 (3.38826e-1
157d0 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
157e0 74 20 70 72 69 6e 74 66 2d 32 2e 35 2e 31 34 2e  t printf-2.5.14.
157f0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
15800 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15810 63 3a 20 25 64 20 25 64 20 28 25 32 2e 32 66 29  c: %d %d (%2.2f)
15820 20 3a 78 79 7a 7d 20 32 20 32 20 33 2e 33 38 38   :xyz} 2 2 3.388
15830 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62  26392e-110.} {ab
15840 63 3a 20 32 20 32 20 28 30 2e 30 30 29 20 3a 78  c: 2 2 (0.00) :x
15850 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15860 74 66 2d 32 2e 35 2e 31 34 2e 38 20 7b 0a 20 20  tf-2.5.14.8 {.  
15870 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
15880 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
15890 25 64 20 28 25 32 2e 32 65 29 20 3a 78 79 7a 7d  %d (%2.2e) :xyz}
158a0 20 32 20 32 20 33 2e 33 38 38 32 36 33 39 32 65   2 2 3.38826392e
158b0 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32  -110.} {abc: 2 2
158c0 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79   (3.39e-110) :xy
158d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
158e0 66 2d 32 2e 35 2e 31 34 2e 39 20 7b 0a 20 20 73  f-2.5.14.9 {.  s
158f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15900 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
15910 64 20 28 25 32 2e 32 67 29 20 3a 78 79 7a 7d 20  d (%2.2g) :xyz} 
15920 32 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  2 2 3.38826392e-
15930 31 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 32 20  110.} {abc: 2 2 
15940 28 33 2e 34 65 2d 31 31 30 29 20 3a 78 79 7a 7d  (3.4e-110) :xyz}
15950 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15960 32 2e 36 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69  2.6.1.1 {.  sqli
15970 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15980 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
15990 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30 31   :xyz} 2 3 0.001
159a0 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31 29  .} {abc: (0.001)
159b0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
159c0 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 32 20 7b 0a  rintf-2.6.1.2 {.
159d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
159e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
159f0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
15a00 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28   0.001.} {abc: (
15a10 31 2e 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d  1.000e-03) :xyz}
15a20 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15a30 32 2e 36 2e 31 2e 33 20 7b 0a 20 20 73 71 6c 69  2.6.1.3 {.  sqli
15a40 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15a50 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
15a60 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30 31   :xyz} 2 3 0.001
15a70 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 31 29  .} {abc: (0.001)
15a80 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
15a90 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 34 20 7b 0a  rintf-2.6.1.4 {.
15aa0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
15ab0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
15ac0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
15ad0 32 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63  2 3 0.001.} {abc
15ae0 3a 20 32 20 33 20 28 30 2e 30 30 31 29 20 3a 78  : 2 3 (0.001) :x
15af0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15b00 74 66 2d 32 2e 36 2e 31 2e 35 20 7b 0a 20 20 73  tf-2.6.1.5 {.  s
15b10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15b20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
15b30 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
15b40 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  3 0.001.} {abc: 
15b50 32 20 33 20 28 30 2e 30 30 31 30 30 30 30 30 29  2 3 (0.00100000)
15b60 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
15b70 72 69 6e 74 66 2d 32 2e 36 2e 31 2e 36 20 7b 0a  rintf-2.6.1.6 {.
15b80 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
15b90 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
15ba0 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
15bb0 7a 7d 20 32 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 2 3 0.001.} {
15bc0 61 62 63 3a 20 32 20 33 20 28 30 30 30 30 30 30  abc: 2 3 (000000
15bd0 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
15be0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
15bf0 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
15c00 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
15c10 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 66  bc: %d %d (%2.3f
15c20 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30  ) :xyz} 2 3 0.00
15c30 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30  1.} {abc: 2 3 (0
15c40 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .001) :xyz}.do_t
15c50 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
15c60 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
15c70 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
15c80 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65  bc: %d %d (%2.3e
15c90 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 30  ) :xyz} 2 3 0.00
15ca0 31 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31  1.} {abc: 2 3 (1
15cb0 2e 30 30 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a  .000e-03) :xyz}.
15cc0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15cd0 2e 36 2e 31 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .6.1.9 {.  sqlit
15ce0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15cf0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
15d00 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3g) :xyz} 2 3 
15d10 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 32 20  0.001.} {abc: 2 
15d20 33 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  3 (0.001) :xyz}.
15d30 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
15d40 2e 36 2e 32 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .6.2.1 {.  sqlit
15d50 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
15d60 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
15d70 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32  :xyz} 2 3 1.0e-2
15d80 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30  0.} {abc: (0.000
15d90 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15da0 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 32 20 7b  printf-2.6.2.2 {
15db0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15dc0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
15dd0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
15de0 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63  3 1.0e-20.} {abc
15df0 3a 20 28 31 2e 30 30 30 65 2d 32 30 29 20 3a 78  : (1.000e-20) :x
15e00 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
15e10 74 66 2d 32 2e 36 2e 32 2e 33 20 7b 0a 20 20 73  tf-2.6.2.3 {.  s
15e20 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
15e30 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
15e40 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e  *g) :xyz} 2 3 1.
15e50 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31  0e-20.} {abc: (1
15e60 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
15e70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32  est printf-2.6.2
15e80 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
15e90 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
15ea0 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
15eb0 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30  xyz} 2 3 1.0e-20
15ec0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 65  .} {abc: 2 3 (1e
15ed0 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
15ee0 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e  st printf-2.6.2.
15ef0 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
15f00 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
15f10 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
15f20 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30  xyz} 2 3 1.0e-20
15f30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e  .} {abc: 2 3 (1.
15f40 30 30 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d  00000e-20) :xyz}
15f50 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
15f60 32 2e 36 2e 32 2e 36 20 7b 0a 20 20 73 71 6c 69  2.6.2.6 {.  sqli
15f70 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
15f80 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
15f90 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33  %010g) :xyz} 2 3
15fa0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
15fb0 20 32 20 33 20 28 30 30 30 30 30 31 65 2d 32 30   2 3 (000001e-20
15fc0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
15fd0 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 37 20 7b  printf-2.6.2.7 {
15fe0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
15ff0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16000 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78  %d %d (%2.3f) :x
16010 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32 30 0a  yz} 2 3 1.0e-20.
16020 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 2e 30  } {abc: 2 3 (0.0
16030 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
16040 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 32 2e 38  t printf-2.6.2.8
16050 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
16060 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
16070 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20  : %d %d (%2.3e) 
16080 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 65 2d 32  :xyz} 2 3 1.0e-2
16090 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31  0.} {abc: 2 3 (1
160a0 2e 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  .000e-20) :xyz}.
160b0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
160c0 2e 36 2e 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74  .6.2.9 {.  sqlit
160d0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
160e0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
160f0 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3g) :xyz} 2 3 
16100 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
16110 32 20 33 20 28 31 65 2d 32 30 29 20 3a 78 79 7a  2 3 (1e-20) :xyz
16120 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
16130 2d 32 2e 36 2e 33 2e 31 20 7b 0a 20 20 73 71 6c  -2.6.3.1 {.  sql
16140 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16150 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
16160 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 0a  ) :xyz} 2 3 1.0.
16170 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 29 20  } {abc: (1.000) 
16180 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16190 69 6e 74 66 2d 32 2e 36 2e 33 2e 32 20 7b 0a 20  intf-2.6.3.2 {. 
161a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
161b0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
161c0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
161d0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  1.0.} {abc: (1.0
161e0 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
161f0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
16200 2e 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .3.3 {.  sqlite3
16210 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
16220 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
16230 79 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 2 3 1.0.} {a
16240 62 63 3a 20 28 20 31 29 20 3a 78 79 7a 7d 0a 64  bc: ( 1) :xyz}.d
16250 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16260 36 2e 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  6.3.4 {.  sqlite
16270 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
16280 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
16290 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 2e 30 0a  ) :xyz} 2 3 1.0.
162a0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 29 20  } {abc: 2 3 (1) 
162b0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
162c0 69 6e 74 66 2d 32 2e 36 2e 33 2e 35 20 7b 0a 20  intf-2.6.3.5 {. 
162d0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
162e0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
162f0 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
16300 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 1.0.} {abc: 
16310 32 20 33 20 28 31 2e 30 30 30 30 30 29 20 3a 78  2 3 (1.00000) :x
16320 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16330 74 66 2d 32 2e 36 2e 33 2e 36 20 7b 0a 20 20 73  tf-2.6.3.6 {.  s
16340 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16350 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16360 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
16370 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 1.0.} {abc: 
16380 32 20 33 20 28 30 30 30 30 30 30 30 30 30 31 29  2 3 (0000000001)
16390 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
163a0 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 37 20 7b 0a  rintf-2.6.3.7 {.
163b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
163c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
163d0 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79  d %d (%2.3f) :xy
163e0 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 3 1.0.} {ab
163f0 63 3a 20 32 20 33 20 28 31 2e 30 30 30 29 20 3a  c: 2 3 (1.000) :
16400 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16410 6e 74 66 2d 32 2e 36 2e 33 2e 38 20 7b 0a 20 20  ntf-2.6.3.8 {.  
16420 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16430 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
16440 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d  %d (%2.3e) :xyz}
16450 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   2 3 1.0.} {abc:
16460 20 32 20 33 20 28 31 2e 30 30 30 65 2b 30 30 29   2 3 (1.000e+00)
16470 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16480 72 69 6e 74 66 2d 32 2e 36 2e 33 2e 39 20 7b 0a  rintf-2.6.3.9 {.
16490 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
164a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
164b0 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79  d %d (%2.3g) :xy
164c0 7a 7d 20 32 20 33 20 31 2e 30 0a 7d 20 7b 61 62  z} 2 3 1.0.} {ab
164d0 63 3a 20 32 20 33 20 28 20 31 29 20 3a 78 79 7a  c: 2 3 ( 1) :xyz
164e0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
164f0 2d 32 2e 36 2e 34 2e 31 20 7b 0a 20 20 73 71 6c  -2.6.4.1 {.  sql
16500 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
16510 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
16520 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 0a  ) :xyz} 2 3 0.0.
16530 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20  } {abc: (0.000) 
16540 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16550 69 6e 74 66 2d 32 2e 36 2e 34 2e 32 20 7b 0a 20  intf-2.6.4.2 {. 
16560 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16570 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
16580 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
16590 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  0.0.} {abc: (0.0
165a0 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00e+00) :xyz}.do
165b0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
165c0 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .4.3 {.  sqlite3
165d0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
165e0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
165f0 79 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61  yz} 2 3 0.0.} {a
16600 62 63 3a 20 28 20 30 29 20 3a 78 79 7a 7d 0a 64  bc: ( 0) :xyz}.d
16610 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
16620 36 2e 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  6.4.4 {.  sqlite
16630 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
16640 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
16650 29 20 3a 78 79 7a 7d 20 32 20 33 20 30 2e 30 0a  ) :xyz} 2 3 0.0.
16660 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 29 20  } {abc: 2 3 (0) 
16670 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16680 69 6e 74 66 2d 32 2e 36 2e 34 2e 35 20 7b 0a 20  intf-2.6.4.5 {. 
16690 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
166a0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
166b0 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
166c0 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 0.0.} {abc: 
166d0 32 20 33 20 28 30 2e 30 30 30 30 30 29 20 3a 78  2 3 (0.00000) :x
166e0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
166f0 74 66 2d 32 2e 36 2e 34 2e 36 20 7b 0a 20 20 73  tf-2.6.4.6 {.  s
16700 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
16710 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
16720 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
16730 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  2 3 0.0.} {abc: 
16740 32 20 33 20 28 30 30 30 30 30 30 30 30 30 30 29  2 3 (0000000000)
16750 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16760 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 37 20 7b 0a  rintf-2.6.4.7 {.
16770 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16780 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16790 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78 79  d %d (%2.3f) :xy
167a0 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62  z} 2 3 0.0.} {ab
167b0 63 3a 20 32 20 33 20 28 30 2e 30 30 30 29 20 3a  c: 2 3 (0.000) :
167c0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
167d0 6e 74 66 2d 32 2e 36 2e 34 2e 38 20 7b 0a 20 20  ntf-2.6.4.8 {.  
167e0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
167f0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
16800 25 64 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d  %d (%2.3e) :xyz}
16810 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 3 0.0.} {abc:
16820 20 32 20 33 20 28 30 2e 30 30 30 65 2b 30 30 29   2 3 (0.000e+00)
16830 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16840 72 69 6e 74 66 2d 32 2e 36 2e 34 2e 39 20 7b 0a  rintf-2.6.4.9 {.
16850 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16860 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16870 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79  d %d (%2.3g) :xy
16880 7a 7d 20 32 20 33 20 30 2e 30 0a 7d 20 7b 61 62  z} 2 3 0.0.} {ab
16890 63 3a 20 32 20 33 20 28 20 30 29 20 3a 78 79 7a  c: 2 3 ( 0) :xyz
168a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
168b0 2d 32 2e 36 2e 35 2e 31 20 7b 0a 20 20 73 71 6c  -2.6.5.1 {.  sql
168c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
168d0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
168e0 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30 30 2e  ) :xyz} 2 3 100.
168f0 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30  0.} {abc: (100.0
16900 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
16910 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 32  t printf-2.6.5.2
16920 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
16930 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
16940 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
16950 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  2 3 100.0.} {abc
16960 3a 20 28 31 2e 30 30 30 65 2b 30 32 29 20 3a 78  : (1.000e+02) :x
16970 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
16980 74 66 2d 32 2e 36 2e 35 2e 33 20 7b 0a 20 20 73  tf-2.6.5.3 {.  s
16990 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
169a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
169b0 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30  *g) :xyz} 2 3 10
169c0 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30  0.0.} {abc: (100
169d0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
169e0 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 34 20 7b  printf-2.6.5.4 {
169f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16a00 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16a10 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d  %d %d (%g) :xyz}
16a20 20 32 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62   2 3 100.0.} {ab
16a30 63 3a 20 32 20 33 20 28 31 30 30 29 20 3a 78 79  c: 2 3 (100) :xy
16a40 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16a50 66 2d 32 2e 36 2e 35 2e 35 20 7b 0a 20 20 73 71  f-2.6.5.5 {.  sq
16a60 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16a70 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16a80 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33   (%#g) :xyz} 2 3
16a90 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32   100.0.} {abc: 2
16aa0 20 33 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79   3 (100.000) :xy
16ab0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16ac0 66 2d 32 2e 36 2e 35 2e 36 20 7b 0a 20 20 73 71  f-2.6.5.6 {.  sq
16ad0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16ae0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16af0 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32   (%010g) :xyz} 2
16b00 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 100.0.} {abc:
16b10 20 32 20 33 20 28 30 30 30 30 30 30 30 31 30 30   2 3 (0000000100
16b20 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
16b30 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 37 20 7b  printf-2.6.5.7 {
16b40 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
16b50 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
16b60 25 64 20 25 64 20 28 25 32 2e 33 66 29 20 3a 78  %d %d (%2.3f) :x
16b70 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a 7d 20  yz} 2 3 100.0.} 
16b80 7b 61 62 63 3a 20 32 20 33 20 28 31 30 30 2e 30  {abc: 2 3 (100.0
16b90 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
16ba0 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 35 2e 38  t printf-2.6.5.8
16bb0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
16bc0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
16bd0 3a 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20  : %d %d (%2.3e) 
16be0 3a 78 79 7a 7d 20 32 20 33 20 31 30 30 2e 30 0a  :xyz} 2 3 100.0.
16bf0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 2e 30  } {abc: 2 3 (1.0
16c00 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
16c10 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
16c20 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.9 {.  sqlite3
16c30 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
16c40 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
16c50 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 31 30  3g) :xyz} 2 3 10
16c60 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  0.0.} {abc: 2 3 
16c70 28 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  (100) :xyz}.do_t
16c80 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36  est printf-2.6.6
16c90 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
16ca0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
16cb0 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
16cc0 7d 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20  } 2 3 9.99999.} 
16cd0 7b 61 62 63 3a 20 28 31 30 2e 30 30 30 29 20 3a  {abc: (10.000) :
16ce0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
16cf0 6e 74 66 2d 32 2e 36 2e 36 2e 32 20 7b 0a 20 20  ntf-2.6.6.2 {.  
16d00 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
16d10 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
16d20 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  .*e) :xyz} 2 3 9
16d30 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
16d40 31 2e 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d  1.000e+01) :xyz}
16d50 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
16d60 32 2e 36 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69  2.6.6.3 {.  sqli
16d70 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
16d80 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
16d90 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39   :xyz} 2 3 9.999
16da0 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31 30 29 20  99.} {abc: (10) 
16db0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
16dc0 69 6e 74 66 2d 32 2e 36 2e 36 2e 34 20 7b 0a 20  intf-2.6.6.4 {. 
16dd0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
16de0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
16df0 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32   %d (%g) :xyz} 2
16e00 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   3 9.99999.} {ab
16e10 63 3a 20 32 20 33 20 28 39 2e 39 39 39 39 39 29  c: 2 3 (9.99999)
16e20 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
16e30 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 35 20 7b 0a  rintf-2.6.6.5 {.
16e40 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
16e50 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
16e60 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
16e70 20 32 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   2 3 9.99999.} {
16e80 61 62 63 3a 20 32 20 33 20 28 39 2e 39 39 39 39  abc: 2 3 (9.9999
16e90 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
16ea0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 36 20   printf-2.6.6.6 
16eb0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
16ec0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
16ed0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
16ee0 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39 39  xyz} 2 3 9.99999
16ef0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 30 30  .} {abc: 2 3 (00
16f00 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  09.99999) :xyz}.
16f10 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
16f20 2e 36 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .6.6.7 {.  sqlit
16f30 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
16f40 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
16f50 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20  2.3f) :xyz} 2 3 
16f60 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
16f70 32 20 33 20 28 31 30 2e 30 30 30 29 20 3a 78 79  2 3 (10.000) :xy
16f80 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
16f90 66 2d 32 2e 36 2e 36 2e 38 20 7b 0a 20 20 73 71  f-2.6.6.8 {.  sq
16fa0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
16fb0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
16fc0 20 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32   (%2.3e) :xyz} 2
16fd0 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   3 9.99999.} {ab
16fe0 63 3a 20 32 20 33 20 28 31 2e 30 30 30 65 2b 30  c: 2 3 (1.000e+0
16ff0 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
17000 20 70 72 69 6e 74 66 2d 32 2e 36 2e 36 2e 39 20   printf-2.6.6.9 
17010 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
17020 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
17030 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20 3a   %d %d (%2.3g) :
17040 78 79 7a 7d 20 32 20 33 20 39 2e 39 39 39 39 39  xyz} 2 3 9.99999
17050 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 31 30  .} {abc: 2 3 (10
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 37 2e 31 20 7b  printf-2.6.7.1 {
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 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
170b0 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  3 -0.00543.} {ab
170c0 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a  c: (-0.005) :xyz
170d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
170e0 2d 32 2e 36 2e 37 2e 32 20 7b 0a 20 20 73 71 6c  -2.6.7.2 {.  sql
170f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17100 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
17110 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30  ) :xyz} 2 3 -0.0
17120 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35  0543.} {abc: (-5
17130 2e 34 33 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a  .430e-03) :xyz}.
17140 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17150 2e 36 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .6.7.3 {.  sqlit
17160 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17170 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
17180 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35  :xyz} 2 3 -0.005
17190 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30  43.} {abc: (-0.0
171a0 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
171b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37  est printf-2.6.7
171c0 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
171d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
171e0 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
171f0 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35 34  xyz} 2 3 -0.0054
17200 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  3.} {abc: 2 3 (-
17210 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
17220 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17230 36 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  6.7.5 {.  sqlite
17240 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17250 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
17260 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e  g) :xyz} 2 3 -0.
17270 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20  00543.} {abc: 2 
17280 33 20 28 2d 30 2e 30 30 35 34 33 30 30 30 29 20  3 (-0.00543000) 
17290 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
172a0 69 6e 74 66 2d 32 2e 36 2e 37 2e 36 20 7b 0a 20  intf-2.6.7.6 {. 
172b0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
172c0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
172d0 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a   %d (%010g) :xyz
172e0 7d 20 32 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d  } 2 3 -0.00543.}
172f0 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 30 30   {abc: 2 3 (-000
17300 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  .00543) :xyz}.do
17310 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17320 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.7 {.  sqlite3
17330 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
17340 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
17350 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 30  3f) :xyz} 2 3 -0
17360 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 32  .00543.} {abc: 2
17370 20 33 20 28 2d 30 2e 30 30 35 29 20 3a 78 79 7a   3 (-0.005) :xyz
17380 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17390 2d 32 2e 36 2e 37 2e 38 20 7b 0a 20 20 73 71 6c  -2.6.7.8 {.  sql
173a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
173b0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
173c0 28 25 32 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20  (%2.3e) :xyz} 2 
173d0 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  3 -0.00543.} {ab
173e0 63 3a 20 32 20 33 20 28 2d 35 2e 34 33 30 65 2d  c: 2 3 (-5.430e-
173f0 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
17400 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 37 2e 39  t printf-2.6.7.9
17410 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
17420 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
17430 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20  : %d %d (%2.3g) 
17440 3a 78 79 7a 7d 20 32 20 33 20 2d 30 2e 30 30 35  :xyz} 2 3 -0.005
17450 34 33 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  43.} {abc: 2 3 (
17460 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  -0.00543) :xyz}.
17470 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17480 2e 36 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69 74  .6.8.1 {.  sqlit
17490 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
174a0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20  e {abc: (%*.*f) 
174b0 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d  :xyz} 2 3 -1.0.}
174c0 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 29 20   {abc: (-1.000) 
174d0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
174e0 69 6e 74 66 2d 32 2e 36 2e 38 2e 32 20 7b 0a 20  intf-2.6.8.2 {. 
174f0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
17500 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
17510 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*e) :xyz} 2 3 
17520 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  -1.0.} {abc: (-1
17530 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  .000e+00) :xyz}.
17540 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17550 2e 36 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .6.8.3 {.  sqlit
17560 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
17570 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
17580 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d  :xyz} 2 3 -1.0.}
17590 20 7b 61 62 63 3a 20 28 2d 31 29 20 3a 78 79 7a   {abc: (-1) :xyz
175a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
175b0 2d 32 2e 36 2e 38 2e 34 20 7b 0a 20 20 73 71 6c  -2.6.8.4 {.  sql
175c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
175d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
175e0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  (%g) :xyz} 2 3 -
175f0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  1.0.} {abc: 2 3 
17600 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  (-1) :xyz}.do_te
17610 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38 2e  st printf-2.6.8.
17620 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
17630 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17640 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
17650 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a 7d 20  xyz} 2 3 -1.0.} 
17660 7b 61 62 63 3a 20 32 20 33 20 28 2d 31 2e 30 30  {abc: 2 3 (-1.00
17670 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  000) :xyz}.do_te
17680 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 38 2e  st printf-2.6.8.
17690 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
176a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
176b0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
176c0 20 3a 78 79 7a 7d 20 32 20 33 20 2d 31 2e 30 0a   :xyz} 2 3 -1.0.
176d0 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30 30  } {abc: 2 3 (-00
176e0 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64  0000001) :xyz}.d
176f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17700 36 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  6.8.7 {.  sqlite
17710 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17720 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
17730 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  .3f) :xyz} 2 3 -
17740 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  1.0.} {abc: 2 3 
17750 28 2d 31 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  (-1.000) :xyz}.d
17760 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17770 36 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  6.8.8 {.  sqlite
17780 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17790 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
177a0 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d  .3e) :xyz} 2 3 -
177b0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20  1.0.} {abc: 2 3 
177c0 28 2d 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79  (-1.000e+00) :xy
177d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
177e0 66 2d 32 2e 36 2e 38 2e 39 20 7b 0a 20 20 73 71  f-2.6.8.9 {.  sq
177f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17800 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17810 20 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32   (%2.3g) :xyz} 2
17820 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20   3 -1.0.} {abc: 
17830 32 20 33 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64  2 3 (-1) :xyz}.d
17840 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
17850 36 2e 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  6.9.1 {.  sqlite
17860 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17870 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
17880 78 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39  xyz} 2 3 -99.999
17890 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30  99.} {abc: (-100
178a0 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
178b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39  est printf-2.6.9
178c0 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
178d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
178e0 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
178f0 7d 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a  } 2 3 -99.99999.
17900 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 65  } {abc: (-1.000e
17910 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +02) :xyz}.do_te
17920 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e  st printf-2.6.9.
17930 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
17940 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17950 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
17960 20 32 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   2 3 -99.99999.}
17970 20 7b 61 62 63 3a 20 28 2d 31 30 30 29 20 3a 78   {abc: (-100) :x
17980 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17990 74 66 2d 32 2e 36 2e 39 2e 34 20 7b 0a 20 20 73  tf-2.6.9.4 {.  s
179a0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
179b0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
179c0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33  d (%g) :xyz} 2 3
179d0 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
179e0 63 3a 20 32 20 33 20 28 2d 31 30 30 29 20 3a 78  c: 2 3 (-100) :x
179f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17a00 74 66 2d 32 2e 36 2e 39 2e 35 20 7b 0a 20 20 73  tf-2.6.9.5 {.  s
17a10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
17a20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
17a30 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
17a40 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 -99.99999.} {a
17a50 62 63 3a 20 32 20 33 20 28 2d 31 30 30 2e 30 30  bc: 2 3 (-100.00
17a60 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
17a70 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 36 20   printf-2.6.9.6 
17a80 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
17a90 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
17aa0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
17ab0 78 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39  xyz} 2 3 -99.999
17ac0 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  99.} {abc: 2 3 (
17ad0 2d 30 30 30 30 30 30 31 30 30 29 20 3a 78 79 7a  -000000100) :xyz
17ae0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17af0 2d 32 2e 36 2e 39 2e 37 20 7b 0a 20 20 73 71 6c  -2.6.9.7 {.  sql
17b00 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17b10 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
17b20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32 20  (%2.3f) :xyz} 2 
17b30 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 -99.99999.} {a
17b40 62 63 3a 20 32 20 33 20 28 2d 31 30 30 2e 30 30  bc: 2 3 (-100.00
17b50 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
17b60 20 70 72 69 6e 74 66 2d 32 2e 36 2e 39 2e 38 20   printf-2.6.9.8 
17b70 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
17b80 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
17b90 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a   %d %d (%2.3e) :
17ba0 78 79 7a 7d 20 32 20 33 20 2d 39 39 2e 39 39 39  xyz} 2 3 -99.999
17bb0 39 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  99.} {abc: 2 3 (
17bc0 2d 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79 7a  -1.000e+02) :xyz
17bd0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17be0 2d 32 2e 36 2e 39 2e 39 20 7b 0a 20 20 73 71 6c  -2.6.9.9 {.  sql
17bf0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
17c00 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
17c10 28 25 32 2e 33 67 29 20 3a 78 79 7a 7d 20 32 20  (%2.3g) :xyz} 2 
17c20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 -99.99999.} {a
17c30 62 63 3a 20 32 20 33 20 28 2d 31 30 30 29 20 3a  bc: 2 3 (-100) :
17c40 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17c50 6e 74 66 2d 32 2e 36 2e 31 30 2e 31 20 7b 0a 20  ntf-2.6.10.1 {. 
17c60 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
17c70 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
17c80 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*f) :xyz} 2 3 
17c90 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
17ca0 28 33 31 34 30 30 30 30 30 30 30 2e 30 30 30 29  (3140000000.000)
17cb0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
17cc0 72 69 6e 74 66 2d 32 2e 36 2e 31 30 2e 32 20 7b  rintf-2.6.10.2 {
17cd0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
17ce0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
17cf0 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20  (%*.*e) :xyz} 2 
17d00 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
17d10 3a 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a 78  : (3.140e+09) :x
17d20 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
17d30 74 66 2d 32 2e 36 2e 31 30 2e 33 20 7b 0a 20 20  tf-2.6.10.3 {.  
17d40 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
17d50 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
17d60 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .*g) :xyz} 2 3 3
17d70 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 28  .14e+9.} {abc: (
17d80 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a  3.14e+09) :xyz}.
17d90 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
17da0 2e 36 2e 31 30 2e 34 20 7b 0a 20 20 73 71 6c 69  .6.10.4 {.  sqli
17db0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
17dc0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
17dd0 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  %g) :xyz} 2 3 3.
17de0 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20  14e+9.} {abc: 2 
17df0 33 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79  3 (3.14e+09) :xy
17e00 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
17e10 66 2d 32 2e 36 2e 31 30 2e 35 20 7b 0a 20 20 73  f-2.6.10.5 {.  s
17e20 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
17e30 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
17e40 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20  d (%#g) :xyz} 2 
17e50 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
17e60 3a 20 32 20 33 20 28 33 2e 31 34 30 30 30 65 2b  : 2 3 (3.14000e+
17e70 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
17e80 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 30 2e  t printf-2.6.10.
17e90 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  6 {.  sqlite3_mp
17ea0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
17eb0 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29  c: %d %d (%010g)
17ec0 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e 31 34 65   :xyz} 2 3 3.14e
17ed0 2b 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  +9.} {abc: 2 3 (
17ee0 30 30 33 2e 31 34 65 2b 30 39 29 20 3a 78 79 7a  003.14e+09) :xyz
17ef0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
17f00 2d 32 2e 36 2e 31 30 2e 37 20 7b 0a 20 20 73 71  -2.6.10.7 {.  sq
17f10 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
17f20 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
17f30 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32   (%2.3f) :xyz} 2
17f40 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   3 3.14e+9.} {ab
17f50 63 3a 20 32 20 33 20 28 33 31 34 30 30 30 30 30  c: 2 3 (31400000
17f60 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  00.000) :xyz}.do
17f70 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
17f80 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .10.8 {.  sqlite
17f90 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
17fa0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
17fb0 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  .3e) :xyz} 2 3 3
17fc0 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 32  .14e+9.} {abc: 2
17fd0 20 33 20 28 33 2e 31 34 30 65 2b 30 39 29 20 3a   3 (3.140e+09) :
17fe0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
17ff0 6e 74 66 2d 32 2e 36 2e 31 30 2e 39 20 7b 0a 20  ntf-2.6.10.9 {. 
18000 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18010 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
18020 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a   %d (%2.3g) :xyz
18030 7d 20 32 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20  } 2 3 3.14e+9.} 
18040 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 31 34 65  {abc: 2 3 (3.14e
18050 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +09) :xyz}.do_te
18060 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31  st printf-2.6.11
18070 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .2 {.  sqlite3_m
18080 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18090 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a  bc: (%*.*e) :xyz
180a0 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b  } 2 3 -4.72732e+
180b0 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34 2e 37  88.} {abc: (-4.7
180c0 32 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f  27e+88) :xyz}.do
180d0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
180e0 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .11.3 {.  sqlite
180f0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
18100 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
18110 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33  xyz} 2 3 -4.7273
18120 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
18130 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  4.73e+88) :xyz}.
18140 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18150 2e 36 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69  .6.11.4 {.  sqli
18160 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18170 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
18180 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 34  %g) :xyz} 2 3 -4
18190 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
181a0 63 3a 20 32 20 33 20 28 2d 34 2e 37 32 37 33 32  c: 2 3 (-4.72732
181b0 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
181c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
181d0 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.5 {.  sqlite3_
181e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
181f0 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
18200 20 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32   :xyz} 2 3 -4.72
18210 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
18220 32 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  2 3 (-4.72732e+8
18230 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
18240 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 36   printf-2.6.11.6
18250 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
18260 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
18270 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
18280 3a 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37  :xyz} 2 3 -4.727
18290 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32  32e+88.} {abc: 2
182a0 20 33 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   3 (-4.72732e+88
182b0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
182c0 70 72 69 6e 74 66 2d 32 2e 36 2e 31 31 2e 38 20  printf-2.6.11.8 
182d0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
182e0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
182f0 20 25 64 20 25 64 20 28 25 32 2e 33 65 29 20 3a   %d %d (%2.3e) :
18300 78 79 7a 7d 20 32 20 33 20 2d 34 2e 37 32 37 33  xyz} 2 3 -4.7273
18310 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20  2e+88.} {abc: 2 
18320 33 20 28 2d 34 2e 37 32 37 65 2b 38 38 29 20 3a  3 (-4.727e+88) :
18330 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18340 6e 74 66 2d 32 2e 36 2e 31 31 2e 39 20 7b 0a 20  ntf-2.6.11.9 {. 
18350 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18360 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
18370 20 25 64 20 28 25 32 2e 33 67 29 20 3a 78 79 7a   %d (%2.3g) :xyz
18380 7d 20 32 20 33 20 2d 34 2e 37 32 37 33 32 65 2b  } 2 3 -4.72732e+
18390 38 38 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  88.} {abc: 2 3 (
183a0 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d  -4.73e+88) :xyz}
183b0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
183c0 32 2e 36 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c  2.6.12.2 {.  sql
183d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
183e0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
183f0 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37  ) :xyz} 2 3 9.87
18400 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
18410 20 28 39 2e 38 38 30 65 2b 31 34 33 29 20 3a 78   (9.880e+143) :x
18420 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
18430 74 66 2d 32 2e 36 2e 31 32 2e 33 20 7b 0a 20 20  tf-2.6.12.3 {.  
18440 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
18450 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
18460 2e 2a 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  .*g) :xyz} 2 3 9
18470 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
18480 62 63 3a 20 28 39 2e 38 38 65 2b 31 34 33 29 20  bc: (9.88e+143) 
18490 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
184a0 69 6e 74 66 2d 32 2e 36 2e 31 32 2e 34 20 7b 0a  intf-2.6.12.4 {.
184b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
184c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
184d0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
184e0 32 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33  2 3 9.87991e+143
184f0 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 39 2e  .} {abc: 2 3 (9.
18500 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
18510 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18520 2d 32 2e 36 2e 31 32 2e 35 20 7b 0a 20 20 73 71  -2.6.12.5 {.  sq
18530 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18540 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
18550 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33   (%#g) :xyz} 2 3
18560 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20   9.87991e+143.} 
18570 7b 61 62 63 3a 20 32 20 33 20 28 39 2e 38 37 39  {abc: 2 3 (9.879
18580 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64  91e+143) :xyz}.d
18590 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
185a0 36 2e 31 32 2e 36 20 7b 0a 20 20 73 71 6c 69 74  6.12.6 {.  sqlit
185b0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
185c0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
185d0 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33 20  010g) :xyz} 2 3 
185e0 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
185f0 61 62 63 3a 20 32 20 33 20 28 39 2e 38 37 39 39  abc: 2 3 (9.8799
18600 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
18610 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36  _test printf-2.6
18620 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65  .12.8 {.  sqlite
18630 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
18640 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32   {abc: %d %d (%2
18650 2e 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 39  .3e) :xyz} 2 3 9
18660 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
18670 62 63 3a 20 32 20 33 20 28 39 2e 38 38 30 65 2b  bc: 2 3 (9.880e+
18680 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
18690 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 32  st printf-2.6.12
186a0 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .9 {.  sqlite3_m
186b0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
186c0 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67  bc: %d %d (%2.3g
186d0 29 20 3a 78 79 7a 7d 20 32 20 33 20 39 2e 38 37  ) :xyz} 2 3 9.87
186e0 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
186f0 20 32 20 33 20 28 39 2e 38 38 65 2b 31 34 33 29   2 3 (9.88e+143)
18700 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
18710 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 31 20 7b  rintf-2.6.13.1 {
18720 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18730 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18740 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20  (%*.*f) :xyz} 2 
18750 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d  3 -6.287291e-9.}
18760 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 30 29 20   {abc: (-0.000) 
18770 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
18780 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 32 20 7b 0a  intf-2.6.13.2 {.
18790 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
187a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
187b0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
187c0 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20   -6.287291e-9.} 
187d0 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37 65 2d 30  {abc: (-6.287e-0
187e0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
187f0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 33   printf-2.6.13.3
18800 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
18810 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
18820 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20  : (%*.*g) :xyz} 
18830 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 3 -6.287291e-9
18840 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 39 65  .} {abc: (-6.29e
18850 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
18860 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33  st printf-2.6.13
18870 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
18880 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18890 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
188a0 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37 32  xyz} 2 3 -6.2872
188b0 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20  91e-9.} {abc: 2 
188c0 33 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29  3 (-6.28729e-09)
188d0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
188e0 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 35 20 7b  rintf-2.6.13.5 {
188f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
18900 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
18910 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
18920 7d 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65  } 2 3 -6.287291e
18930 2d 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  -9.} {abc: 2 3 (
18940 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78  -6.28729e-09) :x
18950 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
18960 74 66 2d 32 2e 36 2e 31 33 2e 36 20 7b 0a 20 20  tf-2.6.13.6 {.  
18970 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
18980 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
18990 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
189a0 20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   2 3 -6.287291e-
189b0 39 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d  9.} {abc: 2 3 (-
189c0 36 2e 32 38 37 32 39 65 2d 30 39 29 20 3a 78 79  6.28729e-09) :xy
189d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
189e0 66 2d 32 2e 36 2e 31 33 2e 37 20 7b 0a 20 20 73  f-2.6.13.7 {.  s
189f0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
18a00 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
18a10 64 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20  d (%2.3f) :xyz} 
18a20 32 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  2 3 -6.287291e-9
18a30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 2d 30  .} {abc: 2 3 (-0
18a40 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
18a50 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18a60 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.8 {.  sqlite3_
18a70 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18a80 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e 33  abc: %d %d (%2.3
18a90 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 2d 36 2e  e) :xyz} 2 3 -6.
18aa0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
18ab0 3a 20 32 20 33 20 28 2d 36 2e 32 38 37 65 2d 30  : 2 3 (-6.287e-0
18ac0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
18ad0 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31 33 2e 39   printf-2.6.13.9
18ae0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
18af0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
18b00 3a 20 25 64 20 25 64 20 28 25 32 2e 33 67 29 20  : %d %d (%2.3g) 
18b10 3a 78 79 7a 7d 20 32 20 33 20 2d 36 2e 32 38 37  :xyz} 2 3 -6.287
18b20 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 32  291e-9.} {abc: 2
18b30 20 33 20 28 2d 36 2e 32 39 65 2d 30 39 29 20 3a   3 (-6.29e-09) :
18b40 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
18b50 6e 74 66 2d 32 2e 36 2e 31 34 2e 31 20 7b 0a 20  ntf-2.6.14.1 {. 
18b60 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
18b70 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
18b80 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 32 20 33 20  *.*f) :xyz} 2 3 
18b90 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
18ba0 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 29 20  } {abc: (0.000) 
18bb0 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
18bc0 69 6e 74 66 2d 32 2e 36 2e 31 34 2e 32 20 7b 0a  intf-2.6.14.2 {.
18bd0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
18be0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
18bf0 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 32 20 33  %*.*e) :xyz} 2 3
18c00 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
18c10 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33 38 38 65  .} {abc: (3.388e
18c20 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
18c30 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e 31  est printf-2.6.1
18c40 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.3 {.  sqlite3_
18c50 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
18c60 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
18c70 7a 7d 20 32 20 33 20 33 2e 33 38 38 32 36 33 39  z} 2 3 3.3882639
18c80 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28  2e-110.} {abc: (
18c90 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d  3.39e-110) :xyz}
18ca0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
18cb0 32 2e 36 2e 31 34 2e 34 20 7b 0a 20 20 73 71 6c  2.6.14.4 {.  sql
18cc0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
18cd0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
18ce0 28 25 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  (%g) :xyz} 2 3 3
18cf0 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
18d00 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38   {abc: 2 3 (3.38
18d10 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
18d20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18d30 2e 36 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69  .6.14.5 {.  sqli
18d40 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18d50 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
18d60 25 23 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33  %#g) :xyz} 2 3 3
18d70 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
18d80 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38   {abc: 2 3 (3.38
18d90 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
18da0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
18db0 2e 36 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69  .6.14.6 {.  sqli
18dc0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
18dd0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
18de0 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 32 20 33  %010g) :xyz} 2 3
18df0 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
18e00 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28 33 2e  .} {abc: 2 3 (3.
18e10 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a  38826e-110) :xyz
18e20 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
18e30 2d 32 2e 36 2e 31 34 2e 37 20 7b 0a 20 20 73 71  -2.6.14.7 {.  sq
18e40 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
18e50 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
18e60 20 28 25 32 2e 33 66 29 20 3a 78 79 7a 7d 20 32   (%2.3f) :xyz} 2
18e70 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
18e80 31 30 0a 7d 20 7b 61 62 63 3a 20 32 20 33 20 28  10.} {abc: 2 3 (
18e90 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0.000) :xyz}.do_
18ea0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18eb0 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.8 {.  sqlite3
18ec0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18ed0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
18ee0 33 65 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  3e) :xyz} 2 3 3.
18ef0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
18f00 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 38 38  {abc: 2 3 (3.388
18f10 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
18f20 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 36 2e  test printf-2.6.
18f30 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.9 {.  sqlite3
18f40 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
18f50 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 32 2e  {abc: %d %d (%2.
18f60 33 67 29 20 3a 78 79 7a 7d 20 32 20 33 20 33 2e  3g) :xyz} 2 3 3.
18f70 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
18f80 7b 61 62 63 3a 20 32 20 33 20 28 33 2e 33 39 65  {abc: 2 3 (3.39e
18f90 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
18fa0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
18fb0 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
18fc0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
18fd0 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a  bc: (%*.*f) :xyz
18fe0 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 3 0.001.} {a
18ff0 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a  bc: (0.001) :xyz
19000 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19010 2d 32 2e 37 2e 31 2e 32 20 7b 0a 20 20 73 71 6c  -2.7.1.2 {.  sql
19020 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19030 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65  ble {abc: (%*.*e
19040 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30  ) :xyz} 3 3 0.00
19050 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30 30  1.} {abc: (1.000
19060 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-03) :xyz}.do_t
19070 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
19080 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
19090 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
190a0 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
190b0 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b 61  } 3 3 0.001.} {a
190c0 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79 7a  bc: (0.001) :xyz
190d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
190e0 2d 32 2e 37 2e 31 2e 34 20 7b 0a 20 20 73 71 6c  -2.7.1.4 {.  sql
190f0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19100 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19110 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30  (%g) :xyz} 3 3 0
19120 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33  .001.} {abc: 3 3
19130 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a 64   (0.001) :xyz}.d
19140 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19150 37 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  7.1.5 {.  sqlite
19160 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19170 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
19180 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30  g) :xyz} 3 3 0.0
19190 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  01.} {abc: 3 3 (
191a0 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79 7a  0.00100000) :xyz
191b0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
191c0 2d 32 2e 37 2e 31 2e 36 20 7b 0a 20 20 73 71 6c  -2.7.1.6 {.  sql
191d0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
191e0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
191f0 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
19200 33 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20  3 0.001.} {abc: 
19210 33 20 33 20 28 30 30 30 30 30 30 2e 30 30 31 29  3 3 (000000.001)
19220 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
19230 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 37 20 7b 0a  rintf-2.7.1.7 {.
19240 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
19250 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
19260 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79  d %d (%3.3f) :xy
19270 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 3 0.001.} {
19280 61 62 63 3a 20 33 20 33 20 28 30 2e 30 30 31 29  abc: 3 3 (0.001)
19290 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
192a0 72 69 6e 74 66 2d 32 2e 37 2e 31 2e 38 20 7b 0a  rintf-2.7.1.8 {.
192b0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
192c0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
192d0 64 20 25 64 20 28 25 33 2e 33 65 29 20 3a 78 79  d %d (%3.3e) :xy
192e0 7a 7d 20 33 20 33 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 3 0.001.} {
192f0 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65  abc: 3 3 (1.000e
19300 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
19310 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 2e  st printf-2.7.1.
19320 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
19330 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19340 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29  c: %d %d (%3.3g)
19350 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 30 31   :xyz} 3 3 0.001
19360 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 2e  .} {abc: 3 3 (0.
19370 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  001) :xyz}.do_te
19380 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e  st printf-2.7.2.
19390 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
193a0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
193b0 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
193c0 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 3 1.0e-20.} {
193d0 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78 79  abc: (0.000) :xy
193e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
193f0 66 2d 32 2e 37 2e 32 2e 32 20 7b 0a 20 20 73 71  f-2.7.2.2 {.  sq
19400 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19410 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
19420 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30  e) :xyz} 3 3 1.0
19430 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e  e-20.} {abc: (1.
19440 30 30 30 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64  000e-20) :xyz}.d
19450 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19460 37 2e 32 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  7.2.3 {.  sqlite
19470 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19480 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
19490 78 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d 32 30  xyz} 3 3 1.0e-20
194a0 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2d 32 30 29  .} {abc: (1e-20)
194b0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
194c0 72 69 6e 74 66 2d 32 2e 37 2e 32 2e 34 20 7b 0a  rintf-2.7.2.4 {.
194d0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
194e0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
194f0 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
19500 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  3 3 1.0e-20.} {a
19510 62 63 3a 20 33 20 33 20 28 31 65 2d 32 30 29 20  bc: 3 3 (1e-20) 
19520 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
19530 69 6e 74 66 2d 32 2e 37 2e 32 2e 35 20 7b 0a 20  intf-2.7.2.5 {. 
19540 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
19550 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
19560 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
19570 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  3 3 1.0e-20.} {a
19580 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 30 30  bc: 3 3 (1.00000
19590 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
195a0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32  est printf-2.7.2
195b0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
195c0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
195d0 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
195e0 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65  ) :xyz} 3 3 1.0e
195f0 2d 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  -20.} {abc: 3 3 
19600 28 30 30 30 30 30 31 65 2d 32 30 29 20 3a 78 79  (000001e-20) :xy
19610 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19620 66 2d 32 2e 37 2e 32 2e 37 20 7b 0a 20 20 73 71  f-2.7.2.7 {.  sq
19630 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19640 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19650 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33   (%3.3f) :xyz} 3
19660 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62   3 1.0e-20.} {ab
19670 63 3a 20 33 20 33 20 28 30 2e 30 30 30 29 20 3a  c: 3 3 (0.000) :
19680 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
19690 6e 74 66 2d 32 2e 37 2e 32 2e 38 20 7b 0a 20 20  ntf-2.7.2.8 {.  
196a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
196b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
196c0 25 64 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d  %d (%3.3e) :xyz}
196d0 20 33 20 33 20 31 2e 30 65 2d 32 30 0a 7d 20 7b   3 3 1.0e-20.} {
196e0 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65  abc: 3 3 (1.000e
196f0 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -20) :xyz}.do_te
19700 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 32 2e  st printf-2.7.2.
19710 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
19720 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19730 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29  c: %d %d (%3.3g)
19740 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 65 2d   :xyz} 3 3 1.0e-
19750 32 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  20.} {abc: 3 3 (
19760 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e-20) :xyz}.do_
19770 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
19780 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.1 {.  sqlite3_
19790 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
197a0 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79  abc: (%*.*f) :xy
197b0 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b 61 62  z} 3 3 1.0.} {ab
197c0 63 3a 20 28 31 2e 30 30 30 29 20 3a 78 79 7a 7d  c: (1.000) :xyz}
197d0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
197e0 32 2e 37 2e 33 2e 32 20 7b 0a 20 20 73 71 6c 69  2.7.3.2 {.  sqli
197f0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19800 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
19810 20 3a 78 79 7a 7d 20 33 20 33 20 31 2e 30 0a 7d   :xyz} 3 3 1.0.}
19820 20 7b 61 62 63 3a 20 28 31 2e 30 30 30 65 2b 30   {abc: (1.000e+0
19830 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
19840 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e 33 20   printf-2.7.3.3 
19850 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
19860 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
19870 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33   (%*.*g) :xyz} 3
19880 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   3 1.0.} {abc: (
19890 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65    1) :xyz}.do_te
198a0 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 33 2e  st printf-2.7.3.
198b0 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
198c0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
198d0 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
198e0 79 7a 7d 20 33 20 33 20 31 2e 30 0a 7d 20 7b 61  yz} 3 3 1.0.} {a
198f0 62 63 3a 20 33 20 33 20 28 31 29 20 3a 78 79 7a  bc: 3 3 (1) :xyz
19900 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19910 2d 32 2e 37 2e 33 2e 35 20 7b 0a 20 20 73 71 6c  -2.7.3.5 {.  sql
19920 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19930 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19940 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  (%#g) :xyz} 3 3 
19950 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  1.0.} {abc: 3 3 
19960 28 31 2e 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a  (1.00000) :xyz}.
19970 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
19980 2e 37 2e 33 2e 36 20 7b 0a 20 20 73 71 6c 69 74  .7.3.6 {.  sqlit
19990 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
199a0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
199b0 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  010g) :xyz} 3 3 
199c0 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  1.0.} {abc: 3 3 
199d0 28 30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79  (0000000001) :xy
199e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
199f0 66 2d 32 2e 37 2e 33 2e 37 20 7b 0a 20 20 73 71  f-2.7.3.7 {.  sq
19a00 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19a10 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19a20 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33   (%3.3f) :xyz} 3
19a30 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   3 1.0.} {abc: 3
19a40 20 33 20 28 31 2e 30 30 30 29 20 3a 78 79 7a 7d   3 (1.000) :xyz}
19a50 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19a60 32 2e 37 2e 33 2e 38 20 7b 0a 20 20 73 71 6c 69  2.7.3.8 {.  sqli
19a70 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19a80 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
19a90 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
19aa0 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33   1.0.} {abc: 3 3
19ab0 20 28 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79   (1.000e+00) :xy
19ac0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19ad0 66 2d 32 2e 37 2e 33 2e 39 20 7b 0a 20 20 73 71  f-2.7.3.9 {.  sq
19ae0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19af0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19b00 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33   (%3.3g) :xyz} 3
19b10 20 33 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   3 1.0.} {abc: 3
19b20 20 33 20 28 20 20 31 29 20 3a 78 79 7a 7d 0a 64   3 (  1) :xyz}.d
19b30 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
19b40 37 2e 34 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  7.4.1 {.  sqlite
19b50 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
19b60 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
19b70 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d 20 7b  xyz} 3 3 0.0.} {
19b80 61 62 63 3a 20 28 30 2e 30 30 30 29 20 3a 78 79  abc: (0.000) :xy
19b90 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19ba0 66 2d 32 2e 37 2e 34 2e 32 20 7b 0a 20 20 73 71  f-2.7.4.2 {.  sq
19bb0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19bc0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
19bd0 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30  e) :xyz} 3 3 0.0
19be0 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30 30 65  .} {abc: (0.000e
19bf0 2b 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +00) :xyz}.do_te
19c00 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 34 2e  st printf-2.7.4.
19c10 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
19c20 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
19c30 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
19c40 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 3 0.0.} {abc:
19c50 20 28 20 20 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f   (  0) :xyz}.do_
19c60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
19c70 34 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.4 {.  sqlite3_
19c80 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
19c90 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
19ca0 3a 78 79 7a 7d 20 33 20 33 20 30 2e 30 0a 7d 20  :xyz} 3 3 0.0.} 
19cb0 7b 61 62 63 3a 20 33 20 33 20 28 30 29 20 3a 78  {abc: 3 3 (0) :x
19cc0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
19cd0 74 66 2d 32 2e 37 2e 34 2e 35 20 7b 0a 20 20 73  tf-2.7.4.5 {.  s
19ce0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
19cf0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
19d00 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20  d (%#g) :xyz} 3 
19d10 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  3 0.0.} {abc: 3 
19d20 33 20 28 30 2e 30 30 30 30 30 29 20 3a 78 79 7a  3 (0.00000) :xyz
19d30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
19d40 2d 32 2e 37 2e 34 2e 36 20 7b 0a 20 20 73 71 6c  -2.7.4.6 {.  sql
19d50 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
19d60 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
19d70 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
19d80 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  3 0.0.} {abc: 3 
19d90 33 20 28 30 30 30 30 30 30 30 30 30 30 29 20 3a  3 (0000000000) :
19da0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
19db0 6e 74 66 2d 32 2e 37 2e 34 2e 37 20 7b 0a 20 20  ntf-2.7.4.7 {.  
19dc0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
19dd0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
19de0 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d  %d (%3.3f) :xyz}
19df0 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 3 0.0.} {abc:
19e00 20 33 20 33 20 28 30 2e 30 30 30 29 20 3a 78 79   3 3 (0.000) :xy
19e10 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19e20 66 2d 32 2e 37 2e 34 2e 38 20 7b 0a 20 20 73 71  f-2.7.4.8 {.  sq
19e30 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19e40 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
19e50 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33   (%3.3e) :xyz} 3
19e60 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33   3 0.0.} {abc: 3
19e70 20 33 20 28 30 2e 30 30 30 65 2b 30 30 29 20 3a   3 (0.000e+00) :
19e80 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
19e90 6e 74 66 2d 32 2e 37 2e 34 2e 39 20 7b 0a 20 20  ntf-2.7.4.9 {.  
19ea0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
19eb0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
19ec0 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d  %d (%3.3g) :xyz}
19ed0 20 33 20 33 20 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 3 0.0.} {abc:
19ee0 20 33 20 33 20 28 20 20 30 29 20 3a 78 79 7a 7d   3 3 (  0) :xyz}
19ef0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
19f00 32 2e 37 2e 35 2e 31 20 7b 0a 20 20 73 71 6c 69  2.7.5.1 {.  sqli
19f10 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
19f20 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
19f30 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30 2e 30   :xyz} 3 3 100.0
19f40 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 2e 30 30  .} {abc: (100.00
19f50 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
19f60 20 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 32 20   printf-2.7.5.2 
19f70 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
19f80 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
19f90 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33   (%*.*e) :xyz} 3
19fa0 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   3 100.0.} {abc:
19fb0 20 28 31 2e 30 30 30 65 2b 30 32 29 20 3a 78 79   (1.000e+02) :xy
19fc0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
19fd0 66 2d 32 2e 37 2e 35 2e 33 20 7b 0a 20 20 73 71  f-2.7.5.3 {.  sq
19fe0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
19ff0 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1a000 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30  g) :xyz} 3 3 100
1a010 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30 29  .0.} {abc: (100)
1a020 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1a030 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 34 20 7b 0a  rintf-2.7.5.4 {.
1a040 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1a050 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1a060 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
1a070 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63  3 3 100.0.} {abc
1a080 3a 20 33 20 33 20 28 31 30 30 29 20 3a 78 79 7a  : 3 3 (100) :xyz
1a090 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a0a0 2d 32 2e 37 2e 35 2e 35 20 7b 0a 20 20 73 71 6c  -2.7.5.5 {.  sql
1a0b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a0c0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1a0d0 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20  (%#g) :xyz} 3 3 
1a0e0 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20  100.0.} {abc: 3 
1a0f0 33 20 28 31 30 30 2e 30 30 30 29 20 3a 78 79 7a  3 (100.000) :xyz
1a100 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1a110 2d 32 2e 37 2e 35 2e 36 20 7b 0a 20 20 73 71 6c  -2.7.5.6 {.  sql
1a120 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1a130 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1a140 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
1a150 33 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a 20  3 100.0.} {abc: 
1a160 33 20 33 20 28 30 30 30 30 30 30 30 31 30 30 29  3 3 (0000000100)
1a170 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1a180 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 37 20 7b 0a  rintf-2.7.5.7 {.
1a190 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1a1a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1a1b0 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79  d %d (%3.3f) :xy
1a1c0 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d 20 7b  z} 3 3 100.0.} {
1a1d0 61 62 63 3a 20 33 20 33 20 28 31 30 30 2e 30 30  abc: 3 3 (100.00
1a1e0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1a1f0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 35 2e 38 20   printf-2.7.5.8 
1a200 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1a210 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1a220 20 25 64 20 25 64 20 28 25 33 2e 33 65 29 20 3a   %d %d (%3.3e) :
1a230 78 79 7a 7d 20 33 20 33 20 31 30 30 2e 30 0a 7d  xyz} 3 3 100.0.}
1a240 20 7b 61 62 63 3a 20 33 20 33 20 28 31 2e 30 30   {abc: 3 3 (1.00
1a250 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+02) :xyz}.do_
1a260 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1a270 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.9 {.  sqlite3_
1a280 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1a290 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1a2a0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 31 30 30  g) :xyz} 3 3 100
1a2b0 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  .0.} {abc: 3 3 (
1a2c0 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  100) :xyz}.do_te
1a2d0 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e  st printf-2.7.6.
1a2e0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1a2f0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1a300 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
1a310 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   3 3 9.99999.} {
1a320 61 62 63 3a 20 28 31 30 2e 30 30 30 29 20 3a 78  abc: (10.000) :x
1a330 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1a340 74 66 2d 32 2e 37 2e 36 2e 32 20 7b 0a 20 20 73  tf-2.7.6.2 {.  s
1a350 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1a360 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1a370 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39 2e  *e) :xyz} 3 3 9.
1a380 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 31  99999.} {abc: (1
1a390 2e 30 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d 0a  .000e+01) :xyz}.
1a3a0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1a3b0 2e 37 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .7.6.3 {.  sqlit
1a3c0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1a3d0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1a3e0 3a 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39  :xyz} 3 3 9.9999
1a3f0 39 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30 29 20  9.} {abc: ( 10) 
1a400 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1a410 69 6e 74 66 2d 32 2e 37 2e 36 2e 34 20 7b 0a 20  intf-2.7.6.4 {. 
1a420 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1a430 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1a440 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1a450 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   3 9.99999.} {ab
1a460 63 3a 20 33 20 33 20 28 39 2e 39 39 39 39 39 29  c: 3 3 (9.99999)
1a470 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1a480 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 35 20 7b 0a  rintf-2.7.6.5 {.
1a490 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1a4a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1a4b0 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1a4c0 20 33 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b   3 3 9.99999.} {
1a4d0 61 62 63 3a 20 33 20 33 20 28 39 2e 39 39 39 39  abc: 3 3 (9.9999
1a4e0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1a4f0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 36 20   printf-2.7.6.6 
1a500 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1a510 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1a520 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1a530 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39 39  xyz} 3 3 9.99999
1a540 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 30 30  .} {abc: 3 3 (00
1a550 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d 0a  09.99999) :xyz}.
1a560 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1a570 2e 37 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .7.6.7 {.  sqlit
1a580 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1a590 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1a5a0 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3f) :xyz} 3 3 
1a5b0 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
1a5c0 33 20 33 20 28 31 30 2e 30 30 30 29 20 3a 78 79  3 3 (10.000) :xy
1a5d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a5e0 66 2d 32 2e 37 2e 36 2e 38 20 7b 0a 20 20 73 71  f-2.7.6.8 {.  sq
1a5f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a600 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1a610 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33   (%3.3e) :xyz} 3
1a620 20 33 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   3 9.99999.} {ab
1a630 63 3a 20 33 20 33 20 28 31 2e 30 30 30 65 2b 30  c: 3 3 (1.000e+0
1a640 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  1) :xyz}.do_test
1a650 20 70 72 69 6e 74 66 2d 32 2e 37 2e 36 2e 39 20   printf-2.7.6.9 
1a660 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1a670 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1a680 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a   %d %d (%3.3g) :
1a690 78 79 7a 7d 20 33 20 33 20 39 2e 39 39 39 39 39  xyz} 3 3 9.99999
1a6a0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 20 31  .} {abc: 3 3 ( 1
1a6b0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1a6c0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 31 20   printf-2.7.7.1 
1a6d0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1a6e0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1a6f0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1a700 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   3 -0.00543.} {a
1a710 62 63 3a 20 28 2d 30 2e 30 30 35 29 20 3a 78 79  bc: (-0.005) :xy
1a720 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a730 66 2d 32 2e 37 2e 37 2e 32 20 7b 0a 20 20 73 71  f-2.7.7.2 {.  sq
1a740 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1a750 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1a760 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e  e) :xyz} 3 3 -0.
1a770 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d  00543.} {abc: (-
1a780 35 2e 34 33 30 65 2d 30 33 29 20 3a 78 79 7a 7d  5.430e-03) :xyz}
1a790 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1a7a0 32 2e 37 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69  2.7.7.3 {.  sqli
1a7b0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1a7c0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1a7d0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30   :xyz} 3 3 -0.00
1a7e0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e  543.} {abc: (-0.
1a7f0 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00543) :xyz}.do_
1a800 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1a810 37 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  7.4 {.  sqlite3_
1a820 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1a830 61 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20  abc: %d %d (%g) 
1a840 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35  :xyz} 3 3 -0.005
1a850 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28  43.} {abc: 3 3 (
1a860 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a  -0.00543) :xyz}.
1a870 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1a880 2e 37 2e 37 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .7.7.5 {.  sqlit
1a890 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1a8a0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1a8b0 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30  #g) :xyz} 3 3 -0
1a8c0 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33  .00543.} {abc: 3
1a8d0 20 33 20 28 2d 30 2e 30 30 35 34 33 30 30 30 29   3 (-0.00543000)
1a8e0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1a8f0 72 69 6e 74 66 2d 32 2e 37 2e 37 2e 36 20 7b 0a  rintf-2.7.7.6 {.
1a900 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1a910 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1a920 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
1a930 7a 7d 20 33 20 33 20 2d 30 2e 30 30 35 34 33 0a  z} 3 3 -0.00543.
1a940 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 30 30  } {abc: 3 3 (-00
1a950 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64  0.00543) :xyz}.d
1a960 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1a970 37 2e 37 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65  7.7.7 {.  sqlite
1a980 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1a990 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1a9a0 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d  .3f) :xyz} 3 3 -
1a9b0 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20  0.00543.} {abc: 
1a9c0 33 20 33 20 28 2d 30 2e 30 30 35 29 20 3a 78 79  3 3 (-0.005) :xy
1a9d0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1a9e0 66 2d 32 2e 37 2e 37 2e 38 20 7b 0a 20 20 73 71  f-2.7.7.8 {.  sq
1a9f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1aa00 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1aa10 20 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33   (%3.3e) :xyz} 3
1aa20 20 33 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   3 -0.00543.} {a
1aa30 62 63 3a 20 33 20 33 20 28 2d 35 2e 34 33 30 65  bc: 3 3 (-5.430e
1aa40 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -03) :xyz}.do_te
1aa50 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 37 2e  st printf-2.7.7.
1aa60 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  9 {.  sqlite3_mp
1aa70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1aa80 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 67 29  c: %d %d (%3.3g)
1aa90 20 3a 78 79 7a 7d 20 33 20 33 20 2d 30 2e 30 30   :xyz} 3 3 -0.00
1aaa0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  543.} {abc: 3 3 
1aab0 28 2d 30 2e 30 30 35 34 33 29 20 3a 78 79 7a 7d  (-0.00543) :xyz}
1aac0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1aad0 32 2e 37 2e 38 2e 31 20 7b 0a 20 20 73 71 6c 69  2.7.8.1 {.  sqli
1aae0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1aaf0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29  le {abc: (%*.*f)
1ab00 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a   :xyz} 3 3 -1.0.
1ab10 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30 30 30 29  } {abc: (-1.000)
1ab20 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ab30 72 69 6e 74 66 2d 32 2e 37 2e 38 2e 32 20 7b 0a  rintf-2.7.8.2 {.
1ab40 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1ab50 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1ab60 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33  %*.*e) :xyz} 3 3
1ab70 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 2d   -1.0.} {abc: (-
1ab80 31 2e 30 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d  1.000e+00) :xyz}
1ab90 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1aba0 32 2e 37 2e 38 2e 33 20 7b 0a 20 20 73 71 6c 69  2.7.8.3 {.  sqli
1abb0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1abc0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1abd0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a   :xyz} 3 3 -1.0.
1abe0 7d 20 7b 61 62 63 3a 20 28 20 2d 31 29 20 3a 78  } {abc: ( -1) :x
1abf0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ac00 74 66 2d 32 2e 37 2e 38 2e 34 20 7b 0a 20 20 73  tf-2.7.8.4 {.  s
1ac10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1ac20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1ac30 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33  d (%g) :xyz} 3 3
1ac40 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20   -1.0.} {abc: 3 
1ac50 33 20 28 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f  3 (-1) :xyz}.do_
1ac60 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1ac70 38 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.5 {.  sqlite3_
1ac80 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ac90 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
1aca0 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e 30 0a   :xyz} 3 3 -1.0.
1acb0 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 2e  } {abc: 3 3 (-1.
1acc0 30 30 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  00000) :xyz}.do_
1acd0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1ace0 38 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  8.6 {.  sqlite3_
1acf0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ad00 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1ad10 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 31 2e  g) :xyz} 3 3 -1.
1ad20 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 2d  0.} {abc: 3 3 (-
1ad30 30 30 30 30 30 30 30 30 31 29 20 3a 78 79 7a 7d  000000001) :xyz}
1ad40 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1ad50 32 2e 37 2e 38 2e 37 20 7b 0a 20 20 73 71 6c 69  2.7.8.7 {.  sqli
1ad60 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ad70 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1ad80 25 33 2e 33 66 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3f) :xyz} 3 3
1ad90 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20   -1.0.} {abc: 3 
1ada0 33 20 28 2d 31 2e 30 30 30 29 20 3a 78 79 7a 7d  3 (-1.000) :xyz}
1adb0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1adc0 32 2e 37 2e 38 2e 38 20 7b 0a 20 20 73 71 6c 69  2.7.8.8 {.  sqli
1add0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ade0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1adf0 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
1ae00 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20   -1.0.} {abc: 3 
1ae10 33 20 28 2d 31 2e 30 30 30 65 2b 30 30 29 20 3a  3 (-1.000e+00) :
1ae20 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1ae30 6e 74 66 2d 32 2e 37 2e 38 2e 39 20 7b 0a 20 20  ntf-2.7.8.9 {.  
1ae40 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1ae50 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1ae60 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d  %d (%3.3g) :xyz}
1ae70 20 33 20 33 20 2d 31 2e 30 0a 7d 20 7b 61 62 63   3 3 -1.0.} {abc
1ae80 3a 20 33 20 33 20 28 20 2d 31 29 20 3a 78 79 7a  : 3 3 ( -1) :xyz
1ae90 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1aea0 2d 32 2e 37 2e 39 2e 31 20 7b 0a 20 20 73 71 6c  -2.7.9.1 {.  sql
1aeb0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1aec0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
1aed0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e  ) :xyz} 3 3 -99.
1aee0 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d  99999.} {abc: (-
1aef0 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  100.000) :xyz}.d
1af00 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1af10 37 2e 39 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  7.9.2 {.  sqlite
1af20 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1af30 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1af40 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39  xyz} 3 3 -99.999
1af50 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 2e 30  99.} {abc: (-1.0
1af60 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
1af70 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1af80 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .9.3 {.  sqlite3
1af90 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1afa0 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1afb0 79 7a 7d 20 33 20 33 20 2d 39 39 2e 39 39 39 39  yz} 3 3 -99.9999
1afc0 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31 30 30 29  9.} {abc: (-100)
1afd0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1afe0 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 34 20 7b 0a  rintf-2.7.9.4 {.
1aff0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1b000 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1b010 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
1b020 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20  3 3 -99.99999.} 
1b030 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30 29  {abc: 3 3 (-100)
1b040 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1b050 72 69 6e 74 66 2d 32 2e 37 2e 39 2e 35 20 7b 0a  rintf-2.7.9.5 {.
1b060 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1b070 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1b080 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1b090 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   3 3 -99.99999.}
1b0a0 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30   {abc: 3 3 (-100
1b0b0 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
1b0c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 39  est printf-2.7.9
1b0d0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
1b0e0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1b0f0 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
1b100 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e  ) :xyz} 3 3 -99.
1b110 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20  99999.} {abc: 3 
1b120 33 20 28 2d 30 30 30 30 30 30 31 30 30 29 20 3a  3 (-000000100) :
1b130 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1b140 6e 74 66 2d 32 2e 37 2e 39 2e 37 20 7b 0a 20 20  ntf-2.7.9.7 {.  
1b150 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b160 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1b170 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a 7d  %d (%3.3f) :xyz}
1b180 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   3 3 -99.99999.}
1b190 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30   {abc: 3 3 (-100
1b1a0 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  .000) :xyz}.do_t
1b1b0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 39  est printf-2.7.9
1b1c0 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
1b1d0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1b1e0 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 65  bc: %d %d (%3.3e
1b1f0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 39 39 2e  ) :xyz} 3 3 -99.
1b200 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20  99999.} {abc: 3 
1b210 33 20 28 2d 31 2e 30 30 30 65 2b 30 32 29 20 3a  3 (-1.000e+02) :
1b220 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1b230 6e 74 66 2d 32 2e 37 2e 39 2e 39 20 7b 0a 20 20  ntf-2.7.9.9 {.  
1b240 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1b250 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1b260 25 64 20 28 25 33 2e 33 67 29 20 3a 78 79 7a 7d  %d (%3.3g) :xyz}
1b270 20 33 20 33 20 2d 39 39 2e 39 39 39 39 39 0a 7d   3 3 -99.99999.}
1b280 20 7b 61 62 63 3a 20 33 20 33 20 28 2d 31 30 30   {abc: 3 3 (-100
1b290 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b2a0 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 31 20  printf-2.7.10.1 
1b2b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1b2c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1b2d0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1b2e0 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   3 3.14e+9.} {ab
1b2f0 63 3a 20 28 33 31 34 30 30 30 30 30 30 30 2e 30  c: (3140000000.0
1b300 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1b310 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e  t printf-2.7.10.
1b320 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1b330 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1b340 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1b350 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 3 3.14e+9.} {
1b360 61 62 63 3a 20 28 33 2e 31 34 30 65 2b 30 39 29  abc: (3.140e+09)
1b370 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1b380 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 33 20 7b  rintf-2.7.10.3 {
1b390 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1b3a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1b3b0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20  (%*.*g) :xyz} 3 
1b3c0 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
1b3d0 3a 20 28 33 2e 31 34 65 2b 30 39 29 20 3a 78 79  : (3.14e+09) :xy
1b3e0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1b3f0 66 2d 32 2e 37 2e 31 30 2e 34 20 7b 0a 20 20 73  f-2.7.10.4 {.  s
1b400 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1b410 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1b420 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33  d (%g) :xyz} 3 3
1b430 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a   3.14e+9.} {abc:
1b440 20 33 20 33 20 28 33 2e 31 34 65 2b 30 39 29 20   3 3 (3.14e+09) 
1b450 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1b460 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 35 20 7b 0a  intf-2.7.10.5 {.
1b470 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1b480 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1b490 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d  d %d (%#g) :xyz}
1b4a0 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 3 3.14e+9.} {
1b4b0 61 62 63 3a 20 33 20 33 20 28 33 2e 31 34 30 30  abc: 3 3 (3.1400
1b4c0 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e+09) :xyz}.do_
1b4d0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e  test printf-2.7.
1b4e0 31 30 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.6 {.  sqlite3
1b4f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1b500 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31  {abc: %d %d (%01
1b510 30 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 33 2e  0g) :xyz} 3 3 3.
1b520 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20 33 20  14e+9.} {abc: 3 
1b530 33 20 28 30 30 33 2e 31 34 65 2b 30 39 29 20 3a  3 (003.14e+09) :
1b540 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1b550 6e 74 66 2d 32 2e 37 2e 31 30 2e 37 20 7b 0a 20  ntf-2.7.10.7 {. 
1b560 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1b570 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1b580 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
1b590 7d 20 33 20 33 20 33 2e 31 34 65 2b 39 0a 7d 20  } 3 3 3.14e+9.} 
1b5a0 7b 61 62 63 3a 20 33 20 33 20 28 33 31 34 30 30  {abc: 3 3 (31400
1b5b0 30 30 30 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d  00000.000) :xyz}
1b5c0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b5d0 32 2e 37 2e 31 30 2e 38 20 7b 0a 20 20 73 71 6c  2.7.10.8 {.  sql
1b5e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1b5f0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1b600 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1b610 33 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63  3 3.14e+9.} {abc
1b620 3a 20 33 20 33 20 28 33 2e 31 34 30 65 2b 30 39  : 3 3 (3.140e+09
1b630 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b640 70 72 69 6e 74 66 2d 32 2e 37 2e 31 30 2e 39 20  printf-2.7.10.9 
1b650 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1b660 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1b670 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a   %d %d (%3.3g) :
1b680 78 79 7a 7d 20 33 20 33 20 33 2e 31 34 65 2b 39  xyz} 3 3 3.14e+9
1b690 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e  .} {abc: 3 3 (3.
1b6a0 31 34 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  14e+09) :xyz}.do
1b6b0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1b6c0 2e 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .11.2 {.  sqlite
1b6d0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1b6e0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1b6f0 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33  xyz} 3 3 -4.7273
1b700 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d  2e+88.} {abc: (-
1b710 34 2e 37 32 37 65 2b 38 38 29 20 3a 78 79 7a 7d  4.727e+88) :xyz}
1b720 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1b730 32 2e 37 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c  2.7.11.3 {.  sql
1b740 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1b750 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1b760 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37  ) :xyz} 3 3 -4.7
1b770 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
1b780 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78 79   (-4.73e+88) :xy
1b790 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1b7a0 66 2d 32 2e 37 2e 31 31 2e 34 20 7b 0a 20 20 73  f-2.7.11.4 {.  s
1b7b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1b7c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1b7d0 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 33  d (%g) :xyz} 3 3
1b7e0 20 2d 34 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20   -4.72732e+88.} 
1b7f0 7b 61 62 63 3a 20 33 20 33 20 28 2d 34 2e 37 32  {abc: 3 3 (-4.72
1b800 37 33 32 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  732e+88) :xyz}.d
1b810 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1b820 37 2e 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  7.11.5 {.  sqlit
1b830 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1b840 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1b850 23 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34  #g) :xyz} 3 3 -4
1b860 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
1b870 63 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 33 32  c: 3 3 (-4.72732
1b880 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
1b890 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1b8a0 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.6 {.  sqlite3_
1b8b0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1b8c0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30  abc: %d %d (%010
1b8d0 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e  g) :xyz} 3 3 -4.
1b8e0 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63  72732e+88.} {abc
1b8f0 3a 20 33 20 33 20 28 2d 34 2e 37 32 37 33 32 65  : 3 3 (-4.72732e
1b900 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  +88) :xyz}.do_te
1b910 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31  st printf-2.7.11
1b920 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
1b930 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1b940 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33 65  bc: %d %d (%3.3e
1b950 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37  ) :xyz} 3 3 -4.7
1b960 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a  2732e+88.} {abc:
1b970 20 33 20 33 20 28 2d 34 2e 37 32 37 65 2b 38 38   3 3 (-4.727e+88
1b980 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1b990 70 72 69 6e 74 66 2d 32 2e 37 2e 31 31 2e 39 20  printf-2.7.11.9 
1b9a0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1b9b0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1b9c0 20 25 64 20 25 64 20 28 25 33 2e 33 67 29 20 3a   %d %d (%3.3g) :
1b9d0 78 79 7a 7d 20 33 20 33 20 2d 34 2e 37 32 37 33  xyz} 3 3 -4.7273
1b9e0 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20  2e+88.} {abc: 3 
1b9f0 33 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78  3 (-4.73e+88) :x
1ba00 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1ba10 74 66 2d 32 2e 37 2e 31 32 2e 32 20 7b 0a 20 20  tf-2.7.12.2 {.  
1ba20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1ba30 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a  double {abc: (%*
1ba40 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  .*e) :xyz} 3 3 9
1ba50 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
1ba60 62 63 3a 20 28 39 2e 38 38 30 65 2b 31 34 33 29  bc: (9.880e+143)
1ba70 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1ba80 72 69 6e 74 66 2d 32 2e 37 2e 31 32 2e 33 20 7b  rintf-2.7.12.3 {
1ba90 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1baa0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1bab0 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20  (%*.*g) :xyz} 3 
1bac0 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  3 9.87991e+143.}
1bad0 20 7b 61 62 63 3a 20 28 39 2e 38 38 65 2b 31 34   {abc: (9.88e+14
1bae0 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  3) :xyz}.do_test
1baf0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 32 2e 34   printf-2.7.12.4
1bb00 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1bb10 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1bb20 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
1bb30 7a 7d 20 33 20 33 20 39 2e 38 37 39 39 31 65 2b  z} 3 3 9.87991e+
1bb40 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  143.} {abc: 3 3 
1bb50 28 39 2e 38 37 39 39 31 65 2b 31 34 33 29 20 3a  (9.87991e+143) :
1bb60 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1bb70 6e 74 66 2d 32 2e 37 2e 31 32 2e 35 20 7b 0a 20  ntf-2.7.12.5 {. 
1bb80 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1bb90 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1bba0 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20   %d (%#g) :xyz} 
1bbb0 33 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33  3 3 9.87991e+143
1bbc0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e  .} {abc: 3 3 (9.
1bbd0 38 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a  87991e+143) :xyz
1bbe0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1bbf0 2d 32 2e 37 2e 31 32 2e 36 20 7b 0a 20 20 73 71  -2.7.12.6 {.  sq
1bc00 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1bc10 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1bc20 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1bc30 20 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a   3 9.87991e+143.
1bc40 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38  } {abc: 3 3 (9.8
1bc50 37 39 39 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d  7991e+143) :xyz}
1bc60 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1bc70 32 2e 37 2e 31 32 2e 38 20 7b 0a 20 20 73 71 6c  2.7.12.8 {.  sql
1bc80 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1bc90 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1bca0 28 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20  (%3.3e) :xyz} 3 
1bcb0 33 20 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d  3 9.87991e+143.}
1bcc0 20 7b 61 62 63 3a 20 33 20 33 20 28 39 2e 38 38   {abc: 3 3 (9.88
1bcd0 30 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  0e+143) :xyz}.do
1bce0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1bcf0 2e 31 32 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .12.9 {.  sqlite
1bd00 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1bd10 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1bd20 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 39  .3g) :xyz} 3 3 9
1bd30 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61  .87991e+143.} {a
1bd40 62 63 3a 20 33 20 33 20 28 39 2e 38 38 65 2b 31  bc: 3 3 (9.88e+1
1bd50 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1bd60 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e  t printf-2.7.13.
1bd70 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1bd80 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1bd90 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d  c: (%*.*f) :xyz}
1bda0 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d   3 3 -6.287291e-
1bdb0 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30  9.} {abc: (-0.00
1bdc0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1bdd0 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 32   printf-2.7.13.2
1bde0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1bdf0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1be00 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1be10 33 20 33 20 2d 36 2e 32 38 37 32 39 31 65 2d 39  3 3 -6.287291e-9
1be20 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e 32 38 37  .} {abc: (-6.287
1be30 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
1be40 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1be50 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.3 {.  sqlite3_
1be60 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1be70 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1be80 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31  z} 3 3 -6.287291
1be90 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 36 2e  e-9.} {abc: (-6.
1bea0 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
1beb0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37  _test printf-2.7
1bec0 2e 31 33 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65  .13.4 {.  sqlite
1bed0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1bee0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 67   {abc: %d %d (%g
1bef0 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32  ) :xyz} 3 3 -6.2
1bf00 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1bf10 20 33 20 33 20 28 2d 36 2e 32 38 37 32 39 65 2d   3 3 (-6.28729e-
1bf20 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1bf30 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e  t printf-2.7.13.
1bf40 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1bf50 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1bf60 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
1bf70 78 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32  xyz} 3 3 -6.2872
1bf80 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20  91e-9.} {abc: 3 
1bf90 33 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29  3 (-6.28729e-09)
1bfa0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1bfb0 72 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 36 20 7b  rintf-2.7.13.6 {
1bfc0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1bfd0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1bfe0 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78  %d %d (%010g) :x
1bff0 79 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39  yz} 3 3 -6.28729
1c000 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33  1e-9.} {abc: 3 3
1c010 20 28 2d 36 2e 32 38 37 32 39 65 2d 30 39 29 20   (-6.28729e-09) 
1c020 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1c030 69 6e 74 66 2d 32 2e 37 2e 31 33 2e 37 20 7b 0a  intf-2.7.13.7 {.
1c040 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1c050 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1c060 64 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79  d %d (%3.3f) :xy
1c070 7a 7d 20 33 20 33 20 2d 36 2e 32 38 37 32 39 31  z} 3 3 -6.287291
1c080 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  e-9.} {abc: 3 3 
1c090 28 2d 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a 64  (-0.000) :xyz}.d
1c0a0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c0b0 37 2e 31 33 2e 38 20 7b 0a 20 20 73 71 6c 69 74  7.13.8 {.  sqlit
1c0c0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c0d0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c0e0 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33 20  3.3e) :xyz} 3 3 
1c0f0 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
1c100 61 62 63 3a 20 33 20 33 20 28 2d 36 2e 32 38 37  abc: 3 3 (-6.287
1c110 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-09) :xyz}.do_t
1c120 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31  est printf-2.7.1
1c130 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.9 {.  sqlite3_
1c140 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1c150 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 33  abc: %d %d (%3.3
1c160 67 29 20 3a 78 79 7a 7d 20 33 20 33 20 2d 36 2e  g) :xyz} 3 3 -6.
1c170 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
1c180 3a 20 33 20 33 20 28 2d 36 2e 32 39 65 2d 30 39  : 3 3 (-6.29e-09
1c190 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1c1a0 70 72 69 6e 74 66 2d 32 2e 37 2e 31 34 2e 31 20  printf-2.7.14.1 
1c1b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1c1c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1c1d0 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33   (%*.*f) :xyz} 3
1c1e0 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31   3 3.38826392e-1
1c1f0 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30 30  10.} {abc: (0.00
1c200 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1c210 20 70 72 69 6e 74 66 2d 32 2e 37 2e 31 34 2e 32   printf-2.7.14.2
1c220 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1c230 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1c240 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1c250 33 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 3 3.38826392e-
1c260 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33  110.} {abc: (3.3
1c270 38 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  88e-110) :xyz}.d
1c280 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c290 37 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74  7.14.3 {.  sqlit
1c2a0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c2b0 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1c2c0 3a 78 79 7a 7d 20 33 20 33 20 33 2e 33 38 38 32  :xyz} 3 3 3.3882
1c2d0 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
1c2e0 3a 20 28 33 2e 33 39 65 2d 31 31 30 29 20 3a 78  : (3.39e-110) :x
1c2f0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c300 74 66 2d 32 2e 37 2e 31 34 2e 34 20 7b 0a 20 20  tf-2.7.14.4 {.  
1c310 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1c320 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1c330 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20  %d (%g) :xyz} 3 
1c340 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
1c350 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33  0.} {abc: 3 3 (3
1c360 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
1c370 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c380 66 2d 32 2e 37 2e 31 34 2e 35 20 7b 0a 20 20 73  f-2.7.14.5 {.  s
1c390 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1c3a0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1c3b0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20  d (%#g) :xyz} 3 
1c3c0 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  3 3.38826392e-11
1c3d0 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33  0.} {abc: 3 3 (3
1c3e0 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
1c3f0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c400 66 2d 32 2e 37 2e 31 34 2e 36 20 7b 0a 20 20 73  f-2.7.14.6 {.  s
1c410 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1c420 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1c430 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1c440 33 20 33 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 3 3.38826392e-
1c450 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20  110.} {abc: 3 3 
1c460 28 33 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a  (3.38826e-110) :
1c470 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1c480 6e 74 66 2d 32 2e 37 2e 31 34 2e 37 20 7b 0a 20  ntf-2.7.14.7 {. 
1c490 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1c4a0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1c4b0 20 25 64 20 28 25 33 2e 33 66 29 20 3a 78 79 7a   %d (%3.3f) :xyz
1c4c0 7d 20 33 20 33 20 33 2e 33 38 38 32 36 33 39 32  } 3 3 3.38826392
1c4d0 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20  e-110.} {abc: 3 
1c4e0 33 20 28 30 2e 30 30 30 29 20 3a 78 79 7a 7d 0a  3 (0.000) :xyz}.
1c4f0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c500 2e 37 2e 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69  .7.14.8 {.  sqli
1c510 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1c520 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1c530 25 33 2e 33 65 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3e) :xyz} 3 3
1c540 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1c550 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e  .} {abc: 3 3 (3.
1c560 33 38 38 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  388e-110) :xyz}.
1c570 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c580 2e 37 2e 31 34 2e 39 20 7b 0a 20 20 73 71 6c 69  .7.14.9 {.  sqli
1c590 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1c5a0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1c5b0 25 33 2e 33 67 29 20 3a 78 79 7a 7d 20 33 20 33  %3.3g) :xyz} 3 3
1c5c0 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30   3.38826392e-110
1c5d0 0a 7d 20 7b 61 62 63 3a 20 33 20 33 20 28 33 2e  .} {abc: 3 3 (3.
1c5e0 33 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64  39e-110) :xyz}.d
1c5f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1c600 38 2e 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  8.1.1 {.  sqlite
1c610 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1c620 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a   {abc: (%*.*f) :
1c630 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d  xyz} 3 2 0.001.}
1c640 20 7b 61 62 63 3a 20 28 30 2e 30 30 29 20 3a 78   {abc: (0.00) :x
1c650 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1c660 74 66 2d 32 2e 38 2e 31 2e 32 20 7b 0a 20 20 73  tf-2.8.1.2 {.  s
1c670 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1c680 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1c690 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e  *e) :xyz} 3 2 0.
1c6a0 30 30 31 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30  001.} {abc: (1.0
1c6b0 30 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f  0e-03) :xyz}.do_
1c6c0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1c6d0 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.3 {.  sqlite3_
1c6e0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1c6f0 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79  abc: (%*.*g) :xy
1c700 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 2 0.001.} {
1c710 61 62 63 3a 20 28 30 2e 30 30 31 29 20 3a 78 79  abc: (0.001) :xy
1c720 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c730 66 2d 32 2e 38 2e 31 2e 34 20 7b 0a 20 20 73 71  f-2.8.1.4 {.  sq
1c740 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1c750 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1c760 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1c770 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20  0.001.} {abc: 3 
1c780 32 20 28 30 2e 30 30 31 29 20 3a 78 79 7a 7d 0a  2 (0.001) :xyz}.
1c790 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1c7a0 2e 38 2e 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  .8.1.5 {.  sqlit
1c7b0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1c7c0 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1c7d0 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30 2e  #g) :xyz} 3 2 0.
1c7e0 30 30 31 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  001.} {abc: 3 2 
1c7f0 28 30 2e 30 30 31 30 30 30 30 30 29 20 3a 78 79  (0.00100000) :xy
1c800 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1c810 66 2d 32 2e 38 2e 31 2e 36 20 7b 0a 20 20 73 71  f-2.8.1.6 {.  sq
1c820 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1c830 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1c840 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1c850 20 32 20 30 2e 30 30 31 0a 7d 20 7b 61 62 63 3a   2 0.001.} {abc:
1c860 20 33 20 32 20 28 30 30 30 30 30 30 2e 30 30 31   3 2 (000000.001
1c870 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1c880 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 37 20 7b  printf-2.8.1.7 {
1c890 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1c8a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1c8b0 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78  %d %d (%3.2f) :x
1c8c0 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20  yz} 3 2 0.001.} 
1c8d0 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30 29  {abc: 3 2 (0.00)
1c8e0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1c8f0 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 38 20 7b 0a  rintf-2.8.1.8 {.
1c900 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1c910 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1c920 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79  d %d (%3.2e) :xy
1c930 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a 7d 20 7b  z} 3 2 0.001.} {
1c940 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65 2d  abc: 3 2 (1.00e-
1c950 30 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  03) :xyz}.do_tes
1c960 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 2e 39  t printf-2.8.1.9
1c970 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1c980 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1c990 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20  : %d %d (%3.2g) 
1c9a0 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 30 31 0a  :xyz} 3 2 0.001.
1c9b0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30  } {abc: 3 2 (0.0
1c9c0 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  01) :xyz}.do_tes
1c9d0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 31  t printf-2.8.2.1
1c9e0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1c9f0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1ca00 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1ca10 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61  3 2 1.0e-20.} {a
1ca20 62 63 3a 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d  bc: (0.00) :xyz}
1ca30 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1ca40 32 2e 38 2e 32 2e 32 20 7b 0a 20 20 73 71 6c 69  2.8.2.2 {.  sqli
1ca50 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ca60 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
1ca70 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 65 2d   :xyz} 3 2 1.0e-
1ca80 32 30 0a 7d 20 7b 61 62 63 3a 20 28 31 2e 30 30  20.} {abc: (1.00
1ca90 65 2d 32 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e-20) :xyz}.do_t
1caa0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32  est printf-2.8.2
1cab0 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
1cac0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1cad0 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a  bc: (%*.*g) :xyz
1cae0 7d 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20  } 3 2 1.0e-20.} 
1caf0 7b 61 62 63 3a 20 28 31 65 2d 32 30 29 20 3a 78  {abc: (1e-20) :x
1cb00 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1cb10 74 66 2d 32 2e 38 2e 32 2e 34 20 7b 0a 20 20 73  tf-2.8.2.4 {.  s
1cb20 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1cb30 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1cb40 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32  d (%g) :xyz} 3 2
1cb50 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
1cb60 20 33 20 32 20 28 31 65 2d 32 30 29 20 3a 78 79   3 2 (1e-20) :xy
1cb70 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1cb80 66 2d 32 2e 38 2e 32 2e 35 20 7b 0a 20 20 73 71  f-2.8.2.5 {.  sq
1cb90 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1cba0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1cbb0 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32   (%#g) :xyz} 3 2
1cbc0 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
1cbd0 20 33 20 32 20 28 31 2e 30 30 30 30 30 65 2d 32   3 2 (1.00000e-2
1cbe0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1cbf0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 32 2e 36 20   printf-2.8.2.6 
1cc00 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1cc10 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1cc20 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1cc30 78 79 7a 7d 20 33 20 32 20 31 2e 30 65 2d 32 30  xyz} 3 2 1.0e-20
1cc40 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30 30  .} {abc: 3 2 (00
1cc50 30 30 30 31 65 2d 32 30 29 20 3a 78 79 7a 7d 0a  0001e-20) :xyz}.
1cc60 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1cc70 2e 38 2e 32 2e 37 20 7b 0a 20 20 73 71 6c 69 74  .8.2.7 {.  sqlit
1cc80 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1cc90 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1cca0 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2f) :xyz} 3 2 
1ccb0 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a 20  1.0e-20.} {abc: 
1ccc0 33 20 32 20 28 30 2e 30 30 29 20 3a 78 79 7a 7d  3 2 (0.00) :xyz}
1ccd0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1cce0 32 2e 38 2e 32 2e 38 20 7b 0a 20 20 73 71 6c 69  2.8.2.8 {.  sqli
1ccf0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1cd00 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1cd10 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32  %3.2e) :xyz} 3 2
1cd20 20 31 2e 30 65 2d 32 30 0a 7d 20 7b 61 62 63 3a   1.0e-20.} {abc:
1cd30 20 33 20 32 20 28 31 2e 30 30 65 2d 32 30 29 20   3 2 (1.00e-20) 
1cd40 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1cd50 69 6e 74 66 2d 32 2e 38 2e 32 2e 39 20 7b 0a 20  intf-2.8.2.9 {. 
1cd60 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1cd70 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1cd80 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a   %d (%3.2g) :xyz
1cd90 7d 20 33 20 32 20 31 2e 30 65 2d 32 30 0a 7d 20  } 3 2 1.0e-20.} 
1cda0 7b 61 62 63 3a 20 33 20 32 20 28 31 65 2d 32 30  {abc: 3 2 (1e-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 33 2e 31 20 7b  printf-2.8.3.1 {
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 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
1ce00 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31  2 1.0.} {abc: (1
1ce10 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
1ce20 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e  st printf-2.8.3.
1ce30 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1ce40 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1ce50 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1ce60 20 33 20 32 20 31 2e 30 0a 7d 20 7b 61 62 63 3a   3 2 1.0.} {abc:
1ce70 20 28 31 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a   (1.00e+00) :xyz
1ce80 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1ce90 2d 32 2e 38 2e 33 2e 33 20 7b 0a 20 20 73 71 6c  -2.8.3.3 {.  sql
1cea0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1ceb0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1cec0 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a  ) :xyz} 3 2 1.0.
1ced0 7d 20 7b 61 62 63 3a 20 28 20 20 31 29 20 3a 78  } {abc: (  1) :x
1cee0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1cef0 74 66 2d 32 2e 38 2e 33 2e 34 20 7b 0a 20 20 73  tf-2.8.3.4 {.  s
1cf00 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1cf10 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1cf20 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32  d (%g) :xyz} 3 2
1cf30 20 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32   1.0.} {abc: 3 2
1cf40 20 28 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   (1) :xyz}.do_te
1cf50 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e  st printf-2.8.3.
1cf60 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1cf70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1cf80 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20 3a  c: %d %d (%#g) :
1cf90 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b  xyz} 3 2 1.0.} {
1cfa0 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 30 30  abc: 3 2 (1.0000
1cfb0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1cfc0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 36 20   printf-2.8.3.6 
1cfd0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1cfe0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1cff0 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20 3a   %d %d (%010g) :
1d000 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b  xyz} 3 2 1.0.} {
1d010 61 62 63 3a 20 33 20 32 20 28 30 30 30 30 30 30  abc: 3 2 (000000
1d020 30 30 30 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0001) :xyz}.do_t
1d030 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33  est printf-2.8.3
1d040 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
1d050 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1d060 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66  bc: %d %d (%3.2f
1d070 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a  ) :xyz} 3 2 1.0.
1d080 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 2e 30  } {abc: 3 2 (1.0
1d090 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d0a0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 38 20   printf-2.8.3.8 
1d0b0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d0c0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d0d0 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a   %d %d (%3.2e) :
1d0e0 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20 7b  xyz} 3 2 1.0.} {
1d0f0 61 62 63 3a 20 33 20 32 20 28 31 2e 30 30 65 2b  abc: 3 2 (1.00e+
1d100 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d110 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 33 2e 39  t printf-2.8.3.9
1d120 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d130 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d140 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20  : %d %d (%3.2g) 
1d150 3a 78 79 7a 7d 20 33 20 32 20 31 2e 30 0a 7d 20  :xyz} 3 2 1.0.} 
1d160 7b 61 62 63 3a 20 33 20 32 20 28 20 20 31 29 20  {abc: 3 2 (  1) 
1d170 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d180 69 6e 74 66 2d 32 2e 38 2e 34 2e 31 20 7b 0a 20  intf-2.8.4.1 {. 
1d190 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d1a0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1d1b0 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*f) :xyz} 3 2 
1d1c0 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  0.0.} {abc: (0.0
1d1d0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d1e0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 32 20   printf-2.8.4.2 
1d1f0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d200 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d210 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33   (%*.*e) :xyz} 3
1d220 20 32 20 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28   2 0.0.} {abc: (
1d230 30 2e 30 30 65 2b 30 30 29 20 3a 78 79 7a 7d 0a  0.00e+00) :xyz}.
1d240 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1d250 2e 38 2e 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74  .8.4.3 {.  sqlit
1d260 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1d270 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1d280 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20  :xyz} 3 2 0.0.} 
1d290 7b 61 62 63 3a 20 28 20 20 30 29 20 3a 78 79 7a  {abc: (  0) :xyz
1d2a0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1d2b0 2d 32 2e 38 2e 34 2e 34 20 7b 0a 20 20 73 71 6c  -2.8.4.4 {.  sql
1d2c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1d2d0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1d2e0 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 30  (%g) :xyz} 3 2 0
1d2f0 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  .0.} {abc: 3 2 (
1d300 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1d310 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 35 20   printf-2.8.4.5 
1d320 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1d330 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1d340 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
1d350 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 3 2 0.0.} {ab
1d360 63 3a 20 33 20 32 20 28 30 2e 30 30 30 30 30 29  c: 3 2 (0.00000)
1d370 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1d380 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 36 20 7b 0a  rintf-2.8.4.6 {.
1d390 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d3a0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1d3b0 64 20 25 64 20 28 25 30 31 30 67 29 20 3a 78 79  d %d (%010g) :xy
1d3c0 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 3 2 0.0.} {ab
1d3d0 63 3a 20 33 20 32 20 28 30 30 30 30 30 30 30 30  c: 3 2 (00000000
1d3e0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d3f0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 37  t printf-2.8.4.7
1d400 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d410 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d420 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20  : %d %d (%3.2f) 
1d430 3a 78 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20  :xyz} 3 2 0.0.} 
1d440 7b 61 62 63 3a 20 33 20 32 20 28 30 2e 30 30 29  {abc: 3 2 (0.00)
1d450 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1d460 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 38 20 7b 0a  rintf-2.8.4.8 {.
1d470 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1d480 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1d490 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79  d %d (%3.2e) :xy
1d4a0 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61 62  z} 3 2 0.0.} {ab
1d4b0 63 3a 20 33 20 32 20 28 30 2e 30 30 65 2b 30 30  c: 3 2 (0.00e+00
1d4c0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1d4d0 70 72 69 6e 74 66 2d 32 2e 38 2e 34 2e 39 20 7b  printf-2.8.4.9 {
1d4e0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1d4f0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1d500 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78  %d %d (%3.2g) :x
1d510 79 7a 7d 20 33 20 32 20 30 2e 30 0a 7d 20 7b 61  yz} 3 2 0.0.} {a
1d520 62 63 3a 20 33 20 32 20 28 20 20 30 29 20 3a 78  bc: 3 2 (  0) :x
1d530 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1d540 74 66 2d 32 2e 38 2e 35 2e 31 20 7b 0a 20 20 73  tf-2.8.5.1 {.  s
1d550 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1d560 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1d570 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30  *f) :xyz} 3 2 10
1d580 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 30 30  0.0.} {abc: (100
1d590 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
1d5a0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e  st printf-2.8.5.
1d5b0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
1d5c0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d5d0 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d  c: (%*.*e) :xyz}
1d5e0 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   3 2 100.0.} {ab
1d5f0 63 3a 20 28 31 2e 30 30 65 2b 30 32 29 20 3a 78  c: (1.00e+02) :x
1d600 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1d610 74 66 2d 32 2e 38 2e 35 2e 33 20 7b 0a 20 20 73  tf-2.8.5.3 {.  s
1d620 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1d630 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e  ouble {abc: (%*.
1d640 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30  *g) :xyz} 3 2 10
1d650 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 28 31 65 2b  0.0.} {abc: (1e+
1d660 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  02) :xyz}.do_tes
1d670 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 34  t printf-2.8.5.4
1d680 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d690 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d6a0 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79  : %d %d (%g) :xy
1d6b0 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b  z} 3 2 100.0.} {
1d6c0 61 62 63 3a 20 33 20 32 20 28 31 30 30 29 20 3a  abc: 3 2 (100) :
1d6d0 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d6e0 6e 74 66 2d 32 2e 38 2e 35 2e 35 20 7b 0a 20 20  ntf-2.8.5.5 {.  
1d6f0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d700 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1d710 25 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33  %d (%#g) :xyz} 3
1d720 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62 63 3a   2 100.0.} {abc:
1d730 20 33 20 32 20 28 31 30 30 2e 30 30 30 29 20 3a   3 2 (100.000) :
1d740 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1d750 6e 74 66 2d 32 2e 38 2e 35 2e 36 20 7b 0a 20 20  ntf-2.8.5.6 {.  
1d760 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1d770 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1d780 25 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d  %d (%010g) :xyz}
1d790 20 33 20 32 20 31 30 30 2e 30 0a 7d 20 7b 61 62   3 2 100.0.} {ab
1d7a0 63 3a 20 33 20 32 20 28 30 30 30 30 30 30 30 31  c: 3 2 (00000001
1d7b0 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1d7c0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e 37  t printf-2.8.5.7
1d7d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1d7e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1d7f0 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20  : %d %d (%3.2f) 
1d800 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30 0a  :xyz} 3 2 100.0.
1d810 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 30 30  } {abc: 3 2 (100
1d820 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  .00) :xyz}.do_te
1d830 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 35 2e  st printf-2.8.5.
1d840 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
1d850 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1d860 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29  c: %d %d (%3.2e)
1d870 20 3a 78 79 7a 7d 20 33 20 32 20 31 30 30 2e 30   :xyz} 3 2 100.0
1d880 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 31 2e  .} {abc: 3 2 (1.
1d890 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  00e+02) :xyz}.do
1d8a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1d8b0 2e 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  .5.9 {.  sqlite3
1d8c0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1d8d0 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1d8e0 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 31 30  2g) :xyz} 3 2 10
1d8f0 30 2e 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  0.0.} {abc: 3 2 
1d900 28 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f  (1e+02) :xyz}.do
1d910 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1d920 2e 36 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  .6.1 {.  sqlite3
1d930 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1d940 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
1d950 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a  yz} 3 2 9.99999.
1d960 7d 20 7b 61 62 63 3a 20 28 31 30 2e 30 30 29 20  } {abc: (10.00) 
1d970 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1d980 69 6e 74 66 2d 32 2e 38 2e 36 2e 32 20 7b 0a 20  intf-2.8.6.2 {. 
1d990 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1d9a0 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25  _double {abc: (%
1d9b0 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20 33 20 32 20  *.*e) :xyz} 3 2 
1d9c0 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20  9.99999.} {abc: 
1d9d0 28 31 2e 30 30 65 2b 30 31 29 20 3a 78 79 7a 7d  (1.00e+01) :xyz}
1d9e0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1d9f0 32 2e 38 2e 36 2e 33 20 7b 0a 20 20 73 71 6c 69  2.8.6.3 {.  sqli
1da00 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1da10 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1da20 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39   :xyz} 3 2 9.999
1da30 39 39 0a 7d 20 7b 61 62 63 3a 20 28 20 31 30 29  99.} {abc: ( 10)
1da40 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1da50 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 34 20 7b 0a  rintf-2.8.6.4 {.
1da60 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1da70 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1da80 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20  d %d (%g) :xyz} 
1da90 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61  3 2 9.99999.} {a
1daa0 62 63 3a 20 33 20 32 20 28 39 2e 39 39 39 39 39  bc: 3 2 (9.99999
1dab0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1dac0 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 35 20 7b  printf-2.8.6.5 {
1dad0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1dae0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1daf0 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79 7a  %d %d (%#g) :xyz
1db00 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a 7d 20  } 3 2 9.99999.} 
1db10 7b 61 62 63 3a 20 33 20 32 20 28 39 2e 39 39 39  {abc: 3 2 (9.999
1db20 39 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  99) :xyz}.do_tes
1db30 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 36  t printf-2.8.6.6
1db40 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1db50 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1db60 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
1db70 3a 78 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39  :xyz} 3 2 9.9999
1db80 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 30  9.} {abc: 3 2 (0
1db90 30 30 39 2e 39 39 39 39 39 29 20 3a 78 79 7a 7d  009.99999) :xyz}
1dba0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1dbb0 32 2e 38 2e 36 2e 37 20 7b 0a 20 20 73 71 6c 69  2.8.6.7 {.  sqli
1dbc0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1dbd0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1dbe0 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20 32  %3.2f) :xyz} 3 2
1dbf0 20 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a   9.99999.} {abc:
1dc00 20 33 20 32 20 28 31 30 2e 30 30 29 20 3a 78 79   3 2 (10.00) :xy
1dc10 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1dc20 66 2d 32 2e 38 2e 36 2e 38 20 7b 0a 20 20 73 71  f-2.8.6.8 {.  sq
1dc30 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1dc40 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1dc50 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33   (%3.2e) :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 31 2e 30 30 65 2b 30 31  c: 3 2 (1.00e+01
1dc80 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1dc90 70 72 69 6e 74 66 2d 32 2e 38 2e 36 2e 39 20 7b  printf-2.8.6.9 {
1dca0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1dcb0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1dcc0 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78  %d %d (%3.2g) :x
1dcd0 79 7a 7d 20 33 20 32 20 39 2e 39 39 39 39 39 0a  yz} 3 2 9.99999.
1dce0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 20 31 30  } {abc: 3 2 ( 10
1dcf0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1dd00 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 31 20 7b  printf-2.8.7.1 {
1dd10 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1dd20 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1dd30 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20  (%*.*f) :xyz} 3 
1dd40 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61 62  2 -0.00543.} {ab
1dd50 63 3a 20 28 2d 30 2e 30 31 29 20 3a 78 79 7a 7d  c: (-0.01) :xyz}
1dd60 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1dd70 32 2e 38 2e 37 2e 32 20 7b 0a 20 20 73 71 6c 69  2.8.7.2 {.  sqli
1dd80 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1dd90 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29  le {abc: (%*.*e)
1dda0 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30   :xyz} 3 2 -0.00
1ddb0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 28 2d 35 2e  543.} {abc: (-5.
1ddc0 34 33 65 2d 30 33 29 20 3a 78 79 7a 7d 0a 64 6f  43e-03) :xyz}.do
1ddd0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1dde0 2e 37 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.3 {.  sqlite3
1ddf0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1de00 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78  {abc: (%*.*g) :x
1de10 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33  yz} 3 2 -0.00543
1de20 0a 7d 20 7b 61 62 63 3a 20 28 2d 30 2e 30 30 35  .} {abc: (-0.005
1de30 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  4) :xyz}.do_test
1de40 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e 34 20   printf-2.8.7.4 
1de50 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1de60 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1de70 20 25 64 20 25 64 20 28 25 67 29 20 3a 78 79 7a   %d %d (%g) :xyz
1de80 7d 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d  } 3 2 -0.00543.}
1de90 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e 30   {abc: 3 2 (-0.0
1dea0 30 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0543) :xyz}.do_t
1deb0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37  est printf-2.8.7
1dec0 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1ded0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1dee0 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1def0 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30 35  :xyz} 3 2 -0.005
1df00 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  43.} {abc: 3 2 (
1df10 2d 30 2e 30 30 35 34 33 30 30 30 29 20 3a 78 79  -0.00543000) :xy
1df20 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1df30 66 2d 32 2e 38 2e 37 2e 36 20 7b 0a 20 20 73 71  f-2.8.7.6 {.  sq
1df40 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1df50 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1df60 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33   (%010g) :xyz} 3
1df70 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20 7b 61   2 -0.00543.} {a
1df80 62 63 3a 20 33 20 32 20 28 2d 30 30 30 2e 30 30  bc: 3 2 (-000.00
1df90 35 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  543) :xyz}.do_te
1dfa0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 37 2e  st printf-2.8.7.
1dfb0 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1dfc0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1dfd0 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29  c: %d %d (%3.2f)
1dfe0 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30 2e 30 30   :xyz} 3 2 -0.00
1dff0 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  543.} {abc: 3 2 
1e000 28 2d 30 2e 30 31 29 20 3a 78 79 7a 7d 0a 64 6f  (-0.01) :xyz}.do
1e010 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1e020 2e 37 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  .7.8 {.  sqlite3
1e030 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1e040 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1e050 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 30  2e) :xyz} 3 2 -0
1e060 2e 30 30 35 34 33 0a 7d 20 7b 61 62 63 3a 20 33  .00543.} {abc: 3
1e070 20 32 20 28 2d 35 2e 34 33 65 2d 30 33 29 20 3a   2 (-5.43e-03) :
1e080 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1e090 6e 74 66 2d 32 2e 38 2e 37 2e 39 20 7b 0a 20 20  ntf-2.8.7.9 {.  
1e0a0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1e0b0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1e0c0 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d  %d (%3.2g) :xyz}
1e0d0 20 33 20 32 20 2d 30 2e 30 30 35 34 33 0a 7d 20   3 2 -0.00543.} 
1e0e0 7b 61 62 63 3a 20 33 20 32 20 28 2d 30 2e 30 30  {abc: 3 2 (-0.00
1e0f0 35 34 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  54) :xyz}.do_tes
1e100 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 31  t printf-2.8.8.1
1e110 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e120 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e130 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1e140 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  3 2 -1.0.} {abc:
1e150 20 28 2d 31 2e 30 30 29 20 3a 78 79 7a 7d 0a 64   (-1.00) :xyz}.d
1e160 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1e170 38 2e 38 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  8.8.2 {.  sqlite
1e180 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1e190 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1e1a0 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20  xyz} 3 2 -1.0.} 
1e1b0 7b 61 62 63 3a 20 28 2d 31 2e 30 30 65 2b 30 30  {abc: (-1.00e+00
1e1c0 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e1d0 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 33 20 7b  printf-2.8.8.3 {
1e1e0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e1f0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e200 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20  (%*.*g) :xyz} 3 
1e210 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 28  2 -1.0.} {abc: (
1e220 20 2d 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   -1) :xyz}.do_te
1e230 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e  st printf-2.8.8.
1e240 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  4 {.  sqlite3_mp
1e250 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e260 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a 78  c: %d %d (%g) :x
1e270 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b  yz} 3 2 -1.0.} {
1e280 61 62 63 3a 20 33 20 32 20 28 2d 31 29 20 3a 78  abc: 3 2 (-1) :x
1e290 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e2a0 74 66 2d 32 2e 38 2e 38 2e 35 20 7b 0a 20 20 73  tf-2.8.8.5 {.  s
1e2b0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e2c0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1e2d0 64 20 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20  d (%#g) :xyz} 3 
1e2e0 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a 20 33  2 -1.0.} {abc: 3
1e2f0 20 32 20 28 2d 31 2e 30 30 30 30 30 29 20 3a 78   2 (-1.00000) :x
1e300 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1e310 74 66 2d 32 2e 38 2e 38 2e 36 20 7b 0a 20 20 73  tf-2.8.8.6 {.  s
1e320 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1e330 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1e340 64 20 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20  d (%010g) :xyz} 
1e350 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61 62 63 3a  3 2 -1.0.} {abc:
1e360 20 33 20 32 20 28 2d 30 30 30 30 30 30 30 30 31   3 2 (-000000001
1e370 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e380 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 37 20 7b  printf-2.8.8.7 {
1e390 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e3a0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e3b0 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78  %d %d (%3.2f) :x
1e3c0 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b  yz} 3 2 -1.0.} {
1e3d0 61 62 63 3a 20 33 20 32 20 28 2d 31 2e 30 30 29  abc: 3 2 (-1.00)
1e3e0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1e3f0 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 38 20 7b 0a  rintf-2.8.8.8 {.
1e400 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1e410 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1e420 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a 78 79  d %d (%3.2e) :xy
1e430 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d 20 7b 61  z} 3 2 -1.0.} {a
1e440 62 63 3a 20 33 20 32 20 28 2d 31 2e 30 30 65 2b  bc: 3 2 (-1.00e+
1e450 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1e460 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 38 2e 39  t printf-2.8.8.9
1e470 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e480 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e490 3a 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20  : %d %d (%3.2g) 
1e4a0 3a 78 79 7a 7d 20 33 20 32 20 2d 31 2e 30 0a 7d  :xyz} 3 2 -1.0.}
1e4b0 20 7b 61 62 63 3a 20 33 20 32 20 28 20 2d 31 29   {abc: 3 2 ( -1)
1e4c0 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1e4d0 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 31 20 7b 0a  rintf-2.8.9.1 {.
1e4e0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1e4f0 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28  f_double {abc: (
1e500 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20 33 20 32  %*.*f) :xyz} 3 2
1e510 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
1e520 63 3a 20 28 2d 31 30 30 2e 30 30 29 20 3a 78 79  c: (-100.00) :xy
1e530 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1e540 66 2d 32 2e 38 2e 39 2e 32 20 7b 0a 20 20 73 71  f-2.8.9.2 {.  sq
1e550 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1e560 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a  uble {abc: (%*.*
1e570 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39  e) :xyz} 3 2 -99
1e580 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28  .99999.} {abc: (
1e590 2d 31 2e 30 30 65 2b 30 32 29 20 3a 78 79 7a 7d  -1.00e+02) :xyz}
1e5a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1e5b0 32 2e 38 2e 39 2e 33 20 7b 0a 20 20 73 71 6c 69  2.8.9.3 {.  sqli
1e5c0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1e5d0 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29  le {abc: (%*.*g)
1e5e0 20 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39   :xyz} 3 2 -99.9
1e5f0 39 39 39 39 0a 7d 20 7b 61 62 63 3a 20 28 2d 31  9999.} {abc: (-1
1e600 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+02) :xyz}.do_t
1e610 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39  est printf-2.8.9
1e620 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .4 {.  sqlite3_m
1e630 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1e640 62 63 3a 20 25 64 20 25 64 20 28 25 67 29 20 3a  bc: %d %d (%g) :
1e650 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39  xyz} 3 2 -99.999
1e660 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28  99.} {abc: 3 2 (
1e670 2d 31 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -100) :xyz}.do_t
1e680 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39  est printf-2.8.9
1e690 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .5 {.  sqlite3_m
1e6a0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1e6b0 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29 20  bc: %d %d (%#g) 
1e6c0 3a 78 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39  :xyz} 3 2 -99.99
1e6d0 39 39 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  999.} {abc: 3 2 
1e6e0 28 2d 31 30 30 2e 30 30 30 29 20 3a 78 79 7a 7d  (-100.000) :xyz}
1e6f0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1e700 32 2e 38 2e 39 2e 36 20 7b 0a 20 20 73 71 6c 69  2.8.9.6 {.  sqli
1e710 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1e720 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1e730 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32  %010g) :xyz} 3 2
1e740 20 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62   -99.99999.} {ab
1e750 63 3a 20 33 20 32 20 28 2d 30 30 30 30 30 30 31  c: 3 2 (-0000001
1e760 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  00) :xyz}.do_tes
1e770 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 37  t printf-2.8.9.7
1e780 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1e790 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1e7a0 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29 20  : %d %d (%3.2f) 
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 33 20 32 20  999.} {abc: 3 2 
1e7d0 28 2d 31 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a  (-100.00) :xyz}.
1e7e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1e7f0 2e 38 2e 39 2e 38 20 7b 0a 20 20 73 71 6c 69 74  .8.9.8 {.  sqlit
1e800 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1e810 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1e820 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20  3.2e) :xyz} 3 2 
1e830 2d 39 39 2e 39 39 39 39 39 0a 7d 20 7b 61 62 63  -99.99999.} {abc
1e840 3a 20 33 20 32 20 28 2d 31 2e 30 30 65 2b 30 32  : 3 2 (-1.00e+02
1e850 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1e860 70 72 69 6e 74 66 2d 32 2e 38 2e 39 2e 39 20 7b  printf-2.8.9.9 {
1e870 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1e880 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1e890 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78  %d %d (%3.2g) :x
1e8a0 79 7a 7d 20 33 20 32 20 2d 39 39 2e 39 39 39 39  yz} 3 2 -99.9999
1e8b0 39 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d  9.} {abc: 3 2 (-
1e8c0 31 65 2b 30 32 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e+02) :xyz}.do_
1e8d0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1e8e0 31 30 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  10.1 {.  sqlite3
1e8f0 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1e900 7b 61 62 63 3a 20 28 25 2a 2e 2a 66 29 20 3a 78  {abc: (%*.*f) :x
1e910 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 3 2 3.14e+9.
1e920 7d 20 7b 61 62 63 3a 20 28 33 31 34 30 30 30 30  } {abc: (3140000
1e930 30 30 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f  000.00) :xyz}.do
1e940 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1e950 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  .10.2 {.  sqlite
1e960 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1e970 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a   {abc: (%*.*e) :
1e980 78 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39  xyz} 3 2 3.14e+9
1e990 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 31 34 65 2b  .} {abc: (3.14e+
1e9a0 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1e9b0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e  t printf-2.8.10.
1e9c0 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  3 {.  sqlite3_mp
1e9d0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1e9e0 63 3a 20 28 25 2a 2e 2a 67 29 20 3a 78 79 7a 7d  c: (%*.*g) :xyz}
1e9f0 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b   3 2 3.14e+9.} {
1ea00 61 62 63 3a 20 28 33 2e 31 65 2b 30 39 29 20 3a  abc: (3.1e+09) :
1ea10 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  xyz}.do_test pri
1ea20 6e 74 66 2d 32 2e 38 2e 31 30 2e 34 20 7b 0a 20  ntf-2.8.10.4 {. 
1ea30 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
1ea40 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64  _double {abc: %d
1ea50 20 25 64 20 28 25 67 29 20 3a 78 79 7a 7d 20 33   %d (%g) :xyz} 3
1ea60 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   2 3.14e+9.} {ab
1ea70 63 3a 20 33 20 32 20 28 33 2e 31 34 65 2b 30 39  c: 3 2 (3.14e+09
1ea80 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ea90 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 35 20  printf-2.8.10.5 
1eaa0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1eab0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1eac0 20 25 64 20 25 64 20 28 25 23 67 29 20 3a 78 79   %d %d (%#g) :xy
1ead0 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a 7d  z} 3 2 3.14e+9.}
1eae0 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 31 34   {abc: 3 2 (3.14
1eaf0 30 30 30 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64  000e+09) :xyz}.d
1eb00 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1eb10 38 2e 31 30 2e 36 20 7b 0a 20 20 73 71 6c 69 74  8.10.6 {.  sqlit
1eb20 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1eb30 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25  e {abc: %d %d (%
1eb40 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  010g) :xyz} 3 2 
1eb50 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62 63 3a 20  3.14e+9.} {abc: 
1eb60 33 20 32 20 28 30 30 33 2e 31 34 65 2b 30 39 29  3 2 (003.14e+09)
1eb70 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70   :xyz}.do_test p
1eb80 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 37 20 7b  rintf-2.8.10.7 {
1eb90 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
1eba0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
1ebb0 25 64 20 25 64 20 28 25 33 2e 32 66 29 20 3a 78  %d %d (%3.2f) :x
1ebc0 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39 0a  yz} 3 2 3.14e+9.
1ebd0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 31 34  } {abc: 3 2 (314
1ebe0 30 30 30 30 30 30 30 2e 30 30 29 20 3a 78 79 7a  0000000.00) :xyz
1ebf0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1ec00 2d 32 2e 38 2e 31 30 2e 38 20 7b 0a 20 20 73 71  -2.8.10.8 {.  sq
1ec10 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1ec20 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1ec30 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33   (%3.2e) :xyz} 3
1ec40 20 32 20 33 2e 31 34 65 2b 39 0a 7d 20 7b 61 62   2 3.14e+9.} {ab
1ec50 63 3a 20 33 20 32 20 28 33 2e 31 34 65 2b 30 39  c: 3 2 (3.14e+09
1ec60 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ec70 70 72 69 6e 74 66 2d 32 2e 38 2e 31 30 2e 39 20  printf-2.8.10.9 
1ec80 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ec90 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1eca0 20 25 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a   %d %d (%3.2g) :
1ecb0 78 79 7a 7d 20 33 20 32 20 33 2e 31 34 65 2b 39  xyz} 3 2 3.14e+9
1ecc0 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e  .} {abc: 3 2 (3.
1ecd0 31 65 2b 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f  1e+09) :xyz}.do_
1ece0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1ecf0 31 31 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.2 {.  sqlite3
1ed00 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1ed10 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20 3a 78  {abc: (%*.*e) :x
1ed20 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33 32  yz} 3 2 -4.72732
1ed30 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28 2d 34  e+88.} {abc: (-4
1ed40 2e 37 33 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  .73e+88) :xyz}.d
1ed50 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1ed60 38 2e 31 31 2e 33 20 7b 0a 20 20 73 71 6c 69 74  8.11.3 {.  sqlit
1ed70 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1ed80 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20  e {abc: (%*.*g) 
1ed90 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37  :xyz} 3 2 -4.727
1eda0 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 28  32e+88.} {abc: (
1edb0 2d 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a  -4.7e+88) :xyz}.
1edc0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1edd0 2e 38 2e 31 31 2e 34 20 7b 0a 20 20 73 71 6c 69  .8.11.4 {.  sqli
1ede0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1edf0 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1ee00 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 34  %g) :xyz} 3 2 -4
1ee10 2e 37 32 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62  .72732e+88.} {ab
1ee20 63 3a 20 33 20 32 20 28 2d 34 2e 37 32 37 33 32  c: 3 2 (-4.72732
1ee30 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  e+88) :xyz}.do_t
1ee40 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1ee50 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.5 {.  sqlite3_
1ee60 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ee70 61 62 63 3a 20 25 64 20 25 64 20 28 25 23 67 29  abc: %d %d (%#g)
1ee80 20 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32   :xyz} 3 2 -4.72
1ee90 37 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20  732e+88.} {abc: 
1eea0 33 20 32 20 28 2d 34 2e 37 32 37 33 32 65 2b 38  3 2 (-4.72732e+8
1eeb0 38 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  8) :xyz}.do_test
1eec0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 36   printf-2.8.11.6
1eed0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1eee0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1eef0 3a 20 25 64 20 25 64 20 28 25 30 31 30 67 29 20  : %d %d (%010g) 
1ef00 3a 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37  :xyz} 3 2 -4.727
1ef10 33 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33  32e+88.} {abc: 3
1ef20 20 32 20 28 2d 34 2e 37 32 37 33 32 65 2b 38 38   2 (-4.72732e+88
1ef30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20  ) :xyz}.do_test 
1ef40 70 72 69 6e 74 66 2d 32 2e 38 2e 31 31 2e 38 20  printf-2.8.11.8 
1ef50 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
1ef60 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
1ef70 20 25 64 20 25 64 20 28 25 33 2e 32 65 29 20 3a   %d %d (%3.2e) :
1ef80 78 79 7a 7d 20 33 20 32 20 2d 34 2e 37 32 37 33  xyz} 3 2 -4.7273
1ef90 32 65 2b 38 38 0a 7d 20 7b 61 62 63 3a 20 33 20  2e+88.} {abc: 3 
1efa0 32 20 28 2d 34 2e 37 33 65 2b 38 38 29 20 3a 78  2 (-4.73e+88) :x
1efb0 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  yz}.do_test prin
1efc0 74 66 2d 32 2e 38 2e 31 31 2e 39 20 7b 0a 20 20  tf-2.8.11.9 {.  
1efd0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
1efe0 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20  double {abc: %d 
1eff0 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79 7a 7d  %d (%3.2g) :xyz}
1f000 20 33 20 32 20 2d 34 2e 37 32 37 33 32 65 2b 38   3 2 -4.72732e+8
1f010 38 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d  8.} {abc: 3 2 (-
1f020 34 2e 37 65 2b 38 38 29 20 3a 78 79 7a 7d 0a 64  4.7e+88) :xyz}.d
1f030 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1f040 38 2e 31 32 2e 32 20 7b 0a 20 20 73 71 6c 69 74  8.12.2 {.  sqlit
1f050 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1f060 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1f070 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39 39  :xyz} 3 2 9.8799
1f080 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20 28  1e+143.} {abc: (
1f090 39 2e 38 38 65 2b 31 34 33 29 20 3a 78 79 7a 7d  9.88e+143) :xyz}
1f0a0 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f0b0 32 2e 38 2e 31 32 2e 33 20 7b 0a 20 20 73 71 6c  2.8.12.3 {.  sql
1f0c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f0d0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1f0e0 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37  ) :xyz} 3 2 9.87
1f0f0 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
1f100 20 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a   (9.9e+143) :xyz
1f110 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f120 2d 32 2e 38 2e 31 32 2e 34 20 7b 0a 20 20 73 71  -2.8.12.4 {.  sq
1f130 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f140 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1f150 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1f160 39 2e 38 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b  9.87991e+143.} {
1f170 61 62 63 3a 20 33 20 32 20 28 39 2e 38 37 39 39  abc: 3 2 (9.8799
1f180 31 65 2b 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f  1e+143) :xyz}.do
1f190 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f1a0 2e 31 32 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .12.5 {.  sqlite
1f1b0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f1c0 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
1f1d0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38  g) :xyz} 3 2 9.8
1f1e0 37 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63  7991e+143.} {abc
1f1f0 3a 20 33 20 32 20 28 39 2e 38 37 39 39 31 65 2b  : 3 2 (9.87991e+
1f200 31 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  143) :xyz}.do_te
1f210 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32  st printf-2.8.12
1f220 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
1f230 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f240 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
1f250 29 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37  ) :xyz} 3 2 9.87
1f260 39 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a  991e+143.} {abc:
1f270 20 33 20 32 20 28 39 2e 38 37 39 39 31 65 2b 31   3 2 (9.87991e+1
1f280 34 33 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  43) :xyz}.do_tes
1f290 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 32 2e  t printf-2.8.12.
1f2a0 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  8 {.  sqlite3_mp
1f2b0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f2c0 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 65 29  c: %d %d (%3.2e)
1f2d0 20 3a 78 79 7a 7d 20 33 20 32 20 39 2e 38 37 39   :xyz} 3 2 9.879
1f2e0 39 31 65 2b 31 34 33 0a 7d 20 7b 61 62 63 3a 20  91e+143.} {abc: 
1f2f0 33 20 32 20 28 39 2e 38 38 65 2b 31 34 33 29 20  3 2 (9.88e+143) 
1f300 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72  :xyz}.do_test pr
1f310 69 6e 74 66 2d 32 2e 38 2e 31 32 2e 39 20 7b 0a  intf-2.8.12.9 {.
1f320 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
1f330 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25  f_double {abc: %
1f340 64 20 25 64 20 28 25 33 2e 32 67 29 20 3a 78 79  d %d (%3.2g) :xy
1f350 7a 7d 20 33 20 32 20 39 2e 38 37 39 39 31 65 2b  z} 3 2 9.87991e+
1f360 31 34 33 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  143.} {abc: 3 2 
1f370 28 39 2e 39 65 2b 31 34 33 29 20 3a 78 79 7a 7d  (9.9e+143) :xyz}
1f380 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f390 32 2e 38 2e 31 33 2e 31 20 7b 0a 20 20 73 71 6c  2.8.13.1 {.  sql
1f3a0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f3b0 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 66  ble {abc: (%*.*f
1f3c0 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32  ) :xyz} 3 2 -6.2
1f3d0 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1f3e0 20 28 2d 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64   (-0.00) :xyz}.d
1f3f0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e  o_test printf-2.
1f400 38 2e 31 33 2e 32 20 7b 0a 20 20 73 71 6c 69 74  8.13.2 {.  sqlit
1f410 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
1f420 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 65 29 20  e {abc: (%*.*e) 
1f430 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38 37  :xyz} 3 2 -6.287
1f440 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20 28  291e-9.} {abc: (
1f450 2d 36 2e 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d  -6.29e-09) :xyz}
1f460 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f470 32 2e 38 2e 31 33 2e 33 20 7b 0a 20 20 73 71 6c  2.8.13.3 {.  sql
1f480 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f490 62 6c 65 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67  ble {abc: (%*.*g
1f4a0 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32  ) :xyz} 3 2 -6.2
1f4b0 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1f4c0 20 28 2d 36 2e 33 65 2d 30 39 29 20 3a 78 79 7a   (-6.3e-09) :xyz
1f4d0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f4e0 2d 32 2e 38 2e 31 33 2e 34 20 7b 0a 20 20 73 71  -2.8.13.4 {.  sq
1f4f0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f500 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1f510 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1f520 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b  -6.287291e-9.} {
1f530 61 62 63 3a 20 33 20 32 20 28 2d 36 2e 32 38 37  abc: 3 2 (-6.287
1f540 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
1f550 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f560 2e 31 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65  .13.5 {.  sqlite
1f570 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f580 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 23   {abc: %d %d (%#
1f590 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e  g) :xyz} 3 2 -6.
1f5a0 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63  287291e-9.} {abc
1f5b0 3a 20 33 20 32 20 28 2d 36 2e 32 38 37 32 39 65  : 3 2 (-6.28729e
1f5c0 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65  -09) :xyz}.do_te
1f5d0 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33  st printf-2.8.13
1f5e0 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .6 {.  sqlite3_m
1f5f0 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
1f600 62 63 3a 20 25 64 20 25 64 20 28 25 30 31 30 67  bc: %d %d (%010g
1f610 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32  ) :xyz} 3 2 -6.2
1f620 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a  87291e-9.} {abc:
1f630 20 33 20 32 20 28 2d 36 2e 32 38 37 32 39 65 2d   3 2 (-6.28729e-
1f640 30 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  09) :xyz}.do_tes
1f650 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 33 2e  t printf-2.8.13.
1f660 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  7 {.  sqlite3_mp
1f670 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1f680 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32 66 29  c: %d %d (%3.2f)
1f690 20 3a 78 79 7a 7d 20 33 20 32 20 2d 36 2e 32 38   :xyz} 3 2 -6.28
1f6a0 37 32 39 31 65 2d 39 0a 7d 20 7b 61 62 63 3a 20  7291e-9.} {abc: 
1f6b0 33 20 32 20 28 2d 30 2e 30 30 29 20 3a 78 79 7a  3 2 (-0.00) :xyz
1f6c0 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f6d0 2d 32 2e 38 2e 31 33 2e 38 20 7b 0a 20 20 73 71  -2.8.13.8 {.  sq
1f6e0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f6f0 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1f700 20 28 25 33 2e 32 65 29 20 3a 78 79 7a 7d 20 33   (%3.2e) :xyz} 3
1f710 20 32 20 2d 36 2e 32 38 37 32 39 31 65 2d 39 0a   2 -6.287291e-9.
1f720 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 2d 36 2e  } {abc: 3 2 (-6.
1f730 32 39 65 2d 30 39 29 20 3a 78 79 7a 7d 0a 64 6f  29e-09) :xyz}.do
1f740 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f750 2e 31 33 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65  .13.9 {.  sqlite
1f760 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f770 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33   {abc: %d %d (%3
1f780 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 2d  .2g) :xyz} 3 2 -
1f790 36 2e 32 38 37 32 39 31 65 2d 39 0a 7d 20 7b 61  6.287291e-9.} {a
1f7a0 62 63 3a 20 33 20 32 20 28 2d 36 2e 33 65 2d 30  bc: 3 2 (-6.3e-0
1f7b0 39 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  9) :xyz}.do_test
1f7c0 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e 31   printf-2.8.14.1
1f7d0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1f7e0 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1f7f0 3a 20 28 25 2a 2e 2a 66 29 20 3a 78 79 7a 7d 20  : (%*.*f) :xyz} 
1f800 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 2 3.38826392e-
1f810 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 30 2e 30  110.} {abc: (0.0
1f820 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1f830 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 34 2e 32   printf-2.8.14.2
1f840 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1f850 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1f860 3a 20 28 25 2a 2e 2a 65 29 20 3a 78 79 7a 7d 20  : (%*.*e) :xyz} 
1f870 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 2 3.38826392e-
1f880 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 33 2e 33  110.} {abc: (3.3
1f890 39 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f  9e-110) :xyz}.do
1f8a0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38  _test printf-2.8
1f8b0 2e 31 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  .14.3 {.  sqlite
1f8c0 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65  3_mprintf_double
1f8d0 20 7b 61 62 63 3a 20 28 25 2a 2e 2a 67 29 20 3a   {abc: (%*.*g) :
1f8e0 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36  xyz} 3 2 3.38826
1f8f0 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a  392e-110.} {abc:
1f900 20 28 33 2e 34 65 2d 31 31 30 29 20 3a 78 79 7a   (3.4e-110) :xyz
1f910 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
1f920 2d 32 2e 38 2e 31 34 2e 34 20 7b 0a 20 20 73 71  -2.8.14.4 {.  sq
1f930 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f  lite3_mprintf_do
1f940 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64  uble {abc: %d %d
1f950 20 28 25 67 29 20 3a 78 79 7a 7d 20 33 20 32 20   (%g) :xyz} 3 2 
1f960 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1f970 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33  } {abc: 3 2 (3.3
1f980 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
1f990 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1f9a0 32 2e 38 2e 31 34 2e 35 20 7b 0a 20 20 73 71 6c  2.8.14.5 {.  sql
1f9b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1f9c0 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1f9d0 28 25 23 67 29 20 3a 78 79 7a 7d 20 33 20 32 20  (%#g) :xyz} 3 2 
1f9e0 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a  3.38826392e-110.
1f9f0 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33  } {abc: 3 2 (3.3
1fa00 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d  8826e-110) :xyz}
1fa10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
1fa20 32 2e 38 2e 31 34 2e 36 20 7b 0a 20 20 73 71 6c  2.8.14.6 {.  sql
1fa30 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
1fa40 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
1fa50 28 25 30 31 30 67 29 20 3a 78 79 7a 7d 20 33 20  (%010g) :xyz} 3 
1fa60 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  2 3.38826392e-11
1fa70 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 33  0.} {abc: 3 2 (3
1fa80 2e 33 38 38 32 36 65 2d 31 31 30 29 20 3a 78 79  .38826e-110) :xy
1fa90 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1faa0 66 2d 32 2e 38 2e 31 34 2e 37 20 7b 0a 20 20 73  f-2.8.14.7 {.  s
1fab0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1fac0 6f 75 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25  ouble {abc: %d %
1fad0 64 20 28 25 33 2e 32 66 29 20 3a 78 79 7a 7d 20  d (%3.2f) :xyz} 
1fae0 33 20 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d  3 2 3.38826392e-
1faf0 31 31 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20  110.} {abc: 3 2 
1fb00 28 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  (0.00) :xyz}.do_
1fb10 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
1fb20 31 34 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33  14.8 {.  sqlite3
1fb30 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
1fb40 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e  {abc: %d %d (%3.
1fb50 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  2e) :xyz} 3 2 3.
1fb60 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1fb70 7b 61 62 63 3a 20 33 20 32 20 28 33 2e 33 39 65  {abc: 3 2 (3.39e
1fb80 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
1fb90 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1fba0 34 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.9 {.  sqlite3_
1fbb0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1fbc0 61 62 63 3a 20 25 64 20 25 64 20 28 25 33 2e 32  abc: %d %d (%3.2
1fbd0 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33  g) :xyz} 3 2 3.3
1fbe0 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b  8826392e-110.} {
1fbf0 61 62 63 3a 20 33 20 32 20 28 33 2e 34 65 2d 31  abc: 3 2 (3.4e-1
1fc00 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
1fc10 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e  t printf-2.8.15.
1fc20 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
1fc30 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1fc40 63 3a 20 28 25 20 2a 2e 2a 66 29 20 3a 78 79 7a  c: (% *.*f) :xyz
1fc50 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33 39 32  } 3 2 3.38826392
1fc60 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20 28 20  e-110.} {abc: ( 
1fc70 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
1fc80 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1fc90 35 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.2 {.  sqlite3_
1fca0 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1fcb0 61 62 63 3a 20 28 25 20 2a 2e 2a 65 29 20 3a 78  abc: (% *.*e) :x
1fcc0 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33  yz} 3 2 3.388263
1fcd0 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
1fce0 28 20 33 2e 33 39 65 2d 31 31 30 29 20 3a 78 79  ( 3.39e-110) :xy
1fcf0 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
1fd00 66 2d 32 2e 38 2e 31 35 2e 33 20 7b 0a 20 20 73  f-2.8.15.3 {.  s
1fd10 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64  qlite3_mprintf_d
1fd20 6f 75 62 6c 65 20 7b 61 62 63 3a 20 28 25 20 2a  ouble {abc: (% *
1fd30 2e 2a 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  .*g) :xyz} 3 2 3
1fd40 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
1fd50 20 7b 61 62 63 3a 20 28 20 33 2e 34 65 2d 31 31   {abc: ( 3.4e-11
1fd60 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
1fd70 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e 34   printf-2.8.15.4
1fd80 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
1fd90 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
1fda0 3a 20 25 64 20 25 64 20 28 25 20 67 29 20 3a 78  : %d %d (% g) :x
1fdb0 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32 36 33  yz} 3 2 3.388263
1fdc0 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63 3a 20  92e-110.} {abc: 
1fdd0 33 20 32 20 28 20 33 2e 33 38 38 32 36 65 2d 31  3 2 ( 3.38826e-1
1fde0 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73  10) :xyz}.do_tes
1fdf0 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31 35 2e  t printf-2.8.15.
1fe00 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
1fe10 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
1fe20 63 3a 20 25 64 20 25 64 20 28 25 20 23 67 29 20  c: %d %d (% #g) 
1fe30 3a 78 79 7a 7d 20 33 20 32 20 33 2e 33 38 38 32  :xyz} 3 2 3.3882
1fe40 36 33 39 32 65 2d 31 31 30 0a 7d 20 7b 61 62 63  6392e-110.} {abc
1fe50 3a 20 33 20 32 20 28 20 33 2e 33 38 38 32 36 65  : 3 2 ( 3.38826e
1fe60 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  -110) :xyz}.do_t
1fe70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1fe80 35 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.6 {.  sqlite3_
1fe90 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1fea0 61 62 63 3a 20 25 64 20 25 64 20 28 25 30 20 31  abc: %d %d (%0 1
1feb0 30 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  0g) :xyz} 3 2 3.
1fec0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1fed0 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e 33 38  {abc: 3 2 ( 3.38
1fee0 38 32 36 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a  826e-110) :xyz}.
1fef0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32  do_test printf-2
1ff00 2e 38 2e 31 35 2e 37 20 7b 0a 20 20 73 71 6c 69  .8.15.7 {.  sqli
1ff10 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62  te3_mprintf_doub
1ff20 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20 28  le {abc: %d %d (
1ff30 25 20 33 2e 32 66 29 20 3a 78 79 7a 7d 20 33 20  % 3.2f) :xyz} 3 
1ff40 32 20 33 2e 33 38 38 32 36 33 39 32 65 2d 31 31  2 3.38826392e-11
1ff50 30 0a 7d 20 7b 61 62 63 3a 20 33 20 32 20 28 20  0.} {abc: 3 2 ( 
1ff60 30 2e 30 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74  0.00) :xyz}.do_t
1ff70 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e 31  est printf-2.8.1
1ff80 35 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  5.8 {.  sqlite3_
1ff90 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
1ffa0 61 62 63 3a 20 25 64 20 25 64 20 28 25 20 33 2e  abc: %d %d (% 3.
1ffb0 32 65 29 20 3a 78 79 7a 7d 20 33 20 32 20 33 2e  2e) :xyz} 3 2 3.
1ffc0 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d 20  38826392e-110.} 
1ffd0 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e 33 39  {abc: 3 2 ( 3.39
1ffe0 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f  e-110) :xyz}.do_
1fff0 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 38 2e  test printf-2.8.
20000 31 35 2e 39 20 7b 0a 20 20 73 71 6c 69 74 65 33  15.9 {.  sqlite3
20010 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
20020 7b 61 62 63 3a 20 25 64 20 25 64 20 28 25 20 33  {abc: %d %d (% 3
20030 2e 32 67 29 20 3a 78 79 7a 7d 20 33 20 32 20 33  .2g) :xyz} 3 2 3
20040 2e 33 38 38 32 36 33 39 32 65 2d 31 31 30 0a 7d  .38826392e-110.}
20050 20 7b 61 62 63 3a 20 33 20 32 20 28 20 33 2e 34   {abc: 3 2 ( 3.4
20060 65 2d 31 31 30 29 20 3a 78 79 7a 7d 0a 0a 64 6f  e-110) :xyz}..do
20070 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 39  _test printf-2.9
20080 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .1 {.  sqlite3_m
20090 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61  printf_double {a
200a0 62 63 3a 20 25 64 20 25 64 20 28 25 35 2e 30 67  bc: %d %d (%5.0g
200b0 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33  ) :xyz} 0 0 1.23
200c0 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 20  4.} {abc: 0 0 ( 
200d0 20 20 20 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74     1) :xyz}.do_t
200e0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e 32  est printf-2.9.2
200f0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
20100 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63  intf_double {abc
20110 3a 20 25 64 20 25 64 20 28 25 2b 35 2e 30 67 29  : %d %d (%+5.0g)
20120 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34   :xyz} 0 0 1.234
20130 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 20 20  .} {abc: 0 0 (  
20140 20 2b 31 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65   +1) :xyz}.do_te
20150 73 74 20 70 72 69 6e 74 66 2d 32 2e 39 2e 33 20  st printf-2.9.3 
20160 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
20170 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a  ntf_double {abc:
20180 20 25 64 20 25 64 20 28 25 2b 2d 35 2e 30 67 29   %d %d (%+-5.0g)
20190 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34   :xyz} 0 0 1.234
201a0 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 2b 31  .} {abc: 0 0 (+1
201b0 20 20 20 29 20 3a 78 79 7a 7d 0a 0a 64 6f 5f 74     ) :xyz}..do_t
201c0 65 73 74 20 70 72 69 6e 74 66 2d 32 2e 31 30 2e  est printf-2.10.
201d0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
201e0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62  rintf_double {ab
201f0 63 3a 20 25 64 20 25 64 20 28 25 2d 30 31 30 2e  c: %d %d (%-010.
20200 35 66 29 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e  5f) :xyz} 0 0 1.
20210 32 33 34 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20  234.} {abc: 0 0 
20220 28 31 2e 32 33 34 30 30 20 20 20 29 20 3a 78 79  (1.23400   ) :xy
20230 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
20240 66 2d 32 2e 31 30 2e 32 20 7b 0a 20 20 73 71 6c  f-2.10.2 {.  sql
20250 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75  ite3_mprintf_dou
20260 62 6c 65 20 7b 61 62 63 3a 20 25 64 20 25 64 20  ble {abc: %d %d 
20270 28 25 30 31 30 2e 35 66 29 20 3a 78 79 7a 7d 20  (%010.5f) :xyz} 
20280 30 20 30 20 31 2e 32 33 34 0a 7d 20 7b 61 62 63  0 0 1.234.} {abc
20290 3a 20 30 20 30 20 28 30 30 30 31 2e 32 33 34 30  : 0 0 (0001.2340
202a0 30 29 20 3a 78 79 7a 7d 0a 64 6f 5f 74 65 73 74  0) :xyz}.do_test
202b0 20 70 72 69 6e 74 66 2d 32 2e 31 30 2e 33 20 7b   printf-2.10.3 {
202c0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
202d0 74 66 5f 64 6f 75 62 6c 65 20 7b 61 62 63 3a 20  tf_double {abc: 
202e0 25 64 20 25 64 20 28 25 2b 30 31 30 2e 35 66 29  %d %d (%+010.5f)
202f0 20 3a 78 79 7a 7d 20 30 20 30 20 31 2e 32 33 34   :xyz} 0 0 1.234
20300 0a 7d 20 7b 61 62 63 3a 20 30 20 30 20 28 2b 30  .} {abc: 0 0 (+0
20310 30 31 2e 32 33 34 30 30 29 20 3a 78 79 7a 7d 0a  01.23400) :xyz}.
20320 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
20330 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.1 {.  sqlite3_
20340 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 41 20 53  mprintf_str {A S
20350 74 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20  tring: (%*.*s)} 
20360 31 30 20 31 30 20 7b 54 68 69 73 20 69 73 20 74  10 10 {This is t
20370 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f  he string}.} [fo
20380 72 6d 61 74 20 7b 41 20 53 74 72 69 6e 67 3a 20  rmat {A String: 
20390 28 25 2a 2e 2a 73 29 7d 20 31 30 20 31 30 20 7b  (%*.*s)} 10 10 {
203a0 54 68 69 73 20 69 73 20 74 68 65 20 73 74 72 69  This is the stri
203b0 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70 72 69  ng}].do_test pri
203c0 6e 74 66 2d 33 2e 32 20 7b 0a 20 20 73 71 6c 69  ntf-3.2 {.  sqli
203d0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
203e0 7b 41 20 53 74 72 69 6e 67 3a 20 28 25 2a 2e 2a  {A String: (%*.*
203f0 73 29 7d 20 31 30 20 35 20 7b 54 68 69 73 20 69  s)} 10 5 {This i
20400 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20  s the string}.} 
20410 5b 66 6f 72 6d 61 74 20 7b 41 20 53 74 72 69 6e  [format {A Strin
20420 67 3a 20 28 25 2a 2e 2a 73 29 7d 20 31 30 20 35  g: (%*.*s)} 10 5
20430 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20440 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 70  ring}].do_test p
20450 72 69 6e 74 66 2d 33 2e 33 20 7b 0a 20 20 73 71  rintf-3.3 {.  sq
20460 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
20470 72 20 7b 41 20 53 74 72 69 6e 67 3a 20 28 25 2a  r {A String: (%*
20480 2e 2a 73 29 7d 20 2d 31 30 20 35 20 7b 54 68 69  .*s)} -10 5 {Thi
20490 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d  s is the string}
204a0 0a 7d 20 5b 66 6f 72 6d 61 74 20 7b 41 20 53 74  .} [format {A St
204b0 72 69 6e 67 3a 20 28 25 2a 2e 2a 73 29 7d 20 2d  ring: (%*.*s)} -
204c0 31 30 20 35 20 7b 54 68 69 73 20 69 73 20 74 68  10 5 {This is th
204d0 65 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65  e string}].do_te
204e0 73 74 20 70 72 69 6e 74 66 2d 33 2e 34 20 7b 0a  st printf-3.4 {.
204f0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
20500 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 53  f_str {%d %d A S
20510 74 72 69 6e 67 3a 20 28 25 73 29 7d 20 31 20 32  tring: (%s)} 1 2
20520 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
20530 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d 61 74 20  ring}.} [format 
20540 7b 25 64 20 25 64 20 41 20 53 74 72 69 6e 67 3a  {%d %d A String:
20550 20 28 25 73 29 7d 20 31 20 32 20 7b 54 68 69 73   (%s)} 1 2 {This
20560 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 5d   is the string}]
20570 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
20580 33 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.5 {.  sqlite3_
20590 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20  mprintf_str {%d 
205a0 25 64 20 41 20 53 74 72 69 6e 67 3a 20 28 25 33  %d A String: (%3
205b0 30 73 29 7d 20 31 20 32 20 7b 54 68 69 73 20 69  0s)} 1 2 {This i
205c0 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20  s the string}.} 
205d0 5b 66 6f 72 6d 61 74 20 7b 25 64 20 25 64 20 41  [format {%d %d A
205e0 20 53 74 72 69 6e 67 3a 20 28 25 33 30 73 29 7d   String: (%30s)}
205f0 20 31 20 32 20 7b 54 68 69 73 20 69 73 20 74 68   1 2 {This is th
20600 65 20 73 74 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65  e string}].do_te
20610 73 74 20 70 72 69 6e 74 66 2d 33 2e 36 20 7b 0a  st printf-3.6 {.
20620 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
20630 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20 53  f_str {%d %d A S
20640 74 72 69 6e 67 3a 20 28 25 2d 33 30 73 29 7d 20  tring: (%-30s)} 
20650 31 20 32 20 7b 54 68 69 73 20 69 73 20 74 68 65  1 2 {This is the
20660 20 73 74 72 69 6e 67 7d 0a 7d 20 5b 66 6f 72 6d   string}.} [form
20670 61 74 20 7b 25 64 20 25 64 20 41 20 53 74 72 69  at {%d %d A Stri
20680 6e 67 3a 20 28 25 2d 33 30 73 29 7d 20 31 20 32  ng: (%-30s)} 1 2
20690 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
206a0 72 69 6e 67 7d 5d 0a 64 6f 5f 74 65 73 74 20 73  ring}].do_test s
206b0 6e 70 72 69 6e 74 66 2d 33 2e 31 31 20 7b 0a 20  nprintf-3.11 {. 
206c0 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74   sqlite3_snprint
206d0 66 5f 73 74 72 20 32 20 7b 78 25 64 20 25 64 20  f_str 2 {x%d %d 
206e0 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20  %s} 10 10 {This 
206f0 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d  is the string}.}
20700 20 7b 78 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70   {x}.do_test snp
20710 72 69 6e 74 66 2d 33 2e 31 32 20 7b 0a 20 20 73  rintf-3.12 {.  s
20720 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f  qlite3_snprintf_
20730 73 74 72 20 33 20 7b 78 25 64 20 25 64 20 25 73  str 3 {x%d %d %s
20740 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73  } 10 10 {This is
20750 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b   the string}.} {
20760 78 31 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70 72  x1}.do_test snpr
20770 69 6e 74 66 2d 33 2e 31 33 20 7b 0a 20 20 73 71  intf-3.13 {.  sq
20780 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 73  lite3_snprintf_s
20790 74 72 20 34 20 7b 78 25 64 20 25 64 20 25 73 7d  tr 4 {x%d %d %s}
207a0 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73 20   10 10 {This is 
207b0 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 78  the string}.} {x
207c0 31 30 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70 72  10}.do_test snpr
207d0 69 6e 74 66 2d 33 2e 31 34 20 7b 0a 20 20 73 71  intf-3.14 {.  sq
207e0 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 73  lite3_snprintf_s
207f0 74 72 20 35 20 7b 78 25 64 20 25 64 20 25 73 7d  tr 5 {x%d %d %s}
20800 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73 20   10 10 {This is 
20810 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b 78  the string}.} {x
20820 31 30 20 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70  10 }.do_test snp
20830 72 69 6e 74 66 2d 33 2e 31 35 20 7b 0a 20 20 73  rintf-3.15 {.  s
20840 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f  qlite3_snprintf_
20850 73 74 72 20 36 20 7b 78 25 64 20 25 64 20 25 73  str 6 {x%d %d %s
20860 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73  } 10 10 {This is
20870 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b   the string}.} {
20880 78 31 30 20 31 7d 0a 64 6f 5f 74 65 73 74 20 73  x10 1}.do_test s
20890 6e 70 72 69 6e 74 66 2d 33 2e 31 36 20 7b 0a 20  nprintf-3.16 {. 
208a0 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74   sqlite3_snprint
208b0 66 5f 73 74 72 20 37 20 7b 78 25 64 20 25 64 20  f_str 7 {x%d %d 
208c0 25 73 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20  %s} 10 10 {This 
208d0 69 73 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d  is the string}.}
208e0 20 7b 78 31 30 20 31 30 7d 0a 64 6f 5f 74 65 73   {x10 10}.do_tes
208f0 74 20 73 6e 70 72 69 6e 74 66 2d 33 2e 31 37 20  t snprintf-3.17 
20900 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72  {.  sqlite3_snpr
20910 69 6e 74 66 5f 73 74 72 20 38 20 7b 78 25 64 20  intf_str 8 {x%d 
20920 25 64 20 25 73 7d 20 31 30 20 31 30 20 7b 54 68  %d %s} 10 10 {Th
20930 69 73 20 69 73 20 74 68 65 20 73 74 72 69 6e 67  is is the string
20940 7d 0a 7d 20 7b 78 31 30 20 31 30 20 7d 0a 64 6f  }.} {x10 10 }.do
20950 5f 74 65 73 74 20 73 6e 70 72 69 6e 74 66 2d 33  _test snprintf-3
20960 2e 31 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  .18 {.  sqlite3_
20970 73 6e 70 72 69 6e 74 66 5f 73 74 72 20 39 20 7b  snprintf_str 9 {
20980 78 25 64 20 25 64 20 25 73 7d 20 31 30 20 31 30  x%d %d %s} 10 10
20990 20 7b 54 68 69 73 20 69 73 20 74 68 65 20 73 74   {This is the st
209a0 72 69 6e 67 7d 0a 7d 20 7b 78 31 30 20 31 30 20  ring}.} {x10 10 
209b0 54 7d 0a 64 6f 5f 74 65 73 74 20 73 6e 70 72 69  T}.do_test snpri
209c0 6e 74 66 2d 33 2e 31 39 20 7b 0a 20 20 73 71 6c  ntf-3.19 {.  sql
209d0 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 73 74  ite3_snprintf_st
209e0 72 20 31 30 30 20 7b 78 25 64 20 25 64 20 25 73  r 100 {x%d %d %s
209f0 7d 20 31 30 20 31 30 20 7b 54 68 69 73 20 69 73  } 10 10 {This is
20a00 20 74 68 65 20 73 74 72 69 6e 67 7d 0a 7d 20 7b   the string}.} {
20a10 78 31 30 20 31 30 20 54 68 69 73 20 69 73 20 74  x10 10 This is t
20a20 68 65 20 73 74 72 69 6e 67 7d 0a 0a 64 6f 5f 74  he string}..do_t
20a30 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 20 7b  est printf-4.1 {
20a40 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20a50 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20  tf_str {%d %d A 
20a60 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27  quoted string: '
20a70 25 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61  %q'} 1 2 {Hi Y'a
20a80 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f  ll}.} {1 2 A quo
20a90 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20  ted string: 'Hi 
20aa0 59 27 27 61 6c 6c 27 7d 0a 64 6f 5f 74 65 73 74  Y''all'}.do_test
20ab0 20 70 72 69 6e 74 66 2d 34 2e 32 20 7b 0a 20 20   printf-4.2 {.  
20ac0 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
20ad0 73 74 72 20 7b 25 64 20 25 64 20 41 20 4e 55 4c  str {%d %d A NUL
20ae0 4c 20 70 6f 69 6e 74 65 72 20 69 6e 20 25 25 71  L pointer in %%q
20af0 3a 20 27 25 71 27 7d 20 31 20 32 0a 7d 20 7b 31  : '%q'} 1 2.} {1
20b00 20 32 20 41 20 4e 55 4c 4c 20 70 6f 69 6e 74 65   2 A NULL pointe
20b10 72 20 69 6e 20 25 71 3a 20 27 28 4e 55 4c 4c 29  r in %q: '(NULL)
20b20 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  '}.do_test print
20b30 66 2d 34 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  f-4.3 {.  sqlite
20b40 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25  3_mprintf_str {%
20b50 64 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74  d %d A quoted st
20b60 72 69 6e 67 3a 20 25 51 7d 20 31 20 32 20 7b 48  ring: %Q} 1 2 {H
20b70 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20  i Y'all}.} {1 2 
20b80 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a  A quoted string:
20b90 20 27 48 69 20 59 27 27 61 6c 6c 27 7d 0a 64 6f   'Hi Y''all'}.do
20ba0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 34  _test printf-4.4
20bb0 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
20bc0 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20  intf_str {%d %d 
20bd0 41 20 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 20 69  A NULL pointer i
20be0 6e 20 25 25 51 3a 20 25 51 7d 20 31 20 32 0a 7d  n %%Q: %Q} 1 2.}
20bf0 20 7b 31 20 32 20 41 20 4e 55 4c 4c 20 70 6f 69   {1 2 A NULL poi
20c00 6e 74 65 72 20 69 6e 20 25 51 3a 20 4e 55 4c 4c  nter in %Q: NULL
20c10 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
20c20 2d 34 2e 35 20 7b 0a 20 20 73 71 6c 69 74 65 33  -4.5 {.  sqlite3
20c30 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
20c40 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74 72   %d A quoted str
20c50 69 6e 67 3a 20 27 25 2e 31 30 71 27 7d 20 31 20  ing: '%.10q'} 1 
20c60 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b  2 {Hi Y'all}.} {
20c70 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72  1 2 A quoted str
20c80 69 6e 67 3a 20 27 48 69 20 59 27 27 61 6c 6c 27  ing: 'Hi Y''all'
20c90 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  }.do_test printf
20ca0 2d 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74 65 33  -4.6 {.  sqlite3
20cb0 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64  _mprintf_str {%d
20cc0 20 25 64 20 41 20 71 75 6f 74 65 64 20 73 74 72   %d A quoted str
20cd0 69 6e 67 3a 20 27 25 2e 39 71 27 7d 20 31 20 32  ing: '%.9q'} 1 2
20ce0 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31   {Hi Y'all}.} {1
20cf0 20 32 20 41 20 71 75 6f 74 65 64 20 73 74 72 69   2 A quoted stri
20d00 6e 67 3a 20 27 48 69 20 59 27 27 61 6c 6c 27 7d  ng: 'Hi Y''all'}
20d10 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
20d20 34 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  4.7 {.  sqlite3_
20d30 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20  mprintf_str {%d 
20d40 25 64 20 41 20 71 75 6f 74 65 64 20 73 74 72 69  %d A quoted stri
20d50 6e 67 3a 20 27 25 2e 38 71 27 7d 20 31 20 32 20  ng: '%.8q'} 1 2 
20d60 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20  {Hi Y'all}.} {1 
20d70 32 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  2 A quoted strin
20d80 67 3a 20 27 48 69 20 59 27 27 61 6c 6c 27 7d 0a  g: 'Hi Y''all'}.
20d90 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34  do_test printf-4
20da0 2e 38 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .8 {.  sqlite3_m
20db0 70 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25  printf_str {%d %
20dc0 64 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  d A quoted strin
20dd0 67 3a 20 27 25 2e 37 71 27 7d 20 31 20 32 20 7b  g: '%.7q'} 1 2 {
20de0 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32  Hi Y'all}.} {1 2
20df0 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67   A quoted string
20e00 3a 20 27 48 69 20 59 27 27 61 6c 27 7d 0a 64 6f  : 'Hi Y''al'}.do
20e10 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 39  _test printf-4.9
20e20 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
20e30 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20  intf_str {%d %d 
20e40 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a  A quoted string:
20e50 20 27 25 2e 36 71 27 7d 20 31 20 32 20 7b 48 69   '%.6q'} 1 2 {Hi
20e60 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41   Y'all}.} {1 2 A
20e70 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20   quoted string: 
20e80 27 48 69 20 59 27 27 61 27 7d 0a 64 6f 5f 74 65  'Hi Y''a'}.do_te
20e90 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 30 20 7b  st printf-4.10 {
20ea0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
20eb0 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20 41 20  tf_str {%d %d A 
20ec0 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27  quoted string: '
20ed0 25 2e 35 71 27 7d 20 31 20 32 20 7b 48 69 20 59  %.5q'} 1 2 {Hi Y
20ee0 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71  'all}.} {1 2 A q
20ef0 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20 27 48  uoted string: 'H
20f00 69 20 59 27 27 27 7d 0a 64 6f 5f 74 65 73 74 20  i Y'''}.do_test 
20f10 70 72 69 6e 74 66 2d 34 2e 31 31 20 7b 0a 20 20  printf-4.11 {.  
20f20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
20f30 73 74 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f  str {%d %d A quo
20f40 74 65 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 34  ted string: '%.4
20f50 71 27 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c  q'} 1 2 {Hi Y'al
20f60 6c 7d 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74  l}.} {1 2 A quot
20f70 65 64 20 73 74 72 69 6e 67 3a 20 27 48 69 20 59  ed string: 'Hi Y
20f80 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  '}.do_test print
20f90 66 2d 34 2e 31 32 20 7b 0a 20 20 73 71 6c 69 74  f-4.12 {.  sqlit
20fa0 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b  e3_mprintf_str {
20fb0 25 64 20 25 64 20 41 20 71 75 6f 74 65 64 20 73  %d %d A quoted s
20fc0 74 72 69 6e 67 3a 20 27 25 2e 33 71 27 7d 20 31  tring: '%.3q'} 1
20fd0 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20   2 {Hi Y'all}.} 
20fe0 7b 31 20 32 20 41 20 71 75 6f 74 65 64 20 73 74  {1 2 A quoted st
20ff0 72 69 6e 67 3a 20 27 48 69 20 27 7d 0a 64 6f 5f  ring: 'Hi '}.do_
21000 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31 33  test printf-4.13
21010 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
21020 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64 20  intf_str {%d %d 
21030 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a  A quoted string:
21040 20 27 25 2e 32 71 27 7d 20 31 20 32 20 7b 48 69   '%.2q'} 1 2 {Hi
21050 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20 41   Y'all}.} {1 2 A
21060 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a 20   quoted string: 
21070 27 48 69 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72  'Hi'}.do_test pr
21080 69 6e 74 66 2d 34 2e 31 34 20 7b 0a 20 20 73 71  intf-4.14 {.  sq
21090 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
210a0 72 20 7b 25 64 20 25 64 20 41 20 71 75 6f 74 65  r {%d %d A quote
210b0 64 20 73 74 72 69 6e 67 3a 20 27 25 2e 31 71 27  d string: '%.1q'
210c0 7d 20 31 20 32 20 7b 48 69 20 59 27 61 6c 6c 7d  } 1 2 {Hi Y'all}
210d0 0a 7d 20 7b 31 20 32 20 41 20 71 75 6f 74 65 64  .} {1 2 A quoted
210e0 20 73 74 72 69 6e 67 3a 20 27 48 27 7d 0a 64 6f   string: 'H'}.do
210f0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 34 2e 31  _test printf-4.1
21100 35 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  5 {.  sqlite3_mp
21110 72 69 6e 74 66 5f 73 74 72 20 7b 25 64 20 25 64  rintf_str {%d %d
21120 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67   A quoted string
21130 3a 20 27 25 2e 30 71 27 7d 20 31 20 32 20 7b 48  : '%.0q'} 1 2 {H
21140 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b 31 20 32 20  i Y'all}.} {1 2 
21150 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e 67 3a  A quoted string:
21160 20 27 27 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69   ''}.do_test pri
21170 6e 74 66 2d 34 2e 31 36 20 7b 0a 20 20 73 71 6c  ntf-4.16 {.  sql
21180 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72  ite3_mprintf_str
21190 20 7b 25 64 20 41 20 71 75 6f 74 65 64 20 73 74   {%d A quoted st
211a0 72 69 6e 67 3a 20 27 25 2e 2a 71 27 7d 20 31 20  ring: '%.*q'} 1 
211b0 36 20 7b 48 69 20 59 27 61 6c 6c 7d 0a 7d 20 7b  6 {Hi Y'all}.} {
211c0 31 20 41 20 71 75 6f 74 65 64 20 73 74 72 69 6e  1 A quoted strin
211d0 67 3a 20 27 48 69 20 59 27 27 61 27 7d 0a 0a 0a  g: 'Hi Y''a'}...
211e0 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 35  do_test printf-5
211f0 2e 31 20 7b 0a 20 20 73 65 74 20 78 20 5b 73 71  .1 {.  set x [sq
21200 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
21210 72 20 7b 25 64 20 25 64 20 25 31 30 30 30 30 30  r {%d %d %100000
21220 73 7d 20 30 20 30 20 7b 48 65 6c 6c 6f 7d 5d 0a  s} 0 0 {Hello}].
21230 20 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20    string length 
21240 24 78 0a 7d 20 7b 33 34 34 7d 0a 64 6f 5f 74 65  $x.} {344}.do_te
21250 73 74 20 70 72 69 6e 74 66 2d 35 2e 32 20 7b 0a  st printf-5.2 {.
21260 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
21270 66 5f 73 74 72 20 7b 25 64 20 25 64 20 28 25 2d  f_str {%d %d (%-
21280 31 30 2e 31 30 73 29 20 25 7d 20 2d 39 20 2d 31  10.10s) %} -9 -1
21290 30 20 7b 48 65 6c 6c 6f 48 65 6c 6c 6f 48 65 6c  0 {HelloHelloHel
212a0 6c 6f 7d 0a 7d 20 7b 2d 39 20 2d 31 30 20 28 48  lo}.} {-9 -10 (H
212b0 65 6c 6c 6f 48 65 6c 6c 6f 29 20 25 7d 0a 0a 64  elloHello) %}..d
212c0 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 36 2e  o_test printf-6.
212d0 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  1 {.  sqlite3_mp
212e0 72 69 6e 74 66 5f 7a 5f 74 65 73 74 20 2c 20 6f  rintf_z_test , o
212f0 6e 65 20 74 77 6f 20 74 68 72 65 65 20 66 6f 75  ne two three fou
21300 72 20 66 69 76 65 20 73 69 78 0a 7d 20 7b 2c 6f  r five six.} {,o
21310 6e 65 2c 74 77 6f 2c 74 68 72 65 65 2c 66 6f 75  ne,two,three,fou
21320 72 2c 66 69 76 65 2c 73 69 78 7d 0a 0a 0a 64 6f  r,five,six}...do
21330 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 37 2e 31  _test printf-7.1
21340 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72   {.  sqlite3_mpr
21350 69 6e 74 66 5f 73 63 61 6c 65 64 20 7b 41 20 64  intf_scaled {A d
21360 6f 75 62 6c 65 3a 20 25 67 7d 20 31 2e 30 65 33  ouble: %g} 1.0e3
21370 30 37 20 31 2e 30 0a 7d 20 7b 41 20 64 6f 75 62  07 1.0.} {A doub
21380 6c 65 3a 20 31 65 2b 33 30 37 7d 0a 64 6f 5f 74  le: 1e+307}.do_t
21390 65 73 74 20 70 72 69 6e 74 66 2d 37 2e 32 20 7b  est printf-7.2 {
213a0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
213b0 74 66 5f 73 63 61 6c 65 64 20 7b 41 20 64 6f 75  tf_scaled {A dou
213c0 62 6c 65 3a 20 25 67 7d 20 31 2e 30 65 33 30 37  ble: %g} 1.0e307
213d0 20 31 30 2e 30 0a 7d 20 7b 41 20 64 6f 75 62 6c   10.0.} {A doubl
213e0 65 3a 20 31 65 2b 33 30 38 7d 0a 64 6f 5f 74 65  e: 1e+308}.do_te
213f0 73 74 20 70 72 69 6e 74 66 2d 37 2e 33 20 7b 0a  st printf-7.3 {.
21400 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
21410 66 5f 73 63 61 6c 65 64 20 7b 41 20 64 6f 75 62  f_scaled {A doub
21420 6c 65 3a 20 25 67 7d 20 31 2e 30 65 33 30 37 20  le: %g} 1.0e307 
21430 31 30 30 2e 30 0a 7d 20 7b 41 20 64 6f 75 62 6c  100.0.} {A doubl
21440 65 3a 20 49 6e 66 7d 0a 64 6f 5f 74 65 73 74 20  e: Inf}.do_test 
21450 70 72 69 6e 74 66 2d 37 2e 34 20 7b 0a 20 20 73  printf-7.4 {.  s
21460 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
21470 63 61 6c 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a  caled {A double:
21480 20 25 67 7d 20 2d 31 2e 30 65 33 30 37 20 31 30   %g} -1.0e307 10
21490 30 2e 30 0a 7d 20 7b 41 20 64 6f 75 62 6c 65 3a  0.0.} {A double:
214a0 20 2d 49 6e 66 7d 0a 64 6f 5f 74 65 73 74 20 70   -Inf}.do_test p
214b0 72 69 6e 74 66 2d 37 2e 35 20 7b 0a 20 20 73 71  rintf-7.5 {.  sq
214c0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 63  lite3_mprintf_sc
214d0 61 6c 65 64 20 7b 41 20 64 6f 75 62 6c 65 3a 20  aled {A double: 
214e0 25 2b 67 7d 20 31 2e 30 65 33 30 37 20 31 30 30  %+g} 1.0e307 100
214f0 2e 30 0a 7d 20 7b 41 20 64 6f 75 62 6c 65 3a 20  .0.} {A double: 
21500 2b 49 6e 66 7d 0a 0a 64 6f 5f 74 65 73 74 20 70  +Inf}..do_test p
21510 72 69 6e 74 66 2d 38 2e 31 20 7b 0a 20 20 73 71  rintf-8.1 {.  sq
21520 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
21530 74 20 7b 25 75 20 25 75 20 25 75 7d 20 30 78 37  t {%u %u %u} 0x7
21540 66 66 66 66 66 66 66 20 30 78 38 30 30 30 30 30  fffffff 0x800000
21550 30 30 20 30 78 66 66 66 66 66 66 66 66 0a 7d 20  00 0xffffffff.} 
21560 7b 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37  {2147483647 2147
21570 34 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39  483648 429496729
21580 35 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  5}.do_test print
21590 66 2d 38 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  f-8.2 {.  sqlite
215a0 33 5f 6d 70 72 69 6e 74 66 5f 6c 6f 6e 67 20 7b  3_mprintf_long {
215b0 25 6c 75 20 25 6c 75 20 25 6c 75 7d 20 30 78 37  %lu %lu %lu} 0x7
215c0 66 66 66 66 66 66 66 20 30 78 38 30 30 30 30 30  fffffff 0x800000
215d0 30 30 20 30 78 66 66 66 66 66 66 66 66 0a 7d 20  00 0xffffffff.} 
215e0 7b 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37  {2147483647 2147
215f0 34 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39  483648 429496729
21600 35 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  5}.do_test print
21610 66 2d 38 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65  f-8.3 {.  sqlite
21620 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 36 34 20  3_mprintf_int64 
21630 7b 25 6c 6c 75 20 25 6c 6c 75 20 25 6c 6c 75 7d  {%llu %llu %llu}
21640 20 32 31 34 37 34 38 33 36 34 37 20 32 31 34 37   2147483647 2147
21650 34 38 33 36 34 38 20 34 32 39 34 39 36 37 32 39  483648 429496729
21660 36 0a 7d 20 7b 32 31 34 37 34 38 33 36 34 37 20  6.} {2147483647 
21670 32 31 34 37 34 38 33 36 34 38 20 34 32 39 34 39  2147483648 42949
21680 36 37 32 39 36 7d 0a 64 6f 5f 74 65 73 74 20 70  67296}.do_test p
21690 72 69 6e 74 66 2d 38 2e 34 20 7b 0a 20 20 73 71  rintf-8.4 {.  sq
216a0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e  lite3_mprintf_in
216b0 74 36 34 20 7b 25 6c 6c 64 20 25 6c 6c 64 20 25  t64 {%lld %lld %
216c0 6c 6c 64 7d 20 32 31 34 37 34 38 33 36 34 37 20  lld} 2147483647 
216d0 32 31 34 37 34 38 33 36 34 38 20 34 32 39 34 39  2147483648 42949
216e0 36 37 32 39 36 0a 7d 20 7b 32 31 34 37 34 38 33  67296.} {2147483
216f0 36 34 37 20 32 31 34 37 34 38 33 36 34 38 20 34  647 2147483648 4
21700 32 39 34 39 36 37 32 39 36 7d 0a 64 6f 5f 74 65  294967296}.do_te
21710 73 74 20 70 72 69 6e 74 66 2d 38 2e 35 20 7b 0a  st printf-8.5 {.
21720 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
21730 66 5f 69 6e 74 36 34 20 7b 25 6c 6c 78 20 25 6c  f_int64 {%llx %l
21740 6c 78 20 25 6c 6c 78 7d 20 32 31 34 37 34 38 33  lx %llx} 2147483
21750 36 34 37 20 32 31 34 37 34 38 33 36 34 38 20 34  647 2147483648 4
21760 32 39 34 39 36 37 32 39 36 0a 7d 20 7b 37 66 66  294967296.} {7ff
21770 66 66 66 66 66 20 38 30 30 30 30 30 30 30 20 31  fffff 80000000 1
21780 30 30 30 30 30 30 30 30 7d 0a 64 6f 5f 74 65 73  00000000}.do_tes
21790 74 20 70 72 69 6e 74 66 2d 38 2e 36 20 7b 0a 20  t printf-8.6 {. 
217a0 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
217b0 5f 69 6e 74 36 34 20 7b 25 6c 6c 78 20 25 6c 6c  _int64 {%llx %ll
217c0 6f 20 25 6c 6c 64 7d 20 2d 31 20 2d 31 20 2d 31  o %lld} -1 -1 -1
217d0 0a 7d 20 7b 66 66 66 66 66 66 66 66 66 66 66 66  .} {ffffffffffff
217e0 66 66 66 66 20 31 37 37 37 37 37 37 37 37 37 37  ffff 17777777777
217f0 37 37 37 37 37 37 37 37 37 37 37 20 2d 31 7d 0a  77777777777 -1}.
21800 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 38  do_test printf-8
21810 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .7 {.  sqlite3_m
21820 70 72 69 6e 74 66 5f 69 6e 74 36 34 20 7b 25 6c  printf_int64 {%l
21830 6c 78 20 25 6c 6c 78 20 25 6c 6c 78 7d 20 2b 32  lx %llx %llx} +2
21840 31 34 37 34 38 33 36 34 37 20 2b 32 31 34 37 34  147483647 +21474
21850 38 33 36 34 38 20 2b 34 32 39 34 39 36 37 32 39  83648 +429496729
21860 36 0a 7d 20 7b 37 66 66 66 66 66 66 66 20 38 30  6.} {7fffffff 80
21870 30 30 30 30 30 30 20 31 30 30 30 30 30 30 30 30  000000 100000000
21880 7d 0a 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  }..do_test print
21890 66 2d 39 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65  f-9.1 {.  sqlite
218a0 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74 20 7b 25  3_mprintf_int {%
218b0 2a 2e 2a 63 7d 20 34 20 34 20 36 35 0a 7d 20 7b  *.*c} 4 4 65.} {
218c0 41 41 41 41 7d 0a 64 6f 5f 74 65 73 74 20 70 72  AAAA}.do_test pr
218d0 69 6e 74 66 2d 39 2e 32 20 7b 0a 20 20 73 71 6c  intf-9.2 {.  sql
218e0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
218f0 20 7b 25 2a 2e 2a 63 7d 20 2d 34 20 31 20 36 36   {%*.*c} -4 1 66
21900 0a 7d 20 7b 42 20 20 20 7d 0a 64 6f 5f 74 65 73  .} {B   }.do_tes
21910 74 20 70 72 69 6e 74 66 2d 39 2e 33 20 7b 0a 20  t printf-9.3 {. 
21920 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66   sqlite3_mprintf
21930 5f 69 6e 74 20 7b 25 2a 2e 2a 63 7d 20 34 20 31  _int {%*.*c} 4 1
21940 20 36 37 0a 7d 20 7b 20 20 20 43 7d 0a 64 6f 5f   67.} {   C}.do_
21950 74 65 73 74 20 70 72 69 6e 74 66 2d 39 2e 34 20  test printf-9.4 
21960 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21970 6e 74 66 5f 69 6e 74 20 7b 25 64 20 25 64 20 25  ntf_int {%d %d %
21980 63 7d 20 34 20 31 20 36 37 0a 7d 20 7b 34 20 31  c} 4 1 67.} {4 1
21990 20 43 7d 0a 73 65 74 20 74 65 6e 20 7b 20 20 20   C}.set ten {   
219a0 20 20 20 20 20 20 20 7d 0a 73 65 74 20 66 69 66         }.set fif
219b0 74 79 20 24 74 65 6e 24 74 65 6e 24 74 65 6e 24  ty $ten$ten$ten$
219c0 74 65 6e 24 74 65 6e 0a 64 6f 5f 74 65 73 74 20  ten$ten.do_test 
219d0 70 72 69 6e 74 66 2d 39 2e 35 20 7b 0a 20 20 73  printf-9.5 {.  s
219e0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69  qlite3_mprintf_i
219f0 6e 74 20 7b 25 64 20 25 2a 63 7d 20 31 20 2d 32  nt {%d %*c} 1 -2
21a00 30 31 20 36 37 0a 7d 20 22 31 20 43 24 66 69 66  01 67.} "1 C$fif
21a10 74 79 24 66 69 66 74 79 24 66 69 66 74 79 24 66  ty$fifty$fifty$f
21a20 69 66 74 79 22 0a 64 6f 5f 74 65 73 74 20 70 72  ifty".do_test pr
21a30 69 6e 74 66 2d 39 2e 36 20 7b 0a 20 20 73 71 6c  intf-9.6 {.  sql
21a40 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 69 6e 74  ite3_mprintf_int
21a50 20 7b 68 69 25 31 32 33 34 35 2e 31 32 33 34 36   {hi%12345.12346
21a60 79 68 65 6c 6c 6f 7d 20 30 20 30 20 30 0a 7d 20  yhello} 0 0 0.} 
21a70 7b 68 69 7d 0a 0a 23 20 54 69 63 6b 65 74 20 23  {hi}..# Ticket #
21a80 38 31 32 0a 23 0a 64 6f 5f 74 65 73 74 20 70 72  812.#.do_test pr
21a90 69 6e 74 66 2d 31 30 2e 31 20 7b 0a 20 20 73 71  intf-10.1 {.  sq
21aa0 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
21ab0 72 6f 6e 6c 79 20 25 73 20 7b 7d 0a 7d 20 7b 7d  ronly %s {}.} {}
21ac0 0a 0a 23 20 54 69 63 6b 65 74 20 23 38 33 31 0a  ..# Ticket #831.
21ad0 23 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66  #.do_test printf
21ae0 2d 31 30 2e 32 20 7b 0a 20 20 73 71 6c 69 74 65  -10.2 {.  sqlite
21af0 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 6f 6e 6c  3_mprintf_stronl
21b00 79 20 25 71 20 7b 7d 0a 7d 20 7b 7d 0a 0a 23 20  y %q {}.} {}..# 
21b10 54 69 63 6b 65 74 20 23 31 33 34 30 3a 20 20 54  Ticket #1340:  T
21b20 65 73 74 20 66 6f 72 20 6c 6f 73 73 20 6f 66 20  est for loss of 
21b30 70 72 65 63 69 73 69 6f 6e 20 6f 6e 20 6c 61 72  precision on lar
21b40 67 65 20 70 6f 73 69 74 69 76 65 20 65 78 70 6f  ge positive expo
21b50 6e 65 6e 74 73 0a 23 0a 64 6f 5f 74 65 73 74 20  nents.#.do_test 
21b60 70 72 69 6e 74 66 2d 31 30 2e 33 20 7b 0a 20 20  printf-10.3 {.  
21b70 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
21b80 64 6f 75 62 6c 65 20 7b 25 64 20 25 64 20 25 66  double {%d %d %f
21b90 7d 20 31 20 31 20 31 65 33 30 30 0a 7d 20 7b 31  } 1 1 1e300.} {1
21ba0 20 31 20 31 30 30 30 30 30 30 30 30 30 30 30 30   1 1000000000000
21bb0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21bc0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21bd0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21be0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21bf0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c00 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c10 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c20 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c40 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c50 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c60 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c70 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c80 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21c90 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21ca0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21cb0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21cc0 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
21cd0 2e 30 30 30 30 30 30 7d 0a 0a 23 20 54 68 65 20  .000000}..# The 
21ce0 6e 6f 6e 2d 73 74 61 6e 64 61 72 64 20 27 21 27  non-standard '!'
21cf0 20 66 6c 61 67 20 6f 6e 20 61 20 27 67 27 20 63   flag on a 'g' c
21d00 6f 6e 76 65 72 73 69 6f 6e 20 66 6f 72 63 65 73  onversion forces
21d10 20 61 20 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74   a decimal point
21d20 0a 23 20 61 6e 64 20 61 74 20 6c 65 61 73 74 20  .# and at least 
21d30 6f 6e 65 20 64 69 67 69 74 20 6f 6e 20 65 69 74  one digit on eit
21d40 68 65 72 20 73 69 64 65 20 6f 66 20 74 68 65 20  her side of the 
21d50 64 65 63 69 6d 61 6c 20 70 6f 69 6e 74 2e 0a 23  decimal point..#
21d60 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
21d70 31 31 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33  11.1 {.  sqlite3
21d80 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20  _mprintf_double 
21d90 7b 25 64 20 25 64 20 25 21 67 7d 20 31 20 31 20  {%d %d %!g} 1 1 
21da0 31 0a 7d 20 7b 31 20 31 20 31 2e 30 7d 0a 64 6f  1.} {1 1 1.0}.do
21db0 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31 2e  _test printf-11.
21dc0 32 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70  2 {.  sqlite3_mp
21dd0 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64  rintf_double {%d
21de0 20 25 64 20 25 21 67 7d 20 31 20 31 20 31 32 33   %d %!g} 1 1 123
21df0 0a 7d 20 7b 31 20 31 20 31 32 33 2e 30 7d 0a 64  .} {1 1 123.0}.d
21e00 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31 31  o_test printf-11
21e10 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d  .3 {.  sqlite3_m
21e20 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25  printf_double {%
21e30 64 20 25 64 20 25 21 67 7d 20 31 20 31 20 31 32  d %d %!g} 1 1 12
21e40 2e 33 0a 7d 20 7b 31 20 31 20 31 32 2e 33 7d 0a  .3.} {1 1 12.3}.
21e50 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
21e60 31 2e 34 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.4 {.  sqlite3_
21e70 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
21e80 25 64 20 25 64 20 25 21 67 7d 20 31 20 31 20 30  %d %d %!g} 1 1 0
21e90 2e 31 32 33 0a 7d 20 7b 31 20 31 20 30 2e 31 32  .123.} {1 1 0.12
21ea0 33 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  3}.do_test print
21eb0 66 2d 31 31 2e 35 20 7b 0a 20 20 73 71 6c 69 74  f-11.5 {.  sqlit
21ec0 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
21ed0 65 20 7b 25 64 20 25 64 20 25 21 2e 31 35 67 7d  e {%d %d %!.15g}
21ee0 20 31 20 31 20 31 0a 7d 20 7b 31 20 31 20 31 2e   1 1 1.} {1 1 1.
21ef0 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  0}.do_test print
21f00 66 2d 31 31 2e 36 20 7b 0a 20 20 73 71 6c 69 74  f-11.6 {.  sqlit
21f10 65 33 5f 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c  e3_mprintf_doubl
21f20 65 20 7b 25 64 20 25 64 20 25 21 2e 31 35 67 7d  e {%d %d %!.15g}
21f30 20 31 20 31 20 31 65 31 30 0a 7d 20 7b 31 20 31   1 1 1e10.} {1 1
21f40 20 31 30 30 30 30 30 30 30 30 30 30 2e 30 7d 0a   10000000000.0}.
21f50 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
21f60 31 2e 37 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  1.7 {.  sqlite3_
21f70 6d 70 72 69 6e 74 66 5f 64 6f 75 62 6c 65 20 7b  mprintf_double {
21f80 25 64 20 25 64 20 25 21 2e 31 35 67 7d 20 31 20  %d %d %!.15g} 1 
21f90 31 20 31 65 33 30 30 0a 7d 20 7b 31 20 31 20 31  1 1e300.} {1 1 1
21fa0 2e 30 65 2b 33 30 30 7d 0a 0a 23 20 41 64 64 69  .0e+300}..# Addi
21fb0 74 69 6f 6e 61 6c 20 74 65 73 74 73 20 66 6f 72  tional tests for
21fc0 20 63 6f 76 65 72 61 67 65 0a 23 0a 64 6f 5f 74   coverage.#.do_t
21fd0 65 73 74 20 70 72 69 6e 74 66 2d 31 32 2e 31 20  est printf-12.1 
21fe0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
21ff0 6e 74 66 5f 64 6f 75 62 6c 65 20 7b 25 64 20 25  ntf_double {%d %
22000 64 20 25 2e 32 30 30 30 67 7d 20 31 20 31 20 31  d %.2000g} 1 1 1
22010 2e 30 0a 7d 20 7b 31 20 31 20 31 7d 0a 0a 23 20  .0.} {1 1 1}..# 
22020 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 62  Floating point b
22030 6f 75 6e 64 61 72 79 20 63 61 73 65 73 0a 23 0a  oundary cases.#.
22040 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d 31  do_test printf-1
22050 33 2e 31 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f  3.1 {.  sqlite3_
22060 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62 6c  mprintf_hexdoubl
22070 65 20 25 2e 32 30 66 20 34 30 32 34 30 30 30 30  e %.20f 40240000
22080 30 30 30 30 30 30 30 30 0a 7d 20 7b 31 30 2e 30  00000000.} {10.0
22090 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
220a0 30 30 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  000}.do_test pri
220b0 6e 74 66 2d 31 33 2e 32 20 7b 0a 20 20 73 71 6c  ntf-13.2 {.  sql
220c0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 68 65 78  ite3_mprintf_hex
220d0 64 6f 75 62 6c 65 20 25 2e 32 30 66 20 34 31 39  double %.20f 419
220e0 37 64 37 38 34 30 30 30 30 30 30 30 30 0a 7d 20  7d78400000000.} 
220f0 7b 31 30 30 30 30 30 30 30 30 2e 30 30 30 30 30  {100000000.00000
22100 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 7d  000000000000000}
22110 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66 2d  .do_test printf-
22120 31 33 2e 33 20 7b 0a 20 20 73 71 6c 69 74 65 33  13.3 {.  sqlite3
22130 5f 6d 70 72 69 6e 74 66 5f 68 65 78 64 6f 75 62  _mprintf_hexdoub
22140 6c 65 20 25 2e 32 30 66 20 34 36 39 33 62 38 62  le %.20f 4693b8b
22150 35 62 35 30 35 36 65 31 37 0a 7d 20 7b 31 30 30  5b5056e17.} {100
22160 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
22170 30 30 30 30 30 30 30 30 30 30 30 30 30 30 2e 30  00000000000000.0
22180 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
22190 30 30 30 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69  000}.do_test pri
221a0 6e 74 66 2d 31 33 2e 34 20 7b 0a 20 20 73 71 6c  ntf-13.4 {.  sql
221b0 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 68 65 78  ite3_mprintf_hex
221c0 64 6f 75 62 6c 65 20 25 2e 32 30 66 20 37 66 66  double %.20f 7ff
221d0 30 30 30 30 30 30 30 30 30 30 30 30 30 0a 7d 20  0000000000000.} 
221e0 7b 49 6e 66 7d 0a 64 6f 5f 74 65 73 74 20 70 72  {Inf}.do_test pr
221f0 69 6e 74 66 2d 31 33 2e 35 20 7b 0a 20 20 73 71  intf-13.5 {.  sq
22200 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 68 65  lite3_mprintf_he
22210 78 64 6f 75 62 6c 65 20 25 2e 32 30 66 20 66 66  xdouble %.20f ff
22220 66 30 30 30 30 30 30 30 30 30 30 30 30 30 0a 7d  f0000000000000.}
22230 20 7b 2d 49 6e 66 7d 0a 64 6f 5f 74 65 73 74 20   {-Inf}.do_test 
22240 70 72 69 6e 74 66 2d 31 33 2e 36 20 7b 0a 20 20  printf-13.6 {.  
22250 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f  sqlite3_mprintf_
22260 68 65 78 64 6f 75 62 6c 65 20 25 2e 32 30 66 20  hexdouble %.20f 
22270 66 66 66 38 30 30 30 30 30 30 30 30 30 30 30 30  fff8000000000000
22280 0a 7d 20 7b 4e 61 4e 7d 0a 0a 64 6f 5f 74 65 73  .} {NaN}..do_tes
22290 74 20 70 72 69 6e 74 66 2d 31 34 2e 31 20 7b 0a  t printf-14.1 {.
222a0 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74    sqlite3_mprint
222b0 66 5f 73 74 72 20 7b 61 62 63 2d 25 79 2d 31 32  f_str {abc-%y-12
222c0 33 7d 20 30 20 30 20 7b 6e 6f 74 20 75 73 65 64  3} 0 0 {not used
222d0 7d 0a 7d 20 7b 61 62 63 2d 7d 0a 64 6f 5f 74 65  }.} {abc-}.do_te
222e0 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 32 20 7b  st printf-14.2 {
222f0 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69 6e  .  sqlite3_mprin
22300 74 66 5f 6e 5f 74 65 73 74 20 7b 78 79 7a 7a 79  tf_n_test {xyzzy
22310 7d 0a 7d 20 35 0a 64 6f 5f 74 65 73 74 20 70 72  }.} 5.do_test pr
22320 69 6e 74 66 2d 31 34 2e 33 20 7b 0a 20 20 73 71  intf-14.3 {.  sq
22330 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74  lite3_mprintf_st
22340 72 20 7b 61 62 63 2d 25 54 2d 31 32 33 7d 20 30  r {abc-%T-123} 0
22350 20 30 20 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20   0 {not used}.} 
22360 7b 61 62 63 2d 7d 0a 64 6f 5f 74 65 73 74 20 70  {abc-}.do_test p
22370 72 69 6e 74 66 2d 31 34 2e 34 20 7b 0a 20 20 73  rintf-14.4 {.  s
22380 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73  qlite3_mprintf_s
22390 74 72 20 7b 61 62 63 2d 25 23 7d 20 30 20 30 20  tr {abc-%#} 0 0 
223a0 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62  {not used}.} {ab
223b0 63 2d 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  c-}.do_test prin
223c0 74 66 2d 31 34 2e 35 20 7b 0a 20 20 73 71 6c 69  tf-14.5 {.  sqli
223d0 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
223e0 7b 61 62 63 2d 25 2a 2e 2a 73 2d 78 79 7a 7d 20  {abc-%*.*s-xyz} 
223f0 31 30 20 2d 31 30 20 7b 61 5f 76 65 72 79 5f 6c  10 -10 {a_very_l
22400 6f 6e 67 5f 73 74 72 69 6e 67 7d 0a 7d 20 7b 61  ong_string}.} {a
22410 62 63 2d 61 5f 76 65 72 79 5f 6c 6f 6e 2d 78 79  bc-a_very_lon-xy
22420 7a 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e 74  z}.do_test print
22430 66 2d 31 34 2e 36 20 7b 0a 20 20 73 71 6c 69 74  f-14.6 {.  sqlit
22440 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b  e3_mprintf_str {
22450 61 62 63 2d 25 35 2e 31 30 2f 7d 20 30 20 30 20  abc-%5.10/} 0 0 
22460 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62  {not used}.} {ab
22470 63 2d 7d 0a 64 6f 5f 74 65 73 74 20 70 72 69 6e  c-}.do_test prin
22480 74 66 2d 31 34 2e 37 20 7b 0a 20 20 73 71 6c 69  tf-14.7 {.  sqli
22490 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
224a0 7b 61 62 63 2d 25 30 35 2e 35 64 7d 20 31 32 33  {abc-%05.5d} 123
224b0 20 30 20 7b 6e 6f 74 20 75 73 65 64 7d 0a 7d 20   0 {not used}.} 
224c0 7b 61 62 63 2d 30 30 31 32 33 7d 0a 64 6f 5f 74  {abc-00123}.do_t
224d0 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 38 20  est printf-14.8 
224e0 7b 0a 20 20 73 71 6c 69 74 65 33 5f 6d 70 72 69  {.  sqlite3_mpri
224f0 6e 74 66 5f 73 74 72 20 7b 61 62 63 2d 25 30 35  ntf_str {abc-%05
22500 2e 35 64 7d 20 31 32 33 34 35 36 37 20 30 20 7b  .5d} 1234567 0 {
22510 6e 6f 74 20 75 73 65 64 7d 0a 7d 20 7b 61 62 63  not used}.} {abc
22520 2d 31 32 33 34 35 36 37 7d 0a 0a 66 6f 72 20 7b  -1234567}..for {
22530 73 65 74 20 69 20 32 7d 20 7b 24 69 3c 32 30 30  set i 2} {$i<200
22540 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0a 20 20 73  } {incr i} {.  s
22550 65 74 20 72 65 73 20 5b 73 74 72 69 6e 67 20 72  et res [string r
22560 65 70 65 61 74 20 7b 20 7d 20 5b 65 78 70 72 20  epeat { } [expr 
22570 7b 24 69 2d 31 7d 5d 5d 78 0a 20 20 64 6f 5f 74  {$i-1}]]x.  do_t
22580 65 73 74 20 70 72 69 6e 74 66 2d 31 34 2e 39 30  est printf-14.90
22590 2e 24 69 20 22 0a 20 20 20 20 73 71 6c 69 74 65  .$i ".    sqlite
225a0 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20 7b 25  3_mprintf_str {%
225b0 2a 2e 2a 73 7d 20 24 69 20 35 30 30 20 78 0a 20  *.*s} $i 500 x. 
225c0 20 22 20 24 72 65 73 0a 7d 0a 0a 64 6f 5f 74 65   " $res.}..do_te
225d0 73 74 20 70 72 69 6e 74 66 2d 31 35 2e 31 20 7b  st printf-15.1 {
225e0 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70 72 69  .  sqlite3_snpri
225f0 6e 74 66 5f 69 6e 74 20 35 20 7b 31 32 33 34 35  ntf_int 5 {12345
22600 7d 20 30 0a 7d 20 7b 31 32 33 34 7d 0a 64 6f 5f  } 0.} {1234}.do_
22610 74 65 73 74 20 70 72 69 6e 74 66 2d 31 35 2e 32  test printf-15.2
22620 20 7b 0a 20 20 73 71 6c 69 74 65 33 5f 73 6e 70   {.  sqlite3_snp
22630 72 69 6e 74 66 5f 69 6e 74 20 35 20 7b 7d 20 30  rintf_int 5 {} 0
22640 0a 7d 20 7b 7d 0a 64 6f 5f 74 65 73 74 20 70 72  .} {}.do_test pr
22650 69 6e 74 66 2d 31 35 2e 33 20 7b 0a 20 20 73 71  intf-15.3 {.  sq
22660 6c 69 74 65 33 5f 73 6e 70 72 69 6e 74 66 5f 69  lite3_snprintf_i
22670 6e 74 20 30 20 7b 7d 20 30 0a 7d 20 7b 61 62 63  nt 0 {} 0.} {abc
22680 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73  defghijklmnopqrs
22690 74 75 76 77 78 79 7a 7d 0a 0a 23 20 4e 6f 77 20  tuvwxyz}..# Now 
226a0 74 65 73 74 20 6d 61 6c 6c 6f 63 28 29 20 66 61  test malloc() fa
226b0 69 6c 75 72 65 20 77 69 74 68 69 6e 20 61 20 73  ilure within a s
226c0 71 6c 69 74 65 33 5f 6d 70 72 69 6e 74 66 28 29  qlite3_mprintf()
226d0 3a 0a 23 0a 69 66 63 61 70 61 62 6c 65 20 6d 65  :.#.ifcapable me
226e0 6d 64 65 62 75 67 20 7b 0a 20 20 66 6f 72 65 61  mdebug {.  forea
226f0 63 68 20 76 61 72 20 7b 61 20 62 20 63 20 64 7d  ch var {a b c d}
22700 20 7b 0a 20 20 20 20 73 65 74 20 24 76 61 72 20   {.    set $var 
22710 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 24  [string repeat $
22720 76 61 72 20 34 30 30 5d 0a 20 20 7d 0a 20 20 73  var 400].  }.  s
22730 65 74 20 73 74 72 31 20 22 5b 73 74 72 69 6e 67  et str1 "[string
22740 20 72 65 70 65 61 74 20 41 20 33 36 30 5d 25 64   repeat A 360]%d
22750 25 64 25 73 22 0a 20 20 73 65 74 20 73 74 72 32  %d%s".  set str2
22760 20 5b 73 74 72 69 6e 67 20 72 65 70 65 61 74 20   [string repeat 
22770 42 20 35 30 30 30 5d 0a 20 20 73 65 74 20 7a 53  B 5000].  set zS
22780 75 63 63 65 73 73 20 22 5b 73 74 72 69 6e 67 20  uccess "[string 
22790 72 65 70 65 61 74 20 41 20 33 36 30 5d 31 31 5b  repeat A 360]11[
227a0 73 74 72 69 6e 67 20 72 65 70 65 61 74 20 42 20  string repeat B 
227b0 35 30 30 30 5d 22 0a 20 20 66 6f 72 65 61 63 68  5000]".  foreach
227c0 20 3a 3a 69 52 65 70 65 61 74 20 7b 30 20 31 7d   ::iRepeat {0 1}
227d0 20 7b 0a 20 20 20 20 73 65 74 20 6e 54 65 73 74   {.    set nTest
227e0 4e 75 6d 20 31 0a 20 20 20 20 77 68 69 6c 65 20  Num 1.    while 
227f0 7b 31 7d 20 7b 0a 20 20 20 20 20 20 73 71 6c 69  {1} {.      sqli
22800 74 65 33 5f 6d 65 6d 64 65 62 75 67 5f 66 61 69  te3_memdebug_fai
22810 6c 20 24 6e 54 65 73 74 4e 75 6d 20 2d 72 65 70  l $nTestNum -rep
22820 65 61 74 20 24 3a 3a 69 52 65 70 65 61 74 0a 20  eat $::iRepeat. 
22830 20 20 20 20 20 73 65 74 20 7a 20 5b 73 71 6c 69       set z [sqli
22840 74 65 33 5f 6d 70 72 69 6e 74 66 5f 73 74 72 20  te3_mprintf_str 
22850 24 73 74 72 31 20 31 20 31 20 24 73 74 72 32 5d  $str1 1 1 $str2]
22860 0a 20 20 20 20 20 20 73 65 74 20 6e 46 61 69 6c  .      set nFail
22870 20 5b 73 71 6c 69 74 65 33 5f 6d 65 6d 64 65 62   [sqlite3_memdeb
22880 75 67 5f 66 61 69 6c 20 2d 31 20 2d 62 65 6e 69  ug_fail -1 -beni
22890 67 6e 20 6e 42 65 6e 69 67 6e 5d 0a 20 20 20 20  gn nBenign].    
228a0 20 20 64 6f 5f 74 65 73 74 20 70 72 69 6e 74 66    do_test printf
228b0 2d 6d 61 6c 6c 6f 63 2d 24 3a 3a 69 52 65 70 65  -malloc-$::iRepe
228c0 61 74 2e 24 6e 54 65 73 74 4e 75 6d 20 7b 0a 20  at.$nTestNum {. 
228d0 20 20 20 20 20 20 20 65 78 70 72 20 7b 28 24 6e         expr {($n
228e0 46 61 69 6c 3e 30 20 26 26 20 24 7a 20 65 71 20  Fail>0 && $z eq 
228f0 22 22 29 20 7c 7c 20 28 24 6e 46 61 69 6c 3d 3d  "") || ($nFail==
22900 24 6e 42 65 6e 69 67 6e 20 26 26 20 24 7a 20 65  $nBenign && $z e
22910 71 20 24 7a 53 75 63 63 65 73 73 29 7d 0a 20 20  q $zSuccess)}.  
22920 20 20 20 20 7d 20 7b 31 7d 0a 20 20 20 20 20 20      } {1}.      
22930 69 66 20 7b 24 6e 46 61 69 6c 20 3d 3d 20 30 7d  if {$nFail == 0}
22940 20 62 72 65 61 6b 0a 20 20 20 20 20 20 69 6e 63   break.      inc
22950 72 20 6e 54 65 73 74 4e 75 6d 0a 20 20 20 20 7d  r nTestNum.    }
22960 0a 20 20 7d 0a 7d 0a 0a 66 69 6e 69 73 68 5f 74  .  }.}..finish_t
22970 65 73 74 0a                                      est.