diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/printf/output.txt | 266 | ||||
-rw-r--r-- | tests/printf/test.c | 267 |
2 files changed, 533 insertions, 0 deletions
diff --git a/tests/printf/output.txt b/tests/printf/output.txt index bdf9d0bc..412c6b0f 100644 --- a/tests/printf/output.txt +++ b/tests/printf/output.txt @@ -1,3 +1,5 @@ +ab1.23cd +n=7 Characters: a A Decimals: 1977 650000 12 4 @@ -13,6 +15,15 @@ INF -INF nan NAN + nan +nan + nan +nan + inf +-inf +in%3.5valid +123 +456 0 0 0.0 @@ -8006,3 +8017,258 @@ NAN %-5p : 0x4f318 %-10p : 0x4f318 %-30p : 0x4f318 + +de +bcde +789abcde +789abcde + +de +bcde +789abcde +789abcde + +de +bcde +789abcde +789abcde +123456789abcde +123456789abcde + +789abcde +123456789abcde +789abcde +123456789abcde +789abcde + +-34 +-17186 +2023406814 +2023406814 + +-34 +-17186 +2023406814 +2023406814 + +-34 +-17186 +2023406814 +2023406814 +5124095576030430 +5124095576030430 + +2023406814 +5124095576030430 +2023406814 +5124095576030430 +2023406814 + +222 +48350 +2023406814 +2023406814 + +222 +48350 +2023406814 +2023406814 + +222 +48350 +2023406814 +2023406814 +5124095576030430 +5124095576030430 + +2023406814 +5124095576030430 +2023406814 +5124095576030430 +2023406814 + +22 +4322 +87654322 +87654322 + +22 +4322 +87654322 +87654322 + +22 +4322 +87654322 +87654322 +ffedcba987654322 +ffedcba987654322 + +87654322 +ffedcba987654322 +87654322 +ffedcba987654322 +87654322 + +34 +17186 +-2023406814 +-2023406814 + +34 +17186 +-2023406814 +-2023406814 + +34 +17186 +-2023406814 +-2023406814 +-5124095576030430 +-5124095576030430 + +-2023406814 +-5124095576030430 +-2023406814 +-5124095576030430 +-2023406814 + +34 +17186 +2271560482 +2271560482 + +34 +17186 +2271560482 +2271560482 + +34 +17186 +2271560482 +2271560482 +18441619978133520000 +18441619978133520000 + +2271560482 +18441619978133520000 +2271560482 +18441619978133520000 +2271560482 + +1234567.890123 +1234567.890123 +1234567.890123 +1234567.890123 + +-1234567.890123 +-1234567.890123 +-1234567.890123 +-1234567.890123 + +1234567.875000 +1234567.875000 +1234567.875000 +1234567.875000 + +-1234567.875000 +-1234567.875000 +-1234567.875000 +-1234567.875000 + +0 +0 +0 +0 +0 +0 +0 +0 + +1 +1 +1 +1 +1 +1 +1 +1 + +255 +65535 +4294967295 +18446744073709552000 +ff +ffff +ffffffff +ffffffffffffffff + +126 +32766 +2147483646 +140737488355326 +7e +7ffe +7ffffffe +7ffffffffffe + +127 +32767 +2147483647 +140737488355327 +7f +7fff +7fffffff +7fffffffffff + +128 +32768 +134217728 +549755813888 +80 +8000 +8000000 +8000000000 + +255 +65535 +4294967295 +281474976710655 +ff +ffff +ffffffff + +130 +32770 +2147483650 +18446603336221196000 +82 +8002 +80000002 +ffff800000000002 + +129 +32769 +2147483649 +18446603336221196000 +81 +8001 +80000001 +ffff800000000001 + +128 +32768 +4160749568 +18446743523953738000 +80 +8000 +f8000000 +ffffff8000000000 + +1 +1 +1 +18446462598732840000 +1 +1 +1 diff --git a/tests/printf/test.c b/tests/printf/test.c index ac662dca..d12e0d2e 100644 --- a/tests/printf/test.c +++ b/tests/printf/test.c @@ -2,6 +2,9 @@ #include <math.h> int main() { + int x; + printf("ab%gc%nd\n", 1.23f, &x); + printf("n=%d\n", x); printf("\n"); printf("Characters: %c %c\n", 'a', 65); printf("Decimals: %d %ld %lld %d\n", 1977, 650000L, 12LL, 4); @@ -17,6 +20,15 @@ int main() { printf("%lF\n", -INFINITY); printf("%lf\n", NAN); printf("%lF\n", NAN); + printf("%10f\n", NAN); + printf("%-10f\n", NAN); + printf("%010.2f\n", NAN); + printf("%-010.2f\n", NAN); + printf("%10.f\n", INFINITY); + printf("%-10.f\n", -INFINITY); + printf("in%3.5valid\n", 0); + printf("%qd\n", 123ll); + printf("%Id\n", 456); printf("%.f\n", 0.0f); printf("%.0f\n", 0.0f); printf("%.1f\n", 0.0f); @@ -8010,5 +8022,260 @@ int main() { printf("%-15s: %-5p\n", "%-5p", (void*)324376); printf("%-15s: %-10p\n", "%-10p", (void*)324376); printf("%-15s: %-30p\n", "%-30p", (void*)324376); + printf("\n"); + printf("%hhx\n", 0x789ABCDE); + printf("%hx\n", 0x789ABCDE); + printf("%x\n", 0x789ABCDE); + printf("%lx\n", 0x789ABCDE); + printf("\n"); + printf("%hhx\n", 0x789ABCDEl); + printf("%hx\n", 0x789ABCDEl); + printf("%x\n", 0x789ABCDEl); + printf("%lx\n", 0x789ABCDEl); + printf("\n"); + printf("%hhx\n", 0x0123456789ABCDEll); + printf("%hx\n", 0x0123456789ABCDEll); + printf("%x\n", 0x0123456789ABCDEll); + printf("%lx\n", 0x0123456789ABCDEll); + printf("%llx\n", 0x0123456789ABCDEll); + printf("%Lx\n", 0x0123456789ABCDEll); + printf("\n"); + printf("%zx\n", 0x0123456789ABCDEll); + printf("%jx\n", 0x0123456789ABCDEll); + printf("%tx\n", 0x0123456789ABCDEll); + printf("%qx\n", 0x0123456789ABCDEll); + printf("%Ix\n", 0x0123456789ABCDEll); + printf("\n"); + printf("%hhd\n", 0x789ABCDE); + printf("%hd\n", 0x789ABCDE); + printf("%d\n", 0x789ABCDE); + printf("%ld\n", 0x789ABCDE); + printf("\n"); + printf("%hhd\n", 0x789ABCDEl); + printf("%hd\n", 0x789ABCDEl); + printf("%d\n", 0x789ABCDEl); + printf("%ld\n", 0x789ABCDEl); + printf("\n"); + printf("%hhd\n", 0x0123456789ABCDEll); + printf("%hd\n", 0x0123456789ABCDEll); + printf("%d\n", 0x0123456789ABCDEll); + printf("%ld\n", 0x0123456789ABCDEll); + printf("%lld\n", 0x0123456789ABCDEll); + printf("%Ld\n", 0x0123456789ABCDEll); + printf("\n"); + printf("%zd\n", 0x0123456789ABCDEll); + printf("%jd\n", 0x0123456789ABCDEll); + printf("%td\n", 0x0123456789ABCDEll); + printf("%qd\n", 0x0123456789ABCDEll); + printf("%Id\n", 0x0123456789ABCDEll); + printf("\n"); + printf("%hhu\n", 0x789ABCDE); + printf("%hu\n", 0x789ABCDE); + printf("%u\n", 0x789ABCDE); + printf("%lu\n", 0x789ABCDE); + printf("\n"); + printf("%hhu\n", 0x789ABCDEl); + printf("%hu\n", 0x789ABCDEl); + printf("%u\n", 0x789ABCDEl); + printf("%lu\n", 0x789ABCDEl); + printf("\n"); + printf("%hhu\n", 0x0123456789ABCDEll); + printf("%hu\n", 0x0123456789ABCDEll); + printf("%u\n", 0x0123456789ABCDEll); + printf("%lu\n", 0x0123456789ABCDEll); + printf("%llu\n", 0x0123456789ABCDEll); + printf("%Lu\n", 0x0123456789ABCDEll); + printf("\n"); + printf("%zu\n", 0x0123456789ABCDEll); + printf("%ju\n", 0x0123456789ABCDEll); + printf("%tu\n", 0x0123456789ABCDEll); + printf("%qu\n", 0x0123456789ABCDEll); + printf("%Iu\n", 0x0123456789ABCDEll); + printf("\n"); + printf("%hhx\n", -0x789ABCDE); + printf("%hx\n", -0x789ABCDE); + printf("%x\n", -0x789ABCDE); + printf("%lx\n", -0x789ABCDE); + printf("\n"); + printf("%hhx\n", -0x789ABCDEl); + printf("%hx\n", -0x789ABCDEl); + printf("%x\n", -0x789ABCDEl); + printf("%lx\n", -0x789ABCDEl); + printf("\n"); + printf("%hhx\n", -0x0123456789ABCDEll); + printf("%hx\n", -0x0123456789ABCDEll); + printf("%x\n", -0x0123456789ABCDEll); + printf("%lx\n", -0x0123456789ABCDEll); + printf("%llx\n", -0x0123456789ABCDEll); + printf("%Lx\n", -0x0123456789ABCDEll); + printf("\n"); + printf("%zx\n", -0x0123456789ABCDEll); + printf("%jx\n", -0x0123456789ABCDEll); + printf("%tx\n", -0x0123456789ABCDEll); + printf("%qx\n", -0x0123456789ABCDEll); + printf("%Ix\n", -0x0123456789ABCDEll); + printf("\n"); + printf("%hhd\n", -0x789ABCDE); + printf("%hd\n", -0x789ABCDE); + printf("%d\n", -0x789ABCDE); + printf("%ld\n", -0x789ABCDE); + printf("\n"); + printf("%hhd\n", -0x789ABCDEl); + printf("%hd\n", -0x789ABCDEl); + printf("%d\n", -0x789ABCDEl); + printf("%ld\n", -0x789ABCDEl); + printf("\n"); + printf("%hhd\n", -0x0123456789ABCDEll); + printf("%hd\n", -0x0123456789ABCDEll); + printf("%d\n", -0x0123456789ABCDEll); + printf("%ld\n", -0x0123456789ABCDEll); + printf("%lld\n", -0x0123456789ABCDEll); + printf("%Ld\n", -0x0123456789ABCDEll); + printf("\n"); + printf("%zd\n", -0x0123456789ABCDEll); + printf("%jd\n", -0x0123456789ABCDEll); + printf("%td\n", -0x0123456789ABCDEll); + printf("%qd\n", -0x0123456789ABCDEll); + printf("%Id\n", -0x0123456789ABCDEll); + printf("\n"); + printf("%hhu\n", -0x789ABCDE); + printf("%hu\n", -0x789ABCDE); + printf("%u\n", -0x789ABCDE); + printf("%lu\n", -0x789ABCDE); + printf("\n"); + printf("%hhu\n", -0x789ABCDEl); + printf("%hu\n", -0x789ABCDEl); + printf("%u\n", -0x789ABCDEl); + printf("%lu\n", -0x789ABCDEl); + printf("\n"); + printf("%hhu\n", -0x0123456789ABCDEll); + printf("%hu\n", -0x0123456789ABCDEll); + printf("%u\n", -0x0123456789ABCDEll); + printf("%lu\n", -0x0123456789ABCDEll); + printf("%llu\n", -0x0123456789ABCDEll); + printf("%Lu\n", -0x0123456789ABCDEll); + printf("\n"); + printf("%zu\n", -0x0123456789ABCDEll); + printf("%ju\n", -0x0123456789ABCDEll); + printf("%tu\n", -0x0123456789ABCDEll); + printf("%qu\n", -0x0123456789ABCDEll); + printf("%Iu\n", -0x0123456789ABCDEll); + printf("\n"); + printf("%hhf\n", 1234567.890123456789); + printf("%hf\n", 1234567.890123456789); + printf("%f\n", 1234567.890123456789); + printf("%lf\n", 1234567.890123456789); + printf("\n"); + printf("%hhf\n", -1234567.890123456789); + printf("%hf\n", -1234567.890123456789); + printf("%f\n", -1234567.890123456789); + printf("%lf\n", -1234567.890123456789); + printf("\n"); + printf("%hhf\n", 1234567.890123456789f); + printf("%hf\n", 1234567.890123456789f); + printf("%f\n", 1234567.890123456789f); + printf("%lf\n", 1234567.890123456789f); + printf("\n"); + printf("%hhf\n", -1234567.890123456789f); + printf("%hf\n", -1234567.890123456789f); + printf("%f\n", -1234567.890123456789f); + printf("%lf\n", -1234567.890123456789f); + printf("\n"); + printf("%hhu\n", 0); + printf("%hu\n", 0); + printf("%u\n", 0); + printf("%llu\n", 0ll); + printf("%hhx\n", 0); + printf("%hx\n", 0); + printf("%x\n", 0); + printf("%llx\n", 0ll); + printf("\n"); + printf("%hhu\n", 1); + printf("%hu\n", 1); + printf("%u\n", 1); + printf("%llu\n", 1ll); + printf("%hhx\n", 1); + printf("%hx\n", 1); + printf("%x\n", 1); + printf("%llx\n", 1ll); + printf("\n"); + printf("%hhu\n", -1); + printf("%hu\n", -1); + printf("%u\n", -1); + printf("%llu\n", -1ll); + printf("%hhx\n", -1); + printf("%hx\n", -1); + printf("%x\n", -1); + printf("%llx\n", -1ll); + printf("\n"); + printf("%hhu\n", 0x7E); + printf("%hu\n", 0x7FFE); + printf("%u\n", 0x7FFFFFFE); + printf("%llu\n", 0x7FFFFFFFFFFEll); + printf("%hhx\n", 0x7E); + printf("%hx\n", 0x7FFE); + printf("%x\n", 0x7FFFFFFE); + printf("%llx\n", 0x7FFFFFFFFFFEll); + printf("\n"); + printf("%hhu\n", 0x7F); + printf("%hu\n", 0x7FFF); + printf("%u\n", 0x7FFFFFFF); + printf("%llu\n", 0x7FFFFFFFFFFFll); + printf("%hhx\n", 0x7F); + printf("%hx\n", 0x7FFF); + printf("%x\n", 0x7FFFFFFF); + printf("%llx\n", 0x7FFFFFFFFFFFll); + printf("\n"); + printf("%hhu\n", 0x80); + printf("%hu\n", 0x8000); + printf("%u\n", 0x8000000); + printf("%llu\n", 0x8000000000ll); + printf("%hhx\n", 0x80); + printf("%hx\n", 0x8000); + printf("%x\n", 0x8000000); + printf("%llx\n", 0x8000000000ll); + printf("\n"); + printf("%hhu\n", 0xFF); + printf("%hu\n", 0xFFFF); + printf("%u\n", 0xFFFFFFFF); + printf("%llu\n", 0xFFFFFFFFFFFFll); + printf("%hhx\n", 0xFF); + printf("%hx\n", 0xFFFF); + printf("%x\n", 0xFFFFFFFF); + printf("\n"); + printf("%hhu\n", -0x7E); + printf("%hu\n", -0x7FFE); + printf("%u\n", -0x7FFFFFFE); + printf("%llu\n", -0x7FFFFFFFFFFEll); + printf("%hhx\n", -0x7E); + printf("%hx\n", -0x7FFE); + printf("%x\n", -0x7FFFFFFE); + printf("%llx\n", -0x7FFFFFFFFFFEll); + printf("\n"); + printf("%hhu\n", -0x7F); + printf("%hu\n", -0x7FFF); + printf("%u\n", -0x7FFFFFFF); + printf("%llu\n", -0x7FFFFFFFFFFFll); + printf("%hhx\n", -0x7F); + printf("%hx\n", -0x7FFF); + printf("%x\n", -0x7FFFFFFF); + printf("%llx\n", -0x7FFFFFFFFFFFll); + printf("\n"); + printf("%hhu\n", -0x80); + printf("%hu\n", -0x8000); + printf("%u\n", -0x8000000); + printf("%llu\n", -0x8000000000ll); + printf("%hhx\n", -0x80); + printf("%hx\n", -0x8000); + printf("%x\n", -0x8000000); + printf("%llx\n", -0x8000000000ll); + printf("\n"); + printf("%hhu\n", -0xFF); + printf("%hu\n", -0xFFFF); + printf("%u\n", -0xFFFFFFFF); + printf("%llu\n", -0xFFFFFFFFFFFFll); + printf("%hhx\n", -0xFF); + printf("%hx\n", -0xFFFF); + printf("%x\n", -0xFFFFFFFF); return 0; } |