make gcc scream less
This commit is contained in:
parent
0e306ca149
commit
2299c8094e
@ -300,7 +300,8 @@ B GRADE_CAT(c2)(B t, B w, B x) {
|
||||
if (!elInt(we) | !elInt(xe)) goto gen;
|
||||
w=toI32Any(w); x=toI32Any(x);
|
||||
} else {
|
||||
for (u64 i=0; i<xia; i++) rp[i]=wia; goto done;
|
||||
for (u64 i=0; i<xia; i++) rp[i]=wia;
|
||||
goto done;
|
||||
}
|
||||
} else { // character
|
||||
if (elNum(xe)) {
|
||||
|
||||
@ -259,7 +259,7 @@ B scan_c2(Md1D* d, B w, B x) { B f = d->f;
|
||||
if (xe==el_i32 && wv==(i32)wv) { i32* xp=i32any_ptr(x); i32* rp; B r=m_i32arrv(&rp, ia); i32 c=wv; for (usz i=0; i<ia; i++) { if (xp[i]>c)c=xp[i]; rp[i]=c; } decG(x); return r; }
|
||||
}
|
||||
if (rtid==n_ne) { // ≠
|
||||
if (!q_ibit(wv)) goto base; bool c=wv;
|
||||
if (!q_ibit(wv)) { goto base; } bool c=wv;
|
||||
if (xe==el_i8 ) { i8* xp=i8any_ptr (x); u64* rp; B r=m_bitarrv(&rp, ia); for (usz i=0; i<ia; i++) { c^= xp[i]; bitp_set(rp,i,c); } decG(x); return r; }
|
||||
if (xe==el_i16) { i16* xp=i16any_ptr(x); u64* rp; B r=m_bitarrv(&rp, ia); for (usz i=0; i<ia; i++) { c^= xp[i]; bitp_set(rp,i,c); } decG(x); return r; }
|
||||
if (xe==el_i32) { i32* xp=i32any_ptr(x); u64* rp; B r=m_bitarrv(&rp, ia); for (usz i=0; i<ia; i++) { c^= xp[i]; bitp_set(rp,i,c); } decG(x); return r; }
|
||||
|
||||
@ -103,7 +103,7 @@ B select_c2(B t, B w, B x) {
|
||||
if (max>=(i64)xia) thrF("⊏: Indexing out-of-bounds (%i∊𝕨, %s≡≠𝕩)", max, xia); \
|
||||
W* ip=wp; usz off=xia; \
|
||||
if (max>=0) { off=0; if (RARE(min<0)) { \
|
||||
if (!wt) wt=TALLOCP(W,i1-i0); ip=wt-i0; \
|
||||
if (!wt) {wt=TALLOCP(W,i1-i0);} ip=wt-i0; \
|
||||
for (usz i=i0; i<i1; i++) { W e=wp[i]; ip[i]=e+((W)xia & (W)-(e<0)); } \
|
||||
} } \
|
||||
switch(xw) { default:UD; CASE(1,u8); CASE(2,u16); CASE(4,u32); CASE(8,f64); } \
|
||||
|
||||
@ -360,8 +360,8 @@ B rand_range_c2(B t, B w, B x) {
|
||||
if (t==t_bitarr) { mask = ~0L; goto end; }
|
||||
mask = max-1;
|
||||
mask|= mask<<32;
|
||||
if (t==t_i32arr) goto end; mask|= mask<<16;
|
||||
if (t==t_i16arr) goto end; mask|= mask<<8;
|
||||
if (t==t_i32arr) { goto end; } mask|= mask<<16;
|
||||
if (t==t_i16arr) { goto end; } mask|= mask<<8;
|
||||
|
||||
end:
|
||||
NOUNROLL for (usz i = 0; i < u64am; i++) ((u64*)rp)[i] = wyrand(&seed) & mask;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user