•Type, •PrimInd, •Decompose
This commit is contained in:
parent
67dad6cc1d
commit
be994f822b
2
src/h.h
2
src/h.h
@ -403,7 +403,7 @@ void printRaw(B x) {
|
|||||||
BS2B xget = TI(x).get;
|
BS2B xget = TI(x).get;
|
||||||
for (usz i = 0; i < ia; i++) {
|
for (usz i = 0; i < ia; i++) {
|
||||||
B c = xget(x,i);
|
B c = xget(x,i);
|
||||||
if (c.u==0) { printf(" "); continue; }
|
if (c.u==0 | c.u==bi_noFill.u) { printf(" "); continue; }
|
||||||
if (!isC32(c)) err("bad printRaw argument: expected all character items");
|
if (!isC32(c)) err("bad printRaw argument: expected all character items");
|
||||||
printUTF8((u32)c.u);
|
printUTF8((u32)c.u);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -122,7 +122,7 @@ B scan_c2(B d, B w, B x) { B f = c(Md1D,d)->f;
|
|||||||
if (xr==0) return err("`: 𝕩 cannot be a scalar");
|
if (xr==0) return err("`: 𝕩 cannot be a scalar");
|
||||||
if (wr+1 != xr) return err("`: shape of 𝕨 must match the cell of 𝕩");
|
if (wr+1 != xr) return err("`: shape of 𝕨 must match the cell of 𝕩");
|
||||||
if (memcmp(wsh, xsh+1, wr)) return err("`: shape of 𝕨 must match the cell of 𝕩");
|
if (memcmp(wsh, xsh+1, wr)) return err("`: shape of 𝕨 must match the cell of 𝕩");
|
||||||
if (ia==0) { ptr_dec(r.c); return x; }
|
if (ia==0) { ptr_dec(r.c); return x; } // only safe as r would have 0 items too
|
||||||
usz csz = arr_csz(x);
|
usz csz = arr_csz(x);
|
||||||
for (usz i = 0; i < csz; i++) r.a[i] = c2(f, wget(w,i), xget(x,i));
|
for (usz i = 0; i < csz; i++) r.a[i] = c2(f, wget(w,i), xget(x,i));
|
||||||
for (usz i = csz; i < ia; i++) r.a[i] = c2(f, inc(r.a[i-csz]), xget(x,i));
|
for (usz i = csz; i < ia; i++) r.a[i] = c2(f, inc(r.a[i-csz]), xget(x,i));
|
||||||
|
|||||||
@ -150,6 +150,9 @@ B sys_c1(B t, B x) {
|
|||||||
B c = xget(x,i);
|
B c = xget(x,i);
|
||||||
if (eqStr(c, U"internal")) r.a[i] = inc(bi_internal);
|
if (eqStr(c, U"internal")) r.a[i] = inc(bi_internal);
|
||||||
else if (eqStr(c, U"eq")) r.a[i] = inc(bi_feq);
|
else if (eqStr(c, U"eq")) r.a[i] = inc(bi_feq);
|
||||||
|
else if (eqStr(c, U"decompose")) r.a[i] = inc(bi_decp);
|
||||||
|
else if (eqStr(c, U"primind")) r.a[i] = inc(bi_primInd);
|
||||||
|
else if (eqStr(c, U"type")) r.a[i] = inc(bi_type);
|
||||||
else err("Unknown system function");
|
else err("Unknown system function");
|
||||||
}
|
}
|
||||||
dec(x);
|
dec(x);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user