From 0e10313d64f54dd587ebbcd5f413bd999333c911 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 24 Nov 2024 16:13:23 -0500 Subject: Switch `NaN` to be identical to the null value --- test/minmax.tm | 2 +- test/nums.tm | 42 +++++++++++++++++++++++++++++++----------- 2 files changed, 32 insertions(+), 12 deletions(-) (limited to 'test') diff --git a/test/minmax.tm b/test/minmax.tm index a5dd984e..3d11f8e5 100644 --- a/test/minmax.tm +++ b/test/minmax.tm @@ -1,7 +1,7 @@ struct Foo(x:Int, y:Int): func len(f:Foo->Num): - return Num.sqrt(f.x*f.x + f.y*f.y) + return Num.sqrt(f.x*f.x + f.y*f.y)! func main(): >> 3 _min_ 5 diff --git a/test/nums.tm b/test/nums.tm index 1391a129..4e6d34a9 100644 --- a/test/nums.tm +++ b/test/nums.tm @@ -22,27 +22,47 @@ func main(): >> Num.INF:isinf() = yes - >> Num.nan() - = nan - >> nan := Num.nan() - >> nan:isnan() - = yes + >> Num.NAN + = NULL : Num? + >> nan := Num.NAN + = NULL : Num? >> nan == nan + = yes + >> nan < nan = no - - >> Num.PI:cos():near(-1) + >> nan > nan + = no + >> nan != nan + = no + >> nan <> nan + = 0 + >> nan == 0.0 + = no + >> nan < 0.0 = yes - >> Num.PI:sin():near(0) + >> nan > 0.0 + = no + >> nan != 0.0 = yes + >> nan <> 0.0 + = -1 - >> Num.nan():near(Num.nan()) - = no + >> nan + 1 + = NULL : Num? + + >> 0./0. + = NULL : Num? + + >> Num.PI:cos()!:near(-1) + = yes + >> Num.PI:sin()!:near(0) + = yes >> Num.INF:near(-Num.INF) = no >> Num32.sqrt(16) - = 4 : Num32 + = 4 : Num32? >> 0.25:mix(10, 20) = 12.5 -- cgit v1.2.3