diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2017-08-05 21:11:30 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2017-08-05 21:11:30 -0700 |
commit | 2844bb73b485450660d70de2de489590d0995d9e (patch) | |
tree | c13cce580f6a983db3db2086e141917b7b645cb6 /lib.c | |
parent | 905a08374e2901e97b18e58d970f95a25ec6fc10 (diff) | |
download | txr-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 'lib.c')
-rw-r--r-- | lib.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -3277,6 +3277,18 @@ val numneqv(struct args *args) return t; } +val sum(val seq) +{ + args_decl_list(args, ARGS_MIN, tolist(seq)); + return plusv(args); +} + +val prod(val seq) +{ + args_decl_list(args, ARGS_MIN, tolist(seq)); + return mulv(args); +} + val max2(val a, val b) { return if3(less(a, b), b, a); |