diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2014-07-13 21:27:23 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2014-07-13 21:27:23 -0700 |
commit | c8d7559adb41795dc2bbe52f4acae77113a3f34b (patch) | |
tree | 62f8607a02791a182a8833fc6aecdc3795008282 | |
parent | 96ebe1423b427c47d15517373cb26ead057b64c6 (diff) | |
download | mu-c8d7559adb41795dc2bbe52f4acae77113a3f34b.tar.gz |
23 - more comparison ops
-rw-r--r-- | mu.arc | 12 | ||||
-rw-r--r-- | mu.arc.t | 33 |
2 files changed, 45 insertions, 0 deletions
diff --git a/mu.arc b/mu.arc index 1953e7c6..6438f4f4 100644 --- a/mu.arc +++ b/mu.arc @@ -75,6 +75,18 @@ neq (= (memory* oarg.0.1) (~iso (memory* arg.0.1) (memory* arg.1.1))) + lt + (= (memory* oarg.0.1) + (< (memory* arg.0.1) (memory* arg.1.1))) + gt + (= (memory* oarg.0.1) + (> (memory* arg.0.1) (memory* arg.1.1))) + le + (= (memory* oarg.0.1) + (<= (memory* arg.0.1) (memory* arg.1.1))) + ge + (= (memory* oarg.0.1) + (>= (memory* arg.0.1) (memory* arg.1.1))) arg (let idx (if arg arg.0 diff --git a/mu.arc.t b/mu.arc.t index dc4abf0f..4108e893 100644 --- a/mu.arc.t +++ b/mu.arc.t @@ -176,6 +176,39 @@ (clear) (add-fns '((main + ((boolean 1) <- loadi 4) + ((boolean 2) <- loadi 4) + ((boolean 3) <- le (boolean 1) (boolean 2))))) +(run function*!main) +;? (prn memory*) +(if (~iso memory* (obj 1 4 2 4 3 t)) + (prn "F - le works")) + +(clear) +(add-fns + '((main + ((boolean 1) <- loadi 4) + ((boolean 2) <- loadi 3) + ((boolean 3) <- le (boolean 1) (boolean 2))))) +(run function*!main) +;? (prn memory*) +(if (~iso memory* (obj 1 4 2 3 3 nil)) + (prn "F - le works - 2")) + +(clear) +(add-fns + '((main + ((boolean 1) <- loadi 4) + ((boolean 2) <- loadi 5) + ((boolean 3) <- le (boolean 1) (boolean 2))))) +(run function*!main) +;? (prn memory*) +(if (~iso memory* (obj 1 4 2 5 3 t)) + (prn "F - le works - 3")) + +(clear) +(add-fns + '((main ((integer 1) <- loadi 8) (jmp (offset 1)) ((integer 2) <- loadi 3) |