AK: Add basic support %a formatting

No modifiers are currently supported.
This commit is contained in:
Lucas Chollet committed 2026-09-20 22:06:41 +02:00
1 parent 8243759bb2
commit 6f12afa77b
2 files changed
+105

No files matched your search

+16
View File
@@ -395,3 +395,19 @@ TEST_CASE(f_format)
EXPECT(test_single<long double>({ LITERAL("xxxxxxxxxxxx"), "|%Lf|", 10L, 11, LITERAL("|10.000000|\0") }));
EXPECT(test_single<long double>({ LITERAL("xxxxxxxxxxxxx"), "|%Lf|", -10L, 12, LITERAL("|-10.000000|\0") }));
}
TEST_CASE(a_format)
{
EXPECT(test_single<double>({ LITERAL("xxxxxxxxx"), "|%a|", 0.0, 8, LITERAL("|0x0p+0|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxx"), "|%a|", -0.0, 9, LITERAL("|-0x0p+0|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxx"), "|%a|", 1.0, 8, LITERAL("|0x1p+0|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxxxxxxxxxxxxxxx"), "|%+a|", 1.1, 23, LITERAL("|+0x1.199999999999ap+0|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxxxxxxxxxxxxxxx"), "|%a|", -1.12, 23, LITERAL("|-0x1.1eb851eb851ecp+0|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxxxxxxxxxxxxxx"), "|%a|", 10.0000001, 22, LITERAL("|0x1.40000035afe53p+3|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxxxxxxxxxxxxxx"), "|%a|", 10.0000000001, 22, LITERAL("|0x1.400000000dbe7p+3|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxx"), "|%a|", 42, 10, LITERAL("|0x1.5p+5|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxxx"), "|%a|", 420, 11, LITERAL("|0x1.a4p+8|\0") }));
EXPECT(test_single<double>({ LITERAL("xxxxxxxxxxxxxx"), "|%a|", 4200, 13, LITERAL("|0x1.068p+12|\0") }));
}