source: project/release/5/fp-utils/trunks/test/fp-utils-test.scm @ 35993

Last change on this file since 35993 was 35993, checked in by Kon Lovett, 13 months ago

C5 initial

File size: 1.7 KB
Line 
1;;;; mathh-test
2;;;; Kon Lovett, May '17
3
4;;;; Issues
5;;;;
6
7(require-extension test)
8
9;;;
10
11;;;
12
13(require-extension fp-utils)
14
15(define-constant 5eps (fp/ 9.0 1e06))
16(define-constant 4eps (fp/ 9.0 1e05))
17
18(test-group "FP Utils"
19
20  (test-assert (fpzero? 0.0))
21  (test-assert (not (fpzero? 1.0)))
22  (test-assert (not (fpzero? maximum-flonum)))
23  (test-assert (not (fpzero? minimum-flonum)))
24
25  (test-assert (not (fppositive? 0.0)))
26  (test-assert (not (fppositive? (fpneg minimum-flonum))))
27  (test-assert (fppositive? maximum-flonum))
28
29  (test-assert (fpcardinal? 0.0))
30  (test-assert (not (fpcardinal? (fpneg minimum-flonum))))
31  (test-assert (fpcardinal? maximum-flonum))
32
33  (test-assert (not (fpnegative? 0.0)))
34  (test-assert (fpnegative? (fpneg minimum-flonum)))
35  (test-assert (not (fpnegative? maximum-flonum)))
36
37        (test-assert (not (fpeven? 7.0)))
38        (test-assert (fpeven? 6.0))
39        (test-assert (not (fpodd? 6.0)))
40        (test-assert (fpodd? 7.0))
41
42        (test-assert (flonum? (fprandom)))
43        (test-assert (flonum? (fprandom 2456)))
44
45        (test 4.0 (fpadd1 3.0))
46        (test 2.0 (fpsub1 3.0))
47
48        (test 27.0 (fpcub 3.0))
49
50        (test 1.0 (fpmodulo 5.0 2.0))
51        (test 0.0 (fpmodulo 0.0 1.0))
52
53        (test 2.0 (fpquotient 5.0 2.0))
54        (test 1.0 (fpremainder 5.0 2.0))
55
56        (test-assert (fp~= 0.123456 0.123457 5eps))
57        (test-assert (fp~<= 0.123456 0.123457 5eps))
58        (test-assert (fp~>= 0.123456 0.123457 5eps))
59        (test-assert (fp~<= 0.123456 0.12346 5eps))
60        (test-assert (fp~>= 0.123456 0.12344 5eps))
61
62  (parameterize ((current-test-epsilon 4eps))
63          (test 5.6568 (fpdistance 1.0 1.0 5.0 5.0)) )
64
65        (receive (mx mn) (fpmax-and-min 1.0 -1.0 -16.0 13.0 2.0 16.0 7.0 -8.0)
66          (test "fpmax-and-min max" 16.0 mx)
67          (test "fpmax-and-min min" -16.0 mn) )
68)
69
70;;;
71
72(test-end "mathh")
73
74;;;
75
76(test-exit)
Note: See TracBrowser for help on using the repository browser.