aboutsummaryrefslogtreecommitdiff
path: root/test/nums.tm
blob: 573b50ecfe760d79322ca8bd865453abcd8295f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
func main()
	>> n := 1.5
	= 1.5

	>> n + n
	= 3.

	>> n * 2
	= 3.

	>> n - n
	= 0.

	>> Num.PI
	= 3.141592653589793

	>> Num.PI.format(precision=10)
	= "3.1415926536"

	>> Num.INF
	= Num.INF
	>> Num.INF.isinf()
	= yes

	>> none_num : Num? = none
	= none
	>> none_num == none_num
	= yes
	>> none_num < none_num
	= no
	>> none_num > none_num
	= no
	>> none_num != none_num
	= no
	>> none_num <> none_num
	= Int32(0)
	>> none_num == 0.0
	= no
	>> none_num < 0.0
	= yes
	>> none_num > 0.0
	= no
	>> none_num != 0.0
	= yes
	>> none_num <> 0.0
	= Int32(-1)

	# >> nan + 1
	# = none

	>> 0./0.

	# >> 0./0.
	# = none

	>> Num.PI.cos()!.near(-1)
	= yes
	>> Num.PI.sin()!.near(0)
	= yes

	>> Num.INF.near(-Num.INF)
	= no

	>> Num32.sqrt(16)
	= Num32(4)?

	>> (0.25).mix(10, 20)
	= 12.5
	>> (2.0).mix(10, 20)
	= 30.

	>> Num(5)
	= 5.

	>> (0.5).percent()
	= "50%"