add FP_ILOGB constants

This commit is contained in:
Gavin Hayes 2022-09-07 21:51:00 -04:00
parent 114176c304
commit 7a6ffc7b21
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));
}