diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2012-03-20 12:11:38 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2012-03-20 12:11:38 -0700 |
commit | 270dcc27814f4bd80f625b85e9ff91e7c5a8e8a8 (patch) | |
tree | af016173b3eb8785928466032f97f772c5f0dc04 /eval.c | |
parent | 49b84f76e1036ebeb75b4348d1d0cf7fdf233939 (diff) | |
download | txr-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.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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)); |