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