diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-12-11 23:16:44 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-12-11 23:16:44 -0800 |
commit | 770b69a7495f5e1f83eaf0c5de5782a3db90ad7b (patch) | |
tree | a600dd018c53ac6394932f9c1b96007ce77e7eaf /lib.c | |
parent | 98d7a0cf623fb0e34ee00017909a315a32a8de38 (diff) | |
download | txr-770b69a7495f5e1f83eaf0c5de5782a3db90ad7b.tar.gz txr-770b69a7495f5e1f83eaf0c5de5782a3db90ad7b.tar.bz2 txr-770b69a7495f5e1f83eaf0c5de5782a3db90ad7b.zip |
* arith.c (zerop, gt, lt, ge, le): Functions from lib.c reimplemented
with bignum support.
* eval.c (eval_init): Added bignump and zerop as intrinsic function.
Renamed numberp to fixnump.
* lib.c (zerop, gt, lt, ge, le): Functions removed.
(numeq): Unused function removed.
* lib.h (numeq): Declaration removed.
* txr.1: Sections for zerop and bignump created. Changed reference
to numberp to fixnump.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 34 |
1 files changed, 2 insertions, 32 deletions
@@ -857,31 +857,6 @@ val mulv(val nlist) return reduce_left(func_n2(mul), cdr(nlist), car(nlist), nil); } -val zerop(val num) -{ - return c_num(num) == 0 ? t : nil; -} - -val gt(val anum, val bnum) -{ - return c_num(anum) > c_num(bnum) ? t : nil; -} - -val lt(val anum, val bnum) -{ - return c_num(anum) < c_num(bnum) ? t : nil; -} - -val ge(val anum, val bnum) -{ - return c_num(anum) >= c_num(bnum) ? t : nil; -} - -val le(val anum, val bnum) -{ - return c_num(anum) <= c_num(bnum) ? t : nil; -} - val gtv(val first, val rest) { val iter; @@ -938,19 +913,14 @@ val lev(val first, val rest) return t; } -val numeq(val anum, val bnum) -{ - return c_num(anum) == c_num(bnum) ? t : nil; -} - val max2(val anum, val bnum) { - return c_num(anum) > c_num(bnum) ? anum : bnum; + return if3(gt(anum, bnum), anum, bnum); } val min2(val anum, val bnum) { - return c_num(anum) < c_num(bnum) ? anum : bnum; + return if3(lt(anum, bnum), anum, bnum); } val maxv(val first, val rest) |