summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-08-05 21:11:30 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-08-05 21:11:30 -0700
commit2844bb73b485450660d70de2de489590d0995d9e (patch)
treec13cce580f6a983db3db2086e141917b7b645cb6 /eval.c
parent905a08374e2901e97b18e58d970f95a25ec6fc10 (diff)
downloadtxr-2844bb73b485450660d70de2de489590d0995d9e.tar.gz
txr-2844bb73b485450660d70de2de489590d0995d9e.tar.bz2
txr-2844bb73b485450660d70de2de489590d0995d9e.zip
Add sum and prod convenience functions.
* eval.c (eval_init): prod and sum intrinsics registered. * lib.c (sum, prod): New functions. * lib.h (sum, prod): Declared. * txr.1: Documented.
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 63968f35..00e65163 100644
--- a/eval.c
+++ b/eval.c
@@ -5829,6 +5829,8 @@ void eval_init(void)
reg_fun(plus_s = intern(lit("+"), user_package), func_n0v(plusv));
reg_fun(intern(lit("-"), user_package), func_n1v(minusv));
reg_fun(intern(lit("*"), user_package), func_n0v(mulv));
+ reg_fun(intern(lit("sum"), user_package), func_n1(sum));
+ reg_fun(intern(lit("prod"), user_package), func_n1(prod));
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));