From 6d7b883bd8dc79ed81f72db820bd23869e725704 Mon Sep 17 00:00:00 2001
From: Dirk Zimoch <dirk.zimoch@psi.ch>
Date: Wed, 2 May 2018 14:48:16 +0200
Subject: [PATCH] add <? (min) and >? (max) operators

---
 expr.c     |  2 ++
 testscript | 12 ++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/expr.c b/expr.c
index f50a874f..e56ed20e 100644
--- a/expr.c
+++ b/expr.c
@@ -90,6 +90,7 @@ struct {char str[4]; int pr;} ops[] = {
     {"*", 13},{"/",13},{"%",13},
     {"+",12},{"-",12},
     {"<<",11},{">>>",11},{">>",11},
+    {"<?",10},{">?",10},
     {"<=>",9},
     {"<=",8},{">=",8},{"<",8},{">",8},
     {"==",7},{"!=",7},
@@ -104,6 +105,7 @@ enum op {
     op_mul,op_div,op_mod,
     op_plus,op_minus,
     op_lshift,op_urshift,op_rshift,
+    op_min,op_max,
     op_cmp,
     op_lteq,op_gteq,op_lt,op_gt,
     op_eq,op_neq,
diff --git a/testscript b/testscript
index 4f155245..4e262c17 100644
--- a/testscript
+++ b/testscript
@@ -18,14 +18,14 @@ x=%x -10<<2, %x -10>>2, %x -10>>>2
 x=%x 0xaa & 0x0f, %x 0xaa | 0x0f, %x 0xaa ^ 0x0f
 # $(x) should be: a, af, a5
 
-x=10<20 10<=20 10==20 10>=20 10>20 10<=>20
-# $(x) should be: 1 1 0 0 0 -1
+x=10<20 10<=20 10==20 10>=20 10>20 10<=>20 10<?20 10>?20 10?<20 10?>20
+# $(x) should be: 1 1 0 0 0 -1 10 20 1 0
 
-x=20<20 20<=20 20==20 20>=20 20>20 20<=>20
-# $(x) should be: 0 1 1 1 0 0
+x=20<20 20<=20 20==20 20>=20 20>20 20<=>20 20<?20 20>?20 20?<20 20?>20
+# $(x) should be: 0 1 1 1 0 0 20 20 1 0
 
-x=20<10 20<=10 20==10 20>=10 20>10 20<=>10
-# $(x) should be: 0 0 0 1 1 1
+x=20<10 20<=10 20==10 20>=10 20>10 20<=>10 20<?10 20>?10 20?<10 20?>10
+# $(x) should be: 0 0 0 1 1 1 10 20 1 0
 
 x= (0|0)(0|1)(1|0)(1|1) (0&0)(0&1)(1&0)(1&1) (0^0)(0^1)(1^0)(1^1) 
 # $(x) should be: 0111 0001 0110
-- 
GitLab