From f2e197dcd31d737bf23816107343f67e2bf6dd8e Mon Sep 17 00:00:00 2001
From: Kaz Kylheku <kaz@kylheku.com>
Date: Thu, 13 Aug 2015 21:47:02 -0700
Subject: New function, clamp.

* eval.c (eval_init): Register clamp as intrinsic function.

* lib.c (clamp): New function.

* lib.h (clamp): Declared.

* txr.1: Documented.
---
 lib.c | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'lib.c')

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);
-- 
cgit v1.2.3