add checks for 𝕨<¯1 in ⊔
This commit is contained in:
parent
f5388fbdfa
commit
6942b2d04c
@ -609,7 +609,11 @@ B group_c2(B t, B w, B x) {
|
||||
TALLOC(i32, len, ria);
|
||||
TALLOC(i32, pos, ria);
|
||||
for (usz i = 0; i < ria; i++) len[i] = pos[i] = 0;
|
||||
for (usz i = 0; i < xia; i++) { i32 n = wp[i]; if (n>=0) len[n]++; }
|
||||
for (usz i = 0; i < xia; i++) {
|
||||
i32 n = wp[i];
|
||||
if (n>=0) len[n]++;
|
||||
if (n<-1) thrM("⊔: 𝕨 can't contain elements less than ¯1");
|
||||
}
|
||||
|
||||
Arr* r = m_fillarrp(ria); fillarr_setFill(r, m_f64(0));
|
||||
arr_shVec(r, ria);
|
||||
@ -655,8 +659,9 @@ B group_c2(B t, B w, B x) {
|
||||
BS2B wgetU = TI(w).getU;
|
||||
i64 ria = wia==xia? -1 : o2i64(wgetU(w, xia))-1;
|
||||
for (usz i = 0; i < xia; i++) {
|
||||
if (!isNum(w)) goto base;
|
||||
i64 c = o2i64(wgetU(w, i));
|
||||
B cw = wgetU(w, i);
|
||||
if (!q_i64(cw)) goto base;
|
||||
i64 c = o2i64u(cw);
|
||||
if (c>ria) ria = c;
|
||||
}
|
||||
if (ria>USZ_MAX-1) thrOOM();
|
||||
@ -667,6 +672,7 @@ B group_c2(B t, B w, B x) {
|
||||
for (usz i = 0; i < xia; i++) {
|
||||
i64 n = o2i64u(wgetU(w, i));
|
||||
if (n>=0) len[n]++;
|
||||
if (n<-1) thrM("⊔: 𝕨 can't contain elements less than ¯1");
|
||||
}
|
||||
|
||||
Arr* r = m_fillarrp(ria); fillarr_setFill(r, m_f64(0));
|
||||
|
||||
Loading…
Reference in New Issue
Block a user