summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-02-26 07:33:09 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-02-26 07:33:09 -0800
commita66888b6e07dbfd6b22dcd7fa9e240692c17a039 (patch)
tree251e76409dbe78994bd4eb9ed4ea7237020bd47e /eval.c
parent0f32fe85728e4ee35a25094d99bdf7b3ff1630a7 (diff)
downloadtxr-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.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index bc58d303..62c24170 100644
--- a/eval.c
+++ b/eval.c
@@ -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));