Test:128 special
|
test "16" {
try expect(ilogbX(f16, 0.0) == fp_ilogb0);
try expect(ilogbX(f16, 0.5) == -1);
try expect(ilogbX(f16, 0.8923) == -1);
try expect(ilogbX(f16, 10.0) == 3);
try expect(ilogbX(f16, -65504) == 15);
try expect(ilogbX(f16, 2398.23) == 11);
try expect(ilogbX(f16, 0x1p-1) == -1);
try expect(ilogbX(f16, 0x1p-17) == -17);
try expect(ilogbX(f16, 0x1p-24) == -24);
}
test "32" {
try expect(ilogbX(f32, 0.0) == fp_ilogb0);
try expect(ilogbX(f32, 0.5) == -1);
try expect(ilogbX(f32, 0.8923) == -1);
try expect(ilogbX(f32, 10.0) == 3);
try expect(ilogbX(f32, -123984) == 16);
try expect(ilogbX(f32, 2398.23) == 11);
try expect(ilogbX(f32, 0x1p-1) == -1);
try expect(ilogbX(f32, 0x1p-122) == -122);
try expect(ilogbX(f32, 0x1p-127) == -127);
}
test "64" {
try expect(ilogbX(f64, 0.0) == fp_ilogb0);
try expect(ilogbX(f64, 0.5) == -1);
try expect(ilogbX(f64, 0.8923) == -1);
try expect(ilogbX(f64, 10.0) == 3);
try expect(ilogbX(f64, -123984) == 16);
try expect(ilogbX(f64, 2398.23) == 11);
try expect(ilogbX(f64, 0x1p-1) == -1);
try expect(ilogbX(f64, 0x1p-127) == -127);
try expect(ilogbX(f64, 0x1p-1012) == -1012);
try expect(ilogbX(f64, 0x1p-1023) == -1023);
}
test "80" {
try expect(ilogbX(f80, 0.0) == fp_ilogb0);
try expect(ilogbX(f80, 0.5) == -1);
try expect(ilogbX(f80, 0.8923) == -1);
try expect(ilogbX(f80, 10.0) == 3);
try expect(ilogbX(f80, -123984) == 16);
try expect(ilogbX(f80, 2398.23) == 11);
try expect(ilogbX(f80, 0x1p-1) == -1);
try expect(ilogbX(f80, 0x1p-127) == -127);
try expect(ilogbX(f80, 0x1p-1023) == -1023);
try expect(ilogbX(f80, 0x1p-16383) == -16383);
}
test "128" {
try expect(ilogbX(f128, 0.0) == fp_ilogb0);
try expect(ilogbX(f128, 0.5) == -1);
try expect(ilogbX(f128, 0.8923) == -1);
try expect(ilogbX(f128, 10.0) == 3);
try expect(ilogbX(f128, -123984) == 16);
try expect(ilogbX(f128, 2398.23) == 11);
try expect(ilogbX(f128, 0x1p-1) == -1);
try expect(ilogbX(f128, 0x1p-127) == -127);
try expect(ilogbX(f128, 0x1p-1023) == -1023);
try expect(ilogbX(f128, 0x1p-16383) == -16383);
}
test "16 special" {
try expect(ilogbX(f16, math.inf(f16)) == maxInt(i32));
try expect(ilogbX(f16, -math.inf(f16)) == maxInt(i32));
try expect(ilogbX(f16, 0.0) == minInt(i32));
try expect(ilogbX(f16, math.nan(f16)) == fp_ilogbnan);
}
test "32 special" {
try expect(ilogbX(f32, math.inf(f32)) == maxInt(i32));
try expect(ilogbX(f32, -math.inf(f32)) == maxInt(i32));
try expect(ilogbX(f32, 0.0) == minInt(i32));
try expect(ilogbX(f32, math.nan(f32)) == fp_ilogbnan);
}
test "64 special" {
try expect(ilogbX(f64, math.inf(f64)) == maxInt(i32));
try expect(ilogbX(f64, -math.inf(f64)) == maxInt(i32));
try expect(ilogbX(f64, 0.0) == minInt(i32));
try expect(ilogbX(f64, math.nan(f64)) == fp_ilogbnan);
}
test "80 special" {
try expect(ilogbX(f80, math.inf(f80)) == maxInt(i32));
try expect(ilogbX(f80, -math.inf(f80)) == maxInt(i32));
try expect(ilogbX(f80, 0.0) == minInt(i32));
try expect(ilogbX(f80, math.nan(f80)) == fp_ilogbnan);
}
test "128 special" {
try expect(ilogbX(f128, math.inf(f128)) == maxInt(i32));
try expect(ilogbX(f128, -math.inf(f128)) == maxInt(i32));
try expect(ilogbX(f128, 0.0) == minInt(i32));
try expect(ilogbX(f128, math.nan(f128)) == fp_ilogbnan);
}
|