summaryrefslogtreecommitdiffstats
path: root/lib.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-08-13 21:47:02 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-08-13 21:47:02 -0700
commitf2e197dcd31d737bf23816107343f67e2bf6dd8e (patch)
treeecdefacfe4177012fae54ae74d8c309eab336767 /lib.c
parent4b308561021d4dedd7e83e5df30534d1fdde2216 (diff)
downloadtxr-f2e197dcd31d737bf23816107343f67e2bf6dd8e.tar.gz
txr-f2e197dcd31d737bf23816107343f67e2bf6dd8e.tar.bz2
txr-f2e197dcd31d737bf23816107343f67e2bf6dd8e.zip
New function, clamp.
* eval.c (eval_init): Register clamp as intrinsic function. * lib.c (clamp): New function. * lib.h (clamp): Declared. * txr.1: Documented.
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index 59f27aa6..4df1b1d8 100644
--- a/lib.c
+++ b/lib.c
@@ -2293,6 +2293,11 @@ val minv(val first, val rest)
return reduce_left(func_n2(min2), rest, first, nil);
}
+val clamp(val low, val high, val num)
+{
+ return max2(low, min2(high, num));
+}
+
val exptv(val nlist)
{
return reduce_right(func_n2(expt), nlist, one, nil);