0c56885d42
Fixes #106 Note: This is implemented by replacing all calls to Python's builtin "compile" function by calls to hy.importer.compile_, which adds the "future division" flag. Anyone using "compile" in future work will have to remember this.
42 lines
748 B
Hy
42 lines
748 B
Hy
; copyright ..
|
|
|
|
|
|
(setv square (fn [x]
|
|
(* x x)))
|
|
|
|
|
|
(setv test_basic_math (fn []
|
|
"NATIVE: Test basic math."
|
|
(assert (= (+ 2 2) 4))))
|
|
|
|
|
|
(setv test_mult (fn []
|
|
"NATIVE: Test multiplication."
|
|
(assert (= 4 (square 2)))))
|
|
|
|
|
|
(setv test_sub (fn []
|
|
"NATIVE: Test subtraction"
|
|
(assert (= 4 (- 8 4)))))
|
|
|
|
|
|
(setv test_add (fn []
|
|
"NATIVE: Test addition"
|
|
(assert (= 4 (+ 1 1 1 1)))))
|
|
|
|
|
|
(setv test_div (fn []
|
|
"NATIVE: Test division"
|
|
(assert (= 25 (/ 100 2 2)))
|
|
; Commented out until float constants get implemented
|
|
; (assert (= 0.5 (/ 1 2)))
|
|
(assert (= 1 (* 2 (/ 1 2))))))
|
|
|
|
(setv test_int_div (fn []
|
|
"NATIVE: Test integer division"
|
|
(assert (= 25 (// 101 2 2)))))
|
|
|
|
(defn test-modulo []
|
|
"NATIVE: test mod"
|
|
(assert (= (% 10 2) 0)))
|