1
/*===========================================================================
2
* Filename : test-format.c
3
* About : unit test for format functions
5
* Copyright (C) 2006 YAMAMOTO Kengo <yamaken AT bp.iij4u.or.jp>
6
* Copyright (c) 2007 SigScheme Project <uim AT freedesktop.org>
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions
14
* 1. Redistributions of source code must retain the above copyright
15
* notice, this list of conditions and the following disclaimer.
16
* 2. Redistributions in binary form must reproduce the above copyright
17
* notice, this list of conditions and the following disclaimer in the
18
* documentation and/or other materials provided with the distribution.
19
* 3. Neither the name of authors nor the names of its contributors
20
* may be used to endorse or promote products derived from this software
21
* without specific prior written permission.
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
24
* IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
27
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
30
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
31
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
32
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
33
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
===========================================================================*/
40
#if (!SCM_USE_CHAR || !SCM_USE_STRING || !SCM_USE_INT)
41
#define TST_EXCLUDE_THIS
44
#define TST_HAVE_MAIN 1
45
#include "sscm-test.h"
47
#ifndef TST_EXCLUDE_THIS
49
#include <sigscheme/sigscheme.h>
50
#include "sigschemeinternal.h"
52
#define MSG_SSCM_DIRECTIVE_HELP \
53
"(format+ [<port>] <format-string> [<arg>...])\n" \
54
" - <port> is #t, #f or an output-port\n" \
55
" - any escape sequence is case insensitive\n" \
57
" The format+ procedure is a SigScheme-specific superset of SRFI-48.\n" \
58
" Following directives accept optional width w and d digits after the decimal,\n" \
59
" and w accepts leading zero as zero-digit-padding specifier. All other rules\n" \
60
" are same as SRFI-48. See also the help message for SRFI-48.\n" \
62
"SEQ MNEMONIC DESCRIPTION\n" \
63
"~[w[,d]]D [Decimal] the arg is a number output in decimal radix\n" \
64
"~[w[,d]]X [heXadecimal] the arg is a number output in hexdecimal radix\n" \
65
"~[w[,d]]O [Octal] the arg is a number output in octal radix\n" \
66
"~[w[,d]]B [Binary] the arg is a number output in binary radix\n" \
67
"~[w[,d]]F [Fixed] the arg is a string or number\n"
69
#define I32 (SIZEOF_INT == SIZEOF_INT32_T)
70
#define L32 (SIZEOF_LONG == SIZEOF_INT32_T)
71
#define P32 (SIZEOF_VOID_P == SIZEOF_INT32_T)
73
#define I64 (SIZEOF_INT == SIZEOF_INT64_T)
74
#define L64 (SIZEOF_LONG == SIZEOF_INT64_T)
75
#define P64 (SIZEOF_VOID_P == SIZEOF_INT64_T)
77
#define IMAX32 (SIZEOF_INTMAX_T == SIZEOF_INT32_T)
78
#define IMAX64 (SIZEOF_INTMAX_T == SIZEOF_INT64_T)
80
#define PDIFF32 (SIZEOF_PTRDIFF_T == SIZEOF_INT32_T)
81
#define PDIFF64 (SIZEOF_PTRDIFF_T == SIZEOF_INT64_T)
83
#define M32 (SIZEOF_SCM_INT_T == SIZEOF_INT32_T)
84
#define M64 (SIZEOF_SCM_INT_T == SIZEOF_INT64_T)
86
#define STR SCM_STRING_STR
88
static ScmObj lst, clst;
91
format(const char *fmt, ...)
97
ret = scm_vformat(SCM_FALSE, SCM_FMT_INTERNAL, fmt, args);
104
main(int argc, char **argv)
106
tst_suite_info suite = TST_DEFAULT_SUITE_SETUP;
108
scm_initialize(NULL);
110
scm_gc_protect_with_init(&lst,
115
LIST_1(MAKE_INT(0))));
117
scm_gc_protect_with_init(&clst, LIST_2(MAKE_INT(0), MAKE_INT(1)));
118
SET_CDR(CDR(clst), clst);
124
TST_DEFAULT_SUITE_CLEANUP(suite);
125
return !!suite.stats.fail;
128
TST_CASE("format no directives")
130
TST_TN_EQ_STR("", STR(format("")));
131
TST_TN_EQ_STR("\"", STR(format("\"")));
132
TST_TN_EQ_STR("\\", STR(format("\\")));
133
TST_TN_EQ_STR("a", STR(format("a")));
134
TST_TN_EQ_STR("aBc", STR(format("aBc")));
135
TST_TN_EQ_STR("あ", STR(format("あ")));
136
TST_TN_EQ_STR("あい", STR(format("あい")));
137
TST_TN_EQ_STR("aあBいc", STR(format("aあBいc")));
140
TST_CASE("format ~C")
142
TST_TN_EQ_STR("", STR(format("~C", (scm_ichar_t)'\0')));
143
TST_TN_EQ_STR("a", STR(format("~C", (scm_ichar_t)'a')));
144
TST_TN_EQ_STR("\"", STR(format("~C", (scm_ichar_t)'\"')));
145
TST_TN_EQ_STR("\\", STR(format("~C", (scm_ichar_t)'\\')));
146
TST_TN_EQ_STR("あ", STR(format("~C", (scm_ichar_t)0x3042)));
149
TST_CASE("format ~S")
151
TST_TN_EQ_STR("", STR(format("~S", "")));
152
TST_TN_EQ_STR("", STR(format("~0S", "")));
153
TST_TN_EQ_STR(" ", STR(format("~1S", "")));
154
TST_TN_EQ_STR("", STR(format("~00S", "")));
155
TST_TN_EQ_STR(" ", STR(format("~01S", "")));
156
TST_TN_EQ_STR("\"", STR(format("~S", "\"")));
157
TST_TN_EQ_STR("\\", STR(format("~S", "\\")));
158
TST_TN_EQ_STR("a", STR(format("~S", "a")));
159
TST_TN_EQ_STR("aBc", STR(format("~S", "aBc")));
160
TST_TN_EQ_STR("あ", STR(format("~S", "あ")));
161
TST_TN_EQ_STR("あい", STR(format("~S", "あい")));
162
TST_TN_EQ_STR("aあBいc", STR(format("~S", "aあBいc")));
163
TST_TN_EQ_STR("aBc", STR(format("~0S", "aBc")));
164
TST_TN_EQ_STR("aBc", STR(format("~1S", "aBc")));
165
TST_TN_EQ_STR("aBc", STR(format("~2S", "aBc")));
166
TST_TN_EQ_STR("aBc", STR(format("~3S", "aBc")));
167
TST_TN_EQ_STR(" aBc", STR(format("~4S", "aBc")));
168
TST_TN_EQ_STR(" aBc", STR(format("~5S", "aBc")));
169
TST_TN_EQ_STR("aBc", STR(format("~00S", "aBc")));
170
TST_TN_EQ_STR("aBc", STR(format("~01S", "aBc")));
171
TST_TN_EQ_STR("aBc", STR(format("~02S", "aBc")));
172
TST_TN_EQ_STR("aBc", STR(format("~03S", "aBc")));
173
TST_TN_EQ_STR(" aBc", STR(format("~04S", "aBc")));
174
TST_TN_EQ_STR(" aBc", STR(format("~05S", "aBc")));
175
TST_TN_EQ_STR("aあBいc", STR(format("~0S", "aあBいc")));
176
TST_TN_EQ_STR("aあBいc", STR(format("~1S", "aあBいc")));
177
TST_TN_EQ_STR("aあBいc", STR(format("~2S", "aあBいc")));
178
TST_TN_EQ_STR("aあBいc", STR(format("~3S", "aあBいc")));
179
TST_TN_EQ_STR("aあBいc", STR(format("~4S", "aあBいc")));
180
TST_TN_EQ_STR("aあBいc", STR(format("~5S", "aあBいc")));
181
TST_TN_EQ_STR(" aあBいc", STR(format("~6S", "aあBいc")));
182
TST_TN_EQ_STR(" aあBいc", STR(format("~7S", "aあBいc")));
183
TST_TN_EQ_STR("aあBいc", STR(format("~00S", "aあBいc")));
184
TST_TN_EQ_STR("aあBいc", STR(format("~01S", "aあBいc")));
185
TST_TN_EQ_STR("aあBいc", STR(format("~02S", "aあBいc")));
186
TST_TN_EQ_STR("aあBいc", STR(format("~03S", "aあBいc")));
187
TST_TN_EQ_STR("aあBいc", STR(format("~04S", "aあBいc")));
188
TST_TN_EQ_STR("aあBいc", STR(format("~05S", "aあBいc")));
189
TST_TN_EQ_STR(" aあBいc", STR(format("~06S", "aあBいc")));
190
TST_TN_EQ_STR(" aあBいc", STR(format("~07S", "aあBいc")));
193
TST_CASE("format ~P")
196
TST_TN_EQ_STR("0x00000000", STR(format("~P", (void *)NULL)));
197
TST_TN_EQ_STR("0xffffffff", STR(format("~P", (void *)~0UL)));
198
TST_TN_EQ_STR("0x00012abc", STR(format("~P", (void *)0x12ABC)));
200
TST_TN_EQ_STR("0x0000000000000000", STR(format("~P", (void *)NULL)));
201
TST_TN_EQ_STR("0xffffffffffffffff", STR(format("~P", (void *)~0UL)));
202
TST_TN_EQ_STR("0x0000000000012abc", STR(format("~P", (void *)0x12ABC)));
203
TST_TN_EQ_STR("0x000deadbeef12abc",
204
STR(format("~P", (void *)0xDEADBEEF12ABC)));
208
TST_CASE("format ~D")
210
TST_TN_EQ_STR("-100", STR(format("~D", -100)));
211
TST_TN_EQ_STR("-10", STR(format("~D", -10)));
212
TST_TN_EQ_STR("-1", STR(format("~D", -1)));
213
TST_TN_EQ_STR("0", STR(format("~D", 0)));
214
TST_TN_EQ_STR("1", STR(format("~D", 1)));
215
TST_TN_EQ_STR("10", STR(format("~D", 10)));
216
TST_TN_EQ_STR("100", STR(format("~D", 100)));
218
TST_TN_EQ_STR("-100", STR(format("~0D", -100)));
219
TST_TN_EQ_STR("-10", STR(format("~0D", -10)));
220
TST_TN_EQ_STR("-1", STR(format("~0D", -1)));
221
TST_TN_EQ_STR("0", STR(format("~0D", 0)));
222
TST_TN_EQ_STR("1", STR(format("~0D", 1)));
223
TST_TN_EQ_STR("10", STR(format("~0D", 10)));
224
TST_TN_EQ_STR("100", STR(format("~0D", 100)));
226
TST_TN_EQ_STR("-100", STR(format("~03D", -100)));
227
TST_TN_EQ_STR("-10", STR(format("~03D", -10)));
228
TST_TN_EQ_STR("-01", STR(format("~03D", -1)));
229
TST_TN_EQ_STR("000", STR(format("~03D", 0)));
230
TST_TN_EQ_STR("001", STR(format("~03D", 1)));
231
TST_TN_EQ_STR("010", STR(format("~03D", 10)));
232
TST_TN_EQ_STR("100", STR(format("~03D", 100)));
234
TST_TN_EQ_STR("-100", STR(format("~3D", -100)));
235
TST_TN_EQ_STR("-10", STR(format("~3D", -10)));
236
TST_TN_EQ_STR(" -1", STR(format("~3D", -1)));
237
TST_TN_EQ_STR(" 0", STR(format("~3D", 0)));
238
TST_TN_EQ_STR(" 1", STR(format("~3D", 1)));
239
TST_TN_EQ_STR(" 10", STR(format("~3D", 10)));
240
TST_TN_EQ_STR("100", STR(format("~3D", 100)));
242
TST_TN_EQ_STR(" 123",
243
STR(format("~127D", 123)));
244
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
245
STR(format("~0127D", 123)));
248
TST_CASE("format ~U")
250
TST_TN_EQ_STR("0", STR(format("~U", 0)));
251
TST_TN_EQ_STR("1", STR(format("~U", 1)));
252
TST_TN_EQ_STR("10", STR(format("~U", 10)));
253
TST_TN_EQ_STR("100", STR(format("~U", 100)));
255
TST_TN_EQ_STR("0", STR(format("~0U", 0)));
256
TST_TN_EQ_STR("1", STR(format("~0U", 1)));
257
TST_TN_EQ_STR("10", STR(format("~0U", 10)));
258
TST_TN_EQ_STR("100", STR(format("~0U", 100)));
260
TST_TN_EQ_STR("000", STR(format("~03U", 0)));
261
TST_TN_EQ_STR("001", STR(format("~03U", 1)));
262
TST_TN_EQ_STR("010", STR(format("~03U", 10)));
263
TST_TN_EQ_STR("100", STR(format("~03U", 100)));
265
TST_TN_EQ_STR(" 0", STR(format("~3U", 0)));
266
TST_TN_EQ_STR(" 1", STR(format("~3U", 1)));
267
TST_TN_EQ_STR(" 10", STR(format("~3U", 10)));
268
TST_TN_EQ_STR("100", STR(format("~3U", 100)));
271
TST_TN_EQ_STR("4294967196", STR(format("~U", -100)));
272
TST_TN_EQ_STR("4294967286", STR(format("~U", -10)));
273
TST_TN_EQ_STR("4294967295", STR(format("~U", -1)));
275
TST_TN_EQ_STR("4294967196", STR(format("~0U", -100)));
276
TST_TN_EQ_STR("4294967286", STR(format("~0U", -10)));
277
TST_TN_EQ_STR("4294967295", STR(format("~0U", -1)));
279
TST_TN_EQ_STR("4294967196", STR(format("~03U", -100)));
280
TST_TN_EQ_STR("4294967286", STR(format("~03U", -10)));
281
TST_TN_EQ_STR("4294967295", STR(format("~03U", -1)));
283
TST_TN_EQ_STR("4294967196", STR(format("~3U", -100)));
284
TST_TN_EQ_STR("4294967286", STR(format("~3U", -10)));
285
TST_TN_EQ_STR("4294967295", STR(format("~3U", -1)));
287
TST_TN_EQ_STR("18446744073709551516", STR(format("~U", -100)));
288
TST_TN_EQ_STR("18446744073709551606", STR(format("~U", -10)));
289
TST_TN_EQ_STR("18446744073709551615", STR(format("~U", -1)));
291
TST_TN_EQ_STR("18446744073709551516", STR(format("~0U", -100)));
292
TST_TN_EQ_STR("18446744073709551606", STR(format("~0U", -10)));
293
TST_TN_EQ_STR("18446744073709551615", STR(format("~0U", -1)));
295
TST_TN_EQ_STR("18446744073709551516", STR(format("~03U", -100)));
296
TST_TN_EQ_STR("18446744073709551606", STR(format("~03U", -10)));
297
TST_TN_EQ_STR("18446744073709551615", STR(format("~03U", -1)));
299
TST_TN_EQ_STR("18446744073709551516", STR(format("~3U", -100)));
300
TST_TN_EQ_STR("18446744073709551606", STR(format("~3U", -10)));
301
TST_TN_EQ_STR("18446744073709551615", STR(format("~3U", -1)));
304
TST_TN_EQ_STR(" 123",
305
STR(format("~127U", 123)));
306
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
307
STR(format("~0127U", 123)));
310
TST_CASE("format ~X")
312
TST_TN_EQ_STR("0", STR(format("~X", 0)));
313
TST_TN_EQ_STR("1", STR(format("~X", 1)));
314
TST_TN_EQ_STR("a", STR(format("~X", 10)));
315
TST_TN_EQ_STR("64", STR(format("~X", 100)));
317
TST_TN_EQ_STR("0", STR(format("~0X", 0)));
318
TST_TN_EQ_STR("1", STR(format("~0X", 1)));
319
TST_TN_EQ_STR("a", STR(format("~0X", 10)));
320
TST_TN_EQ_STR("64", STR(format("~0X", 100)));
322
TST_TN_EQ_STR("000", STR(format("~03X", 0)));
323
TST_TN_EQ_STR("001", STR(format("~03X", 1)));
324
TST_TN_EQ_STR("00a", STR(format("~03X", 10)));
325
TST_TN_EQ_STR("064", STR(format("~03X", 100)));
327
TST_TN_EQ_STR(" 0", STR(format("~3X", 0)));
328
TST_TN_EQ_STR(" 1", STR(format("~3X", 1)));
329
TST_TN_EQ_STR(" a", STR(format("~3X", 10)));
330
TST_TN_EQ_STR(" 64", STR(format("~3X", 100)));
333
TST_TN_EQ_STR("ffffff9c", STR(format("~X", -100)));
334
TST_TN_EQ_STR("fffffff6", STR(format("~X", -10)));
335
TST_TN_EQ_STR("ffffffff", STR(format("~X", -1)));
337
TST_TN_EQ_STR("ffffff9c", STR(format("~0X", -100)));
338
TST_TN_EQ_STR("fffffff6", STR(format("~0X", -10)));
339
TST_TN_EQ_STR("ffffffff", STR(format("~0X", -1)));
341
TST_TN_EQ_STR("ffffff9c", STR(format("~03X", -100)));
342
TST_TN_EQ_STR("fffffff6", STR(format("~03X", -10)));
343
TST_TN_EQ_STR("ffffffff", STR(format("~03X", -1)));
345
TST_TN_EQ_STR("ffffff9c", STR(format("~3X", -100)));
346
TST_TN_EQ_STR("fffffff6", STR(format("~3X", -10)));
347
TST_TN_EQ_STR("ffffffff", STR(format("~3X", -1)));
349
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~X", -100)));
350
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~X", -10)));
351
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~X", -1)));
353
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0X", -100)));
354
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0X", -10)));
355
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0X", -1)));
357
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03X", -100)));
358
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03X", -10)));
359
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03X", -1)));
361
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3X", -100)));
362
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3X", -10)));
363
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3X", -1)));
366
TST_TN_EQ_STR(" 1ac",
367
STR(format("~127X", 0x1ac)));
368
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
369
STR(format("~0127X", 0x1ac)));
372
TST_CASE("format ~O")
374
TST_TN_EQ_STR("0", STR(format("~O", 0)));
375
TST_TN_EQ_STR("1", STR(format("~O", 1)));
376
TST_TN_EQ_STR("12", STR(format("~O", 10)));
377
TST_TN_EQ_STR("144", STR(format("~O", 100)));
379
TST_TN_EQ_STR("0", STR(format("~0O", 0)));
380
TST_TN_EQ_STR("1", STR(format("~0O", 1)));
381
TST_TN_EQ_STR("12", STR(format("~0O", 10)));
382
TST_TN_EQ_STR("144", STR(format("~0O", 100)));
384
TST_TN_EQ_STR("000", STR(format("~03O", 0)));
385
TST_TN_EQ_STR("001", STR(format("~03O", 1)));
386
TST_TN_EQ_STR("012", STR(format("~03O", 10)));
387
TST_TN_EQ_STR("144", STR(format("~03O", 100)));
389
TST_TN_EQ_STR(" 0", STR(format("~3O", 0)));
390
TST_TN_EQ_STR(" 1", STR(format("~3O", 1)));
391
TST_TN_EQ_STR(" 12", STR(format("~3O", 10)));
392
TST_TN_EQ_STR("144", STR(format("~3O", 100)));
395
TST_TN_EQ_STR("37777777634", STR(format("~O", -100)));
396
TST_TN_EQ_STR("37777777766", STR(format("~O", -10)));
397
TST_TN_EQ_STR("37777777777", STR(format("~O", -1)));
399
TST_TN_EQ_STR("37777777634", STR(format("~0O", -100)));
400
TST_TN_EQ_STR("37777777766", STR(format("~0O", -10)));
401
TST_TN_EQ_STR("37777777777", STR(format("~0O", -1)));
403
TST_TN_EQ_STR("37777777634", STR(format("~03O", -100)));
404
TST_TN_EQ_STR("37777777766", STR(format("~03O", -10)));
405
TST_TN_EQ_STR("37777777777", STR(format("~03O", -1)));
407
TST_TN_EQ_STR("37777777634", STR(format("~3O", -100)));
408
TST_TN_EQ_STR("37777777766", STR(format("~3O", -10)));
409
TST_TN_EQ_STR("37777777777", STR(format("~3O", -1)));
411
TST_TN_EQ_STR("1777777777777777777634", STR(format("~O", -100)));
412
TST_TN_EQ_STR("1777777777777777777766", STR(format("~O", -10)));
413
TST_TN_EQ_STR("1777777777777777777777", STR(format("~O", -1)));
415
TST_TN_EQ_STR("1777777777777777777634", STR(format("~0O", -100)));
416
TST_TN_EQ_STR("1777777777777777777766", STR(format("~0O", -10)));
417
TST_TN_EQ_STR("1777777777777777777777", STR(format("~0O", -1)));
419
TST_TN_EQ_STR("1777777777777777777634", STR(format("~03O", -100)));
420
TST_TN_EQ_STR("1777777777777777777766", STR(format("~03O", -10)));
421
TST_TN_EQ_STR("1777777777777777777777", STR(format("~03O", -1)));
423
TST_TN_EQ_STR("1777777777777777777634", STR(format("~3O", -100)));
424
TST_TN_EQ_STR("1777777777777777777766", STR(format("~3O", -10)));
425
TST_TN_EQ_STR("1777777777777777777777", STR(format("~3O", -1)));
428
TST_TN_EQ_STR(" 123",
429
STR(format("~127O", 0123)));
430
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
431
STR(format("~0127O", 0123)));
434
TST_CASE("format ~B")
436
TST_TN_EQ_STR("0", STR(format("~B", 0)));
437
TST_TN_EQ_STR("1", STR(format("~B", 1)));
438
TST_TN_EQ_STR("1010", STR(format("~B", 10)));
439
TST_TN_EQ_STR("1100100", STR(format("~B", 100)));
441
TST_TN_EQ_STR("0", STR(format("~0B", 0)));
442
TST_TN_EQ_STR("1", STR(format("~0B", 1)));
443
TST_TN_EQ_STR("1010", STR(format("~0B", 10)));
444
TST_TN_EQ_STR("1100100", STR(format("~0B", 100)));
446
TST_TN_EQ_STR("00000", STR(format("~05B", 0)));
447
TST_TN_EQ_STR("00001", STR(format("~05B", 1)));
448
TST_TN_EQ_STR("01010", STR(format("~05B", 10)));
449
TST_TN_EQ_STR("1100100", STR(format("~05B", 100)));
451
TST_TN_EQ_STR(" 0", STR(format("~5B", 0)));
452
TST_TN_EQ_STR(" 1", STR(format("~5B", 1)));
453
TST_TN_EQ_STR(" 1010", STR(format("~5B", 10)));
454
TST_TN_EQ_STR("1100100", STR(format("~5B", 100)));
457
TST_TN_EQ_STR("11111111111111111111111110011100",
458
STR(format("~B", -100)));
459
TST_TN_EQ_STR("11111111111111111111111111110110",
460
STR(format("~B", -10)));
461
TST_TN_EQ_STR("11111111111111111111111111111111",
462
STR(format("~B", -1)));
464
TST_TN_EQ_STR("11111111111111111111111110011100",
465
STR(format("~0B", -100)));
466
TST_TN_EQ_STR("11111111111111111111111111110110",
467
STR(format("~0B", -10)));
468
TST_TN_EQ_STR("11111111111111111111111111111111",
469
STR(format("~0B", -1)));
471
TST_TN_EQ_STR("11111111111111111111111110011100",
472
STR(format("~05B", -100)));
473
TST_TN_EQ_STR("11111111111111111111111111110110",
474
STR(format("~05B", -10)));
475
TST_TN_EQ_STR("11111111111111111111111111111111",
476
STR(format("~05B", -1)));
478
TST_TN_EQ_STR("11111111111111111111111110011100",
479
STR(format("~5B", -100)));
480
TST_TN_EQ_STR("11111111111111111111111111110110",
481
STR(format("~5B", -10)));
482
TST_TN_EQ_STR("11111111111111111111111111111111",
483
STR(format("~5B", -1)));
485
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
486
STR(format("~B", -100)));
487
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
488
STR(format("~B", -10)));
489
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
490
STR(format("~B", -1)));
492
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
493
STR(format("~0B", -100)));
494
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
495
STR(format("~0B", -10)));
496
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
497
STR(format("~0B", -1)));
499
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
500
STR(format("~05B", -100)));
501
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
502
STR(format("~05B", -10)));
503
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
504
STR(format("~05B", -1)));
506
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
507
STR(format("~5B", -100)));
508
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
509
STR(format("~5B", -10)));
510
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
511
STR(format("~5B", -1)));
514
TST_TN_EQ_STR(" 101",
515
STR(format("~127B", 0x5)));
516
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
517
STR(format("~0127B", 0x5)));
520
TST_CASE("format ~WD")
522
TST_TN_EQ_STR("-100", STR(format("~WD", (int32_t)-100)));
523
TST_TN_EQ_STR("-10", STR(format("~WD", (int32_t)-10)));
524
TST_TN_EQ_STR("-1", STR(format("~WD", (int32_t)-1)));
525
TST_TN_EQ_STR("0", STR(format("~WD", (int32_t)0)));
526
TST_TN_EQ_STR("1", STR(format("~WD", (int32_t)1)));
527
TST_TN_EQ_STR("10", STR(format("~WD", (int32_t)10)));
528
TST_TN_EQ_STR("100", STR(format("~WD", (int32_t)100)));
530
TST_TN_EQ_STR("-100", STR(format("~0WD", (int32_t)-100)));
531
TST_TN_EQ_STR("-10", STR(format("~0WD", (int32_t)-10)));
532
TST_TN_EQ_STR("-1", STR(format("~0WD", (int32_t)-1)));
533
TST_TN_EQ_STR("0", STR(format("~0WD", (int32_t)0)));
534
TST_TN_EQ_STR("1", STR(format("~0WD", (int32_t)1)));
535
TST_TN_EQ_STR("10", STR(format("~0WD", (int32_t)10)));
536
TST_TN_EQ_STR("100", STR(format("~0WD", (int32_t)100)));
538
TST_TN_EQ_STR("-100", STR(format("~03WD", (int32_t)-100)));
539
TST_TN_EQ_STR("-10", STR(format("~03WD", (int32_t)-10)));
540
TST_TN_EQ_STR("-01", STR(format("~03WD", (int32_t)-1)));
541
TST_TN_EQ_STR("000", STR(format("~03WD", (int32_t)0)));
542
TST_TN_EQ_STR("001", STR(format("~03WD", (int32_t)1)));
543
TST_TN_EQ_STR("010", STR(format("~03WD", (int32_t)10)));
544
TST_TN_EQ_STR("100", STR(format("~03WD", (int32_t)100)));
546
TST_TN_EQ_STR("-100", STR(format("~3WD", (int32_t)-100)));
547
TST_TN_EQ_STR("-10", STR(format("~3WD", (int32_t)-10)));
548
TST_TN_EQ_STR(" -1", STR(format("~3WD", (int32_t)-1)));
549
TST_TN_EQ_STR(" 0", STR(format("~3WD", (int32_t)0)));
550
TST_TN_EQ_STR(" 1", STR(format("~3WD", (int32_t)1)));
551
TST_TN_EQ_STR(" 10", STR(format("~3WD", (int32_t)10)));
552
TST_TN_EQ_STR("100", STR(format("~3WD", (int32_t)100)));
554
TST_TN_EQ_STR(" 123",
555
STR(format("~127WD", (int32_t)123)));
556
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
557
STR(format("~0127WD", (int32_t)123)));
560
TST_CASE("format ~WU")
562
TST_TN_EQ_STR("0", STR(format("~WU", (int32_t)0)));
563
TST_TN_EQ_STR("1", STR(format("~WU", (int32_t)1)));
564
TST_TN_EQ_STR("10", STR(format("~WU", (int32_t)10)));
565
TST_TN_EQ_STR("100", STR(format("~WU", (int32_t)100)));
567
TST_TN_EQ_STR("0", STR(format("~0WU", (int32_t)0)));
568
TST_TN_EQ_STR("1", STR(format("~0WU", (int32_t)1)));
569
TST_TN_EQ_STR("10", STR(format("~0WU", (int32_t)10)));
570
TST_TN_EQ_STR("100", STR(format("~0WU", (int32_t)100)));
572
TST_TN_EQ_STR("000", STR(format("~03WU", (int32_t)0)));
573
TST_TN_EQ_STR("001", STR(format("~03WU", (int32_t)1)));
574
TST_TN_EQ_STR("010", STR(format("~03WU", (int32_t)10)));
575
TST_TN_EQ_STR("100", STR(format("~03WU", (int32_t)100)));
577
TST_TN_EQ_STR(" 0", STR(format("~3WU", (int32_t)0)));
578
TST_TN_EQ_STR(" 1", STR(format("~3WU", (int32_t)1)));
579
TST_TN_EQ_STR(" 10", STR(format("~3WU", (int32_t)10)));
580
TST_TN_EQ_STR("100", STR(format("~3WU", (int32_t)100)));
582
TST_TN_EQ_STR("4294967196", STR(format("~WU", (int32_t)-100)));
583
TST_TN_EQ_STR("4294967286", STR(format("~WU", (int32_t)-10)));
584
TST_TN_EQ_STR("4294967295", STR(format("~WU", (int32_t)-1)));
586
TST_TN_EQ_STR("4294967196", STR(format("~0WU", (int32_t)-100)));
587
TST_TN_EQ_STR("4294967286", STR(format("~0WU", (int32_t)-10)));
588
TST_TN_EQ_STR("4294967295", STR(format("~0WU", (int32_t)-1)));
590
TST_TN_EQ_STR("4294967196", STR(format("~03WU", (int32_t)-100)));
591
TST_TN_EQ_STR("4294967286", STR(format("~03WU", (int32_t)-10)));
592
TST_TN_EQ_STR("4294967295", STR(format("~03WU", (int32_t)-1)));
594
TST_TN_EQ_STR("4294967196", STR(format("~3WU", (int32_t)-100)));
595
TST_TN_EQ_STR("4294967286", STR(format("~3WU", (int32_t)-10)));
596
TST_TN_EQ_STR("4294967295", STR(format("~3WU", (int32_t)-1)));
598
TST_TN_EQ_STR(" 123",
599
STR(format("~127WU", (int32_t)123)));
600
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
601
STR(format("~0127WU", (int32_t)123)));
604
TST_CASE("format ~WX")
606
TST_TN_EQ_STR("0", STR(format("~WX", (int32_t)0)));
607
TST_TN_EQ_STR("1", STR(format("~WX", (int32_t)1)));
608
TST_TN_EQ_STR("a", STR(format("~WX", (int32_t)10)));
609
TST_TN_EQ_STR("64", STR(format("~WX", (int32_t)100)));
611
TST_TN_EQ_STR("0", STR(format("~0WX", (int32_t)0)));
612
TST_TN_EQ_STR("1", STR(format("~0WX", (int32_t)1)));
613
TST_TN_EQ_STR("a", STR(format("~0WX", (int32_t)10)));
614
TST_TN_EQ_STR("64", STR(format("~0WX", (int32_t)100)));
616
TST_TN_EQ_STR("000", STR(format("~03WX", (int32_t)0)));
617
TST_TN_EQ_STR("001", STR(format("~03WX", (int32_t)1)));
618
TST_TN_EQ_STR("00a", STR(format("~03WX", (int32_t)10)));
619
TST_TN_EQ_STR("064", STR(format("~03WX", (int32_t)100)));
621
TST_TN_EQ_STR(" 0", STR(format("~3WX", (int32_t)0)));
622
TST_TN_EQ_STR(" 1", STR(format("~3WX", (int32_t)1)));
623
TST_TN_EQ_STR(" a", STR(format("~3WX", (int32_t)10)));
624
TST_TN_EQ_STR(" 64", STR(format("~3WX", (int32_t)100)));
626
TST_TN_EQ_STR("ffffff9c", STR(format("~WX", (int32_t)-100)));
627
TST_TN_EQ_STR("fffffff6", STR(format("~WX", (int32_t)-10)));
628
TST_TN_EQ_STR("ffffffff", STR(format("~WX", (int32_t)-1)));
630
TST_TN_EQ_STR("ffffff9c", STR(format("~0WX", (int32_t)-100)));
631
TST_TN_EQ_STR("fffffff6", STR(format("~0WX", (int32_t)-10)));
632
TST_TN_EQ_STR("ffffffff", STR(format("~0WX", (int32_t)-1)));
634
TST_TN_EQ_STR("ffffff9c", STR(format("~03WX", (int32_t)-100)));
635
TST_TN_EQ_STR("fffffff6", STR(format("~03WX", (int32_t)-10)));
636
TST_TN_EQ_STR("ffffffff", STR(format("~03WX", (int32_t)-1)));
638
TST_TN_EQ_STR("ffffff9c", STR(format("~3WX", (int32_t)-100)));
639
TST_TN_EQ_STR("fffffff6", STR(format("~3WX", (int32_t)-10)));
640
TST_TN_EQ_STR("ffffffff", STR(format("~3WX", (int32_t)-1)));
642
TST_TN_EQ_STR(" 1ac",
643
STR(format("~127WX", (int32_t)0x1ac)));
644
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
645
STR(format("~0127WX", (int32_t)0x1ac)));
648
TST_CASE("format ~WO")
650
TST_TN_EQ_STR("0", STR(format("~WO", (int32_t)0)));
651
TST_TN_EQ_STR("1", STR(format("~WO", (int32_t)1)));
652
TST_TN_EQ_STR("12", STR(format("~WO", (int32_t)10)));
653
TST_TN_EQ_STR("144", STR(format("~WO", (int32_t)100)));
655
TST_TN_EQ_STR("0", STR(format("~0WO", (int32_t)0)));
656
TST_TN_EQ_STR("1", STR(format("~0WO", (int32_t)1)));
657
TST_TN_EQ_STR("12", STR(format("~0WO", (int32_t)10)));
658
TST_TN_EQ_STR("144", STR(format("~0WO", (int32_t)100)));
660
TST_TN_EQ_STR("000", STR(format("~03WO", (int32_t)0)));
661
TST_TN_EQ_STR("001", STR(format("~03WO", (int32_t)1)));
662
TST_TN_EQ_STR("012", STR(format("~03WO", (int32_t)10)));
663
TST_TN_EQ_STR("144", STR(format("~03WO", (int32_t)100)));
665
TST_TN_EQ_STR(" 0", STR(format("~3WO", (int32_t)0)));
666
TST_TN_EQ_STR(" 1", STR(format("~3WO", (int32_t)1)));
667
TST_TN_EQ_STR(" 12", STR(format("~3WO", (int32_t)10)));
668
TST_TN_EQ_STR("144", STR(format("~3WO", (int32_t)100)));
670
TST_TN_EQ_STR("37777777634", STR(format("~WO", (int32_t)-100)));
671
TST_TN_EQ_STR("37777777766", STR(format("~WO", (int32_t)-10)));
672
TST_TN_EQ_STR("37777777777", STR(format("~WO", (int32_t)-1)));
674
TST_TN_EQ_STR("37777777634", STR(format("~0WO", (int32_t)-100)));
675
TST_TN_EQ_STR("37777777766", STR(format("~0WO", (int32_t)-10)));
676
TST_TN_EQ_STR("37777777777", STR(format("~0WO", (int32_t)-1)));
678
TST_TN_EQ_STR("37777777634", STR(format("~03WO", (int32_t)-100)));
679
TST_TN_EQ_STR("37777777766", STR(format("~03WO", (int32_t)-10)));
680
TST_TN_EQ_STR("37777777777", STR(format("~03WO", (int32_t)-1)));
682
TST_TN_EQ_STR("37777777634", STR(format("~3WO", (int32_t)-100)));
683
TST_TN_EQ_STR("37777777766", STR(format("~3WO", (int32_t)-10)));
684
TST_TN_EQ_STR("37777777777", STR(format("~3WO", (int32_t)-1)));
686
TST_TN_EQ_STR(" 123",
687
STR(format("~127WO", (int32_t)0123)));
688
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
689
STR(format("~0127WO", (int32_t)0123)));
692
TST_CASE("format ~WB")
694
TST_TN_EQ_STR("0", STR(format("~WB", (int32_t)0)));
695
TST_TN_EQ_STR("1", STR(format("~WB", (int32_t)1)));
696
TST_TN_EQ_STR("1010", STR(format("~WB", (int32_t)10)));
697
TST_TN_EQ_STR("1100100", STR(format("~WB", (int32_t)100)));
699
TST_TN_EQ_STR("0", STR(format("~0WB", (int32_t)0)));
700
TST_TN_EQ_STR("1", STR(format("~0WB", (int32_t)1)));
701
TST_TN_EQ_STR("1010", STR(format("~0WB", (int32_t)10)));
702
TST_TN_EQ_STR("1100100", STR(format("~0WB", (int32_t)100)));
704
TST_TN_EQ_STR("00000", STR(format("~05WB", (int32_t)0)));
705
TST_TN_EQ_STR("00001", STR(format("~05WB", (int32_t)1)));
706
TST_TN_EQ_STR("01010", STR(format("~05WB", (int32_t)10)));
707
TST_TN_EQ_STR("1100100", STR(format("~05WB", (int32_t)100)));
709
TST_TN_EQ_STR(" 0", STR(format("~5WB", (int32_t)0)));
710
TST_TN_EQ_STR(" 1", STR(format("~5WB", (int32_t)1)));
711
TST_TN_EQ_STR(" 1010", STR(format("~5WB", (int32_t)10)));
712
TST_TN_EQ_STR("1100100", STR(format("~5WB", (int32_t)100)));
714
TST_TN_EQ_STR("11111111111111111111111110011100",
715
STR(format("~WB", (int32_t)-100)));
716
TST_TN_EQ_STR("11111111111111111111111111110110",
717
STR(format("~WB", (int32_t)-10)));
718
TST_TN_EQ_STR("11111111111111111111111111111111",
719
STR(format("~WB", (int32_t)-1)));
721
TST_TN_EQ_STR("11111111111111111111111110011100",
722
STR(format("~0WB", (int32_t)-100)));
723
TST_TN_EQ_STR("11111111111111111111111111110110",
724
STR(format("~0WB", (int32_t)-10)));
725
TST_TN_EQ_STR("11111111111111111111111111111111",
726
STR(format("~0WB", (int32_t)-1)));
728
TST_TN_EQ_STR("11111111111111111111111110011100",
729
STR(format("~05WB", (int32_t)-100)));
730
TST_TN_EQ_STR("11111111111111111111111111110110",
731
STR(format("~05WB", (int32_t)-10)));
732
TST_TN_EQ_STR("11111111111111111111111111111111",
733
STR(format("~05WB", (int32_t)-1)));
735
TST_TN_EQ_STR("11111111111111111111111110011100",
736
STR(format("~5WB", (int32_t)-100)));
737
TST_TN_EQ_STR("11111111111111111111111111110110",
738
STR(format("~5WB", (int32_t)-10)));
739
TST_TN_EQ_STR("11111111111111111111111111111111",
740
STR(format("~5WB", (int32_t)-1)));
742
TST_TN_EQ_STR(" 101",
743
STR(format("~127WB", (int32_t)0x5)));
744
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
745
STR(format("~0127WB", (int32_t)0x5)));
748
TST_CASE("format ~MD")
750
TST_TN_EQ_STR("-100", STR(format("~MD", (scm_int_t)-100)));
751
TST_TN_EQ_STR("-10", STR(format("~MD", (scm_int_t)-10)));
752
TST_TN_EQ_STR("-1", STR(format("~MD", (scm_int_t)-1)));
753
TST_TN_EQ_STR("0", STR(format("~MD", (scm_int_t)0)));
754
TST_TN_EQ_STR("1", STR(format("~MD", (scm_int_t)1)));
755
TST_TN_EQ_STR("10", STR(format("~MD", (scm_int_t)10)));
756
TST_TN_EQ_STR("100", STR(format("~MD", (scm_int_t)100)));
758
TST_TN_EQ_STR("-100", STR(format("~0MD", (scm_int_t)-100)));
759
TST_TN_EQ_STR("-10", STR(format("~0MD", (scm_int_t)-10)));
760
TST_TN_EQ_STR("-1", STR(format("~0MD", (scm_int_t)-1)));
761
TST_TN_EQ_STR("0", STR(format("~0MD", (scm_int_t)0)));
762
TST_TN_EQ_STR("1", STR(format("~0MD", (scm_int_t)1)));
763
TST_TN_EQ_STR("10", STR(format("~0MD", (scm_int_t)10)));
764
TST_TN_EQ_STR("100", STR(format("~0MD", (scm_int_t)100)));
766
TST_TN_EQ_STR("-100", STR(format("~03MD", (scm_int_t)-100)));
767
TST_TN_EQ_STR("-10", STR(format("~03MD", (scm_int_t)-10)));
768
TST_TN_EQ_STR("-01", STR(format("~03MD", (scm_int_t)-1)));
769
TST_TN_EQ_STR("000", STR(format("~03MD", (scm_int_t)0)));
770
TST_TN_EQ_STR("001", STR(format("~03MD", (scm_int_t)1)));
771
TST_TN_EQ_STR("010", STR(format("~03MD", (scm_int_t)10)));
772
TST_TN_EQ_STR("100", STR(format("~03MD", (scm_int_t)100)));
774
TST_TN_EQ_STR("-100", STR(format("~3MD", (scm_int_t)-100)));
775
TST_TN_EQ_STR("-10", STR(format("~3MD", (scm_int_t)-10)));
776
TST_TN_EQ_STR(" -1", STR(format("~3MD", (scm_int_t)-1)));
777
TST_TN_EQ_STR(" 0", STR(format("~3MD", (scm_int_t)0)));
778
TST_TN_EQ_STR(" 1", STR(format("~3MD", (scm_int_t)1)));
779
TST_TN_EQ_STR(" 10", STR(format("~3MD", (scm_int_t)10)));
780
TST_TN_EQ_STR("100", STR(format("~3MD", (scm_int_t)100)));
782
TST_TN_EQ_STR(" 123",
783
STR(format("~127MD", (scm_int_t)123)));
784
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
785
STR(format("~0127MD", (scm_int_t)123)));
788
TST_CASE("format ~MU")
790
TST_TN_EQ_STR("0", STR(format("~MU", (scm_int_t)0)));
791
TST_TN_EQ_STR("1", STR(format("~MU", (scm_int_t)1)));
792
TST_TN_EQ_STR("10", STR(format("~MU", (scm_int_t)10)));
793
TST_TN_EQ_STR("100", STR(format("~MU", (scm_int_t)100)));
795
TST_TN_EQ_STR("0", STR(format("~0MU", (scm_int_t)0)));
796
TST_TN_EQ_STR("1", STR(format("~0MU", (scm_int_t)1)));
797
TST_TN_EQ_STR("10", STR(format("~0MU", (scm_int_t)10)));
798
TST_TN_EQ_STR("100", STR(format("~0MU", (scm_int_t)100)));
800
TST_TN_EQ_STR("000", STR(format("~03MU", (scm_int_t)0)));
801
TST_TN_EQ_STR("001", STR(format("~03MU", (scm_int_t)1)));
802
TST_TN_EQ_STR("010", STR(format("~03MU", (scm_int_t)10)));
803
TST_TN_EQ_STR("100", STR(format("~03MU", (scm_int_t)100)));
805
TST_TN_EQ_STR(" 0", STR(format("~3MU", (scm_int_t)0)));
806
TST_TN_EQ_STR(" 1", STR(format("~3MU", (scm_int_t)1)));
807
TST_TN_EQ_STR(" 10", STR(format("~3MU", (scm_int_t)10)));
808
TST_TN_EQ_STR("100", STR(format("~3MU", (scm_int_t)100)));
811
TST_TN_EQ_STR("4294967196", STR(format("~MU", (scm_int_t)-100)));
812
TST_TN_EQ_STR("4294967286", STR(format("~MU", (scm_int_t)-10)));
813
TST_TN_EQ_STR("4294967295", STR(format("~MU", (scm_int_t)-1)));
815
TST_TN_EQ_STR("4294967196", STR(format("~0MU", (scm_int_t)-100)));
816
TST_TN_EQ_STR("4294967286", STR(format("~0MU", (scm_int_t)-10)));
817
TST_TN_EQ_STR("4294967295", STR(format("~0MU", (scm_int_t)-1)));
819
TST_TN_EQ_STR("4294967196", STR(format("~03MU", (scm_int_t)-100)));
820
TST_TN_EQ_STR("4294967286", STR(format("~03MU", (scm_int_t)-10)));
821
TST_TN_EQ_STR("4294967295", STR(format("~03MU", (scm_int_t)-1)));
823
TST_TN_EQ_STR("4294967196", STR(format("~3MU", (scm_int_t)-100)));
824
TST_TN_EQ_STR("4294967286", STR(format("~3MU", (scm_int_t)-10)));
825
TST_TN_EQ_STR("4294967295", STR(format("~3MU", (scm_int_t)-1)));
827
TST_TN_EQ_STR("18446744073709551516", STR(format("~MU", (scm_int_t)-100)));
828
TST_TN_EQ_STR("18446744073709551606", STR(format("~MU", (scm_int_t)-10)));
829
TST_TN_EQ_STR("18446744073709551615", STR(format("~MU", (scm_int_t)-1)));
831
TST_TN_EQ_STR("18446744073709551516", STR(format("~0MU", (scm_int_t)-100)));
832
TST_TN_EQ_STR("18446744073709551606", STR(format("~0MU", (scm_int_t)-10)));
833
TST_TN_EQ_STR("18446744073709551615", STR(format("~0MU", (scm_int_t)-1)));
835
TST_TN_EQ_STR("18446744073709551516", STR(format("~03MU",(scm_int_t)-100)));
836
TST_TN_EQ_STR("18446744073709551606", STR(format("~03MU",(scm_int_t)-10)));
837
TST_TN_EQ_STR("18446744073709551615", STR(format("~03MU",(scm_int_t)-1)));
839
TST_TN_EQ_STR("18446744073709551516", STR(format("~3MU", (scm_int_t)-100)));
840
TST_TN_EQ_STR("18446744073709551606", STR(format("~3MU", (scm_int_t)-10)));
841
TST_TN_EQ_STR("18446744073709551615", STR(format("~3MU", (scm_int_t)-1)));
844
TST_TN_EQ_STR(" 123",
845
STR(format("~127MU", (scm_int_t)123)));
846
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
847
STR(format("~0127MU", (scm_int_t)123)));
850
TST_CASE("format ~MX")
852
TST_TN_EQ_STR("0", STR(format("~MX", (scm_int_t)0)));
853
TST_TN_EQ_STR("1", STR(format("~MX", (scm_int_t)1)));
854
TST_TN_EQ_STR("a", STR(format("~MX", (scm_int_t)10)));
855
TST_TN_EQ_STR("64", STR(format("~MX", (scm_int_t)100)));
857
TST_TN_EQ_STR("0", STR(format("~0MX", (scm_int_t)0)));
858
TST_TN_EQ_STR("1", STR(format("~0MX", (scm_int_t)1)));
859
TST_TN_EQ_STR("a", STR(format("~0MX", (scm_int_t)10)));
860
TST_TN_EQ_STR("64", STR(format("~0MX", (scm_int_t)100)));
862
TST_TN_EQ_STR("000", STR(format("~03MX", (scm_int_t)0)));
863
TST_TN_EQ_STR("001", STR(format("~03MX", (scm_int_t)1)));
864
TST_TN_EQ_STR("00a", STR(format("~03MX", (scm_int_t)10)));
865
TST_TN_EQ_STR("064", STR(format("~03MX", (scm_int_t)100)));
867
TST_TN_EQ_STR(" 0", STR(format("~3MX", (scm_int_t)0)));
868
TST_TN_EQ_STR(" 1", STR(format("~3MX", (scm_int_t)1)));
869
TST_TN_EQ_STR(" a", STR(format("~3MX", (scm_int_t)10)));
870
TST_TN_EQ_STR(" 64", STR(format("~3MX", (scm_int_t)100)));
873
TST_TN_EQ_STR("ffffff9c", STR(format("~MX", (scm_int_t)-100)));
874
TST_TN_EQ_STR("fffffff6", STR(format("~MX", (scm_int_t)-10)));
875
TST_TN_EQ_STR("ffffffff", STR(format("~MX", (scm_int_t)-1)));
877
TST_TN_EQ_STR("ffffff9c", STR(format("~0MX", (scm_int_t)-100)));
878
TST_TN_EQ_STR("fffffff6", STR(format("~0MX", (scm_int_t)-10)));
879
TST_TN_EQ_STR("ffffffff", STR(format("~0MX", (scm_int_t)-1)));
881
TST_TN_EQ_STR("ffffff9c", STR(format("~03MX", (scm_int_t)-100)));
882
TST_TN_EQ_STR("fffffff6", STR(format("~03MX", (scm_int_t)-10)));
883
TST_TN_EQ_STR("ffffffff", STR(format("~03MX", (scm_int_t)-1)));
885
TST_TN_EQ_STR("ffffff9c", STR(format("~3MX", (scm_int_t)-100)));
886
TST_TN_EQ_STR("fffffff6", STR(format("~3MX", (scm_int_t)-10)));
887
TST_TN_EQ_STR("ffffffff", STR(format("~3MX", (scm_int_t)-1)));
889
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~MX", (scm_int_t)-100)));
890
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~MX", (scm_int_t)-10)));
891
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~MX", (scm_int_t)-1)));
893
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0MX", (scm_int_t)-100)));
894
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0MX", (scm_int_t)-10)));
895
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0MX", (scm_int_t)-1)));
897
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03MX", (scm_int_t)-100)));
898
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03MX", (scm_int_t)-10)));
899
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03MX", (scm_int_t)-1)));
901
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3MX", (scm_int_t)-100)));
902
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3MX", (scm_int_t)-10)));
903
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3MX", (scm_int_t)-1)));
906
TST_TN_EQ_STR(" 1ac",
907
STR(format("~127MX", (scm_int_t)0x1ac)));
908
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
909
STR(format("~0127MX", (scm_int_t)0x1ac)));
912
TST_CASE("format ~MO")
914
TST_TN_EQ_STR("0", STR(format("~MO", (scm_int_t)0)));
915
TST_TN_EQ_STR("1", STR(format("~MO", (scm_int_t)1)));
916
TST_TN_EQ_STR("12", STR(format("~MO", (scm_int_t)10)));
917
TST_TN_EQ_STR("144", STR(format("~MO", (scm_int_t)100)));
919
TST_TN_EQ_STR("0", STR(format("~0MO", (scm_int_t)0)));
920
TST_TN_EQ_STR("1", STR(format("~0MO", (scm_int_t)1)));
921
TST_TN_EQ_STR("12", STR(format("~0MO", (scm_int_t)10)));
922
TST_TN_EQ_STR("144", STR(format("~0MO", (scm_int_t)100)));
924
TST_TN_EQ_STR("000", STR(format("~03MO", (scm_int_t)0)));
925
TST_TN_EQ_STR("001", STR(format("~03MO", (scm_int_t)1)));
926
TST_TN_EQ_STR("012", STR(format("~03MO", (scm_int_t)10)));
927
TST_TN_EQ_STR("144", STR(format("~03MO", (scm_int_t)100)));
929
TST_TN_EQ_STR(" 0", STR(format("~3MO", (scm_int_t)0)));
930
TST_TN_EQ_STR(" 1", STR(format("~3MO", (scm_int_t)1)));
931
TST_TN_EQ_STR(" 12", STR(format("~3MO", (scm_int_t)10)));
932
TST_TN_EQ_STR("144", STR(format("~3MO", (scm_int_t)100)));
935
TST_TN_EQ_STR("37777777634", STR(format("~MO", (scm_int_t)-100)));
936
TST_TN_EQ_STR("37777777766", STR(format("~MO", (scm_int_t)-10)));
937
TST_TN_EQ_STR("37777777777", STR(format("~MO", (scm_int_t)-1)));
939
TST_TN_EQ_STR("37777777634", STR(format("~0MO", (scm_int_t)-100)));
940
TST_TN_EQ_STR("37777777766", STR(format("~0MO", (scm_int_t)-10)));
941
TST_TN_EQ_STR("37777777777", STR(format("~0MO", (scm_int_t)-1)));
943
TST_TN_EQ_STR("37777777634", STR(format("~03MO", (scm_int_t)-100)));
944
TST_TN_EQ_STR("37777777766", STR(format("~03MO", (scm_int_t)-10)));
945
TST_TN_EQ_STR("37777777777", STR(format("~03MO", (scm_int_t)-1)));
947
TST_TN_EQ_STR("37777777634", STR(format("~3MO", (scm_int_t)-100)));
948
TST_TN_EQ_STR("37777777766", STR(format("~3MO", (scm_int_t)-10)));
949
TST_TN_EQ_STR("37777777777", STR(format("~3MO", (scm_int_t)-1)));
951
TST_TN_EQ_STR("1777777777777777777634",
952
STR(format("~MO", (scm_int_t)-100)));
953
TST_TN_EQ_STR("1777777777777777777766",
954
STR(format("~MO", (scm_int_t)-10)));
955
TST_TN_EQ_STR("1777777777777777777777",
956
STR(format("~MO", (scm_int_t)-1)));
958
TST_TN_EQ_STR("1777777777777777777634",
959
STR(format("~0MO", (scm_int_t)-100)));
960
TST_TN_EQ_STR("1777777777777777777766",
961
STR(format("~0MO", (scm_int_t)-10)));
962
TST_TN_EQ_STR("1777777777777777777777",
963
STR(format("~0MO", (scm_int_t)-1)));
965
TST_TN_EQ_STR("1777777777777777777634",
966
STR(format("~03MO", (scm_int_t)-100)));
967
TST_TN_EQ_STR("1777777777777777777766",
968
STR(format("~03MO", (scm_int_t)-10)));
969
TST_TN_EQ_STR("1777777777777777777777",
970
STR(format("~03MO", (scm_int_t)-1)));
972
TST_TN_EQ_STR("1777777777777777777634",
973
STR(format("~3MO", (scm_int_t)-100)));
974
TST_TN_EQ_STR("1777777777777777777766",
975
STR(format("~3MO", (scm_int_t)-10)));
976
TST_TN_EQ_STR("1777777777777777777777",
977
STR(format("~3MO", (scm_int_t)-1)));
980
TST_TN_EQ_STR(" 123",
981
STR(format("~127MO", (scm_int_t)0123)));
982
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
983
STR(format("~0127MO", (scm_int_t)0123)));
986
TST_CASE("format ~MB")
988
TST_TN_EQ_STR("0", STR(format("~MB", (scm_int_t)0)));
989
TST_TN_EQ_STR("1", STR(format("~MB", (scm_int_t)1)));
990
TST_TN_EQ_STR("1010", STR(format("~MB", (scm_int_t)10)));
991
TST_TN_EQ_STR("1100100", STR(format("~MB", (scm_int_t)100)));
993
TST_TN_EQ_STR("0", STR(format("~0MB", (scm_int_t)0)));
994
TST_TN_EQ_STR("1", STR(format("~0MB", (scm_int_t)1)));
995
TST_TN_EQ_STR("1010", STR(format("~0MB", (scm_int_t)10)));
996
TST_TN_EQ_STR("1100100", STR(format("~0MB", (scm_int_t)100)));
998
TST_TN_EQ_STR("00000", STR(format("~05MB", (scm_int_t)0)));
999
TST_TN_EQ_STR("00001", STR(format("~05MB", (scm_int_t)1)));
1000
TST_TN_EQ_STR("01010", STR(format("~05MB", (scm_int_t)10)));
1001
TST_TN_EQ_STR("1100100", STR(format("~05MB", (scm_int_t)100)));
1003
TST_TN_EQ_STR(" 0", STR(format("~5MB", (scm_int_t)0)));
1004
TST_TN_EQ_STR(" 1", STR(format("~5MB", (scm_int_t)1)));
1005
TST_TN_EQ_STR(" 1010", STR(format("~5MB", (scm_int_t)10)));
1006
TST_TN_EQ_STR("1100100", STR(format("~5MB", (scm_int_t)100)));
1009
TST_TN_EQ_STR("11111111111111111111111110011100",
1010
STR(format("~MB", (scm_int_t)-100)));
1011
TST_TN_EQ_STR("11111111111111111111111111110110",
1012
STR(format("~MB", (scm_int_t)-10)));
1013
TST_TN_EQ_STR("11111111111111111111111111111111",
1014
STR(format("~MB", (scm_int_t)-1)));
1016
TST_TN_EQ_STR("11111111111111111111111110011100",
1017
STR(format("~0MB", (scm_int_t)-100)));
1018
TST_TN_EQ_STR("11111111111111111111111111110110",
1019
STR(format("~0MB", (scm_int_t)-10)));
1020
TST_TN_EQ_STR("11111111111111111111111111111111",
1021
STR(format("~0MB", (scm_int_t)-1)));
1023
TST_TN_EQ_STR("11111111111111111111111110011100",
1024
STR(format("~05MB", (scm_int_t)-100)));
1025
TST_TN_EQ_STR("11111111111111111111111111110110",
1026
STR(format("~05MB", (scm_int_t)-10)));
1027
TST_TN_EQ_STR("11111111111111111111111111111111",
1028
STR(format("~05MB", (scm_int_t)-1)));
1030
TST_TN_EQ_STR("11111111111111111111111110011100",
1031
STR(format("~5MB", (scm_int_t)-100)));
1032
TST_TN_EQ_STR("11111111111111111111111111110110",
1033
STR(format("~5MB", (scm_int_t)-10)));
1034
TST_TN_EQ_STR("11111111111111111111111111111111",
1035
STR(format("~5MB", (scm_int_t)-1)));
1037
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1038
STR(format("~MB", (scm_int_t)-100)));
1039
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1040
STR(format("~MB", (scm_int_t)-10)));
1041
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1042
STR(format("~MB", (scm_int_t)-1)));
1044
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1045
STR(format("~0MB", (scm_int_t)-100)));
1046
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1047
STR(format("~0MB", (scm_int_t)-10)));
1048
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1049
STR(format("~0MB", (scm_int_t)-1)));
1051
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1052
STR(format("~05MB", (scm_int_t)-100)));
1053
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1054
STR(format("~05MB", (scm_int_t)-10)));
1055
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1056
STR(format("~05MB", (scm_int_t)-1)));
1058
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1059
STR(format("~5MB", (scm_int_t)-100)));
1060
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1061
STR(format("~5MB", (scm_int_t)-10)));
1062
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1063
STR(format("~5MB", (scm_int_t)-1)));
1066
TST_TN_EQ_STR(" 101",
1067
STR(format("~127MB", (scm_int_t)0x5)));
1068
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
1069
STR(format("~0127MB", (scm_int_t)0x5)));
1072
TST_CASE("format ~QD")
1074
TST_TN_EQ_STR("-100", STR(format("~QD", (int64_t)-100)));
1075
TST_TN_EQ_STR("-10", STR(format("~QD", (int64_t)-10)));
1076
TST_TN_EQ_STR("-1", STR(format("~QD", (int64_t)-1)));
1077
TST_TN_EQ_STR("0", STR(format("~QD", (int64_t)0)));
1078
TST_TN_EQ_STR("1", STR(format("~QD", (int64_t)1)));
1079
TST_TN_EQ_STR("10", STR(format("~QD", (int64_t)10)));
1080
TST_TN_EQ_STR("100", STR(format("~QD", (int64_t)100)));
1082
TST_TN_EQ_STR("-100", STR(format("~0QD", (int64_t)-100)));
1083
TST_TN_EQ_STR("-10", STR(format("~0QD", (int64_t)-10)));
1084
TST_TN_EQ_STR("-1", STR(format("~0QD", (int64_t)-1)));
1085
TST_TN_EQ_STR("0", STR(format("~0QD", (int64_t)0)));
1086
TST_TN_EQ_STR("1", STR(format("~0QD", (int64_t)1)));
1087
TST_TN_EQ_STR("10", STR(format("~0QD", (int64_t)10)));
1088
TST_TN_EQ_STR("100", STR(format("~0QD", (int64_t)100)));
1090
TST_TN_EQ_STR("-100", STR(format("~03QD", (int64_t)-100)));
1091
TST_TN_EQ_STR("-10", STR(format("~03QD", (int64_t)-10)));
1092
TST_TN_EQ_STR("-01", STR(format("~03QD", (int64_t)-1)));
1093
TST_TN_EQ_STR("000", STR(format("~03QD", (int64_t)0)));
1094
TST_TN_EQ_STR("001", STR(format("~03QD", (int64_t)1)));
1095
TST_TN_EQ_STR("010", STR(format("~03QD", (int64_t)10)));
1096
TST_TN_EQ_STR("100", STR(format("~03QD", (int64_t)100)));
1098
TST_TN_EQ_STR("-100", STR(format("~3QD", (int64_t)-100)));
1099
TST_TN_EQ_STR("-10", STR(format("~3QD", (int64_t)-10)));
1100
TST_TN_EQ_STR(" -1", STR(format("~3QD", (int64_t)-1)));
1101
TST_TN_EQ_STR(" 0", STR(format("~3QD", (int64_t)0)));
1102
TST_TN_EQ_STR(" 1", STR(format("~3QD", (int64_t)1)));
1103
TST_TN_EQ_STR(" 10", STR(format("~3QD", (int64_t)10)));
1104
TST_TN_EQ_STR("100", STR(format("~3QD", (int64_t)100)));
1106
TST_TN_EQ_STR(" 123",
1107
STR(format("~127QD", (int64_t)123)));
1108
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1109
STR(format("~0127QD", (int64_t)123)));
1112
TST_CASE("format ~QU")
1114
TST_TN_EQ_STR("0", STR(format("~QU", (int64_t)0)));
1115
TST_TN_EQ_STR("1", STR(format("~QU", (int64_t)1)));
1116
TST_TN_EQ_STR("10", STR(format("~QU", (int64_t)10)));
1117
TST_TN_EQ_STR("100", STR(format("~QU", (int64_t)100)));
1119
TST_TN_EQ_STR("0", STR(format("~0QU", (int64_t)0)));
1120
TST_TN_EQ_STR("1", STR(format("~0QU", (int64_t)1)));
1121
TST_TN_EQ_STR("10", STR(format("~0QU", (int64_t)10)));
1122
TST_TN_EQ_STR("100", STR(format("~0QU", (int64_t)100)));
1124
TST_TN_EQ_STR("000", STR(format("~03QU", (int64_t)0)));
1125
TST_TN_EQ_STR("001", STR(format("~03QU", (int64_t)1)));
1126
TST_TN_EQ_STR("010", STR(format("~03QU", (int64_t)10)));
1127
TST_TN_EQ_STR("100", STR(format("~03QU", (int64_t)100)));
1129
TST_TN_EQ_STR(" 0", STR(format("~3QU", (int64_t)0)));
1130
TST_TN_EQ_STR(" 1", STR(format("~3QU", (int64_t)1)));
1131
TST_TN_EQ_STR(" 10", STR(format("~3QU", (int64_t)10)));
1132
TST_TN_EQ_STR("100", STR(format("~3QU", (int64_t)100)));
1134
TST_TN_EQ_STR("18446744073709551516", STR(format("~QU", (int64_t)-100)));
1135
TST_TN_EQ_STR("18446744073709551606", STR(format("~QU", (int64_t)-10)));
1136
TST_TN_EQ_STR("18446744073709551615", STR(format("~QU", (int64_t)-1)));
1138
TST_TN_EQ_STR("18446744073709551516", STR(format("~0QU", (int64_t)-100)));
1139
TST_TN_EQ_STR("18446744073709551606", STR(format("~0QU", (int64_t)-10)));
1140
TST_TN_EQ_STR("18446744073709551615", STR(format("~0QU", (int64_t)-1)));
1142
TST_TN_EQ_STR("18446744073709551516", STR(format("~03QU", (int64_t)-100)));
1143
TST_TN_EQ_STR("18446744073709551606", STR(format("~03QU", (int64_t)-10)));
1144
TST_TN_EQ_STR("18446744073709551615", STR(format("~03QU", (int64_t)-1)));
1146
TST_TN_EQ_STR("18446744073709551516", STR(format("~3QU", (int64_t)-100)));
1147
TST_TN_EQ_STR("18446744073709551606", STR(format("~3QU", (int64_t)-10)));
1148
TST_TN_EQ_STR("18446744073709551615", STR(format("~3QU", (int64_t)-1)));
1150
TST_TN_EQ_STR(" 123",
1151
STR(format("~127QU", (int64_t)123)));
1152
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1153
STR(format("~0127QU", (int64_t)123)));
1156
TST_CASE("format ~QX")
1158
TST_TN_EQ_STR("0", STR(format("~QX", (int64_t)0)));
1159
TST_TN_EQ_STR("1", STR(format("~QX", (int64_t)1)));
1160
TST_TN_EQ_STR("a", STR(format("~QX", (int64_t)10)));
1161
TST_TN_EQ_STR("64", STR(format("~QX", (int64_t)100)));
1163
TST_TN_EQ_STR("0", STR(format("~0QX", (int64_t)0)));
1164
TST_TN_EQ_STR("1", STR(format("~0QX", (int64_t)1)));
1165
TST_TN_EQ_STR("a", STR(format("~0QX", (int64_t)10)));
1166
TST_TN_EQ_STR("64", STR(format("~0QX", (int64_t)100)));
1168
TST_TN_EQ_STR("000", STR(format("~03QX", (int64_t)0)));
1169
TST_TN_EQ_STR("001", STR(format("~03QX", (int64_t)1)));
1170
TST_TN_EQ_STR("00a", STR(format("~03QX", (int64_t)10)));
1171
TST_TN_EQ_STR("064", STR(format("~03QX", (int64_t)100)));
1173
TST_TN_EQ_STR(" 0", STR(format("~3QX", (int64_t)0)));
1174
TST_TN_EQ_STR(" 1", STR(format("~3QX", (int64_t)1)));
1175
TST_TN_EQ_STR(" a", STR(format("~3QX", (int64_t)10)));
1176
TST_TN_EQ_STR(" 64", STR(format("~3QX", (int64_t)100)));
1178
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~QX", (int64_t)-100)));
1179
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~QX", (int64_t)-10)));
1180
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~QX", (int64_t)-1)));
1182
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0QX", (int64_t)-100)));
1183
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0QX", (int64_t)-10)));
1184
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0QX", (int64_t)-1)));
1186
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03QX", (int64_t)-100)));
1187
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03QX", (int64_t)-10)));
1188
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03QX", (int64_t)-1)));
1190
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3QX", (int64_t)-100)));
1191
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3QX", (int64_t)-10)));
1192
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3QX", (int64_t)-1)));
1194
TST_TN_EQ_STR(" 1ac",
1195
STR(format("~127QX", (int64_t)0x1ac)));
1196
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
1197
STR(format("~0127QX", (int64_t)0x1ac)));
1200
TST_CASE("format ~QO")
1202
TST_TN_EQ_STR("0", STR(format("~QO", (int64_t)0)));
1203
TST_TN_EQ_STR("1", STR(format("~QO", (int64_t)1)));
1204
TST_TN_EQ_STR("12", STR(format("~QO", (int64_t)10)));
1205
TST_TN_EQ_STR("144", STR(format("~QO", (int64_t)100)));
1207
TST_TN_EQ_STR("0", STR(format("~0QO", (int64_t)0)));
1208
TST_TN_EQ_STR("1", STR(format("~0QO", (int64_t)1)));
1209
TST_TN_EQ_STR("12", STR(format("~0QO", (int64_t)10)));
1210
TST_TN_EQ_STR("144", STR(format("~0QO", (int64_t)100)));
1212
TST_TN_EQ_STR("000", STR(format("~03QO", (int64_t)0)));
1213
TST_TN_EQ_STR("001", STR(format("~03QO", (int64_t)1)));
1214
TST_TN_EQ_STR("012", STR(format("~03QO", (int64_t)10)));
1215
TST_TN_EQ_STR("144", STR(format("~03QO", (int64_t)100)));
1217
TST_TN_EQ_STR(" 0", STR(format("~3QO", (int64_t)0)));
1218
TST_TN_EQ_STR(" 1", STR(format("~3QO", (int64_t)1)));
1219
TST_TN_EQ_STR(" 12", STR(format("~3QO", (int64_t)10)));
1220
TST_TN_EQ_STR("144", STR(format("~3QO", (int64_t)100)));
1222
TST_TN_EQ_STR("1777777777777777777634",
1223
STR(format("~QO", (int64_t)-100)));
1224
TST_TN_EQ_STR("1777777777777777777766",
1225
STR(format("~QO", (int64_t)-10)));
1226
TST_TN_EQ_STR("1777777777777777777777",
1227
STR(format("~QO", (int64_t)-1)));
1229
TST_TN_EQ_STR("1777777777777777777634",
1230
STR(format("~0QO", (int64_t)-100)));
1231
TST_TN_EQ_STR("1777777777777777777766",
1232
STR(format("~0QO", (int64_t)-10)));
1233
TST_TN_EQ_STR("1777777777777777777777",
1234
STR(format("~0QO", (int64_t)-1)));
1236
TST_TN_EQ_STR("1777777777777777777634",
1237
STR(format("~03QO", (int64_t)-100)));
1238
TST_TN_EQ_STR("1777777777777777777766",
1239
STR(format("~03QO", (int64_t)-10)));
1240
TST_TN_EQ_STR("1777777777777777777777",
1241
STR(format("~03QO", (int64_t)-1)));
1243
TST_TN_EQ_STR("1777777777777777777634",
1244
STR(format("~3QO", (int64_t)-100)));
1245
TST_TN_EQ_STR("1777777777777777777766",
1246
STR(format("~3QO", (int64_t)-10)));
1247
TST_TN_EQ_STR("1777777777777777777777",
1248
STR(format("~3QO", (int64_t)-1)));
1250
TST_TN_EQ_STR(" 123",
1251
STR(format("~127QO", (int64_t)0123)));
1252
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1253
STR(format("~0127QO", (int64_t)0123)));
1256
TST_CASE("format ~QB")
1258
TST_TN_EQ_STR("0", STR(format("~QB", (int64_t)0)));
1259
TST_TN_EQ_STR("1", STR(format("~QB", (int64_t)1)));
1260
TST_TN_EQ_STR("1010", STR(format("~QB", (int64_t)10)));
1261
TST_TN_EQ_STR("1100100", STR(format("~QB", (int64_t)100)));
1263
TST_TN_EQ_STR("0", STR(format("~0QB", (int64_t)0)));
1264
TST_TN_EQ_STR("1", STR(format("~0QB", (int64_t)1)));
1265
TST_TN_EQ_STR("1010", STR(format("~0QB", (int64_t)10)));
1266
TST_TN_EQ_STR("1100100", STR(format("~0QB", (int64_t)100)));
1268
TST_TN_EQ_STR("00000", STR(format("~05QB", (int64_t)0)));
1269
TST_TN_EQ_STR("00001", STR(format("~05QB", (int64_t)1)));
1270
TST_TN_EQ_STR("01010", STR(format("~05QB", (int64_t)10)));
1271
TST_TN_EQ_STR("1100100", STR(format("~05QB", (int64_t)100)));
1273
TST_TN_EQ_STR(" 0", STR(format("~5QB", (int64_t)0)));
1274
TST_TN_EQ_STR(" 1", STR(format("~5QB", (int64_t)1)));
1275
TST_TN_EQ_STR(" 1010", STR(format("~5QB", (int64_t)10)));
1276
TST_TN_EQ_STR("1100100", STR(format("~5QB", (int64_t)100)));
1278
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1279
STR(format("~QB", (int64_t)-100)));
1280
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1281
STR(format("~QB", (int64_t)-10)));
1282
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1283
STR(format("~QB", (int64_t)-1)));
1285
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1286
STR(format("~0QB", (int64_t)-100)));
1287
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1288
STR(format("~0QB", (int64_t)-10)));
1289
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1290
STR(format("~0QB", (int64_t)-1)));
1292
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1293
STR(format("~05QB", (int64_t)-100)));
1294
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1295
STR(format("~05QB", (int64_t)-10)));
1296
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1297
STR(format("~05QB", (int64_t)-1)));
1299
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1300
STR(format("~5QB", (int64_t)-100)));
1301
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1302
STR(format("~5QB", (int64_t)-10)));
1303
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1304
STR(format("~5QB", (int64_t)-1)));
1306
TST_TN_EQ_STR(" 101",
1307
STR(format("~127QB", (int64_t)0x5)));
1308
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
1309
STR(format("~0127QB", (int64_t)0x5)));
1312
TST_CASE("format ~LD")
1314
TST_TN_EQ_STR("-100", STR(format("~LD", (long)-100)));
1315
TST_TN_EQ_STR("-10", STR(format("~LD", (long)-10)));
1316
TST_TN_EQ_STR("-1", STR(format("~LD", (long)-1)));
1317
TST_TN_EQ_STR("0", STR(format("~LD", (long)0)));
1318
TST_TN_EQ_STR("1", STR(format("~LD", (long)1)));
1319
TST_TN_EQ_STR("10", STR(format("~LD", (long)10)));
1320
TST_TN_EQ_STR("100", STR(format("~LD", (long)100)));
1322
TST_TN_EQ_STR("-100", STR(format("~0LD", (long)-100)));
1323
TST_TN_EQ_STR("-10", STR(format("~0LD", (long)-10)));
1324
TST_TN_EQ_STR("-1", STR(format("~0LD", (long)-1)));
1325
TST_TN_EQ_STR("0", STR(format("~0LD", (long)0)));
1326
TST_TN_EQ_STR("1", STR(format("~0LD", (long)1)));
1327
TST_TN_EQ_STR("10", STR(format("~0LD", (long)10)));
1328
TST_TN_EQ_STR("100", STR(format("~0LD", (long)100)));
1330
TST_TN_EQ_STR("-100", STR(format("~03LD", (long)-100)));
1331
TST_TN_EQ_STR("-10", STR(format("~03LD", (long)-10)));
1332
TST_TN_EQ_STR("-01", STR(format("~03LD", (long)-1)));
1333
TST_TN_EQ_STR("000", STR(format("~03LD", (long)0)));
1334
TST_TN_EQ_STR("001", STR(format("~03LD", (long)1)));
1335
TST_TN_EQ_STR("010", STR(format("~03LD", (long)10)));
1336
TST_TN_EQ_STR("100", STR(format("~03LD", (long)100)));
1338
TST_TN_EQ_STR("-100", STR(format("~3LD", (long)-100)));
1339
TST_TN_EQ_STR("-10", STR(format("~3LD", (long)-10)));
1340
TST_TN_EQ_STR(" -1", STR(format("~3LD", (long)-1)));
1341
TST_TN_EQ_STR(" 0", STR(format("~3LD", (long)0)));
1342
TST_TN_EQ_STR(" 1", STR(format("~3LD", (long)1)));
1343
TST_TN_EQ_STR(" 10", STR(format("~3LD", (long)10)));
1344
TST_TN_EQ_STR("100", STR(format("~3LD", (long)100)));
1346
TST_TN_EQ_STR(" 123",
1347
STR(format("~127LD", (long)123)));
1348
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1349
STR(format("~0127LD", (long)123)));
1352
TST_CASE("format ~LU")
1354
TST_TN_EQ_STR("0", STR(format("~LU", (long)0)));
1355
TST_TN_EQ_STR("1", STR(format("~LU", (long)1)));
1356
TST_TN_EQ_STR("10", STR(format("~LU", (long)10)));
1357
TST_TN_EQ_STR("100", STR(format("~LU", (long)100)));
1359
TST_TN_EQ_STR("0", STR(format("~0LU", (long)0)));
1360
TST_TN_EQ_STR("1", STR(format("~0LU", (long)1)));
1361
TST_TN_EQ_STR("10", STR(format("~0LU", (long)10)));
1362
TST_TN_EQ_STR("100", STR(format("~0LU", (long)100)));
1364
TST_TN_EQ_STR("000", STR(format("~03LU", (long)0)));
1365
TST_TN_EQ_STR("001", STR(format("~03LU", (long)1)));
1366
TST_TN_EQ_STR("010", STR(format("~03LU", (long)10)));
1367
TST_TN_EQ_STR("100", STR(format("~03LU", (long)100)));
1369
TST_TN_EQ_STR(" 0", STR(format("~3LU", (long)0)));
1370
TST_TN_EQ_STR(" 1", STR(format("~3LU", (long)1)));
1371
TST_TN_EQ_STR(" 10", STR(format("~3LU", (long)10)));
1372
TST_TN_EQ_STR("100", STR(format("~3LU", (long)100)));
1375
TST_TN_EQ_STR("4294967196", STR(format("~LU", (long)-100)));
1376
TST_TN_EQ_STR("4294967286", STR(format("~LU", (long)-10)));
1377
TST_TN_EQ_STR("4294967295", STR(format("~LU", (long)-1)));
1379
TST_TN_EQ_STR("4294967196", STR(format("~0LU", (long)-100)));
1380
TST_TN_EQ_STR("4294967286", STR(format("~0LU", (long)-10)));
1381
TST_TN_EQ_STR("4294967295", STR(format("~0LU", (long)-1)));
1383
TST_TN_EQ_STR("4294967196", STR(format("~03LU", (long)-100)));
1384
TST_TN_EQ_STR("4294967286", STR(format("~03LU", (long)-10)));
1385
TST_TN_EQ_STR("4294967295", STR(format("~03LU", (long)-1)));
1387
TST_TN_EQ_STR("4294967196", STR(format("~3LU", (long)-100)));
1388
TST_TN_EQ_STR("4294967286", STR(format("~3LU", (long)-10)));
1389
TST_TN_EQ_STR("4294967295", STR(format("~3LU", (long)-1)));
1391
TST_TN_EQ_STR("18446744073709551516", STR(format("~LU", (long)-100)));
1392
TST_TN_EQ_STR("18446744073709551606", STR(format("~LU", (long)-10)));
1393
TST_TN_EQ_STR("18446744073709551615", STR(format("~LU", (long)-1)));
1395
TST_TN_EQ_STR("18446744073709551516", STR(format("~0LU", (long)-100)));
1396
TST_TN_EQ_STR("18446744073709551606", STR(format("~0LU", (long)-10)));
1397
TST_TN_EQ_STR("18446744073709551615", STR(format("~0LU", (long)-1)));
1399
TST_TN_EQ_STR("18446744073709551516", STR(format("~03LU", (long)-100)));
1400
TST_TN_EQ_STR("18446744073709551606", STR(format("~03LU", (long)-10)));
1401
TST_TN_EQ_STR("18446744073709551615", STR(format("~03LU", (long)-1)));
1403
TST_TN_EQ_STR("18446744073709551516", STR(format("~3LU", (long)-100)));
1404
TST_TN_EQ_STR("18446744073709551606", STR(format("~3LU", (long)-10)));
1405
TST_TN_EQ_STR("18446744073709551615", STR(format("~3LU", (long)-1)));
1408
TST_TN_EQ_STR(" 123",
1409
STR(format("~127LU", (long)123)));
1410
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1411
STR(format("~0127LU", (long)123)));
1414
TST_CASE("format ~LX")
1416
TST_TN_EQ_STR("0", STR(format("~LX", (long)0)));
1417
TST_TN_EQ_STR("1", STR(format("~LX", (long)1)));
1418
TST_TN_EQ_STR("a", STR(format("~LX", (long)10)));
1419
TST_TN_EQ_STR("64", STR(format("~LX", (long)100)));
1421
TST_TN_EQ_STR("0", STR(format("~0LX", (long)0)));
1422
TST_TN_EQ_STR("1", STR(format("~0LX", (long)1)));
1423
TST_TN_EQ_STR("a", STR(format("~0LX", (long)10)));
1424
TST_TN_EQ_STR("64", STR(format("~0LX", (long)100)));
1426
TST_TN_EQ_STR("000", STR(format("~03LX", (long)0)));
1427
TST_TN_EQ_STR("001", STR(format("~03LX", (long)1)));
1428
TST_TN_EQ_STR("00a", STR(format("~03LX", (long)10)));
1429
TST_TN_EQ_STR("064", STR(format("~03LX", (long)100)));
1431
TST_TN_EQ_STR(" 0", STR(format("~3LX", (long)0)));
1432
TST_TN_EQ_STR(" 1", STR(format("~3LX", (long)1)));
1433
TST_TN_EQ_STR(" a", STR(format("~3LX", (long)10)));
1434
TST_TN_EQ_STR(" 64", STR(format("~3LX", (long)100)));
1437
TST_TN_EQ_STR("ffffff9c", STR(format("~LX", (long)-100)));
1438
TST_TN_EQ_STR("fffffff6", STR(format("~LX", (long)-10)));
1439
TST_TN_EQ_STR("ffffffff", STR(format("~LX", (long)-1)));
1441
TST_TN_EQ_STR("ffffff9c", STR(format("~0LX", (long)-100)));
1442
TST_TN_EQ_STR("fffffff6", STR(format("~0LX", (long)-10)));
1443
TST_TN_EQ_STR("ffffffff", STR(format("~0LX", (long)-1)));
1445
TST_TN_EQ_STR("ffffff9c", STR(format("~03LX", (long)-100)));
1446
TST_TN_EQ_STR("fffffff6", STR(format("~03LX", (long)-10)));
1447
TST_TN_EQ_STR("ffffffff", STR(format("~03LX", (long)-1)));
1449
TST_TN_EQ_STR("ffffff9c", STR(format("~3LX", (long)-100)));
1450
TST_TN_EQ_STR("fffffff6", STR(format("~3LX", (long)-10)));
1451
TST_TN_EQ_STR("ffffffff", STR(format("~3LX", (long)-1)));
1453
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~LX", (long)-100)));
1454
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~LX", (long)-10)));
1455
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~LX", (long)-1)));
1457
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0LX", (long)-100)));
1458
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0LX", (long)-10)));
1459
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0LX", (long)-1)));
1461
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03LX", (long)-100)));
1462
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03LX", (long)-10)));
1463
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03LX", (long)-1)));
1465
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3LX", (long)-100)));
1466
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3LX", (long)-10)));
1467
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3LX", (long)-1)));
1470
TST_TN_EQ_STR(" 1ac",
1471
STR(format("~127LX", (long)0x1ac)));
1472
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
1473
STR(format("~0127LX", (long)0x1ac)));
1476
TST_CASE("format ~LO")
1478
TST_TN_EQ_STR("0", STR(format("~LO", (long)0)));
1479
TST_TN_EQ_STR("1", STR(format("~LO", (long)1)));
1480
TST_TN_EQ_STR("12", STR(format("~LO", (long)10)));
1481
TST_TN_EQ_STR("144", STR(format("~LO", (long)100)));
1483
TST_TN_EQ_STR("0", STR(format("~0LO", (long)0)));
1484
TST_TN_EQ_STR("1", STR(format("~0LO", (long)1)));
1485
TST_TN_EQ_STR("12", STR(format("~0LO", (long)10)));
1486
TST_TN_EQ_STR("144", STR(format("~0LO", (long)100)));
1488
TST_TN_EQ_STR("000", STR(format("~03LO", (long)0)));
1489
TST_TN_EQ_STR("001", STR(format("~03LO", (long)1)));
1490
TST_TN_EQ_STR("012", STR(format("~03LO", (long)10)));
1491
TST_TN_EQ_STR("144", STR(format("~03LO", (long)100)));
1493
TST_TN_EQ_STR(" 0", STR(format("~3LO", (long)0)));
1494
TST_TN_EQ_STR(" 1", STR(format("~3LO", (long)1)));
1495
TST_TN_EQ_STR(" 12", STR(format("~3LO", (long)10)));
1496
TST_TN_EQ_STR("144", STR(format("~3LO", (long)100)));
1499
TST_TN_EQ_STR("37777777634", STR(format("~LO", (long)-100)));
1500
TST_TN_EQ_STR("37777777766", STR(format("~LO", (long)-10)));
1501
TST_TN_EQ_STR("37777777777", STR(format("~LO", (long)-1)));
1503
TST_TN_EQ_STR("37777777634", STR(format("~0LO", (long)-100)));
1504
TST_TN_EQ_STR("37777777766", STR(format("~0LO", (long)-10)));
1505
TST_TN_EQ_STR("37777777777", STR(format("~0LO", (long)-1)));
1507
TST_TN_EQ_STR("37777777634", STR(format("~03LO", (long)-100)));
1508
TST_TN_EQ_STR("37777777766", STR(format("~03LO", (long)-10)));
1509
TST_TN_EQ_STR("37777777777", STR(format("~03LO", (long)-1)));
1511
TST_TN_EQ_STR("37777777634", STR(format("~3LO", (long)-100)));
1512
TST_TN_EQ_STR("37777777766", STR(format("~3LO", (long)-10)));
1513
TST_TN_EQ_STR("37777777777", STR(format("~3LO", (long)-1)));
1515
TST_TN_EQ_STR("1777777777777777777634", STR(format("~LO", (long)-100)));
1516
TST_TN_EQ_STR("1777777777777777777766", STR(format("~LO", (long)-10)));
1517
TST_TN_EQ_STR("1777777777777777777777", STR(format("~LO", (long)-1)));
1519
TST_TN_EQ_STR("1777777777777777777634", STR(format("~0LO", (long)-100)));
1520
TST_TN_EQ_STR("1777777777777777777766", STR(format("~0LO", (long)-10)));
1521
TST_TN_EQ_STR("1777777777777777777777", STR(format("~0LO", (long)-1)));
1523
TST_TN_EQ_STR("1777777777777777777634", STR(format("~03LO", (long)-100)));
1524
TST_TN_EQ_STR("1777777777777777777766", STR(format("~03LO", (long)-10)));
1525
TST_TN_EQ_STR("1777777777777777777777", STR(format("~03LO", (long)-1)));
1527
TST_TN_EQ_STR("1777777777777777777634", STR(format("~3LO", (long)-100)));
1528
TST_TN_EQ_STR("1777777777777777777766", STR(format("~3LO", (long)-10)));
1529
TST_TN_EQ_STR("1777777777777777777777", STR(format("~3LO", (long)-1)));
1532
TST_TN_EQ_STR(" 123",
1533
STR(format("~127LO", (long)0123)));
1534
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1535
STR(format("~0127LO", (long)0123)));
1538
TST_CASE("format ~LB")
1540
TST_TN_EQ_STR("0", STR(format("~LB", (long)0)));
1541
TST_TN_EQ_STR("1", STR(format("~LB", (long)1)));
1542
TST_TN_EQ_STR("1010", STR(format("~LB", (long)10)));
1543
TST_TN_EQ_STR("1100100", STR(format("~LB", (long)100)));
1545
TST_TN_EQ_STR("0", STR(format("~0LB", (long)0)));
1546
TST_TN_EQ_STR("1", STR(format("~0LB", (long)1)));
1547
TST_TN_EQ_STR("1010", STR(format("~0LB", (long)10)));
1548
TST_TN_EQ_STR("1100100", STR(format("~0LB", (long)100)));
1550
TST_TN_EQ_STR("00000", STR(format("~05LB", (long)0)));
1551
TST_TN_EQ_STR("00001", STR(format("~05LB", (long)1)));
1552
TST_TN_EQ_STR("01010", STR(format("~05LB", (long)10)));
1553
TST_TN_EQ_STR("1100100", STR(format("~05LB", (long)100)));
1555
TST_TN_EQ_STR(" 0", STR(format("~5LB", (long)0)));
1556
TST_TN_EQ_STR(" 1", STR(format("~5LB", (long)1)));
1557
TST_TN_EQ_STR(" 1010", STR(format("~5LB", (long)10)));
1558
TST_TN_EQ_STR("1100100", STR(format("~5LB", (long)100)));
1561
TST_TN_EQ_STR("11111111111111111111111110011100",
1562
STR(format("~LB", (long)-100)));
1563
TST_TN_EQ_STR("11111111111111111111111111110110",
1564
STR(format("~LB", (long)-10)));
1565
TST_TN_EQ_STR("11111111111111111111111111111111",
1566
STR(format("~LB", (long)-1)));
1568
TST_TN_EQ_STR("11111111111111111111111110011100",
1569
STR(format("~0LB", (long)-100)));
1570
TST_TN_EQ_STR("11111111111111111111111111110110",
1571
STR(format("~0LB", (long)-10)));
1572
TST_TN_EQ_STR("11111111111111111111111111111111",
1573
STR(format("~0LB", (long)-1)));
1575
TST_TN_EQ_STR("11111111111111111111111110011100",
1576
STR(format("~05LB", (long)-100)));
1577
TST_TN_EQ_STR("11111111111111111111111111110110",
1578
STR(format("~05LB", (long)-10)));
1579
TST_TN_EQ_STR("11111111111111111111111111111111",
1580
STR(format("~05LB", (long)-1)));
1582
TST_TN_EQ_STR("11111111111111111111111110011100",
1583
STR(format("~5LB", (long)-100)));
1584
TST_TN_EQ_STR("11111111111111111111111111110110",
1585
STR(format("~5LB", (long)-10)));
1586
TST_TN_EQ_STR("11111111111111111111111111111111",
1587
STR(format("~5LB", (long)-1)));
1589
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1590
STR(format("~LB", (long)-100)));
1591
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1592
STR(format("~LB", (long)-10)));
1593
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1594
STR(format("~LB", (long)-1)));
1596
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1597
STR(format("~0LB", (long)-100)));
1598
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1599
STR(format("~0LB", (long)-10)));
1600
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1601
STR(format("~0LB", (long)-1)));
1603
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1604
STR(format("~05LB", (long)-100)));
1605
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1606
STR(format("~05LB", (long)-10)));
1607
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1608
STR(format("~05LB", (long)-1)));
1610
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1611
STR(format("~5LB", (long)-100)));
1612
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1613
STR(format("~5LB", (long)-10)));
1614
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1615
STR(format("~5LB", (long)-1)));
1618
TST_TN_EQ_STR(" 101",
1619
STR(format("~127LB", (long)0x5)));
1620
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
1621
STR(format("~0127LB", (long)0x5)));
1624
TST_CASE("format ~JD")
1626
TST_TN_EQ_STR("-100", STR(format("~JD", (intmax_t)-100)));
1627
TST_TN_EQ_STR("-10", STR(format("~JD", (intmax_t)-10)));
1628
TST_TN_EQ_STR("-1", STR(format("~JD", (intmax_t)-1)));
1629
TST_TN_EQ_STR("0", STR(format("~JD", (intmax_t)0)));
1630
TST_TN_EQ_STR("1", STR(format("~JD", (intmax_t)1)));
1631
TST_TN_EQ_STR("10", STR(format("~JD", (intmax_t)10)));
1632
TST_TN_EQ_STR("100", STR(format("~JD", (intmax_t)100)));
1634
TST_TN_EQ_STR("-100", STR(format("~0JD", (intmax_t)-100)));
1635
TST_TN_EQ_STR("-10", STR(format("~0JD", (intmax_t)-10)));
1636
TST_TN_EQ_STR("-1", STR(format("~0JD", (intmax_t)-1)));
1637
TST_TN_EQ_STR("0", STR(format("~0JD", (intmax_t)0)));
1638
TST_TN_EQ_STR("1", STR(format("~0JD", (intmax_t)1)));
1639
TST_TN_EQ_STR("10", STR(format("~0JD", (intmax_t)10)));
1640
TST_TN_EQ_STR("100", STR(format("~0JD", (intmax_t)100)));
1642
TST_TN_EQ_STR("-100", STR(format("~03JD", (intmax_t)-100)));
1643
TST_TN_EQ_STR("-10", STR(format("~03JD", (intmax_t)-10)));
1644
TST_TN_EQ_STR("-01", STR(format("~03JD", (intmax_t)-1)));
1645
TST_TN_EQ_STR("000", STR(format("~03JD", (intmax_t)0)));
1646
TST_TN_EQ_STR("001", STR(format("~03JD", (intmax_t)1)));
1647
TST_TN_EQ_STR("010", STR(format("~03JD", (intmax_t)10)));
1648
TST_TN_EQ_STR("100", STR(format("~03JD", (intmax_t)100)));
1650
TST_TN_EQ_STR("-100", STR(format("~3JD", (intmax_t)-100)));
1651
TST_TN_EQ_STR("-10", STR(format("~3JD", (intmax_t)-10)));
1652
TST_TN_EQ_STR(" -1", STR(format("~3JD", (intmax_t)-1)));
1653
TST_TN_EQ_STR(" 0", STR(format("~3JD", (intmax_t)0)));
1654
TST_TN_EQ_STR(" 1", STR(format("~3JD", (intmax_t)1)));
1655
TST_TN_EQ_STR(" 10", STR(format("~3JD", (intmax_t)10)));
1656
TST_TN_EQ_STR("100", STR(format("~3JD", (intmax_t)100)));
1658
TST_TN_EQ_STR(" 123",
1659
STR(format("~127JD", (intmax_t)123)));
1660
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1661
STR(format("~0127JD", (intmax_t)123)));
1664
TST_CASE("format ~JU")
1666
TST_TN_EQ_STR("0", STR(format("~JU", (intmax_t)0)));
1667
TST_TN_EQ_STR("1", STR(format("~JU", (intmax_t)1)));
1668
TST_TN_EQ_STR("10", STR(format("~JU", (intmax_t)10)));
1669
TST_TN_EQ_STR("100", STR(format("~JU", (intmax_t)100)));
1671
TST_TN_EQ_STR("0", STR(format("~0JU", (intmax_t)0)));
1672
TST_TN_EQ_STR("1", STR(format("~0JU", (intmax_t)1)));
1673
TST_TN_EQ_STR("10", STR(format("~0JU", (intmax_t)10)));
1674
TST_TN_EQ_STR("100", STR(format("~0JU", (intmax_t)100)));
1676
TST_TN_EQ_STR("000", STR(format("~03JU", (intmax_t)0)));
1677
TST_TN_EQ_STR("001", STR(format("~03JU", (intmax_t)1)));
1678
TST_TN_EQ_STR("010", STR(format("~03JU", (intmax_t)10)));
1679
TST_TN_EQ_STR("100", STR(format("~03JU", (intmax_t)100)));
1681
TST_TN_EQ_STR(" 0", STR(format("~3JU", (intmax_t)0)));
1682
TST_TN_EQ_STR(" 1", STR(format("~3JU", (intmax_t)1)));
1683
TST_TN_EQ_STR(" 10", STR(format("~3JU", (intmax_t)10)));
1684
TST_TN_EQ_STR("100", STR(format("~3JU", (intmax_t)100)));
1687
TST_TN_EQ_STR("4294967196", STR(format("~JU", (intmax_t)-100)));
1688
TST_TN_EQ_STR("4294967286", STR(format("~JU", (intmax_t)-10)));
1689
TST_TN_EQ_STR("4294967295", STR(format("~JU", (intmax_t)-1)));
1691
TST_TN_EQ_STR("4294967196", STR(format("~0JU", (intmax_t)-100)));
1692
TST_TN_EQ_STR("4294967286", STR(format("~0JU", (intmax_t)-10)));
1693
TST_TN_EQ_STR("4294967295", STR(format("~0JU", (intmax_t)-1)));
1695
TST_TN_EQ_STR("4294967196", STR(format("~03JU", (intmax_t)-100)));
1696
TST_TN_EQ_STR("4294967286", STR(format("~03JU", (intmax_t)-10)));
1697
TST_TN_EQ_STR("4294967295", STR(format("~03JU", (intmax_t)-1)));
1699
TST_TN_EQ_STR("4294967196", STR(format("~3JU", (intmax_t)-100)));
1700
TST_TN_EQ_STR("4294967286", STR(format("~3JU", (intmax_t)-10)));
1701
TST_TN_EQ_STR("4294967295", STR(format("~3JU", (intmax_t)-1)));
1703
TST_TN_EQ_STR("18446744073709551516", STR(format("~JU", (intmax_t)-100)));
1704
TST_TN_EQ_STR("18446744073709551606", STR(format("~JU", (intmax_t)-10)));
1705
TST_TN_EQ_STR("18446744073709551615", STR(format("~JU", (intmax_t)-1)));
1707
TST_TN_EQ_STR("18446744073709551516", STR(format("~0JU", (intmax_t)-100)));
1708
TST_TN_EQ_STR("18446744073709551606", STR(format("~0JU", (intmax_t)-10)));
1709
TST_TN_EQ_STR("18446744073709551615", STR(format("~0JU", (intmax_t)-1)));
1711
TST_TN_EQ_STR("18446744073709551516", STR(format("~03JU",(intmax_t)-100)));
1712
TST_TN_EQ_STR("18446744073709551606", STR(format("~03JU",(intmax_t)-10)));
1713
TST_TN_EQ_STR("18446744073709551615", STR(format("~03JU",(intmax_t)-1)));
1715
TST_TN_EQ_STR("18446744073709551516", STR(format("~3JU", (intmax_t)-100)));
1716
TST_TN_EQ_STR("18446744073709551606", STR(format("~3JU", (intmax_t)-10)));
1717
TST_TN_EQ_STR("18446744073709551615", STR(format("~3JU", (intmax_t)-1)));
1720
TST_TN_EQ_STR(" 123",
1721
STR(format("~127JU", (intmax_t)123)));
1722
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1723
STR(format("~0127JU", (intmax_t)123)));
1726
TST_CASE("format ~JX")
1728
TST_TN_EQ_STR("0", STR(format("~JX", (intmax_t)0)));
1729
TST_TN_EQ_STR("1", STR(format("~JX", (intmax_t)1)));
1730
TST_TN_EQ_STR("a", STR(format("~JX", (intmax_t)10)));
1731
TST_TN_EQ_STR("64", STR(format("~JX", (intmax_t)100)));
1733
TST_TN_EQ_STR("0", STR(format("~0JX", (intmax_t)0)));
1734
TST_TN_EQ_STR("1", STR(format("~0JX", (intmax_t)1)));
1735
TST_TN_EQ_STR("a", STR(format("~0JX", (intmax_t)10)));
1736
TST_TN_EQ_STR("64", STR(format("~0JX", (intmax_t)100)));
1738
TST_TN_EQ_STR("000", STR(format("~03JX", (intmax_t)0)));
1739
TST_TN_EQ_STR("001", STR(format("~03JX", (intmax_t)1)));
1740
TST_TN_EQ_STR("00a", STR(format("~03JX", (intmax_t)10)));
1741
TST_TN_EQ_STR("064", STR(format("~03JX", (intmax_t)100)));
1743
TST_TN_EQ_STR(" 0", STR(format("~3JX", (intmax_t)0)));
1744
TST_TN_EQ_STR(" 1", STR(format("~3JX", (intmax_t)1)));
1745
TST_TN_EQ_STR(" a", STR(format("~3JX", (intmax_t)10)));
1746
TST_TN_EQ_STR(" 64", STR(format("~3JX", (intmax_t)100)));
1749
TST_TN_EQ_STR("ffffff9c", STR(format("~JX", (intmax_t)-100)));
1750
TST_TN_EQ_STR("fffffff6", STR(format("~JX", (intmax_t)-10)));
1751
TST_TN_EQ_STR("ffffffff", STR(format("~JX", (intmax_t)-1)));
1753
TST_TN_EQ_STR("ffffff9c", STR(format("~0JX", (intmax_t)-100)));
1754
TST_TN_EQ_STR("fffffff6", STR(format("~0JX", (intmax_t)-10)));
1755
TST_TN_EQ_STR("ffffffff", STR(format("~0JX", (intmax_t)-1)));
1757
TST_TN_EQ_STR("ffffff9c", STR(format("~03JX", (intmax_t)-100)));
1758
TST_TN_EQ_STR("fffffff6", STR(format("~03JX", (intmax_t)-10)));
1759
TST_TN_EQ_STR("ffffffff", STR(format("~03JX", (intmax_t)-1)));
1761
TST_TN_EQ_STR("ffffff9c", STR(format("~3JX", (intmax_t)-100)));
1762
TST_TN_EQ_STR("fffffff6", STR(format("~3JX", (intmax_t)-10)));
1763
TST_TN_EQ_STR("ffffffff", STR(format("~3JX", (intmax_t)-1)));
1765
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~JX", (intmax_t)-100)));
1766
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~JX", (intmax_t)-10)));
1767
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~JX", (intmax_t)-1)));
1769
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0JX", (intmax_t)-100)));
1770
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0JX", (intmax_t)-10)));
1771
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0JX", (intmax_t)-1)));
1773
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03JX", (intmax_t)-100)));
1774
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03JX", (intmax_t)-10)));
1775
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03JX", (intmax_t)-1)));
1777
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3JX", (intmax_t)-100)));
1778
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3JX", (intmax_t)-10)));
1779
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3JX", (intmax_t)-1)));
1782
TST_TN_EQ_STR(" 1ac",
1783
STR(format("~127JX", (intmax_t)0x1ac)));
1784
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
1785
STR(format("~0127JX", (intmax_t)0x1ac)));
1788
TST_CASE("format ~JO")
1790
TST_TN_EQ_STR("0", STR(format("~JO", (intmax_t)0)));
1791
TST_TN_EQ_STR("1", STR(format("~JO", (intmax_t)1)));
1792
TST_TN_EQ_STR("12", STR(format("~JO", (intmax_t)10)));
1793
TST_TN_EQ_STR("144", STR(format("~JO", (intmax_t)100)));
1795
TST_TN_EQ_STR("0", STR(format("~0JO", (intmax_t)0)));
1796
TST_TN_EQ_STR("1", STR(format("~0JO", (intmax_t)1)));
1797
TST_TN_EQ_STR("12", STR(format("~0JO", (intmax_t)10)));
1798
TST_TN_EQ_STR("144", STR(format("~0JO", (intmax_t)100)));
1800
TST_TN_EQ_STR("000", STR(format("~03JO", (intmax_t)0)));
1801
TST_TN_EQ_STR("001", STR(format("~03JO", (intmax_t)1)));
1802
TST_TN_EQ_STR("012", STR(format("~03JO", (intmax_t)10)));
1803
TST_TN_EQ_STR("144", STR(format("~03JO", (intmax_t)100)));
1805
TST_TN_EQ_STR(" 0", STR(format("~3JO", (intmax_t)0)));
1806
TST_TN_EQ_STR(" 1", STR(format("~3JO", (intmax_t)1)));
1807
TST_TN_EQ_STR(" 12", STR(format("~3JO", (intmax_t)10)));
1808
TST_TN_EQ_STR("144", STR(format("~3JO", (intmax_t)100)));
1811
TST_TN_EQ_STR("37777777634", STR(format("~JO", (intmax_t)-100)));
1812
TST_TN_EQ_STR("37777777766", STR(format("~JO", (intmax_t)-10)));
1813
TST_TN_EQ_STR("37777777777", STR(format("~JO", (intmax_t)-1)));
1815
TST_TN_EQ_STR("37777777634", STR(format("~0JO", (intmax_t)-100)));
1816
TST_TN_EQ_STR("37777777766", STR(format("~0JO", (intmax_t)-10)));
1817
TST_TN_EQ_STR("37777777777", STR(format("~0JO", (intmax_t)-1)));
1819
TST_TN_EQ_STR("37777777634", STR(format("~03JO", (intmax_t)-100)));
1820
TST_TN_EQ_STR("37777777766", STR(format("~03JO", (intmax_t)-10)));
1821
TST_TN_EQ_STR("37777777777", STR(format("~03JO", (intmax_t)-1)));
1823
TST_TN_EQ_STR("37777777634", STR(format("~3JO", (intmax_t)-100)));
1824
TST_TN_EQ_STR("37777777766", STR(format("~3JO", (intmax_t)-10)));
1825
TST_TN_EQ_STR("37777777777", STR(format("~3JO", (intmax_t)-1)));
1827
TST_TN_EQ_STR("1777777777777777777634",
1828
STR(format("~JO", (intmax_t)-100)));
1829
TST_TN_EQ_STR("1777777777777777777766",
1830
STR(format("~JO", (intmax_t)-10)));
1831
TST_TN_EQ_STR("1777777777777777777777",
1832
STR(format("~JO", (intmax_t)-1)));
1834
TST_TN_EQ_STR("1777777777777777777634",
1835
STR(format("~0JO", (intmax_t)-100)));
1836
TST_TN_EQ_STR("1777777777777777777766",
1837
STR(format("~0JO", (intmax_t)-10)));
1838
TST_TN_EQ_STR("1777777777777777777777",
1839
STR(format("~0JO", (intmax_t)-1)));
1841
TST_TN_EQ_STR("1777777777777777777634",
1842
STR(format("~03JO", (intmax_t)-100)));
1843
TST_TN_EQ_STR("1777777777777777777766",
1844
STR(format("~03JO", (intmax_t)-10)));
1845
TST_TN_EQ_STR("1777777777777777777777",
1846
STR(format("~03JO", (intmax_t)-1)));
1848
TST_TN_EQ_STR("1777777777777777777634",
1849
STR(format("~3JO", (intmax_t)-100)));
1850
TST_TN_EQ_STR("1777777777777777777766",
1851
STR(format("~3JO", (intmax_t)-10)));
1852
TST_TN_EQ_STR("1777777777777777777777",
1853
STR(format("~3JO", (intmax_t)-1)));
1856
TST_TN_EQ_STR(" 123",
1857
STR(format("~127JO", (intmax_t)0123)));
1858
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1859
STR(format("~0127JO", (intmax_t)0123)));
1862
TST_CASE("format ~JB")
1864
TST_TN_EQ_STR("0", STR(format("~JB", (intmax_t)0)));
1865
TST_TN_EQ_STR("1", STR(format("~JB", (intmax_t)1)));
1866
TST_TN_EQ_STR("1010", STR(format("~JB", (intmax_t)10)));
1867
TST_TN_EQ_STR("1100100", STR(format("~JB", (intmax_t)100)));
1869
TST_TN_EQ_STR("0", STR(format("~0JB", (intmax_t)0)));
1870
TST_TN_EQ_STR("1", STR(format("~0JB", (intmax_t)1)));
1871
TST_TN_EQ_STR("1010", STR(format("~0JB", (intmax_t)10)));
1872
TST_TN_EQ_STR("1100100", STR(format("~0JB", (intmax_t)100)));
1874
TST_TN_EQ_STR("00000", STR(format("~05JB", (intmax_t)0)));
1875
TST_TN_EQ_STR("00001", STR(format("~05JB", (intmax_t)1)));
1876
TST_TN_EQ_STR("01010", STR(format("~05JB", (intmax_t)10)));
1877
TST_TN_EQ_STR("1100100", STR(format("~05JB", (intmax_t)100)));
1879
TST_TN_EQ_STR(" 0", STR(format("~5JB", (intmax_t)0)));
1880
TST_TN_EQ_STR(" 1", STR(format("~5JB", (intmax_t)1)));
1881
TST_TN_EQ_STR(" 1010", STR(format("~5JB", (intmax_t)10)));
1882
TST_TN_EQ_STR("1100100", STR(format("~5JB", (intmax_t)100)));
1885
TST_TN_EQ_STR("11111111111111111111111110011100",
1886
STR(format("~JB", (intmax_t)-100)));
1887
TST_TN_EQ_STR("11111111111111111111111111110110",
1888
STR(format("~JB", (intmax_t)-10)));
1889
TST_TN_EQ_STR("11111111111111111111111111111111",
1890
STR(format("~JB", (intmax_t)-1)));
1892
TST_TN_EQ_STR("11111111111111111111111110011100",
1893
STR(format("~0JB", (intmax_t)-100)));
1894
TST_TN_EQ_STR("11111111111111111111111111110110",
1895
STR(format("~0JB", (intmax_t)-10)));
1896
TST_TN_EQ_STR("11111111111111111111111111111111",
1897
STR(format("~0JB", (intmax_t)-1)));
1899
TST_TN_EQ_STR("11111111111111111111111110011100",
1900
STR(format("~05JB", (intmax_t)-100)));
1901
TST_TN_EQ_STR("11111111111111111111111111110110",
1902
STR(format("~05JB", (intmax_t)-10)));
1903
TST_TN_EQ_STR("11111111111111111111111111111111",
1904
STR(format("~05JB", (intmax_t)-1)));
1906
TST_TN_EQ_STR("11111111111111111111111110011100",
1907
STR(format("~5JB", (intmax_t)-100)));
1908
TST_TN_EQ_STR("11111111111111111111111111110110",
1909
STR(format("~5JB", (intmax_t)-10)));
1910
TST_TN_EQ_STR("11111111111111111111111111111111",
1911
STR(format("~5JB", (intmax_t)-1)));
1913
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1914
STR(format("~JB", (intmax_t)-100)));
1915
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1916
STR(format("~JB", (intmax_t)-10)));
1917
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1918
STR(format("~JB", (intmax_t)-1)));
1920
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1921
STR(format("~0JB", (intmax_t)-100)));
1922
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1923
STR(format("~0JB", (intmax_t)-10)));
1924
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1925
STR(format("~0JB", (intmax_t)-1)));
1927
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1928
STR(format("~05JB", (intmax_t)-100)));
1929
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1930
STR(format("~05JB", (intmax_t)-10)));
1931
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1932
STR(format("~05JB", (intmax_t)-1)));
1934
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
1935
STR(format("~5JB", (intmax_t)-100)));
1936
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
1937
STR(format("~5JB", (intmax_t)-10)));
1938
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
1939
STR(format("~5JB", (intmax_t)-1)));
1942
TST_TN_EQ_STR(" 101",
1943
STR(format("~127JB", (intmax_t)0x5)));
1944
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
1945
STR(format("~0127JB", (intmax_t)0x5)));
1948
TST_CASE("format ~TD")
1950
TST_TN_EQ_STR("-100", STR(format("~TD", (ptrdiff_t)-100)));
1951
TST_TN_EQ_STR("-10", STR(format("~TD", (ptrdiff_t)-10)));
1952
TST_TN_EQ_STR("-1", STR(format("~TD", (ptrdiff_t)-1)));
1953
TST_TN_EQ_STR("0", STR(format("~TD", (ptrdiff_t)0)));
1954
TST_TN_EQ_STR("1", STR(format("~TD", (ptrdiff_t)1)));
1955
TST_TN_EQ_STR("10", STR(format("~TD", (ptrdiff_t)10)));
1956
TST_TN_EQ_STR("100", STR(format("~TD", (ptrdiff_t)100)));
1958
TST_TN_EQ_STR("-100", STR(format("~0TD", (ptrdiff_t)-100)));
1959
TST_TN_EQ_STR("-10", STR(format("~0TD", (ptrdiff_t)-10)));
1960
TST_TN_EQ_STR("-1", STR(format("~0TD", (ptrdiff_t)-1)));
1961
TST_TN_EQ_STR("0", STR(format("~0TD", (ptrdiff_t)0)));
1962
TST_TN_EQ_STR("1", STR(format("~0TD", (ptrdiff_t)1)));
1963
TST_TN_EQ_STR("10", STR(format("~0TD", (ptrdiff_t)10)));
1964
TST_TN_EQ_STR("100", STR(format("~0TD", (ptrdiff_t)100)));
1966
TST_TN_EQ_STR("-100", STR(format("~03TD", (ptrdiff_t)-100)));
1967
TST_TN_EQ_STR("-10", STR(format("~03TD", (ptrdiff_t)-10)));
1968
TST_TN_EQ_STR("-01", STR(format("~03TD", (ptrdiff_t)-1)));
1969
TST_TN_EQ_STR("000", STR(format("~03TD", (ptrdiff_t)0)));
1970
TST_TN_EQ_STR("001", STR(format("~03TD", (ptrdiff_t)1)));
1971
TST_TN_EQ_STR("010", STR(format("~03TD", (ptrdiff_t)10)));
1972
TST_TN_EQ_STR("100", STR(format("~03TD", (ptrdiff_t)100)));
1974
TST_TN_EQ_STR("-100", STR(format("~3TD", (ptrdiff_t)-100)));
1975
TST_TN_EQ_STR("-10", STR(format("~3TD", (ptrdiff_t)-10)));
1976
TST_TN_EQ_STR(" -1", STR(format("~3TD", (ptrdiff_t)-1)));
1977
TST_TN_EQ_STR(" 0", STR(format("~3TD", (ptrdiff_t)0)));
1978
TST_TN_EQ_STR(" 1", STR(format("~3TD", (ptrdiff_t)1)));
1979
TST_TN_EQ_STR(" 10", STR(format("~3TD", (ptrdiff_t)10)));
1980
TST_TN_EQ_STR("100", STR(format("~3TD", (ptrdiff_t)100)));
1982
TST_TN_EQ_STR(" 123",
1983
STR(format("~127TD", (ptrdiff_t)123)));
1984
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
1985
STR(format("~0127TD", (ptrdiff_t)123)));
1988
TST_CASE("format ~TU")
1990
TST_TN_EQ_STR("0", STR(format("~TU", (ptrdiff_t)0)));
1991
TST_TN_EQ_STR("1", STR(format("~TU", (ptrdiff_t)1)));
1992
TST_TN_EQ_STR("10", STR(format("~TU", (ptrdiff_t)10)));
1993
TST_TN_EQ_STR("100", STR(format("~TU", (ptrdiff_t)100)));
1995
TST_TN_EQ_STR("0", STR(format("~0TU", (ptrdiff_t)0)));
1996
TST_TN_EQ_STR("1", STR(format("~0TU", (ptrdiff_t)1)));
1997
TST_TN_EQ_STR("10", STR(format("~0TU", (ptrdiff_t)10)));
1998
TST_TN_EQ_STR("100", STR(format("~0TU", (ptrdiff_t)100)));
2000
TST_TN_EQ_STR("000", STR(format("~03TU", (ptrdiff_t)0)));
2001
TST_TN_EQ_STR("001", STR(format("~03TU", (ptrdiff_t)1)));
2002
TST_TN_EQ_STR("010", STR(format("~03TU", (ptrdiff_t)10)));
2003
TST_TN_EQ_STR("100", STR(format("~03TU", (ptrdiff_t)100)));
2005
TST_TN_EQ_STR(" 0", STR(format("~3TU", (ptrdiff_t)0)));
2006
TST_TN_EQ_STR(" 1", STR(format("~3TU", (ptrdiff_t)1)));
2007
TST_TN_EQ_STR(" 10", STR(format("~3TU", (ptrdiff_t)10)));
2008
TST_TN_EQ_STR("100", STR(format("~3TU", (ptrdiff_t)100)));
2011
TST_TN_EQ_STR("4294967196", STR(format("~TU", (ptrdiff_t)-100)));
2012
TST_TN_EQ_STR("4294967286", STR(format("~TU", (ptrdiff_t)-10)));
2013
TST_TN_EQ_STR("4294967295", STR(format("~TU", (ptrdiff_t)-1)));
2015
TST_TN_EQ_STR("4294967196", STR(format("~0TU", (ptrdiff_t)-100)));
2016
TST_TN_EQ_STR("4294967286", STR(format("~0TU", (ptrdiff_t)-10)));
2017
TST_TN_EQ_STR("4294967295", STR(format("~0TU", (ptrdiff_t)-1)));
2019
TST_TN_EQ_STR("4294967196", STR(format("~03TU", (ptrdiff_t)-100)));
2020
TST_TN_EQ_STR("4294967286", STR(format("~03TU", (ptrdiff_t)-10)));
2021
TST_TN_EQ_STR("4294967295", STR(format("~03TU", (ptrdiff_t)-1)));
2023
TST_TN_EQ_STR("4294967196", STR(format("~3TU", (ptrdiff_t)-100)));
2024
TST_TN_EQ_STR("4294967286", STR(format("~3TU", (ptrdiff_t)-10)));
2025
TST_TN_EQ_STR("4294967295", STR(format("~3TU", (ptrdiff_t)-1)));
2027
TST_TN_EQ_STR("18446744073709551516",
2028
STR(format("~TU", (ptrdiff_t)-100)));
2029
TST_TN_EQ_STR("18446744073709551606",
2030
STR(format("~TU", (ptrdiff_t)-10)));
2031
TST_TN_EQ_STR("18446744073709551615",
2032
STR(format("~TU", (ptrdiff_t)-1)));
2034
TST_TN_EQ_STR("18446744073709551516",
2035
STR(format("~0TU", (ptrdiff_t)-100)));
2036
TST_TN_EQ_STR("18446744073709551606",
2037
STR(format("~0TU", (ptrdiff_t)-10)));
2038
TST_TN_EQ_STR("18446744073709551615",
2039
STR(format("~0TU", (ptrdiff_t)-1)));
2041
TST_TN_EQ_STR("18446744073709551516",
2042
STR(format("~03TU", (ptrdiff_t)-100)));
2043
TST_TN_EQ_STR("18446744073709551606",
2044
STR(format("~03TU", (ptrdiff_t)-10)));
2045
TST_TN_EQ_STR("18446744073709551615",
2046
STR(format("~03TU", (ptrdiff_t)-1)));
2048
TST_TN_EQ_STR("18446744073709551516",
2049
STR(format("~3TU", (ptrdiff_t)-100)));
2050
TST_TN_EQ_STR("18446744073709551606",
2051
STR(format("~3TU", (ptrdiff_t)-10)));
2052
TST_TN_EQ_STR("18446744073709551615",
2053
STR(format("~3TU", (ptrdiff_t)-1)));
2056
TST_TN_EQ_STR(" 123",
2057
STR(format("~127TU", (ptrdiff_t)123)));
2058
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
2059
STR(format("~0127TU", (ptrdiff_t)123)));
2062
TST_CASE("format ~TX")
2064
TST_TN_EQ_STR("0", STR(format("~TX", (ptrdiff_t)0)));
2065
TST_TN_EQ_STR("1", STR(format("~TX", (ptrdiff_t)1)));
2066
TST_TN_EQ_STR("a", STR(format("~TX", (ptrdiff_t)10)));
2067
TST_TN_EQ_STR("64", STR(format("~TX", (ptrdiff_t)100)));
2069
TST_TN_EQ_STR("0", STR(format("~0TX", (ptrdiff_t)0)));
2070
TST_TN_EQ_STR("1", STR(format("~0TX", (ptrdiff_t)1)));
2071
TST_TN_EQ_STR("a", STR(format("~0TX", (ptrdiff_t)10)));
2072
TST_TN_EQ_STR("64", STR(format("~0TX", (ptrdiff_t)100)));
2074
TST_TN_EQ_STR("000", STR(format("~03TX", (ptrdiff_t)0)));
2075
TST_TN_EQ_STR("001", STR(format("~03TX", (ptrdiff_t)1)));
2076
TST_TN_EQ_STR("00a", STR(format("~03TX", (ptrdiff_t)10)));
2077
TST_TN_EQ_STR("064", STR(format("~03TX", (ptrdiff_t)100)));
2079
TST_TN_EQ_STR(" 0", STR(format("~3TX", (ptrdiff_t)0)));
2080
TST_TN_EQ_STR(" 1", STR(format("~3TX", (ptrdiff_t)1)));
2081
TST_TN_EQ_STR(" a", STR(format("~3TX", (ptrdiff_t)10)));
2082
TST_TN_EQ_STR(" 64", STR(format("~3TX", (ptrdiff_t)100)));
2085
TST_TN_EQ_STR("ffffff9c", STR(format("~TX", (ptrdiff_t)-100)));
2086
TST_TN_EQ_STR("fffffff6", STR(format("~TX", (ptrdiff_t)-10)));
2087
TST_TN_EQ_STR("ffffffff", STR(format("~TX", (ptrdiff_t)-1)));
2089
TST_TN_EQ_STR("ffffff9c", STR(format("~0TX", (ptrdiff_t)-100)));
2090
TST_TN_EQ_STR("fffffff6", STR(format("~0TX", (ptrdiff_t)-10)));
2091
TST_TN_EQ_STR("ffffffff", STR(format("~0TX", (ptrdiff_t)-1)));
2093
TST_TN_EQ_STR("ffffff9c", STR(format("~03TX", (ptrdiff_t)-100)));
2094
TST_TN_EQ_STR("fffffff6", STR(format("~03TX", (ptrdiff_t)-10)));
2095
TST_TN_EQ_STR("ffffffff", STR(format("~03TX", (ptrdiff_t)-1)));
2097
TST_TN_EQ_STR("ffffff9c", STR(format("~3TX", (ptrdiff_t)-100)));
2098
TST_TN_EQ_STR("fffffff6", STR(format("~3TX", (ptrdiff_t)-10)));
2099
TST_TN_EQ_STR("ffffffff", STR(format("~3TX", (ptrdiff_t)-1)));
2101
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~TX", (ptrdiff_t)-100)));
2102
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~TX", (ptrdiff_t)-10)));
2103
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~TX", (ptrdiff_t)-1)));
2105
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0TX", (ptrdiff_t)-100)));
2106
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0TX", (ptrdiff_t)-10)));
2107
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0TX", (ptrdiff_t)-1)));
2109
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03TX", (ptrdiff_t)-100)));
2110
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03TX", (ptrdiff_t)-10)));
2111
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03TX", (ptrdiff_t)-1)));
2113
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3TX", (ptrdiff_t)-100)));
2114
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3TX", (ptrdiff_t)-10)));
2115
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3TX", (ptrdiff_t)-1)));
2118
TST_TN_EQ_STR(" 1ac",
2119
STR(format("~127TX", (ptrdiff_t)0x1ac)));
2120
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
2121
STR(format("~0127TX", (ptrdiff_t)0x1ac)));
2124
TST_CASE("format ~TO")
2126
TST_TN_EQ_STR("0", STR(format("~TO", (ptrdiff_t)0)));
2127
TST_TN_EQ_STR("1", STR(format("~TO", (ptrdiff_t)1)));
2128
TST_TN_EQ_STR("12", STR(format("~TO", (ptrdiff_t)10)));
2129
TST_TN_EQ_STR("144", STR(format("~TO", (ptrdiff_t)100)));
2131
TST_TN_EQ_STR("0", STR(format("~0TO", (ptrdiff_t)0)));
2132
TST_TN_EQ_STR("1", STR(format("~0TO", (ptrdiff_t)1)));
2133
TST_TN_EQ_STR("12", STR(format("~0TO", (ptrdiff_t)10)));
2134
TST_TN_EQ_STR("144", STR(format("~0TO", (ptrdiff_t)100)));
2136
TST_TN_EQ_STR("000", STR(format("~03TO", (ptrdiff_t)0)));
2137
TST_TN_EQ_STR("001", STR(format("~03TO", (ptrdiff_t)1)));
2138
TST_TN_EQ_STR("012", STR(format("~03TO", (ptrdiff_t)10)));
2139
TST_TN_EQ_STR("144", STR(format("~03TO", (ptrdiff_t)100)));
2141
TST_TN_EQ_STR(" 0", STR(format("~3TO", (ptrdiff_t)0)));
2142
TST_TN_EQ_STR(" 1", STR(format("~3TO", (ptrdiff_t)1)));
2143
TST_TN_EQ_STR(" 12", STR(format("~3TO", (ptrdiff_t)10)));
2144
TST_TN_EQ_STR("144", STR(format("~3TO", (ptrdiff_t)100)));
2147
TST_TN_EQ_STR("37777777634", STR(format("~TO", (ptrdiff_t)-100)));
2148
TST_TN_EQ_STR("37777777766", STR(format("~TO", (ptrdiff_t)-10)));
2149
TST_TN_EQ_STR("37777777777", STR(format("~TO", (ptrdiff_t)-1)));
2151
TST_TN_EQ_STR("37777777634", STR(format("~0TO", (ptrdiff_t)-100)));
2152
TST_TN_EQ_STR("37777777766", STR(format("~0TO", (ptrdiff_t)-10)));
2153
TST_TN_EQ_STR("37777777777", STR(format("~0TO", (ptrdiff_t)-1)));
2155
TST_TN_EQ_STR("37777777634", STR(format("~03TO", (ptrdiff_t)-100)));
2156
TST_TN_EQ_STR("37777777766", STR(format("~03TO", (ptrdiff_t)-10)));
2157
TST_TN_EQ_STR("37777777777", STR(format("~03TO", (ptrdiff_t)-1)));
2159
TST_TN_EQ_STR("37777777634", STR(format("~3TO", (ptrdiff_t)-100)));
2160
TST_TN_EQ_STR("37777777766", STR(format("~3TO", (ptrdiff_t)-10)));
2161
TST_TN_EQ_STR("37777777777", STR(format("~3TO", (ptrdiff_t)-1)));
2163
TST_TN_EQ_STR("1777777777777777777634",
2164
STR(format("~TO", (ptrdiff_t)-100)));
2165
TST_TN_EQ_STR("1777777777777777777766",
2166
STR(format("~TO", (ptrdiff_t)-10)));
2167
TST_TN_EQ_STR("1777777777777777777777",
2168
STR(format("~TO", (ptrdiff_t)-1)));
2170
TST_TN_EQ_STR("1777777777777777777634",
2171
STR(format("~0TO", (ptrdiff_t)-100)));
2172
TST_TN_EQ_STR("1777777777777777777766",
2173
STR(format("~0TO", (ptrdiff_t)-10)));
2174
TST_TN_EQ_STR("1777777777777777777777",
2175
STR(format("~0TO", (ptrdiff_t)-1)));
2177
TST_TN_EQ_STR("1777777777777777777634",
2178
STR(format("~03TO", (ptrdiff_t)-100)));
2179
TST_TN_EQ_STR("1777777777777777777766",
2180
STR(format("~03TO", (ptrdiff_t)-10)));
2181
TST_TN_EQ_STR("1777777777777777777777",
2182
STR(format("~03TO", (ptrdiff_t)-1)));
2184
TST_TN_EQ_STR("1777777777777777777634",
2185
STR(format("~3TO", (ptrdiff_t)-100)));
2186
TST_TN_EQ_STR("1777777777777777777766",
2187
STR(format("~3TO", (ptrdiff_t)-10)));
2188
TST_TN_EQ_STR("1777777777777777777777",
2189
STR(format("~3TO", (ptrdiff_t)-1)));
2192
TST_TN_EQ_STR(" 123",
2193
STR(format("~127TO", (ptrdiff_t)0123)));
2194
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
2195
STR(format("~0127TO", (ptrdiff_t)0123)));
2198
TST_CASE("format ~TB")
2200
TST_TN_EQ_STR("0", STR(format("~TB", (ptrdiff_t)0)));
2201
TST_TN_EQ_STR("1", STR(format("~TB", (ptrdiff_t)1)));
2202
TST_TN_EQ_STR("1010", STR(format("~TB", (ptrdiff_t)10)));
2203
TST_TN_EQ_STR("1100100", STR(format("~TB", (ptrdiff_t)100)));
2205
TST_TN_EQ_STR("0", STR(format("~0TB", (ptrdiff_t)0)));
2206
TST_TN_EQ_STR("1", STR(format("~0TB", (ptrdiff_t)1)));
2207
TST_TN_EQ_STR("1010", STR(format("~0TB", (ptrdiff_t)10)));
2208
TST_TN_EQ_STR("1100100", STR(format("~0TB", (ptrdiff_t)100)));
2210
TST_TN_EQ_STR("00000", STR(format("~05TB", (ptrdiff_t)0)));
2211
TST_TN_EQ_STR("00001", STR(format("~05TB", (ptrdiff_t)1)));
2212
TST_TN_EQ_STR("01010", STR(format("~05TB", (ptrdiff_t)10)));
2213
TST_TN_EQ_STR("1100100", STR(format("~05TB", (ptrdiff_t)100)));
2215
TST_TN_EQ_STR(" 0", STR(format("~5TB", (ptrdiff_t)0)));
2216
TST_TN_EQ_STR(" 1", STR(format("~5TB", (ptrdiff_t)1)));
2217
TST_TN_EQ_STR(" 1010", STR(format("~5TB", (ptrdiff_t)10)));
2218
TST_TN_EQ_STR("1100100", STR(format("~5TB", (ptrdiff_t)100)));
2221
TST_TN_EQ_STR("11111111111111111111111110011100",
2222
STR(format("~TB", (ptrdiff_t)-100)));
2223
TST_TN_EQ_STR("11111111111111111111111111110110",
2224
STR(format("~TB", (ptrdiff_t)-10)));
2225
TST_TN_EQ_STR("11111111111111111111111111111111",
2226
STR(format("~TB", (ptrdiff_t)-1)));
2228
TST_TN_EQ_STR("11111111111111111111111110011100",
2229
STR(format("~0TB", (ptrdiff_t)-100)));
2230
TST_TN_EQ_STR("11111111111111111111111111110110",
2231
STR(format("~0TB", (ptrdiff_t)-10)));
2232
TST_TN_EQ_STR("11111111111111111111111111111111",
2233
STR(format("~0TB", (ptrdiff_t)-1)));
2235
TST_TN_EQ_STR("11111111111111111111111110011100",
2236
STR(format("~05TB", (ptrdiff_t)-100)));
2237
TST_TN_EQ_STR("11111111111111111111111111110110",
2238
STR(format("~05TB", (ptrdiff_t)-10)));
2239
TST_TN_EQ_STR("11111111111111111111111111111111",
2240
STR(format("~05TB", (ptrdiff_t)-1)));
2242
TST_TN_EQ_STR("11111111111111111111111110011100",
2243
STR(format("~5TB", (ptrdiff_t)-100)));
2244
TST_TN_EQ_STR("11111111111111111111111111110110",
2245
STR(format("~5TB", (ptrdiff_t)-10)));
2246
TST_TN_EQ_STR("11111111111111111111111111111111",
2247
STR(format("~5TB", (ptrdiff_t)-1)));
2249
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2250
STR(format("~TB", (ptrdiff_t)-100)));
2251
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2252
STR(format("~TB", (ptrdiff_t)-10)));
2253
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2254
STR(format("~TB", (ptrdiff_t)-1)));
2256
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2257
STR(format("~0TB", (ptrdiff_t)-100)));
2258
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2259
STR(format("~0TB", (ptrdiff_t)-10)));
2260
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2261
STR(format("~0TB", (ptrdiff_t)-1)));
2263
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2264
STR(format("~05TB", (ptrdiff_t)-100)));
2265
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2266
STR(format("~05TB", (ptrdiff_t)-10)));
2267
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2268
STR(format("~05TB", (ptrdiff_t)-1)));
2270
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2271
STR(format("~5TB", (ptrdiff_t)-100)));
2272
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2273
STR(format("~5TB", (ptrdiff_t)-10)));
2274
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2275
STR(format("~5TB", (ptrdiff_t)-1)));
2278
TST_TN_EQ_STR(" 101",
2279
STR(format("~127TB", (ptrdiff_t)0x5)));
2280
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
2281
STR(format("~0127TB", (ptrdiff_t)0x5)));
2284
TST_CASE("format ~ZD")
2286
TST_TN_EQ_STR("-100", STR(format("~ZD", (size_t)-100)));
2287
TST_TN_EQ_STR("-10", STR(format("~ZD", (size_t)-10)));
2288
TST_TN_EQ_STR("-1", STR(format("~ZD", (size_t)-1)));
2289
TST_TN_EQ_STR("0", STR(format("~ZD", (size_t)0)));
2290
TST_TN_EQ_STR("1", STR(format("~ZD", (size_t)1)));
2291
TST_TN_EQ_STR("10", STR(format("~ZD", (size_t)10)));
2292
TST_TN_EQ_STR("100", STR(format("~ZD", (size_t)100)));
2294
TST_TN_EQ_STR("-100", STR(format("~0ZD", (size_t)-100)));
2295
TST_TN_EQ_STR("-10", STR(format("~0ZD", (size_t)-10)));
2296
TST_TN_EQ_STR("-1", STR(format("~0ZD", (size_t)-1)));
2297
TST_TN_EQ_STR("0", STR(format("~0ZD", (size_t)0)));
2298
TST_TN_EQ_STR("1", STR(format("~0ZD", (size_t)1)));
2299
TST_TN_EQ_STR("10", STR(format("~0ZD", (size_t)10)));
2300
TST_TN_EQ_STR("100", STR(format("~0ZD", (size_t)100)));
2302
TST_TN_EQ_STR("-100", STR(format("~03ZD", (size_t)-100)));
2303
TST_TN_EQ_STR("-10", STR(format("~03ZD", (size_t)-10)));
2304
TST_TN_EQ_STR("-01", STR(format("~03ZD", (size_t)-1)));
2305
TST_TN_EQ_STR("000", STR(format("~03ZD", (size_t)0)));
2306
TST_TN_EQ_STR("001", STR(format("~03ZD", (size_t)1)));
2307
TST_TN_EQ_STR("010", STR(format("~03ZD", (size_t)10)));
2308
TST_TN_EQ_STR("100", STR(format("~03ZD", (size_t)100)));
2310
TST_TN_EQ_STR("-100", STR(format("~3ZD", (size_t)-100)));
2311
TST_TN_EQ_STR("-10", STR(format("~3ZD", (size_t)-10)));
2312
TST_TN_EQ_STR(" -1", STR(format("~3ZD", (size_t)-1)));
2313
TST_TN_EQ_STR(" 0", STR(format("~3ZD", (size_t)0)));
2314
TST_TN_EQ_STR(" 1", STR(format("~3ZD", (size_t)1)));
2315
TST_TN_EQ_STR(" 10", STR(format("~3ZD", (size_t)10)));
2316
TST_TN_EQ_STR("100", STR(format("~3ZD", (size_t)100)));
2318
TST_TN_EQ_STR(" 123",
2319
STR(format("~127ZD", (size_t)123)));
2320
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
2321
STR(format("~0127ZD", (size_t)123)));
2324
TST_CASE("format ~ZU")
2326
TST_TN_EQ_STR("0", STR(format("~ZU", (size_t)0)));
2327
TST_TN_EQ_STR("1", STR(format("~ZU", (size_t)1)));
2328
TST_TN_EQ_STR("10", STR(format("~ZU", (size_t)10)));
2329
TST_TN_EQ_STR("100", STR(format("~ZU", (size_t)100)));
2331
TST_TN_EQ_STR("0", STR(format("~0ZU", (size_t)0)));
2332
TST_TN_EQ_STR("1", STR(format("~0ZU", (size_t)1)));
2333
TST_TN_EQ_STR("10", STR(format("~0ZU", (size_t)10)));
2334
TST_TN_EQ_STR("100", STR(format("~0ZU", (size_t)100)));
2336
TST_TN_EQ_STR("000", STR(format("~03ZU", (size_t)0)));
2337
TST_TN_EQ_STR("001", STR(format("~03ZU", (size_t)1)));
2338
TST_TN_EQ_STR("010", STR(format("~03ZU", (size_t)10)));
2339
TST_TN_EQ_STR("100", STR(format("~03ZU", (size_t)100)));
2341
TST_TN_EQ_STR(" 0", STR(format("~3ZU", (size_t)0)));
2342
TST_TN_EQ_STR(" 1", STR(format("~3ZU", (size_t)1)));
2343
TST_TN_EQ_STR(" 10", STR(format("~3ZU", (size_t)10)));
2344
TST_TN_EQ_STR("100", STR(format("~3ZU", (size_t)100)));
2347
TST_TN_EQ_STR("4294967196", STR(format("~ZU", (size_t)-100)));
2348
TST_TN_EQ_STR("4294967286", STR(format("~ZU", (size_t)-10)));
2349
TST_TN_EQ_STR("4294967295", STR(format("~ZU", (size_t)-1)));
2351
TST_TN_EQ_STR("4294967196", STR(format("~0ZU", (size_t)-100)));
2352
TST_TN_EQ_STR("4294967286", STR(format("~0ZU", (size_t)-10)));
2353
TST_TN_EQ_STR("4294967295", STR(format("~0ZU", (size_t)-1)));
2355
TST_TN_EQ_STR("4294967196", STR(format("~03ZU", (size_t)-100)));
2356
TST_TN_EQ_STR("4294967286", STR(format("~03ZU", (size_t)-10)));
2357
TST_TN_EQ_STR("4294967295", STR(format("~03ZU", (size_t)-1)));
2359
TST_TN_EQ_STR("4294967196", STR(format("~3ZU", (size_t)-100)));
2360
TST_TN_EQ_STR("4294967286", STR(format("~3ZU", (size_t)-10)));
2361
TST_TN_EQ_STR("4294967295", STR(format("~3ZU", (size_t)-1)));
2363
TST_TN_EQ_STR("18446744073709551516", STR(format("~ZU", (size_t)-100)));
2364
TST_TN_EQ_STR("18446744073709551606", STR(format("~ZU", (size_t)-10)));
2365
TST_TN_EQ_STR("18446744073709551615", STR(format("~ZU", (size_t)-1)));
2367
TST_TN_EQ_STR("18446744073709551516", STR(format("~0ZU", (size_t)-100)));
2368
TST_TN_EQ_STR("18446744073709551606", STR(format("~0ZU", (size_t)-10)));
2369
TST_TN_EQ_STR("18446744073709551615", STR(format("~0ZU", (size_t)-1)));
2371
TST_TN_EQ_STR("18446744073709551516", STR(format("~03ZU", (size_t)-100)));
2372
TST_TN_EQ_STR("18446744073709551606", STR(format("~03ZU", (size_t)-10)));
2373
TST_TN_EQ_STR("18446744073709551615", STR(format("~03ZU", (size_t)-1)));
2375
TST_TN_EQ_STR("18446744073709551516", STR(format("~3ZU", (size_t)-100)));
2376
TST_TN_EQ_STR("18446744073709551606", STR(format("~3ZU", (size_t)-10)));
2377
TST_TN_EQ_STR("18446744073709551615", STR(format("~3ZU", (size_t)-1)));
2380
TST_TN_EQ_STR(" 123",
2381
STR(format("~127ZU", (size_t)123)));
2382
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
2383
STR(format("~0127ZU", (size_t)123)));
2386
TST_CASE("format ~ZX")
2388
TST_TN_EQ_STR("0", STR(format("~ZX", (size_t)0)));
2389
TST_TN_EQ_STR("1", STR(format("~ZX", (size_t)1)));
2390
TST_TN_EQ_STR("a", STR(format("~ZX", (size_t)10)));
2391
TST_TN_EQ_STR("64", STR(format("~ZX", (size_t)100)));
2393
TST_TN_EQ_STR("0", STR(format("~0ZX", (size_t)0)));
2394
TST_TN_EQ_STR("1", STR(format("~0ZX", (size_t)1)));
2395
TST_TN_EQ_STR("a", STR(format("~0ZX", (size_t)10)));
2396
TST_TN_EQ_STR("64", STR(format("~0ZX", (size_t)100)));
2398
TST_TN_EQ_STR("000", STR(format("~03ZX", (size_t)0)));
2399
TST_TN_EQ_STR("001", STR(format("~03ZX", (size_t)1)));
2400
TST_TN_EQ_STR("00a", STR(format("~03ZX", (size_t)10)));
2401
TST_TN_EQ_STR("064", STR(format("~03ZX", (size_t)100)));
2403
TST_TN_EQ_STR(" 0", STR(format("~3ZX", (size_t)0)));
2404
TST_TN_EQ_STR(" 1", STR(format("~3ZX", (size_t)1)));
2405
TST_TN_EQ_STR(" a", STR(format("~3ZX", (size_t)10)));
2406
TST_TN_EQ_STR(" 64", STR(format("~3ZX", (size_t)100)));
2409
TST_TN_EQ_STR("ffffffff", STR(format("~ZX", ~(size_t)0)));
2411
TST_TN_EQ_STR("ffffff9c", STR(format("~ZX", (size_t)-100)));
2412
TST_TN_EQ_STR("fffffff6", STR(format("~ZX", (size_t)-10)));
2413
TST_TN_EQ_STR("ffffffff", STR(format("~ZX", (size_t)-1)));
2415
TST_TN_EQ_STR("ffffff9c", STR(format("~0ZX", (size_t)-100)));
2416
TST_TN_EQ_STR("fffffff6", STR(format("~0ZX", (size_t)-10)));
2417
TST_TN_EQ_STR("ffffffff", STR(format("~0ZX", (size_t)-1)));
2419
TST_TN_EQ_STR("ffffff9c", STR(format("~03ZX", (size_t)-100)));
2420
TST_TN_EQ_STR("fffffff6", STR(format("~03ZX", (size_t)-10)));
2421
TST_TN_EQ_STR("ffffffff", STR(format("~03ZX", (size_t)-1)));
2423
TST_TN_EQ_STR("ffffff9c", STR(format("~3ZX", (size_t)-100)));
2424
TST_TN_EQ_STR("fffffff6", STR(format("~3ZX", (size_t)-10)));
2425
TST_TN_EQ_STR("ffffffff", STR(format("~3ZX", (size_t)-1)));
2427
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~ZX", ~(size_t)0)));
2429
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~ZX", (size_t)-100)));
2430
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~ZX", (size_t)-10)));
2431
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~ZX", (size_t)-1)));
2433
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~0ZX", (size_t)-100)));
2434
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~0ZX", (size_t)-10)));
2435
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~0ZX", (size_t)-1)));
2437
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~03ZX", (size_t)-100)));
2438
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~03ZX", (size_t)-10)));
2439
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~03ZX", (size_t)-1)));
2441
TST_TN_EQ_STR("ffffffffffffff9c", STR(format("~3ZX", (size_t)-100)));
2442
TST_TN_EQ_STR("fffffffffffffff6", STR(format("~3ZX", (size_t)-10)));
2443
TST_TN_EQ_STR("ffffffffffffffff", STR(format("~3ZX", (size_t)-1)));
2446
TST_TN_EQ_STR(" 1ac",
2447
STR(format("~127ZX", (size_t)0x1ac)));
2448
TST_TN_EQ_STR("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001ac",
2449
STR(format("~0127ZX", (size_t)0x1ac)));
2452
TST_CASE("format ~ZO")
2454
TST_TN_EQ_STR("0", STR(format("~ZO", (size_t)0)));
2455
TST_TN_EQ_STR("1", STR(format("~ZO", (size_t)1)));
2456
TST_TN_EQ_STR("12", STR(format("~ZO", (size_t)10)));
2457
TST_TN_EQ_STR("144", STR(format("~ZO", (size_t)100)));
2459
TST_TN_EQ_STR("0", STR(format("~0ZO", (size_t)0)));
2460
TST_TN_EQ_STR("1", STR(format("~0ZO", (size_t)1)));
2461
TST_TN_EQ_STR("12", STR(format("~0ZO", (size_t)10)));
2462
TST_TN_EQ_STR("144", STR(format("~0ZO", (size_t)100)));
2464
TST_TN_EQ_STR("000", STR(format("~03ZO", (size_t)0)));
2465
TST_TN_EQ_STR("001", STR(format("~03ZO", (size_t)1)));
2466
TST_TN_EQ_STR("012", STR(format("~03ZO", (size_t)10)));
2467
TST_TN_EQ_STR("144", STR(format("~03ZO", (size_t)100)));
2469
TST_TN_EQ_STR(" 0", STR(format("~3ZO", (size_t)0)));
2470
TST_TN_EQ_STR(" 1", STR(format("~3ZO", (size_t)1)));
2471
TST_TN_EQ_STR(" 12", STR(format("~3ZO", (size_t)10)));
2472
TST_TN_EQ_STR("144", STR(format("~3ZO", (size_t)100)));
2475
TST_TN_EQ_STR("37777777634", STR(format("~ZO", (size_t)-100)));
2476
TST_TN_EQ_STR("37777777766", STR(format("~ZO", (size_t)-10)));
2477
TST_TN_EQ_STR("37777777777", STR(format("~ZO", (size_t)-1)));
2479
TST_TN_EQ_STR("37777777634", STR(format("~0ZO", (size_t)-100)));
2480
TST_TN_EQ_STR("37777777766", STR(format("~0ZO", (size_t)-10)));
2481
TST_TN_EQ_STR("37777777777", STR(format("~0ZO", (size_t)-1)));
2483
TST_TN_EQ_STR("37777777634", STR(format("~03ZO", (size_t)-100)));
2484
TST_TN_EQ_STR("37777777766", STR(format("~03ZO", (size_t)-10)));
2485
TST_TN_EQ_STR("37777777777", STR(format("~03ZO", (size_t)-1)));
2487
TST_TN_EQ_STR("37777777634", STR(format("~3ZO", (size_t)-100)));
2488
TST_TN_EQ_STR("37777777766", STR(format("~3ZO", (size_t)-10)));
2489
TST_TN_EQ_STR("37777777777", STR(format("~3ZO", (size_t)-1)));
2491
TST_TN_EQ_STR("1777777777777777777634",
2492
STR(format("~ZO", (size_t)-100)));
2493
TST_TN_EQ_STR("1777777777777777777766",
2494
STR(format("~ZO", (size_t)-10)));
2495
TST_TN_EQ_STR("1777777777777777777777",
2496
STR(format("~ZO", (size_t)-1)));
2498
TST_TN_EQ_STR("1777777777777777777634",
2499
STR(format("~0ZO", (size_t)-100)));
2500
TST_TN_EQ_STR("1777777777777777777766",
2501
STR(format("~0ZO", (size_t)-10)));
2502
TST_TN_EQ_STR("1777777777777777777777",
2503
STR(format("~0ZO", (size_t)-1)));
2505
TST_TN_EQ_STR("1777777777777777777634",
2506
STR(format("~03ZO", (size_t)-100)));
2507
TST_TN_EQ_STR("1777777777777777777766",
2508
STR(format("~03ZO", (size_t)-10)));
2509
TST_TN_EQ_STR("1777777777777777777777",
2510
STR(format("~03ZO", (size_t)-1)));
2512
TST_TN_EQ_STR("1777777777777777777634",
2513
STR(format("~3ZO", (size_t)-100)));
2514
TST_TN_EQ_STR("1777777777777777777766",
2515
STR(format("~3ZO", (size_t)-10)));
2516
TST_TN_EQ_STR("1777777777777777777777",
2517
STR(format("~3ZO", (size_t)-1)));
2520
TST_TN_EQ_STR(" 123",
2521
STR(format("~127ZO", (size_t)0123)));
2522
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000123",
2523
STR(format("~0127ZO", (size_t)0123)));
2526
TST_CASE("format ~ZB")
2528
TST_TN_EQ_STR("0", STR(format("~ZB", (size_t)0)));
2529
TST_TN_EQ_STR("1", STR(format("~ZB", (size_t)1)));
2530
TST_TN_EQ_STR("1010", STR(format("~ZB", (size_t)10)));
2531
TST_TN_EQ_STR("1100100", STR(format("~ZB", (size_t)100)));
2533
TST_TN_EQ_STR("0", STR(format("~0ZB", (size_t)0)));
2534
TST_TN_EQ_STR("1", STR(format("~0ZB", (size_t)1)));
2535
TST_TN_EQ_STR("1010", STR(format("~0ZB", (size_t)10)));
2536
TST_TN_EQ_STR("1100100", STR(format("~0ZB", (size_t)100)));
2538
TST_TN_EQ_STR("00000", STR(format("~05ZB", (size_t)0)));
2539
TST_TN_EQ_STR("00001", STR(format("~05ZB", (size_t)1)));
2540
TST_TN_EQ_STR("01010", STR(format("~05ZB", (size_t)10)));
2541
TST_TN_EQ_STR("1100100", STR(format("~05ZB", (size_t)100)));
2543
TST_TN_EQ_STR(" 0", STR(format("~5ZB", (size_t)0)));
2544
TST_TN_EQ_STR(" 1", STR(format("~5ZB", (size_t)1)));
2545
TST_TN_EQ_STR(" 1010", STR(format("~5ZB", (size_t)10)));
2546
TST_TN_EQ_STR("1100100", STR(format("~5ZB", (size_t)100)));
2549
TST_TN_EQ_STR("11111111111111111111111110011100",
2550
STR(format("~ZB", (size_t)-100)));
2551
TST_TN_EQ_STR("11111111111111111111111111110110",
2552
STR(format("~ZB", (size_t)-10)));
2553
TST_TN_EQ_STR("11111111111111111111111111111111",
2554
STR(format("~ZB", (size_t)-1)));
2556
TST_TN_EQ_STR("11111111111111111111111110011100",
2557
STR(format("~0ZB", (size_t)-100)));
2558
TST_TN_EQ_STR("11111111111111111111111111110110",
2559
STR(format("~0ZB", (size_t)-10)));
2560
TST_TN_EQ_STR("11111111111111111111111111111111",
2561
STR(format("~0ZB", (size_t)-1)));
2563
TST_TN_EQ_STR("11111111111111111111111110011100",
2564
STR(format("~05ZB", (size_t)-100)));
2565
TST_TN_EQ_STR("11111111111111111111111111110110",
2566
STR(format("~05ZB", (size_t)-10)));
2567
TST_TN_EQ_STR("11111111111111111111111111111111",
2568
STR(format("~05ZB", (size_t)-1)));
2570
TST_TN_EQ_STR("11111111111111111111111110011100",
2571
STR(format("~5ZB", (size_t)-100)));
2572
TST_TN_EQ_STR("11111111111111111111111111110110",
2573
STR(format("~5ZB", (size_t)-10)));
2574
TST_TN_EQ_STR("11111111111111111111111111111111",
2575
STR(format("~5ZB", (size_t)-1)));
2577
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2578
STR(format("~ZB", (size_t)-100)));
2579
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2580
STR(format("~ZB", (size_t)-10)));
2581
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2582
STR(format("~ZB", (size_t)-1)));
2584
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2585
STR(format("~0ZB", (size_t)-100)));
2586
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2587
STR(format("~0ZB", (size_t)-10)));
2588
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2589
STR(format("~0ZB", (size_t)-1)));
2591
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2592
STR(format("~05ZB", (size_t)-100)));
2593
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2594
STR(format("~05ZB", (size_t)-10)));
2595
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2596
STR(format("~05ZB", (size_t)-1)));
2598
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111110011100",
2599
STR(format("~5ZB", (size_t)-100)));
2600
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111110110",
2601
STR(format("~5ZB", (size_t)-10)));
2602
TST_TN_EQ_STR("1111111111111111111111111111111111111111111111111111111111111111",
2603
STR(format("~5ZB", (size_t)-1)));
2606
TST_TN_EQ_STR(" 101",
2607
STR(format("~127ZB", (size_t)0x5)));
2608
TST_TN_EQ_STR("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101",
2609
STR(format("~0127ZB", (size_t)0x5)));
2612
TST_CASE("format ~c")
2614
TST_TN_EQ_STR("", STR(format("~c", MAKE_CHAR('\0'))));
2615
TST_TN_EQ_STR("a", STR(format("~c", MAKE_CHAR('a'))));
2616
TST_TN_EQ_STR("\"", STR(format("~c", MAKE_CHAR('\"'))));
2617
TST_TN_EQ_STR("\\", STR(format("~c", MAKE_CHAR('\\'))));
2618
TST_TN_EQ_STR("あ", STR(format("~c", MAKE_CHAR(0x3042))));
2621
TST_CASE("format ~d")
2623
TST_TN_EQ_STR("-100", STR(format("~d", MAKE_INT(-100))));
2624
TST_TN_EQ_STR("-10", STR(format("~d", MAKE_INT(-10))));
2625
TST_TN_EQ_STR("-1", STR(format("~d", MAKE_INT(-1))));
2626
TST_TN_EQ_STR("0", STR(format("~d", MAKE_INT(0))));
2627
TST_TN_EQ_STR("1", STR(format("~d", MAKE_INT(1))));
2628
TST_TN_EQ_STR("10", STR(format("~d", MAKE_INT(10))));
2629
TST_TN_EQ_STR("100", STR(format("~d", MAKE_INT(100))));
2631
TST_TN_EQ_STR("-100", STR(format("~0d", MAKE_INT(-100))));
2632
TST_TN_EQ_STR("-10", STR(format("~0d", MAKE_INT(-10))));
2633
TST_TN_EQ_STR("-1", STR(format("~0d", MAKE_INT(-1))));
2634
TST_TN_EQ_STR("0", STR(format("~0d", MAKE_INT(0))));
2635
TST_TN_EQ_STR("1", STR(format("~0d", MAKE_INT(1))));
2636
TST_TN_EQ_STR("10", STR(format("~0d", MAKE_INT(10))));
2637
TST_TN_EQ_STR("100", STR(format("~0d", MAKE_INT(100))));
2639
TST_TN_EQ_STR("-100", STR(format("~03d", MAKE_INT(-100))));
2640
TST_TN_EQ_STR("-10", STR(format("~03d", MAKE_INT(-10))));
2641
TST_TN_EQ_STR("-01", STR(format("~03d", MAKE_INT(-1))));
2642
TST_TN_EQ_STR("000", STR(format("~03d", MAKE_INT(0))));
2643
TST_TN_EQ_STR("001", STR(format("~03d", MAKE_INT(1))));
2644
TST_TN_EQ_STR("010", STR(format("~03d", MAKE_INT(10))));
2645
TST_TN_EQ_STR("100", STR(format("~03d", MAKE_INT(100))));
2647
TST_TN_EQ_STR("-100", STR(format("~3d", MAKE_INT(-100))));
2648
TST_TN_EQ_STR("-10", STR(format("~3d", MAKE_INT(-10))));
2649
TST_TN_EQ_STR(" -1", STR(format("~3d", MAKE_INT(-1))));
2650
TST_TN_EQ_STR(" 0", STR(format("~3d", MAKE_INT(0))));
2651
TST_TN_EQ_STR(" 1", STR(format("~3d", MAKE_INT(1))));
2652
TST_TN_EQ_STR(" 10", STR(format("~3d", MAKE_INT(10))));
2653
TST_TN_EQ_STR("100", STR(format("~3d", MAKE_INT(100))));
2656
TST_CASE("format ~x")
2658
TST_TN_EQ_STR("-64", STR(format("~x", MAKE_INT(-100))));
2659
TST_TN_EQ_STR("-a", STR(format("~x", MAKE_INT(-10))));
2660
TST_TN_EQ_STR("-1", STR(format("~x", MAKE_INT(-1))));
2661
TST_TN_EQ_STR("0", STR(format("~x", MAKE_INT(0))));
2662
TST_TN_EQ_STR("1", STR(format("~x", MAKE_INT(1))));
2663
TST_TN_EQ_STR("a", STR(format("~x", MAKE_INT(10))));
2664
TST_TN_EQ_STR("64", STR(format("~x", MAKE_INT(100))));
2666
TST_TN_EQ_STR("-64", STR(format("~0x", MAKE_INT(-100))));
2667
TST_TN_EQ_STR("-a", STR(format("~0x", MAKE_INT(-10))));
2668
TST_TN_EQ_STR("-1", STR(format("~0x", MAKE_INT(-1))));
2669
TST_TN_EQ_STR("0", STR(format("~0x", MAKE_INT(0))));
2670
TST_TN_EQ_STR("1", STR(format("~0x", MAKE_INT(1))));
2671
TST_TN_EQ_STR("a", STR(format("~0x", MAKE_INT(10))));
2672
TST_TN_EQ_STR("64", STR(format("~0x", MAKE_INT(100))));
2674
TST_TN_EQ_STR("-64", STR(format("~03x", MAKE_INT(-100))));
2675
TST_TN_EQ_STR("-0a", STR(format("~03x", MAKE_INT(-10))));
2676
TST_TN_EQ_STR("-01", STR(format("~03x", MAKE_INT(-1))));
2677
TST_TN_EQ_STR("000", STR(format("~03x", MAKE_INT(0))));
2678
TST_TN_EQ_STR("001", STR(format("~03x", MAKE_INT(1))));
2679
TST_TN_EQ_STR("00a", STR(format("~03x", MAKE_INT(10))));
2680
TST_TN_EQ_STR("064", STR(format("~03x", MAKE_INT(100))));
2682
TST_TN_EQ_STR("-64", STR(format("~3x", MAKE_INT(-100))));
2683
TST_TN_EQ_STR(" -a", STR(format("~3x", MAKE_INT(-10))));
2684
TST_TN_EQ_STR(" -1", STR(format("~3x", MAKE_INT(-1))));
2685
TST_TN_EQ_STR(" 0", STR(format("~3x", MAKE_INT(0))));
2686
TST_TN_EQ_STR(" 1", STR(format("~3x", MAKE_INT(1))));
2687
TST_TN_EQ_STR(" a", STR(format("~3x", MAKE_INT(10))));
2688
TST_TN_EQ_STR(" 64", STR(format("~3x", MAKE_INT(100))));
2691
TST_CASE("format ~o")
2693
TST_TN_EQ_STR("-144", STR(format("~o", MAKE_INT(-100))));
2694
TST_TN_EQ_STR("-12", STR(format("~o", MAKE_INT(-10))));
2695
TST_TN_EQ_STR("-1", STR(format("~o", MAKE_INT(-1))));
2696
TST_TN_EQ_STR("0", STR(format("~o", MAKE_INT(0))));
2697
TST_TN_EQ_STR("1", STR(format("~o", MAKE_INT(1))));
2698
TST_TN_EQ_STR("12", STR(format("~o", MAKE_INT(10))));
2699
TST_TN_EQ_STR("144", STR(format("~o", MAKE_INT(100))));
2701
TST_TN_EQ_STR("-144", STR(format("~0o", MAKE_INT(-100))));
2702
TST_TN_EQ_STR("-12", STR(format("~0o", MAKE_INT(-10))));
2703
TST_TN_EQ_STR("-1", STR(format("~0o", MAKE_INT(-1))));
2704
TST_TN_EQ_STR("0", STR(format("~0o", MAKE_INT(0))));
2705
TST_TN_EQ_STR("1", STR(format("~0o", MAKE_INT(1))));
2706
TST_TN_EQ_STR("12", STR(format("~0o", MAKE_INT(10))));
2707
TST_TN_EQ_STR("144", STR(format("~0o", MAKE_INT(100))));
2709
TST_TN_EQ_STR("-144", STR(format("~03o", MAKE_INT(-100))));
2710
TST_TN_EQ_STR("-12", STR(format("~03o", MAKE_INT(-10))));
2711
TST_TN_EQ_STR("-01", STR(format("~03o", MAKE_INT(-1))));
2712
TST_TN_EQ_STR("000", STR(format("~03o", MAKE_INT(0))));
2713
TST_TN_EQ_STR("001", STR(format("~03o", MAKE_INT(1))));
2714
TST_TN_EQ_STR("012", STR(format("~03o", MAKE_INT(10))));
2715
TST_TN_EQ_STR("144", STR(format("~03o", MAKE_INT(100))));
2717
TST_TN_EQ_STR("-144", STR(format("~3o", MAKE_INT(-100))));
2718
TST_TN_EQ_STR("-12", STR(format("~3o", MAKE_INT(-10))));
2719
TST_TN_EQ_STR(" -1", STR(format("~3o", MAKE_INT(-1))));
2720
TST_TN_EQ_STR(" 0", STR(format("~3o", MAKE_INT(0))));
2721
TST_TN_EQ_STR(" 1", STR(format("~3o", MAKE_INT(1))));
2722
TST_TN_EQ_STR(" 12", STR(format("~3o", MAKE_INT(10))));
2723
TST_TN_EQ_STR("144", STR(format("~3o", MAKE_INT(100))));
2726
TST_CASE("format ~b")
2728
TST_TN_EQ_STR("-1100100", STR(format("~b", MAKE_INT(-100))));
2729
TST_TN_EQ_STR("-1010", STR(format("~b", MAKE_INT(-10))));
2730
TST_TN_EQ_STR("-1", STR(format("~b", MAKE_INT(-1))));
2731
TST_TN_EQ_STR("0", STR(format("~b", MAKE_INT(0))));
2732
TST_TN_EQ_STR("1", STR(format("~b", MAKE_INT(1))));
2733
TST_TN_EQ_STR("1010", STR(format("~b", MAKE_INT(10))));
2734
TST_TN_EQ_STR("1100100", STR(format("~b", MAKE_INT(100))));
2736
TST_TN_EQ_STR("-1100100", STR(format("~0b", MAKE_INT(-100))));
2737
TST_TN_EQ_STR("-1010", STR(format("~0b", MAKE_INT(-10))));
2738
TST_TN_EQ_STR("-1", STR(format("~0b", MAKE_INT(-1))));
2739
TST_TN_EQ_STR("0", STR(format("~0b", MAKE_INT(0))));
2740
TST_TN_EQ_STR("1", STR(format("~0b", MAKE_INT(1))));
2741
TST_TN_EQ_STR("1010", STR(format("~0b", MAKE_INT(10))));
2742
TST_TN_EQ_STR("1100100", STR(format("~0b", MAKE_INT(100))));
2744
TST_TN_EQ_STR("-1100100", STR(format("~05b", MAKE_INT(-100))));
2745
TST_TN_EQ_STR("-1010", STR(format("~05b", MAKE_INT(-10))));
2746
TST_TN_EQ_STR("-0001", STR(format("~05b", MAKE_INT(-1))));
2747
TST_TN_EQ_STR("00000", STR(format("~05b", MAKE_INT(0))));
2748
TST_TN_EQ_STR("00001", STR(format("~05b", MAKE_INT(1))));
2749
TST_TN_EQ_STR("01010", STR(format("~05b", MAKE_INT(10))));
2750
TST_TN_EQ_STR("1100100", STR(format("~05b", MAKE_INT(100))));
2752
TST_TN_EQ_STR("-1100100", STR(format("~5b", MAKE_INT(-100))));
2753
TST_TN_EQ_STR("-1010", STR(format("~5b", MAKE_INT(-10))));
2754
TST_TN_EQ_STR(" -1", STR(format("~5b", MAKE_INT(-1))));
2755
TST_TN_EQ_STR(" 0", STR(format("~5b", MAKE_INT(0))));
2756
TST_TN_EQ_STR(" 1", STR(format("~5b", MAKE_INT(1))));
2757
TST_TN_EQ_STR(" 1010", STR(format("~5b", MAKE_INT(10))));
2758
TST_TN_EQ_STR("1100100", STR(format("~5b", MAKE_INT(100))));
2761
TST_CASE("format ~f (number)")
2763
TST_TN_EQ_STR("-100", STR(format("~f", MAKE_INT(-100))));
2764
TST_TN_EQ_STR("-10", STR(format("~f", MAKE_INT(-10))));
2765
TST_TN_EQ_STR("-1", STR(format("~f", MAKE_INT(-1))));
2766
TST_TN_EQ_STR("0", STR(format("~f", MAKE_INT(0))));
2767
TST_TN_EQ_STR("1", STR(format("~f", MAKE_INT(1))));
2768
TST_TN_EQ_STR("10", STR(format("~f", MAKE_INT(10))));
2769
TST_TN_EQ_STR("100", STR(format("~f", MAKE_INT(100))));
2771
TST_TN_EQ_STR("-100", STR(format("~0f", MAKE_INT(-100))));
2772
TST_TN_EQ_STR("-10", STR(format("~0f", MAKE_INT(-10))));
2773
TST_TN_EQ_STR("-1", STR(format("~0f", MAKE_INT(-1))));
2774
TST_TN_EQ_STR("0", STR(format("~0f", MAKE_INT(0))));
2775
TST_TN_EQ_STR("1", STR(format("~0f", MAKE_INT(1))));
2776
TST_TN_EQ_STR("10", STR(format("~0f", MAKE_INT(10))));
2777
TST_TN_EQ_STR("100", STR(format("~0f", MAKE_INT(100))));
2779
TST_TN_EQ_STR("-100", STR(format("~03f", MAKE_INT(-100))));
2780
TST_TN_EQ_STR("-10", STR(format("~03f", MAKE_INT(-10))));
2781
TST_TN_EQ_STR("-01", STR(format("~03f", MAKE_INT(-1))));
2782
TST_TN_EQ_STR("000", STR(format("~03f", MAKE_INT(0))));
2783
TST_TN_EQ_STR("001", STR(format("~03f", MAKE_INT(1))));
2784
TST_TN_EQ_STR("010", STR(format("~03f", MAKE_INT(10))));
2785
TST_TN_EQ_STR("100", STR(format("~03f", MAKE_INT(100))));
2787
TST_TN_EQ_STR("-100", STR(format("~3f", MAKE_INT(-100))));
2788
TST_TN_EQ_STR("-10", STR(format("~3f", MAKE_INT(-10))));
2789
TST_TN_EQ_STR(" -1", STR(format("~3f", MAKE_INT(-1))));
2790
TST_TN_EQ_STR(" 0", STR(format("~3f", MAKE_INT(0))));
2791
TST_TN_EQ_STR(" 1", STR(format("~3f", MAKE_INT(1))));
2792
TST_TN_EQ_STR(" 10", STR(format("~3f", MAKE_INT(10))));
2793
TST_TN_EQ_STR("100", STR(format("~3f", MAKE_INT(100))));
2795
TST_TN_EQ_STR("-100", STR(format("~3,02f", MAKE_INT(-100))));
2796
TST_TN_EQ_STR("-10", STR(format("~3,02f", MAKE_INT(-10))));
2797
TST_TN_EQ_STR(" -1", STR(format("~3,02f", MAKE_INT(-1))));
2798
TST_TN_EQ_STR(" 0", STR(format("~3,02f", MAKE_INT(0))));
2799
TST_TN_EQ_STR(" 1", STR(format("~3,02f", MAKE_INT(1))));
2800
TST_TN_EQ_STR(" 10", STR(format("~3,02f", MAKE_INT(10))));
2801
TST_TN_EQ_STR("100", STR(format("~3,02f", MAKE_INT(100))));
2804
TST_CASE("format ~f (string)")
2806
TST_TN_EQ_STR("", STR(format("~f", CONST_STRING(""))));
2807
TST_TN_EQ_STR("", STR(format("~0f", CONST_STRING(""))));
2808
TST_TN_EQ_STR(" ", STR(format("~1f", CONST_STRING(""))));
2809
TST_TN_EQ_STR("", STR(format("~00f", CONST_STRING(""))));
2810
TST_TN_EQ_STR(" ", STR(format("~01f", CONST_STRING(""))));
2811
TST_TN_EQ_STR("\"", STR(format("~f", CONST_STRING("\""))));
2812
TST_TN_EQ_STR("\\", STR(format("~f", CONST_STRING("\\"))));
2813
TST_TN_EQ_STR("a", STR(format("~f", CONST_STRING("a"))));
2814
TST_TN_EQ_STR("aBc", STR(format("~f", CONST_STRING("aBc"))));
2815
TST_TN_EQ_STR("あ", STR(format("~f", CONST_STRING("あ"))));
2816
TST_TN_EQ_STR("あい", STR(format("~f", CONST_STRING("あい"))));
2817
TST_TN_EQ_STR("aあBいc",
2818
STR(format("~f", CONST_STRING("aあBいc"))));
2819
TST_TN_EQ_STR("aBc", STR(format("~0f", CONST_STRING("aBc"))));
2820
TST_TN_EQ_STR("aBc", STR(format("~1f", CONST_STRING("aBc"))));
2821
TST_TN_EQ_STR("aBc", STR(format("~2f", CONST_STRING("aBc"))));
2822
TST_TN_EQ_STR("aBc", STR(format("~3f", CONST_STRING("aBc"))));
2823
TST_TN_EQ_STR(" aBc", STR(format("~4f", CONST_STRING("aBc"))));
2824
TST_TN_EQ_STR(" aBc", STR(format("~5f", CONST_STRING("aBc"))));
2825
TST_TN_EQ_STR("aBc", STR(format("~00f", CONST_STRING("aBc"))));
2826
TST_TN_EQ_STR("aBc", STR(format("~01f", CONST_STRING("aBc"))));
2827
TST_TN_EQ_STR("aBc", STR(format("~02f", CONST_STRING("aBc"))));
2828
TST_TN_EQ_STR("aBc", STR(format("~03f", CONST_STRING("aBc"))));
2829
TST_TN_EQ_STR(" aBc", STR(format("~04f", CONST_STRING("aBc"))));
2830
TST_TN_EQ_STR(" aBc", STR(format("~05f", CONST_STRING("aBc"))));
2831
TST_TN_EQ_STR("aBc",
2832
STR(format("~00,01f", CONST_STRING("aBc"))));
2833
TST_TN_EQ_STR("aBc",
2834
STR(format("~01,01f", CONST_STRING("aBc"))));
2835
TST_TN_EQ_STR("aBc",
2836
STR(format("~02,01f", CONST_STRING("aBc"))));
2837
TST_TN_EQ_STR("aBc",
2838
STR(format("~03,01f", CONST_STRING("aBc"))));
2839
TST_TN_EQ_STR(" aBc",
2840
STR(format("~04,01f", CONST_STRING("aBc"))));
2841
TST_TN_EQ_STR(" aBc",
2842
STR(format("~05,01f", CONST_STRING("aBc"))));
2843
TST_TN_EQ_STR("aあBいc",
2844
STR(format("~0f", CONST_STRING("aあBいc"))));
2845
TST_TN_EQ_STR("aあBいc",
2846
STR(format("~1f", CONST_STRING("aあBいc"))));
2847
TST_TN_EQ_STR("aあBいc",
2848
STR(format("~2f", CONST_STRING("aあBいc"))));
2849
TST_TN_EQ_STR("aあBいc",
2850
STR(format("~3f", CONST_STRING("aあBいc"))));
2851
TST_TN_EQ_STR("aあBいc",
2852
STR(format("~4f", CONST_STRING("aあBいc"))));
2853
TST_TN_EQ_STR("aあBいc",
2854
STR(format("~5f", CONST_STRING("aあBいc"))));
2855
TST_TN_EQ_STR(" aあBいc",
2856
STR(format("~6f", CONST_STRING("aあBいc"))));
2857
TST_TN_EQ_STR(" aあBいc",
2858
STR(format("~7f", CONST_STRING("aあBいc"))));
2859
TST_TN_EQ_STR("aあBいc",
2860
STR(format("~00f", CONST_STRING("aあBいc"))));
2861
TST_TN_EQ_STR("aあBいc",
2862
STR(format("~01f", CONST_STRING("aあBいc"))));
2863
TST_TN_EQ_STR("aあBいc",
2864
STR(format("~02f", CONST_STRING("aあBいc"))));
2865
TST_TN_EQ_STR("aあBいc",
2866
STR(format("~03f", CONST_STRING("aあBいc"))));
2867
TST_TN_EQ_STR("aあBいc",
2868
STR(format("~04f", CONST_STRING("aあBいc"))));
2869
TST_TN_EQ_STR("aあBいc",
2870
STR(format("~05f", CONST_STRING("aあBいc"))));
2871
TST_TN_EQ_STR(" aあBいc",
2872
STR(format("~06f", CONST_STRING("aあBいc"))));
2873
TST_TN_EQ_STR(" aあBいc",
2874
STR(format("~07f", CONST_STRING("aあBいc"))));
2877
TST_CASE("format ~~")
2879
TST_TN_EQ_STR("~", STR(format("~~")));
2882
TST_CASE("format ~%")
2884
TST_TN_EQ_STR("\n", STR(format("~%")));
2887
TST_CASE("format ~&")
2889
TST_TN_EQ_STR("\n", STR(format("~&")));
2890
TST_TN_EQ_STR("\n", STR(format("~&~&")));
2891
TST_TN_EQ_STR("\n", STR(format("~&~&~&")));
2892
TST_TN_EQ_STR("\n", STR(format("~%~&")));
2893
TST_TN_EQ_STR("\n", STR(format("~%~&~&")));
2894
TST_TN_EQ_STR("\n\n", STR(format("~&~%")));
2895
TST_TN_EQ_STR("\n\n", STR(format("~&~%~&")));
2896
TST_TN_EQ_STR("\n", STR(format("\n~&")));
2897
TST_TN_EQ_STR("\n\n", STR(format("~&\n")));
2898
TST_TN_EQ_STR("\n\n", STR(format("~&\n~&")));
2899
TST_TN_EQ_STR(" \n", STR(format(" ~&")));
2900
TST_TN_EQ_STR("\n \n \n", STR(format("\n ~& ~&")));
2903
TST_CASE("format ~t")
2905
TST_TN_EQ_STR("\t", STR(format("~t")));
2908
TST_CASE("format ~_")
2910
TST_TN_EQ_STR(" ", STR(format("~_")));
2913
TST_CASE("format ~a")
2915
TST_TN_EQ_STR("#t", STR(format("~a", SCM_TRUE)));
2916
TST_TN_EQ_STR("123", STR(format("~a", MAKE_INT(123))));
2917
TST_TN_EQ_STR("a", STR(format("~a", MAKE_CHAR('a'))));
2918
TST_TN_EQ_STR("aBc", STR(format("~a", CONST_STRING("aBc"))));
2919
TST_TN_EQ_STR("(#t 123 a aBc (0))",
2920
STR(format("~a", lst)));
2923
TST_CASE("format ~s")
2925
TST_TN_EQ_STR("#t", STR(format("~s", SCM_TRUE)));
2926
TST_TN_EQ_STR("123", STR(format("~s", MAKE_INT(123))));
2927
TST_TN_EQ_STR("#\\a", STR(format("~s", MAKE_CHAR('a'))));
2928
TST_TN_EQ_STR("\"aBc\"", STR(format("~s", CONST_STRING("aBc"))));
2929
TST_TN_EQ_STR("(#t 123 #\\a \"aBc\" (0))",
2930
STR(format("~s", lst)));
2933
TST_CASE("format ~w")
2935
TST_TN_EQ_STR("#t", STR(format("~w", SCM_TRUE)));
2936
TST_TN_EQ_STR("123", STR(format("~w", MAKE_INT(123))));
2937
TST_TN_EQ_STR("#\\a", STR(format("~w", MAKE_CHAR('a'))));
2938
TST_TN_EQ_STR("\"aBc\"", STR(format("~w", CONST_STRING("aBc"))));
2939
TST_TN_EQ_STR("(#t 123 #\\a \"aBc\" (0))",
2940
STR(format("~w", lst)));
2941
/* SigScheme starts the index with 1 */
2942
TST_TN_EQ_STR("#1=(0 1 . #1#)", STR(format("~w", clst)));
2945
TST_CASE("format ~y")
2947
TST_TN_EQ_STR("#t", STR(format("~y", SCM_TRUE)));
2948
TST_TN_EQ_STR("123", STR(format("~y", MAKE_INT(123))));
2949
TST_TN_EQ_STR("#\\a", STR(format("~y", MAKE_CHAR('a'))));
2950
TST_TN_EQ_STR("\"aBc\"", STR(format("~y", CONST_STRING("aBc"))));
2951
/* no pretty-print procedure */
2952
TST_TN_EQ_STR("(#t 123 #\\a \"aBc\" (0))",
2953
STR(format("~y", lst)));
2956
TST_CASE("format ~?")
2958
TST_TN_EQ_STR("~", STR(format("~k", CONST_STRING("~~"), SCM_NULL)));
2959
TST_TN_EQ_STR(" ", STR(format("~k", CONST_STRING("~_"), SCM_NULL)));
2960
TST_TN_EQ_STR("\n", STR(format("~k", CONST_STRING("~%"), SCM_NULL)));
2961
TST_TN_EQ_STR("\n", STR(format("~k", CONST_STRING("~&"), SCM_NULL)));
2963
/* hard to be this on current port implementation */
2964
TST_TN_EQ_STR("\n", STR(format("~?",
2965
CONST_STRING("~%~?"),
2966
LIST_2(CONST_STRING("~&"), SCM_NULL))));
2968
TST_TN_EQ_STR("\n\n", STR(format("~?",
2969
CONST_STRING("~%~?"),
2970
LIST_2(CONST_STRING("~&"), SCM_NULL))));
2972
TST_TN_EQ_STR("\n \n", STR(format("~?",
2973
CONST_STRING("~% ~?"),
2974
LIST_2(CONST_STRING("~&"), SCM_NULL))));
2975
TST_TN_EQ_STR("\n \n", STR(format("~?",
2976
CONST_STRING("~%~?"),
2977
LIST_2(CONST_STRING(" ~&"), SCM_NULL))));
2978
TST_TN_EQ_STR("aBc", STR(format("~?",
2979
CONST_STRING("aBc"), SCM_NULL)));
2980
TST_TN_EQ_STR("0aBc1", STR(format("~?",
2981
CONST_STRING("0~a1"),
2982
LIST_1(CONST_STRING("aBc")))));
2983
TST_TN_EQ_STR("02aBc31",
2985
CONST_STRING("0~?1"),
2986
LIST_2(CONST_STRING("2~a3"),
2987
LIST_1(CONST_STRING("aBc"))))));
2988
TST_TN_EQ_STR("024aBc531",
2990
CONST_STRING("0~?1"),
2991
LIST_2(CONST_STRING("2~?3"),
2992
LIST_2(CONST_STRING("4~a5"),
2993
LIST_1(CONST_STRING("aBc")))))));
2994
TST_TN_EQ_STR("#t", STR(format("~?",
2996
LIST_1(SCM_TRUE))));
2997
TST_TN_EQ_STR("123", STR(format("~?",
2999
LIST_1(MAKE_INT(123)))));
3000
TST_TN_EQ_STR("#\\a", STR(format("~?",
3002
LIST_1(MAKE_CHAR('a')))));
3003
TST_TN_EQ_STR("\"\"", STR(format("~?",
3005
LIST_1(CONST_STRING("")))));
3006
TST_TN_EQ_STR("\"\\\"\"",
3009
LIST_1(CONST_STRING("\"")))));
3010
TST_TN_EQ_STR("\"aBc\"",
3013
LIST_1(CONST_STRING("aBc")))));
3014
TST_TN_EQ_STR("(#t 123 #\\a \"aBc\" (0))",
3016
CONST_STRING("~w"), LIST_1(lst))));
3017
/* SigScheme starts the index with 1 */
3018
TST_TN_EQ_STR("#1=(0 1 . #1#)",
3020
CONST_STRING("~w"), LIST_1(clst))));
3023
TST_CASE("format ~k")
3025
TST_TN_EQ_STR("~", STR(format("~k", CONST_STRING("~~"), SCM_NULL)));
3026
TST_TN_EQ_STR(" ", STR(format("~k", CONST_STRING("~_"), SCM_NULL)));
3027
TST_TN_EQ_STR("\n", STR(format("~k", CONST_STRING("~%"), SCM_NULL)));
3028
TST_TN_EQ_STR("\n", STR(format("~k", CONST_STRING("~&"), SCM_NULL)));
3030
TST_TN_EQ_STR("024aBc531",
3032
CONST_STRING("0~k1"),
3033
LIST_2(CONST_STRING("2~k3"),
3034
LIST_2(CONST_STRING("4~a5"),
3035
LIST_1(CONST_STRING("aBc")))))));
3038
TST_CASE("format ~h")
3040
TST_TN_EQ_STR(MSG_SSCM_DIRECTIVE_HELP, STR(format("~h")));
3043
TST_CASE("format mixed raw C directives")
3045
TST_TN_EQ_STR("-100 1010a64-01144100-01",
3046
STR(format("~D~5QBa~WX~03JD~3LO~ZU~03TD",
3055
TST_TN_EQ_STR("-100 1010aa string64-01144あ100b-01",
3056
STR(format("~D~5QBa~S~WX~03JD~3LO~C~ZU~C~03TD",
3063
(scm_ichar_t)0x3042,
3069
TST_CASE("format mixed SRFI directives")
3071
TST_TN_EQ_STR("~\n", STR(format("~~~%")));
3072
TST_TN_EQ_STR("slashified: #\\a\nany: a\n",
3073
STR(format("slashified: ~s~%any: ~a~%",
3074
MAKE_CHAR('a'), MAKE_CHAR('a'))));
3076
TST_TN_EQ_STR("-100 1010aa string64-01144あ100b-01",
3077
STR(format("~d~5ba~a~x~03d~3o~c~d~c~03d",
3080
CONST_STRING("a string"),
3090
TST_CASE("format mixed SRFI & raw C directives")
3092
TST_TN_EQ_STR("-100 1010aa string64another string-01144~あ100b-01",
3093
STR(format("~D~5ba~S~WX~a~03JD~3LO~~~c~ZU~C~03TD",
3098
CONST_STRING("another string"),
3107
TST_CASE("format freshline by mixed SRFI & raw C directives")
3109
TST_TN_EQ_STR("\n", STR(format("~C~&", (scm_ichar_t)'\n')));
3110
TST_TN_EQ_STR("\n\n", STR(format("~&~C~&", (scm_ichar_t)'\n')));
3111
TST_TN_EQ_STR("\n", STR(format("~S~&", "\n")));
3112
TST_TN_EQ_STR("\n\n", STR(format("~&~S~&", "\n")));
3115
/* current implementation does not support these behariors */
3119
CONST_STRING("~&"), SCM_NULL)));
3120
TST_TN_EQ_STR("\n\n",
3121
STR(format("~&~C~?",
3123
CONST_STRING("~&"), SCM_NULL)));
3127
CONST_STRING("~&"), SCM_NULL)));
3128
TST_TN_EQ_STR("\n\n",
3129
STR(format("~&~S~?",
3131
CONST_STRING("~&"), SCM_NULL)));
3134
#endif /* !TST_EXCLUDE_THIS */