diff options
| author | mtarik34b <mtarik34b@gmail.com> | 2025-04-15 05:00:36 +0200 |
|---|---|---|
| committer | mtarik34b <mtarik34b@gmail.com> | 2025-04-15 05:00:36 +0200 |
| commit | 313d7d84bcfe086201640d23b449b77bdc08b135 (patch) | |
| tree | 06879553f9b871775cb84f4e169eeafd2091a142 /tests | |
| parent | 11da543f26fff002da8281757f141f6a5f690666 (diff) | |
Ensure NaN != any_float_value evaluates to true for constant NaN values
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/internal/test_5004_nan_constant_comparison.odin | 56 |
1 files changed, 35 insertions, 21 deletions
diff --git a/tests/internal/test_5004_nan_constant_comparison.odin b/tests/internal/test_5004_nan_constant_comparison.odin index 2fbefb2b1..4eb3163a8 100644 --- a/tests/internal/test_5004_nan_constant_comparison.odin +++ b/tests/internal/test_5004_nan_constant_comparison.odin @@ -4,30 +4,44 @@ import "core:testing" @(test) compare_constant_nans_f32 :: proc(t: ^testing.T) { - NaN :: f32(0h7fc0_0000) - NaN2 :: f32(0h7fc0_0001) + NaN :: f32(0h7fc0_0000) + NaN2 :: f32(0h7fc0_0001) + Inf :: f32(0h7F80_0000) + Neg_Inf :: f32(0hFF80_0000) - testing.expect_value(t, NaN == NaN, false) - testing.expect_value(t, NaN == NaN2, false) - testing.expect_value(t, NaN != NaN, false) - testing.expect_value(t, NaN != NaN2, false) - testing.expect_value(t, NaN < NaN, false) - testing.expect_value(t, NaN <= NaN, false) - testing.expect_value(t, NaN > NaN, false) - testing.expect_value(t, NaN >= NaN, false) + testing.expect_value(t, NaN == NaN, false) + testing.expect_value(t, NaN == NaN2, false) + testing.expect_value(t, NaN != 0, true) + testing.expect_value(t, NaN != 5, true) + testing.expect_value(t, NaN != -5, true) + testing.expect_value(t, NaN != NaN, true) + testing.expect_value(t, NaN != NaN2, true) + testing.expect_value(t, NaN != Inf, true) + testing.expect_value(t, NaN != Neg_Inf, true) + testing.expect_value(t, NaN < NaN, false) + testing.expect_value(t, NaN <= NaN, false) + testing.expect_value(t, NaN > NaN, false) + testing.expect_value(t, NaN >= NaN, false) } @(test) compare_constant_nans_f64 :: proc(t: ^testing.T) { - NaN :: f64(0h7fff_0000_0000_0000) - NaN2 :: f64(0h7fff_0000_0000_0001) + NaN :: f64(0h7fff_0000_0000_0000) + NaN2 :: f64(0h7fff_0000_0000_0001) + Inf :: f64(0h7FF0_0000_0000_0000) + Neg_Inf :: f64(0hFFF0_0000_0000_0000) - testing.expect_value(t, NaN == NaN, false) - testing.expect_value(t, NaN == NaN2, false) - testing.expect_value(t, NaN != NaN, false) - testing.expect_value(t, NaN != NaN2, false) - testing.expect_value(t, NaN < NaN, false) - testing.expect_value(t, NaN <= NaN, false) - testing.expect_value(t, NaN > NaN, false) - testing.expect_value(t, NaN >= NaN, false) -}
\ No newline at end of file + testing.expect_value(t, NaN == NaN, false) + testing.expect_value(t, NaN == NaN2, false) + testing.expect_value(t, NaN != 0, true) + testing.expect_value(t, NaN != 5, true) + testing.expect_value(t, NaN != -5, true) + testing.expect_value(t, NaN != NaN, true) + testing.expect_value(t, NaN != NaN2, true) + testing.expect_value(t, NaN != Inf, true) + testing.expect_value(t, NaN != Neg_Inf, true) + testing.expect_value(t, NaN < NaN, false) + testing.expect_value(t, NaN <= NaN, false) + testing.expect_value(t, NaN > NaN, false) + testing.expect_value(t, NaN >= NaN, false) +} |