diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-02-26 07:33:09 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-02-26 07:33:09 -0800 |
commit | a66888b6e07dbfd6b22dcd7fa9e240692c17a039 (patch) | |
tree | 251e76409dbe78994bd4eb9ed4ea7237020bd47e /eval.c | |
parent | 0f32fe85728e4ee35a25094d99bdf7b3ff1630a7 (diff) | |
download | txr-a66888b6e07dbfd6b22dcd7fa9e240692c17a039.tar.gz txr-a66888b6e07dbfd6b22dcd7fa9e240692c17a039.tar.bz2 txr-a66888b6e07dbfd6b22dcd7fa9e240692c17a039.zip |
New floor-rem, ceil-rem and round-rem.
* arith.c (trunc_rem): Move function to below round function.
Make second argument optional, defaulting to one.
(floor_rem, ceil_rem, round_rem): New functions.
* eval.c (eval_init): Registration of trunc-rem altered for
optional argument. New registrations for floor-rem, ceil-rem,
round=rem.
* txr.1: Documented for new functions folded with trunc-rem.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -5693,7 +5693,6 @@ void eval_init(void) reg_fun(intern(lit("abs"), user_package), func_n1(abso)); reg_fun(intern(lit("trunc"), user_package), func_n2o(trunc, 1)); reg_fun(intern(lit("mod"), user_package), func_n2(mod)); - reg_fun(intern(lit("trunc-rem"), user_package), func_n2(trunc_rem)); reg_fun(intern(lit("wrap"), user_package), func_n3(wrap)); reg_fun(intern(lit("wrap*"), user_package), func_n3(wrap_star)); reg_fun(intern(lit("/"), user_package), func_n1v(divv)); @@ -5705,6 +5704,10 @@ void eval_init(void) reg_fun(intern(lit("floor"), user_package), func_n2o(floordiv, 1)); reg_fun(intern(lit("ceil"), user_package), func_n2o(ceildiv, 1)); reg_fun(intern(lit("round"), user_package), func_n2o(roundiv, 1)); + reg_fun(intern(lit("trunc-rem"), user_package), func_n2o(trunc_rem, 1)); + reg_fun(intern(lit("floor-rem"), user_package), func_n2o(floor_rem, 1)); + reg_fun(intern(lit("ceil-rem"), user_package), func_n2o(ceil_rem, 1)); + reg_fun(intern(lit("round-rem"), user_package), func_n2o(round_rem, 1)); reg_fun(intern(lit("sin"), user_package), func_n1(sine)); reg_fun(intern(lit("cos"), user_package), func_n1(cosi)); reg_fun(intern(lit("tan"), user_package), func_n1(tang)); |