diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-02-24 20:15:17 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-02-24 20:15:17 -0800 |
commit | cf555eb22101b02bca5c0818ca4864a5b823acbc (patch) | |
tree | 6d7976666eaec919ffa7fbc51ee89190726eda8b /eval.c | |
parent | 77491d210b391d82cbf1a9b623092fb3caadba90 (diff) | |
download | txr-cf555eb22101b02bca5c0818ca4864a5b823acbc.tar.gz txr-cf555eb22101b02bca5c0818ca4864a5b823acbc.tar.bz2 txr-cf555eb22101b02bca5c0818ca4864a5b823acbc.zip |
floor and ceil do division, with optional second arg.
Also, with one argument, these functions handle
ranges.
* arith.c (floordiv, ceildiv): New functions.
(floorf, ceili): Handle ranges.
* eval.c (eval_init): Register floor and ceil
to new functions.
* lib.h (floordiv, ceildiv): Declared.
* txr.1: Documentation updated.
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -5702,8 +5702,8 @@ void eval_init(void) reg_fun(intern(lit("isqrt"), user_package), func_n1(isqrt)); reg_fun(intern(lit("gcd"), user_package), func_n0v(gcdv)); reg_fun(intern(lit("lcm"), user_package), func_n0v(lcmv)); - reg_fun(intern(lit("floor"), user_package), func_n1(floorf)); - reg_fun(intern(lit("ceil"), user_package), func_n1(ceili)); + 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("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)); |