From 1451395ef540a19b93c911eda8034b079f3649be Mon Sep 17 00:00:00 2001 From: dzaima Date: Sat, 22 Jul 2023 21:13:49 +0300 Subject: [PATCH] don't do fancy char stuff for unchecked arith --- src/singeli/src/dyarith.singeli | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/singeli/src/dyarith.singeli b/src/singeli/src/dyarith.singeli index 9122ad14..80679a2d 100644 --- a/src/singeli/src/dyarith.singeli +++ b/src/singeli/src/dyarith.singeli @@ -98,15 +98,15 @@ def runner{u, R, F} = { def run{F, M, w, x & u} = tup{F{w, x}, tup{'none'}} # trivial base implementation def toggleTop{x:X} = x ^ X**(1<<(elwidth{X}-1)) - def run{F==__sub, M, w:VU, x:VU & is_u{VU}} = { # 'b'-'a' + def run{F==__sub, M, w:VU, x:VU & c & is_u{VU}} = { # 'b'-'a' def VS = ty_s{VU} run{F, M, VS~~toggleTop{w}, VS~~toggleTop{x}} } - def run{F, M, w:VU, x:VS & is_u{VU} & is_s{VS}} = { # 'a'+3, 'a'-3 + def run{F, M, w:VU, x:VS & c & is_u{VU} & is_s{VS}} = { # 'a'+3, 'a'-3 def {res, ok} = run{F, M, VS~~toggleTop{w}, x} tup{toggleTop{VU~~res}, ok} } - def run{F==__add, M, w:VS, x:VU & is_s{VS} & is_u{VU}} = run{F, M, x, w} # 3+'a' → 'a'+3 + def run{F==__add, M, w:VS, x:VU & c & is_s{VS} & is_u{VU}} = run{F, M, x, w} # 3+'a' → 'a'+3 def run{F, M, w:VW, x:VX & c & R==u32 & (same{F,__add} | same{F,__sub})} = { # 'a'+1, 'a'-1 r:= F{ty_u{w}, ty_u{x}}