Add FP_ILOGB constants (#599)

This commit is contained in:
Gavin Hayes 2022-09-08 00:37:53 -04:00 committed by GitHub
parent 6c323383e5
commit b7c07d548c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View file

@ -64,6 +64,8 @@
#define FP_ZERO 2
#define FP_SUBNORMAL 3
#define FP_NORMAL 4
#define FP_ILOGB0 (-2147483647-1)
#define FP_ILOGBNAN (-2147483647-1)
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_

View file

@ -49,3 +49,14 @@ TEST(logb, yolo) {
EXPECT_EQ(2, (int)logbl(4));
EXPECT_EQ(63, (int)logbl(1e19));
}
TEST(ilogb, NANandZero) {
EXPECT_EQ(FP_ILOGB0, ilogb(0.0));
EXPECT_EQ(FP_ILOGBNAN, ilogb(NAN));
EXPECT_EQ(FP_ILOGB0, (int)ilogb(0));
EXPECT_EQ(FP_ILOGBNAN, (int)ilogb(NAN));
EXPECT_EQ(FP_ILOGB0, ilogbf(0));
EXPECT_EQ(FP_ILOGBNAN, ilogbf(NAN));
EXPECT_EQ(FP_ILOGB0, ilogbl(0));
EXPECT_EQ(FP_ILOGBNAN, ilogbl(NAN));
}