]> gitweb.factorcode.org Git - factor.git/blob - core/math/floats/floats-tests.factor
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
[factor.git] / core / math / floats / floats-tests.factor
1 USING: kernel math math.constants math.order tools.test sequences
2 grouping ;
3 IN: math.floats.tests
4
5 { t } [ 0.0 float? ] unit-test
6 { t } [ 3.1415 number? ] unit-test
7 { f } [ 12 float? ] unit-test
8
9 { f } [ 1 1.0 = ] unit-test
10 { t } [ 1 1.0 number= ] unit-test
11
12 { f } [ 1 >bignum 1.0 = ] unit-test
13 { t } [ 1 >bignum 1.0 number= ] unit-test
14
15 { f } [ 1.0 1 = ] unit-test
16 { t } [ 1.0 1 number= ] unit-test
17
18 { f } [ 1.0 1 >bignum = ] unit-test
19 { t } [ 1.0 1 >bignum number= ] unit-test
20
21 { f } [ 1 1.3 = ] unit-test
22 { f } [ 1 >bignum 1.3 = ] unit-test
23 { f } [ 1.3 1 = ] unit-test
24 { f } [ 1.3 1 >bignum = ] unit-test
25
26 { t } [ 134.3 >fixnum 134 = ] unit-test
27
28 { 3 } [ 3.5 >bignum ] unit-test
29 { -3 } [ -3.5 >bignum ] unit-test
30
31 { 3 } [ 3.5 >fixnum ] unit-test
32 { -3 } [ -3.5 >fixnum ] unit-test
33
34 { 2.1 } [ -2.1 neg ] unit-test
35
36 { 3 } [ 3.1415 >fixnum ] unit-test
37 { 3 } [ 3.1415 >bignum ] unit-test
38
39 { t } [ pi 3 > ] unit-test
40 { f } [ e 2 <= ] unit-test
41
42 { t } [ 1.0 dup float>bits bits>float = ] unit-test
43 { t } [ pi double>bits bits>double pi = ] unit-test
44 { t } [ e double>bits bits>double e = ] unit-test
45
46 { 0b11111111111000000000000000000000000000000000000000000000000000 }
47 [ 1.5 double>bits ] unit-test
48
49 { 1.5 }
50 [ 0b11111111111000000000000000000000000000000000000000000000000000 bits>double ]
51 unit-test
52
53 { 2.0 } [ 1.0 1 + ] unit-test
54 { 0.0 } [ 1.0 1 - ] unit-test
55
56 { t } [ 0.0 zero? ] unit-test
57 { t } [ -0.0 zero? ] unit-test
58
59 { 0 } [ 1/0. >bignum ] unit-test
60
61 { t } [ 64 iota [ 2^ 0.5 * ] map [ < ] monotonic? ] unit-test
62
63 { 5 } [ 10.5 1.9 /i ] unit-test
64
65 { t } [ 0   0   /f                 fp-nan? ] unit-test
66 { t } [ 0.0 0.0 /f                 fp-nan? ] unit-test
67 { t } [ 0.0 0.0 /                  fp-nan? ] unit-test
68 { t } [ 0   0   [ >bignum ] bi@ /f fp-nan? ] unit-test
69
70 { 1/0. } [ 1 0 /f ] unit-test
71 { 1/0. } [ 1.0 0.0 /f ] unit-test
72 { 1/0. } [ 1.0 0.0 / ] unit-test
73 { 1/0. } [ 1 0 [ >bignum ] bi@ /f ] unit-test
74
75 { -1/0. } [ -1 0 /f ] unit-test
76 { -1/0. } [ -1.0 0.0 /f ] unit-test
77 { -1/0. } [ -1.0 0.0 / ] unit-test
78 { -1/0. } [ -1 0 [ >bignum ] bi@ /f ] unit-test
79
80 { t } [ 0/0. 0/0. unordered? ] unit-test
81 { t } [ 1.0 0/0. unordered? ] unit-test
82 { t } [ 0/0. 1.0 unordered? ] unit-test
83 { f } [ 1.0 1.0 unordered? ] unit-test
84
85 { t } [ -0.0 fp-sign ] unit-test
86 { t } [ -1.0 fp-sign ] unit-test
87 { f } [ 0.0 fp-sign ] unit-test
88 { f } [ 1.0 fp-sign ] unit-test
89
90 { t } [ -0.0 abs 0.0 fp-bitwise= ] unit-test
91 { 1.5 } [ -1.5 abs ] unit-test
92 { 1.5 } [ 1.5 abs ] unit-test
93
94 { 5.0 } [ 3 5.0 max ] unit-test
95 { 3 } [ 3 5.0 min ] unit-test
96
97 { 39 0x1.999999999998ap-4 } [ 4.0 .1 /mod ] unit-test
98 { 38 0x1.9999999999984p-4 } [ 3.9 .1 /mod ] unit-test
99 { -39 0x1.999999999998ap-4 } [ 4.0 -.1 /mod ] unit-test
100 { -38 0x1.9999999999984p-4 } [ 3.9 -.1 /mod ] unit-test
101 { 39 -0x1.999999999998ap-4 } [ -4.0 -.1 /mod ] unit-test
102 { 38 -0x1.9999999999984p-4 } [ -3.9 -.1 /mod ] unit-test
103 { -39 -0x1.999999999998ap-4 } [ -4.0 .1 /mod ] unit-test
104 { -38 -0x1.9999999999984p-4 } [ -3.9 .1 /mod ] unit-test
105
106 { 0.5 } [ 3.5 0.75 mod ] unit-test
107 { -0.5 } [ -3.5 0.75 mod ] unit-test
108 { -0.5 } [ -3.5 -0.75 mod ] unit-test
109 { 0.5 } [ 3.5 -0.75 mod ] unit-test
110
111 { 4 0.5 } [ 3.5 0.75 /mod ] unit-test
112 { -4 -0.5 } [ -3.5 0.75 /mod ] unit-test
113 { 4 -0.5 } [ -3.5 -0.75 /mod ] unit-test
114 { -4 0.5 } [ 3.5 -0.75 /mod ] unit-test