From 40768ab0200b1017e0cb9e1f799fced830074519 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 24 Feb 2019 20:14:17 -0800 Subject: bracket: new function. * eval.c (eval_init): Register bracket intrinsic. * lib.c (bracket): New function. * lib.h (bracket): Declared. * txr.1: Documented. --- lib.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib.c') diff --git a/lib.c b/lib.c index 00807a85..194d8cb6 100644 --- a/lib.c +++ b/lib.c @@ -3586,6 +3586,19 @@ static val rexpt(val right, val left) return expt(left, right); } +val bracket(val larg, struct args *args) +{ + cnum index = 0; + + while (args_more(args, index)) { + val rarg = args_get(args, &index); + if (less(larg, rarg)) + return num(index - 1); + } + + return num(index); +} + val exptv(struct args *nlist) { cnum nargs = args_count(nlist); -- cgit v1.2.3