comparisons don't return floats

This commit is contained in:
dzaima 2021-09-05 22:14:50 +03:00
parent cec962fb8c
commit c2f0c2e76c

View File

@ -23,7 +23,7 @@
if(wa) dec(w); if(xa) dec(x); return r; \
} \
if ((we==el_f64||isNum(w)) && (xe==el_f64||isNum(x))) { \
f64* rp; B r = m_f64arrc(&rp, isArr(x)? x : w); usz ria=a(r)->ia; \
i32* rp; B r = m_i32arrc(&rp, isArr(x)? x : w); usz ria=a(r)->ia; \
if (!wa) { f64 wv=o2fu(w); f64* xp=f64any_ptr(x); for(usz i=0;i<ria;i++)rp[i]=wv OP xp[i]; } \
else if (!xa) { f64 xv=o2fu(x); f64* wp=f64any_ptr(w); for(usz i=0;i<ria;i++)rp[i]=wp[i] OP xv; } \
else { f64* wp=f64any_ptr(w); f64* xp=f64any_ptr(x); for(usz i=0;i<ria;i++)rp[i]=wp[i] OP xp[i]; } \
@ -38,12 +38,12 @@
} \
if (wa&xa) { \
if (we==el_f64 && xe==el_i32) { \
f64* rp; B r = m_f64arrc(&rp, isArr(x)? x : w); usz ria=a(r)->ia; \
i32* rp; B r = m_i32arrc(&rp, isArr(x)? x : w); usz ria=a(r)->ia; \
f64* wp=f64any_ptr(w); i32* xp=i32any_ptr(x); for(usz i=0;i<ria;i++)rp[i]=wp[i] OP xp[i]; \
dec(w); dec(x); return r; \
} \
if (we==el_i32 && xe==el_f64) { \
f64* rp; B r = m_f64arrc(&rp, isArr(x)? x : w); usz ria=a(r)->ia; \
i32* rp; B r = m_i32arrc(&rp, isArr(x)? x : w); usz ria=a(r)->ia; \
i32* wp=i32any_ptr(w); f64* xp=f64any_ptr(x); for(usz i=0;i<ria;i++)rp[i]=wp[i] OP xp[i]; \
dec(w); dec(x); return r; \
} \