[libc][math] Fix division by infinity in fputil::div (#152092)

Signed-off-by: Krishna Pandey <kpandey81930@gmail.com>
This commit is contained in:
Krishna Pandey 2025-08-05 17:09:03 +05:30 committed by GitHub
parent dc7c3c2b2b
commit 52b7b22cfa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 1 deletions

View File

@ -78,7 +78,7 @@ div(InType x, InType y) {
} }
if (y_bits.is_inf()) if (y_bits.is_inf())
return OutFPBits::inf(result_sign).get_val(); return OutFPBits::zero(result_sign).get_val();
if (y_bits.is_zero()) { if (y_bits.is_zero()) {
if (x_bits.is_zero()) { if (x_bits.is_zero()) {

View File

@ -47,6 +47,11 @@ public:
EXPECT_FP_EQ(neg_inf, func(in.neg_inf, in.zero)); EXPECT_FP_EQ(neg_inf, func(in.neg_inf, in.zero));
EXPECT_FP_EQ(neg_inf, func(in.inf, in.neg_zero)); EXPECT_FP_EQ(neg_inf, func(in.inf, in.neg_zero));
EXPECT_FP_EQ(inf, func(in.neg_inf, in.neg_zero)); EXPECT_FP_EQ(inf, func(in.neg_inf, in.neg_zero));
EXPECT_FP_EQ(zero, func(in.min_normal, in.inf));
EXPECT_FP_EQ(zero, func(in.zero, in.inf));
EXPECT_FP_EQ(zero, func(in.neg_zero, in.neg_inf));
EXPECT_FP_EQ(neg_zero, func(in.min_normal, in.neg_inf));
EXPECT_FP_EQ(neg_zero, func(in.zero, in.neg_inf));
} }
void test_division_by_zero(DivFunc func) { void test_division_by_zero(DivFunc func) {