Skip to content

Commit 52b7b22

Browse files
authored
[libc][math] Fix division by infinity in fputil::div (#152092)
Signed-off-by: Krishna Pandey <[email protected]>
1 parent dc7c3c2 commit 52b7b22

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

libc/src/__support/FPUtil/generic/div.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ div(InType x, InType y) {
7878
}
7979

8080
if (y_bits.is_inf())
81-
return OutFPBits::inf(result_sign).get_val();
81+
return OutFPBits::zero(result_sign).get_val();
8282

8383
if (y_bits.is_zero()) {
8484
if (x_bits.is_zero()) {

libc/test/src/math/smoke/DivTest.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ class DivTest : public LIBC_NAMESPACE::testing::FEnvSafeTest {
4747
EXPECT_FP_EQ(neg_inf, func(in.neg_inf, in.zero));
4848
EXPECT_FP_EQ(neg_inf, func(in.inf, in.neg_zero));
4949
EXPECT_FP_EQ(inf, func(in.neg_inf, in.neg_zero));
50+
EXPECT_FP_EQ(zero, func(in.min_normal, in.inf));
51+
EXPECT_FP_EQ(zero, func(in.zero, in.inf));
52+
EXPECT_FP_EQ(zero, func(in.neg_zero, in.neg_inf));
53+
EXPECT_FP_EQ(neg_zero, func(in.min_normal, in.neg_inf));
54+
EXPECT_FP_EQ(neg_zero, func(in.zero, in.neg_inf));
5055
}
5156

5257
void test_division_by_zero(DivFunc func) {

0 commit comments

Comments
 (0)