faster value⊸F & F⟜value

This commit is contained in:
dzaima 2022-06-28 15:58:13 +03:00
parent 8882fb959a
commit 86cf6f5c2d

View File

@ -117,10 +117,12 @@ B repeat_c2(Md2D* d, B w, B x) { REPEAT_T(c2,dec(w), inc(w), ); }
#undef REPEAT_T #undef REPEAT_T
B before_c1(Md2D* d, B x) { return c2(d->g, c1iX(d->f, x), x); } NOINLINE B before_c1F(Md2D* d, B x, B f) { errMd(f); return c2(d->g, c(Fun,f)->c1(f,inc(x)), x); }
B before_c2(Md2D* d, B w, B x) { return c2(d->g, c1i (d->f, w), x); } NOINLINE B after_c1F (Md2D* d, B x, B g) { errMd(g); return c2(d->f, x, c(Fun,g)->c1(g,inc(x))); }
B after_c1(Md2D* d, B x) { return c2(d->f, x, c1iX(d->g, x)); } B before_c1(Md2D* d, B x) { B f=d->f; return isCallable(f)? before_c1F(d, x, f) : c2(d->g, inc(f), x); }
B after_c2(Md2D* d, B w, B x) { return c2(d->f, w, c1i (d->g, x)); } B after_c1 (Md2D* d, B x) { B g=d->g; return isCallable(g)? after_c1F (d, x, g) : c2(d->f, x, inc(g)); }
B before_c2(Md2D* d, B w, B x) { return c2(d->g, c1i(d->f, w), x); }
B after_c2 (Md2D* d, B w, B x) { return c2(d->f, w, c1i(d->g, x)); }
B atop_c1(Md2D* d, B x) { return c1(d->f, c1(d->g, x)); } B atop_c1(Md2D* d, B x) { return c1(d->f, c1(d->g, x)); }
B atop_c2(Md2D* d, B w, B x) { return c1(d->f, c2(d->g, w, x)); } B atop_c2(Md2D* d, B w, B x) { return c1(d->f, c2(d->g, w, x)); }
B over_c1(Md2D* d, B x) { return c1(d->f, c1(d->g, x)); } B over_c1(Md2D* d, B x) { return c1(d->f, c1(d->g, x)); }