diff --git a/src/builtins/arithd.c b/src/builtins/arithd.c index 591411da..ad52611a 100644 --- a/src/builtins/arithd.c +++ b/src/builtins/arithd.c @@ -24,40 +24,42 @@ static f64 pfmod(f64 a, f64 b) { #define GC2f(SYMB, NAME, EXPR, EXTRA) B NAME##_c2(B t, B w, B x) { \ if (isF64(w) & isF64(x)) return m_f64(EXPR); \ EXTRA \ - if (isArr(w)|isArr(x)) { B ow=w; B ox=x; \ + if (isArr(w)|isArr(x)) { \ if (isArr(w)&isArr(x) && RNK(w)==RNK(x)) { \ if (!eqShPart(SH(w), SH(x), RNK(w))) thrF(SYMB ": Expected equal shape prefix (%H ≡ ≢𝕨, %H ≡ ≢𝕩)", w, x); \ usz ia = IA(x); \ u8 we = TI(w,elType); \ u8 xe = TI(x,elType); \ - if ((we==el_i32|we==el_f64)&(xe==el_i32|xe==el_f64)) { \ + if (elNum(we) && elNum(xe)) { \ + if (we