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