1 # This file is part of NIT ( http://www.nitlanguage.org ).
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
15 module test_native_gmp
is test_suite
31 redef fun before_test
do
39 redef fun after_test
do
51 assert(res
.cmp_si
(30) == 0)
58 assert(res
.cmp_si
(30) == 0)
65 assert(res
.cmp_si
(10) == 0)
72 assert(res
.cmp_si
(10) == 0)
79 assert(res
.cmp_si
(20) == 0)
85 assert(res
.cmp_si
(40) == 0)
91 assert(res
.cmp_si
(-10) == 0)
97 assert(res
.cmp_si
(10) == 0)
104 assert(res
.cmp_si
(5) == 0)
107 fun test_tdiv_q_ui
do
110 op1
.tdiv_q_ui
(res
, ui
)
111 assert(res
.cmp_si
(1) == 0)
118 assert(res
.cmp_si
(1) == 0)
125 assert(res
.cmp_si
(0) == 0)
128 fun test_probab_prime_p
do
130 assert(op1
.probab_prime_p
(10i32
) == 2)
133 fun test_nextprime
do
136 assert(res
.cmp_si
(11) == 0)
143 assert(res
.cmp_si
(4) == 0)
150 assert(res
.cmp_si
(10) == 0)
156 assert(op1
.cmp
(op2
) == 0)
161 assert(op1
.cmp_si
(30) == 0)
167 assert(op1
.cmp
(op2
) == 0)
172 assert(op1
.cmp_si
(30) == 0)
177 assert(op1
.cmp_si
(3) == 0)
183 assert(op1
.cmp_si
(30) == 0)
187 op1
.set_str
("30".to_cstring
, 10i32
)
188 assert(op1
.cmp_si
(30) == 0)
195 assert(op1
.cmp_si
(20) == 0 and op2
.cmp_si
(10) == 0)
200 assert(op1
.get_si
== 12)
205 assert(op1
.get_d
== 12.0)
210 assert(op1
.get_str
(10i32
).to_s
== "12")
224 redef fun before_test
do
231 redef fun after_test
do
242 assert(res
.cmp_si
(10, 1) == 0)
249 assert(res
.cmp_si
(10, 3) == 0)
256 assert(res
.cmp_si
(100, 3) == 0)
263 assert(res
.cmp_si
(5, 3) == 0)
269 assert(res
.cmp_si
(-10, 3) == 0)
275 assert(res
.cmp_si
(10, 3) == 0)
281 assert(res
.cmp_si
(3, 10) == 0)
287 assert(res
.cmp
(op1
) == 0)
293 assert(res
.cmp_si
(10, 1) == 0)
298 assert(res
.cmp_si
(10, 3) == 0)
303 assert(res
.cmp_si
(1, 2) == 0)
307 res
.set_str
"1/2".to_cstring
308 assert(res
.cmp_si
(1, 2) == 0)
314 assert(res
.cmp_si
(10, 3) == 0)
319 assert(res
.get_d
== 0.5)
324 assert(res
.get_str
(10i32
).to_s
== "1/2")
330 assert(op1
.cmp
(op2
) == 0)
336 # assert(op1.cmp_z(l) == 0)
341 assert(op1
.cmp_si
(10, 3) == 0)
347 assert op1
.equal
(op2
)
353 assert(op1
.numref
.cmp
(l
) == 0)
359 assert(op1
.denref
.cmp
(l
) == 0)