From 81f71cdbf8446246837665cc6f13e3da95a7db58 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 12 Dec 2011 17:42:58 -0800 Subject: * arith.c (expt): New function. * eval.c (eval_init): Registering new intrinsic functions, reduce-left, reduce-right and expt. * lib.c (minusv): Return one instead of num(1). (exptv, reduce_right): New functions. * lib.h (expt, exptv, reduce_right): Declared. * txr.1: Blank sections for new functions. --- lib.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib.h') diff --git a/lib.h b/lib.h index c261fc04..4787e240 100644 --- a/lib.h +++ b/lib.h @@ -385,6 +385,8 @@ val max2(val anum, val bnum); val min2(val anum, val bnum); val maxv(val first, val rest); val minv(val first, val rest); +val expt(val base, val exp); +val exptv(val nlist); val string_own(wchar_t *str); val string(const wchar_t *str); val string_utf8(const char *str); @@ -465,6 +467,7 @@ val funcall2(val fun, val arg1, val arg2); val funcall3(val fun, val arg1, val arg2, val arg3); val funcall4(val fun, val arg1, val arg2, val arg3, val arg4); val reduce_left(val fun, val list, val init, val key); +val reduce_right(val fun, val list, val init, val key); /* The notation curry_12_2 means take some function f(arg1, arg2) and fix a value for argument 1 to create a g(arg2). Other variations follow by analogy. */ -- cgit v1.2.3