inline part of depth

This commit is contained in:
dzaima 2022-09-18 21:58:53 +03:00
parent dd56cfab20
commit 43ddb9759c
3 changed files with 7 additions and 4 deletions

View File

@ -565,9 +565,7 @@ bool eequal(B w, B x) { // doesn't consume
return true; return true;
} }
u64 depth(B x) { // doesn't consume usz depthF(B x) { // doesn't consume
if (isAtm(x)) return 0;
if (TI(x,arrD1)) return 1;
u64 r = 0; u64 r = 0;
usz ia = IA(x); usz ia = IA(x);
SGetU(x) SGetU(x)

View File

@ -215,6 +215,12 @@ static bool atomEqual(B w, B x) { // doesn't consume
return atomEqualF(w, x); return atomEqualF(w, x);
} }
NOINLINE usz depthF(B x);
static usz depth(B x) { // doesn't consume
if (isAtm(x)) return 0;
if (TI(x,arrD1)) return 1;
return depthF(x);
}

View File

@ -338,7 +338,6 @@ void printRaw(B x); // doesn't consume
void arr_print(B x); // doesn't consume void arr_print(B x); // doesn't consume
bool equal(B w, B x); // doesn't consume bool equal(B w, B x); // doesn't consume
bool eequal(B w, B x); // doesn't consume bool eequal(B w, B x); // doesn't consume
u64 depth(B x); // doesn't consume
B toCells(B x); // consumes B toCells(B x); // consumes
B toKCells(B x, ur k); // consumes B toKCells(B x, ur k); // consumes
B withFill(B x, B f); // consumes both B withFill(B x, B f); // consumes both