wasCSharpSQLite – Blame information for rev 1

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