diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2026-01-11 15:45:43 -0500 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2026-01-11 15:45:43 -0500 |
| commit | 0a9cf2636291a7d7b198cb6bae32befe3e3ea0ee (patch) | |
| tree | 0a6d5c9d92b0514b97ed208851c321484b36eecd /test | |
| parent | 1ac5ad89c234e4ce18c7b2348c35354c2f6e8f9a (diff) | |
Add in floats tests
Diffstat (limited to 'test')
| -rw-r--r-- | test/floats.tm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/floats.tm b/test/floats.tm new file mode 100644 index 00000000..7b3373c2 --- /dev/null +++ b/test/floats.tm @@ -0,0 +1,52 @@ +func main() + n := Float64(1.5) + assert n == Float64(1.5) + + assert n + n == Float64(3.) + + assert n * 2 == Float64(3.) + + assert n - n == Float64(0.) + + assert Float64.PI == Float64(3.141592653589793) + + assert Float64.PI.with_precision(Float64(0.01)) == Float64(3.14) + + assert Float64.INF == Float64.INF + assert Float64.INF.isinf() + + none_num : Float64? = none + assert none_num == none + assert none_num == none_num + assert (none_num < none_num) == no + assert (none_num > none_num) == no + assert (none_num != none_num) == no + assert (none_num <> none_num) == Int32(0) + assert (none_num == Float64(0.0)) == no + assert none_num < Float64(0.0) + assert (none_num > Float64(0.0)) == no + assert none_num != Float64(0.0) + assert (none_num <> Float64(0.0)) == Int32(-1) + + # >> nan + 1 + # = none + + >> Float64(0.)/Float64(0.) + + # >> Float64(0.)/Float64(0.) + # = none + + assert Float64.PI.cos()!.near(Float64(-1)) + assert Float64.PI.sin()!.near(Float64(0)) + + assert Float64.INF.near(-Float64.INF) == no + + assert Float32.sqrt(16) == Float32(4) + assert Float32.sqrt(-1) == none + + assert (Float64(0.25)).mix(10, 20) == Float64(12.5) + assert (Float64(2.0)).mix(10, 20) == Float64(30.) + + assert Float64(5) == Float64(5.) + + assert (Float64(0.5)).percent() == "50%" |
