summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-03-20 12:11:38 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-03-20 12:11:38 -0700
commit270dcc27814f4bd80f625b85e9ff91e7c5a8e8a8 (patch)
treeaf016173b3eb8785928466032f97f772c5f0dc04 /eval.c
parent49b84f76e1036ebeb75b4348d1d0cf7fdf233939 (diff)
downloadtxr-270dcc27814f4bd80f625b85e9ff91e7c5a8e8a8.tar.gz
txr-270dcc27814f4bd80f625b85e9ff91e7c5a8e8a8.tar.bz2
txr-270dcc27814f4bd80f625b85e9ff91e7c5a8e8a8.zip
* arith.c (plus): Optimization: use num_fast when
result is in the fixnum range. Implemented FLNUM cases, except for adding a FLNUM to BGNUM. (minus, mul): Use num_fast when the cnum value is in the fixnum range. (int_flo): New function. * eval.c (eval_init): Register int-flo intrinsic. * lib.c (c_flo): New function. * lib.h (TYPE_SHIFT, TYPE_PAIR): New macros, carried over from the lazy strings branch. (c_flo, int_flo): Declared.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 26e31f59..c56919a7 100644
--- a/eval.c
+++ b/eval.c
@@ -2291,6 +2291,7 @@ void eval_init(void)
reg_fun(intern(lit("string-lt"), user_package), func_n2(string_lt));
reg_fun(intern(lit("int-str"), user_package), func_n2o(int_str, 1));
reg_fun(intern(lit("flo-str"), user_package), func_n1(flo_str));
+ reg_fun(intern(lit("int-flo"), user_package), func_n1(int_flo));
reg_fun(intern(lit("chrp"), user_package), func_n1(chrp));
reg_fun(intern(lit("chr-isalnum"), user_package), func_n1(chr_isalnum));
reg_fun(intern(lit("chr-isalpha"), user_package), func_n1(chr_isalpha));