46 lines
815 B
Plaintext
46 lines
815 B
Plaintext
; add
|
|
(assert (= (+ 1 2 3) 6))
|
|
(assert (= (+) 0))
|
|
(assert (= (+ 1) 1))
|
|
|
|
; sub
|
|
(assert (= (- 1) -1))
|
|
(assert (= (- 1 2) -1))
|
|
|
|
; mul
|
|
(assert (= (*) 1))
|
|
(assert (= (* 2) 2))
|
|
(assert (= (* 2 3 4) 24))
|
|
|
|
; div
|
|
(assert (= (/ 1 0) #inf))
|
|
(assert (= (/ -1 0) -#inf))
|
|
(assert (= (/ 6 2) 3))
|
|
(assert (= (/ 12 3 2) 2))
|
|
(assert (= (/ 6 4) (/ 3 2)))
|
|
(assert (= (/ 4) (/ 25 100))) ; reciprocal
|
|
|
|
; rem
|
|
(assert (= (% 6 2) 0))
|
|
(assert (= (% 6 4) 2))
|
|
|
|
;;;; NaN/infinity handling
|
|
(assert (≠ #nan #nan))
|
|
(assert (= #inf #inf))
|
|
(assert (≠ -#inf #inf))
|
|
(assert (> #inf 0 -#inf))
|
|
|
|
;;;; Ordering
|
|
(assert (< 1 2 3))
|
|
(assert (not (< 1 1 2 3)))
|
|
(assert (<= 1 1 2 3 3))
|
|
(assert (> 3 2 1))
|
|
(assert (not (> 3 3 2 1)))
|
|
(assert (>= 3 3 2 1))
|
|
|
|
(assert (= 1 1 1 1))
|
|
(assert (not (= 1 1 2 1)))
|
|
|
|
(assert (≠ 1 2 3 4))
|
|
(assert (not (≠ 1 2 2 3)))
|