diff options
| author | Nick Desaulniers <nickdesaulniers@users.noreply.github.com> | 2024-02-01 10:14:22 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-01 10:14:22 -0800 |
| commit | 6a3fde6d600cccd2ffbede6dd54519036cc4089c (patch) | |
| tree | 304ae778c6e8f6cede6ff2947b6d689e5829aab6 /libc/test/include/stdbit_test.cpp | |
| parent | ecb5a1b0e236a98f59863793b4cfef1f13ea225c (diff) | |
[libc] implement stdc_leading_ones (C23) (#80082)
Diffstat (limited to 'libc/test/include/stdbit_test.cpp')
| -rw-r--r-- | libc/test/include/stdbit_test.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/libc/test/include/stdbit_test.cpp b/libc/test/include/stdbit_test.cpp index d20005cc31af..61e241c8f68a 100644 --- a/libc/test/include/stdbit_test.cpp +++ b/libc/test/include/stdbit_test.cpp @@ -23,8 +23,13 @@ unsigned short stdc_leading_zeros_us(unsigned short) { return 0xAB; } unsigned stdc_leading_zeros_ui(unsigned) { return 0xAC; } unsigned long stdc_leading_zeros_ul(unsigned long) { return 0xAD; } unsigned long long stdc_leading_zeros_ull(unsigned long long) { return 0xAF; } +unsigned char stdc_leading_ones_uc(unsigned char) { return 0xBA; } +unsigned short stdc_leading_ones_us(unsigned short) { return 0xBB; } +unsigned stdc_leading_ones_ui(unsigned) { return 0xBC; } +unsigned long stdc_leading_ones_ul(unsigned long) { return 0xBD; } +unsigned long long stdc_leading_ones_ull(unsigned long long) { return 0xBF; } -TEST(LlvmLibcStdbitTest, TypeGenericMacro) { +TEST(LlvmLibcStdbitTest, TypeGenericMacroLeadingZeros) { EXPECT_EQ(stdc_leading_zeros(static_cast<unsigned char>(0U)), static_cast<unsigned char>(0xAA)); EXPECT_EQ(stdc_leading_zeros(static_cast<unsigned short>(0U)), @@ -33,3 +38,13 @@ TEST(LlvmLibcStdbitTest, TypeGenericMacro) { EXPECT_EQ(stdc_leading_zeros(0UL), static_cast<unsigned long>(0xAD)); EXPECT_EQ(stdc_leading_zeros(0ULL), static_cast<unsigned long long>(0xAF)); } + +TEST(LlvmLibcStdbitTest, TypeGenericMacroLeadingOnes) { + EXPECT_EQ(stdc_leading_ones(static_cast<unsigned char>(0U)), + static_cast<unsigned char>(0xBA)); + EXPECT_EQ(stdc_leading_ones(static_cast<unsigned short>(0U)), + static_cast<unsigned short>(0xBB)); + EXPECT_EQ(stdc_leading_ones(0U), static_cast<unsigned>(0xBC)); + EXPECT_EQ(stdc_leading_ones(0UL), static_cast<unsigned long>(0xBD)); + EXPECT_EQ(stdc_leading_ones(0ULL), static_cast<unsigned long long>(0xBF)); +} |
