mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 05:44:20 +00:00
Make sure to test the sign of the zero results
This commit is contained in:
parent
7abb170f59
commit
03dfd2ecc3
7 changed files with 18 additions and 18 deletions
|
|
@ -218,7 +218,7 @@ test "expf() special" {
|
|||
try expectEqual(expf(1.0), math.e);
|
||||
try expectEqual(expf(math.ln2), 2.0);
|
||||
try expectEqual(expf(math.inf(f32)), math.inf(f32));
|
||||
try expectEqual(expf(-math.inf(f32)), 0.0);
|
||||
try expect(math.isPositiveZero(expf(-math.inf(f32))));
|
||||
try expect(math.isNan(expf(math.nan(f32))));
|
||||
try expect(math.isNan(expf(math.snan(f32))));
|
||||
}
|
||||
|
|
@ -268,7 +268,7 @@ test "exp() special" {
|
|||
// try expectEqual(exp(1.0), math.e);
|
||||
try expectEqual(exp(math.ln2), 2.0);
|
||||
try expectEqual(exp(math.inf(f64)), math.inf(f64));
|
||||
try expectEqual(exp(-math.inf(f64)), 0.0);
|
||||
try expect(math.isPositiveZero(exp(-math.inf(f64))));
|
||||
try expect(math.isNan(exp(math.nan(f64))));
|
||||
try expect(math.isNan(exp(math.snan(f64))));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -464,7 +464,7 @@ test "exp2f() special" {
|
|||
try expectEqual(exp2f(1.0), 2.0);
|
||||
try expectEqual(exp2f(-1.0), 0.5);
|
||||
try expectEqual(exp2f(math.inf(f32)), math.inf(f32));
|
||||
try expectEqual(exp2f(-math.inf(f32)), 0.0);
|
||||
try expect(math.isPositiveZero(exp2f(-math.inf(f32))));
|
||||
try expect(math.isNan(exp2f(math.nan(f32))));
|
||||
try expect(math.isNan(exp2f(math.snan(f32))));
|
||||
}
|
||||
|
|
@ -502,7 +502,7 @@ test "exp2() special" {
|
|||
try expectEqual(exp2(1.0), 2.0);
|
||||
try expectEqual(exp2(-1.0), 0.5);
|
||||
try expectEqual(exp2(math.inf(f64)), math.inf(f64));
|
||||
try expectEqual(exp2(-math.inf(f64)), 0.0);
|
||||
try expect(math.isPositiveZero(exp2(-math.inf(f64))));
|
||||
try expect(math.isNan(exp2(math.nan(f64))));
|
||||
try expect(math.isNan(exp2(math.snan(f64))));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ pub fn logl(x: c_longdouble) callconv(.c) c_longdouble {
|
|||
test "logf() special" {
|
||||
try expectEqual(logf(0.0), -math.inf(f32));
|
||||
try expectEqual(logf(-0.0), -math.inf(f32));
|
||||
try expectEqual(logf(1.0), 0.0);
|
||||
try expect(math.isPositiveZero(logf(1.0)));
|
||||
try expectEqual(logf(math.e), 1.0);
|
||||
try expectEqual(logf(math.inf(f32)), math.inf(f32));
|
||||
try expect(math.isNan(logf(-1.0)));
|
||||
|
|
@ -198,7 +198,7 @@ test "logf() boundary" {
|
|||
test "log() special" {
|
||||
try expectEqual(log(0.0), -math.inf(f64));
|
||||
try expectEqual(log(-0.0), -math.inf(f64));
|
||||
try expectEqual(log(1.0), 0.0);
|
||||
try expect(math.isPositiveZero(log(1.0)));
|
||||
try expectEqual(log(math.e), 1.0);
|
||||
try expectEqual(log(math.inf(f64)), math.inf(f64));
|
||||
try expect(math.isNan(log(-1.0)));
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ pub fn log10l(x: c_longdouble) callconv(.c) c_longdouble {
|
|||
test "log10f() special" {
|
||||
try expectEqual(log10f(0.0), -math.inf(f32));
|
||||
try expectEqual(log10f(-0.0), -math.inf(f32));
|
||||
try expectEqual(log10f(1.0), 0.0);
|
||||
try expect(math.isPositiveZero(log10f(1.0)));
|
||||
try expectEqual(log10f(10.0), 1.0);
|
||||
try expectEqual(log10f(0.1), -1.0);
|
||||
try expectEqual(log10f(math.inf(f32)), math.inf(f32));
|
||||
|
|
@ -227,7 +227,7 @@ test "log10f() boundary" {
|
|||
test "log10() special" {
|
||||
try expectEqual(log10(0.0), -math.inf(f64));
|
||||
try expectEqual(log10(-0.0), -math.inf(f64));
|
||||
try expectEqual(log10(1.0), 0.0);
|
||||
try expect(math.isPositiveZero(log10(1.0)));
|
||||
try expectEqual(log10(10.0), 1.0);
|
||||
try expectEqual(log10(0.1), -1.0);
|
||||
try expectEqual(log10(math.inf(f64)), math.inf(f64));
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ pub fn log2l(x: c_longdouble) callconv(.c) c_longdouble {
|
|||
test "log2f() special" {
|
||||
try expectEqual(log2f(0.0), -math.inf(f32));
|
||||
try expectEqual(log2f(-0.0), -math.inf(f32));
|
||||
try expectEqual(log2f(1.0), 0.0);
|
||||
try expect(math.isPositiveZero(log2f(1.0)));
|
||||
try expectEqual(log2f(2.0), 1.0);
|
||||
try expectEqual(log2f(math.inf(f32)), math.inf(f32));
|
||||
try expect(math.isNan(log2f(-1.0)));
|
||||
|
|
@ -219,7 +219,7 @@ test "log2f() boundary" {
|
|||
test "log2() special" {
|
||||
try expectEqual(log2(0.0), -math.inf(f64));
|
||||
try expectEqual(log2(-0.0), -math.inf(f64));
|
||||
try expectEqual(log2(1.0), 0.0);
|
||||
try expect(math.isPositiveZero(log2(1.0)));
|
||||
try expectEqual(log2(2.0), 1.0);
|
||||
try expectEqual(log2(math.inf(f64)), math.inf(f64));
|
||||
try expect(math.isNan(log2(-1.0)));
|
||||
|
|
|
|||
|
|
@ -288,8 +288,8 @@ fn expm1_64(x_: f64) f64 {
|
|||
}
|
||||
|
||||
test "expm1_32() special" {
|
||||
try expectEqual(expm1_32(0.0), 0.0);
|
||||
try expectEqual(expm1_32(-0.0), 0.0);
|
||||
try expect(math.isPositiveZero(expm1_32(0.0)));
|
||||
try expect(math.isNegativeZero(expm1_32(-0.0)));
|
||||
try expectEqual(expm1_32(math.ln2), 1.0);
|
||||
try expectEqual(expm1_32(math.inf(f32)), math.inf(f32));
|
||||
try expectEqual(expm1_32(-math.inf(f32)), -1.0);
|
||||
|
|
@ -326,8 +326,8 @@ test "expm1_32() boundary" {
|
|||
}
|
||||
|
||||
test "expm1_64() special" {
|
||||
try expectEqual(expm1_64(0.0), 0.0);
|
||||
try expectEqual(expm1_64(-0.0), 0.0);
|
||||
try expect(math.isPositiveZero(expm1_64(0.0)));
|
||||
try expect(math.isNegativeZero(expm1_64(-0.0)));
|
||||
try expectEqual(expm1_64(math.ln2), 1.0);
|
||||
try expectEqual(expm1_64(math.inf(f64)), math.inf(f64));
|
||||
try expectEqual(expm1_64(-math.inf(f64)), -1.0);
|
||||
|
|
|
|||
|
|
@ -184,8 +184,8 @@ fn log1p_64(x: f64) f64 {
|
|||
}
|
||||
|
||||
test "log1p_32() special" {
|
||||
try expectEqual(log1p_32(0.0), 0.0);
|
||||
try expectEqual(log1p_32(-0.0), 0.0);
|
||||
try expect(math.isPositiveZero(log1p_32(0.0)));
|
||||
try expect(math.isNegativeZero(log1p_32(-0.0)));
|
||||
try expectEqual(log1p_32(-1.0), -math.inf(f32));
|
||||
try expectEqual(log1p_32(1.0), math.ln2);
|
||||
try expectEqual(log1p_32(math.inf(f32)), math.inf(f32));
|
||||
|
|
@ -219,8 +219,8 @@ test "log1p_32() boundary" {
|
|||
}
|
||||
|
||||
test "log1p_64() special" {
|
||||
try expectEqual(log1p_64(0.0), 0.0);
|
||||
try expectEqual(log1p_64(-0.0), 0.0);
|
||||
try expect(math.isPositiveZero(log1p_64(0.0)));
|
||||
try expect(math.isNegativeZero(log1p_64(-0.0)));
|
||||
try expectEqual(log1p_64(-1.0), -math.inf(f64));
|
||||
try expectEqual(log1p_64(1.0), math.ln2);
|
||||
try expectEqual(log1p_64(math.inf(f64)), math.inf(f64));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue