diff --git a/src/singeli/src/base.singeli b/src/singeli/src/base.singeli index e2d57cf7..27cf3de6 100644 --- a/src/singeli/src/base.singeli +++ b/src/singeli/src/base.singeli @@ -31,7 +31,7 @@ def exportN{f, ...ns} = each{export{.,f}, ns} def exportT{name, fs} = { v:*oneType{fs} = fs; export{name, v} } oper &~ andnot infix none 35 -def andnot{a, b:T if any_num{a} and isprim{T}} = a & ~b +def andnot{a, b:T if any_int{a} and isprim{T}} = a & ~b def andnot{a:T, b if isprim{T} and knum{b}} = a & ~T~~b oper &- ({v:T,m:(u1)} => v & -promote{T,m}) infix left 35 diff --git a/src/singeli/src/cbqnDefs.singeli b/src/singeli/src/cbqnDefs.singeli index fc7dc6ef..e60d080c 100644 --- a/src/singeli/src/cbqnDefs.singeli +++ b/src/singeli/src/cbqnDefs.singeli @@ -44,7 +44,7 @@ def el_c16 = 6 def el_c32 = 7 def el_B = 8 -def get_range{elt, data:*_, len:ux if any_num{elt} and (not knum{elt} or (elt>=el_bit and elt<=el_f64))} = { +def get_range{elt, data:*_, len:ux if any_int{elt} and (not knum{elt} or (elt>=el_bit and elt<=el_f64))} = { def fns = emit{*fntype{*void, *i64, u64, u1}, '', 'getRange_fns'} buf:*i64 = undefined{i64, 2} def ok = load{fns, elt}(*void~~data, buf, len)