@@ -25,7 +25,8 @@ TEST_F(LlvmLibcPowfTest, SpecialNumbers) {
2525 constexpr float neg_non_integer = -1 .1f ;
2626 constexpr float pos_odd_integer = 5 .0f ;
2727 constexpr float pos_even_integer = 8 .0f ;
28- constexpr float pos_non_integer = 1 .1f ;
28+ constexpr float pos_non_integer = 1 .3f ;
29+ constexpr float one_half = 0 .5f ;
2930
3031 for (int i = 0 ; i < N_ROUNDING_MODES; ++i) {
3132 ForceRoundingMode __r (ROUNDING_MODES[i]);
@@ -42,6 +43,7 @@ TEST_F(LlvmLibcPowfTest, SpecialNumbers) {
4243 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (zero, pos_odd_integer));
4344 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (zero, pos_even_integer));
4445 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (zero, pos_non_integer));
46+ EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (zero, one_half));
4547 EXPECT_FP_EQ (1 .0f , LIBC_NAMESPACE::powf (zero, zero));
4648 EXPECT_FP_EQ (1 .0f , LIBC_NAMESPACE::powf (zero, neg_zero));
4749 EXPECT_FP_EQ (0 .0f , LIBC_NAMESPACE::powf (zero, inf));
@@ -59,6 +61,7 @@ TEST_F(LlvmLibcPowfTest, SpecialNumbers) {
5961 EXPECT_FP_EQ (neg_zero, LIBC_NAMESPACE::powf (neg_zero, pos_odd_integer));
6062 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (neg_zero, pos_even_integer));
6163 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (neg_zero, pos_non_integer));
64+ EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (neg_zero, one_half));
6265 EXPECT_FP_EQ (1 .0f , LIBC_NAMESPACE::powf (neg_zero, zero));
6366 EXPECT_FP_EQ (1 .0f , LIBC_NAMESPACE::powf (neg_zero, neg_zero));
6467 EXPECT_FP_EQ (0 .0f , LIBC_NAMESPACE::powf (neg_zero, inf));
@@ -109,6 +112,7 @@ TEST_F(LlvmLibcPowfTest, SpecialNumbers) {
109112 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (inf, pos_odd_integer));
110113 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (inf, pos_even_integer));
111114 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (inf, pos_non_integer));
115+ EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (inf, one_half));
112116 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (inf, inf));
113117 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (inf, neg_inf));
114118 EXPECT_FP_IS_NAN (LIBC_NAMESPACE::powf (inf, aNaN));
@@ -124,6 +128,7 @@ TEST_F(LlvmLibcPowfTest, SpecialNumbers) {
124128 EXPECT_FP_EQ (neg_inf, LIBC_NAMESPACE::powf (neg_inf, pos_odd_integer));
125129 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (neg_inf, pos_even_integer));
126130 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (neg_inf, pos_non_integer));
131+ EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (neg_inf, one_half));
127132 EXPECT_FP_EQ (inf, LIBC_NAMESPACE::powf (neg_inf, inf));
128133 EXPECT_FP_EQ (zero, LIBC_NAMESPACE::powf (neg_inf, neg_inf));
129134 EXPECT_FP_IS_NAN (LIBC_NAMESPACE::powf (neg_inf, aNaN));
0 commit comments