u3: refactors set treap jets (+in)

This commit is contained in:
Joe Bryan 2019-09-10 17:26:47 -07:00
parent 22f10d755f
commit 722b961d3a
9 changed files with 418 additions and 512 deletions

View File

@ -5,72 +5,68 @@
/* internal functions
*/
static
u3_noun _i_bif_putroot(u3_noun a,
u3_noun b)
{
if ( u3_nul == a) {
return u3nt(u3k(b), u3_nul, u3_nul);
static u3_noun
_i_bif_putroot(u3_noun a,
u3_noun b)
{
if ( u3_nul == a) {
return u3nt(u3k(b), u3_nul, u3_nul);
}
else {
u3_noun n_a, lr_a;
u3x_cell(a, &n_a, &lr_a);
if ( c3y == u3r_sing(b, n_a) ) {
return u3k(a);
}
else {
u3_noun n_a, l_a, r_a;
u3_noun c, n_c, l_c, r_c;
u3_noun d;
u3_noun l_a, r_a;
u3x_cell(lr_a, &l_a, &r_a);
if ( (c3n == u3r_trel(a, &n_a, &l_a, &r_a)) ) {
return u3m_bail(c3__exit);
}
else if ( c3y == u3r_sing(b, n_a) ) {
return u3k(a);
if ( c3y == u3qc_gor(b, n_a) ) {
c = _i_bif_putroot(l_a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
d = u3nt(u3k(n_c),
u3k(l_c),
u3nt(u3k(n_a), u3k(r_c), u3k(r_a)));
u3z(c);
return d;
}
else {
u3_noun c, n_c, l_c, r_c;
u3_noun d;
if ( c3y == u3qc_gor(b, n_a) ) {
c = _i_bif_putroot(l_a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
d = u3nt(u3k(n_c),
u3k(l_c),
u3nt(u3k(n_a), u3k(r_c), u3k(r_a)));
u3z(c);
return d;
} else {
c = _i_bif_putroot(r_a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
d = u3nt(u3k(n_c),
u3nt(u3k(n_a), u3k(l_a), u3k(l_c)),
u3k(r_c));
u3z(c);
return d;
}
c = _i_bif_putroot(r_a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
d = u3nt(u3k(n_c),
u3nt(u3k(n_a), u3k(l_a), u3k(l_c)),
u3k(r_c));
u3z(c);
return d;
}
}
}
}
/* functions
*/
u3_noun u3wdi_bif(u3_noun cor)
{
u3_noun a, b;
if ( c3n == u3r_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_bif(a, b);
}
}
u3_noun
u3wdi_bif(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_bif(a, b);
}
u3_noun u3qdi_bif(u3_noun a,
u3_noun b)
{
u3_noun c, n_c, l_c, r_c;
u3_noun d;
u3_noun
u3qdi_bif(u3_noun a,
u3_noun b)
{
u3_noun c, n_c, l_c, r_c;
u3_noun d;
c = _i_bif_putroot(a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
d = u3nc(u3k(l_c), u3k(r_c));
u3z(c);
return d;
}
/*
u3_weak u3kdi_bif(u3_noun a, u3_noun b);
*/
c = _i_bif_putroot(a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
d = u3nc(u3k(l_c), u3k(r_c));
u3z(c);
return d;
}

View File

@ -5,101 +5,84 @@
/* functions
*/
static u3_noun
_rebalance(u3_noun a)
{
static u3_noun
_rebalance(u3_noun a)
{
u3_noun l_a, n_a, r_a;
u3x_trel(a, &n_a, &l_a, &r_a);
if ( u3_nul == l_a) {
return u3k(r_a);
}
else if ( u3_nul == r_a) {
return u3k(l_a);
}
else {
u3_noun n_l_a, l_l_a, r_l_a;
u3_noun n_r_a, l_r_a, r_r_a;
u3x_trel(l_a, &n_l_a, &l_l_a, &r_l_a);
u3x_trel(r_a, &n_r_a, &l_r_a, &r_r_a);
if ( c3y == u3qc_mor(n_l_a, n_r_a) ) {
u3_noun new_right = u3nt(u3k(n_a),
u3k(r_l_a),
u3k(r_a));
u3_noun ret = u3nt(u3k(n_l_a),
u3k(l_l_a),
_rebalance(new_right));
u3z(new_right);
return ret;
}
else {
u3_noun new_left = u3nt(u3k(n_a),
u3k(l_a),
u3k(l_r_a));
u3_noun ret = u3nt(u3k(n_r_a),
_rebalance(new_left),
u3k(r_r_a));
u3z(new_left);
return ret;
}
}
}
u3_noun
u3qdi_del(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return u3_nul;
}
else {
u3_noun l_a, n_a, r_a;
u3x_trel(a, &n_a, &l_a, &r_a);
if ( c3n == u3r_trel(a, &n_a, &l_a, &r_a) ) {
return u3m_bail(c3__exit);
if ( c3y == u3r_sing(n_a, b) ) {
return _rebalance(a);
}
else {
if ( u3_nul == l_a) {
return u3k(r_a);
}
else if ( u3_nul == r_a) {
return u3k(l_a);
if ( c3y == u3qc_gor(b, n_a) ) {
return u3nt(u3k(n_a),
u3qdi_del(l_a, b),
u3k(r_a));
}
else {
u3_noun n_l_a, l_l_a, r_l_a;
u3_noun n_r_a, l_r_a, r_r_a;
if ( (c3n == u3r_trel(l_a, &n_l_a, &l_l_a, &r_l_a) ) ||
(c3n == u3r_trel(r_a, &n_r_a, &l_r_a, &r_r_a) ) ) {
return u3m_bail(c3__exit);
}
else {
if ( c3y == u3qc_mor(n_l_a, n_r_a) ) {
u3_noun new_right = u3nt(u3k(n_a),
u3k(r_l_a),
u3k(r_a));
u3_noun ret = u3nt(u3k(n_l_a),
u3k(l_l_a),
_rebalance(new_right));
u3z(new_right);
return ret;
}
else {
u3_noun new_left = u3nt(u3k(n_a),
u3k(l_a),
u3k(l_r_a));
u3_noun ret = u3nt(u3k(n_r_a),
_rebalance(new_left),
u3k(r_r_a));
u3z(new_left);
return ret;
}
}
return u3nt(u3k(n_a),
u3k(l_a),
u3qdi_del(r_a, b));
}
}
}
}
u3_noun
u3qdi_del(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return u3_nul;
}
else {
u3_noun l_a, n_a, r_a;
if ( (c3n == u3r_trel(a, &n_a, &l_a, &r_a)) ) {
return u3m_bail(c3__exit);
}
else if ( c3n == u3r_sing(n_a, b) ) {
if ( c3y == u3qc_gor(b, n_a) ) {
return u3nt(u3k(n_a),
u3qdi_del(l_a, b),
u3k(r_a));
}
else {
return u3nt(u3k(n_a),
u3k(l_a),
u3qdi_del(r_a, b));
}
}
else {
return _rebalance(a);
}
}
}
u3_noun
u3wdi_del(u3_noun cor)
{
u3_noun a, b;
if ( c3n == u3r_mean(cor, u3x_sam, &b,
u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
}
else {
u3_noun n = u3qdi_del(a, b);
return n;
}
}
u3_noun
u3wdi_del(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_del(a, b);
}

View File

@ -5,78 +5,71 @@
/* internal functions
*/
static
u3_noun _i_dif_join(u3_noun d,
u3_noun e)
{
if ( u3_nul == d ) {
return u3k(e);
} else if (u3_nul == e) {
return u3k(d);
} else {
u3_noun n_d, l_d, r_d;
u3_noun n_e, l_e, r_e;
static u3_noun
_i_dif_join(u3_noun d,
u3_noun e)
{
if ( u3_nul == d ) {
return u3k(e);
}
else if ( u3_nul == e ) {
return u3k(d);
}
else {
u3_noun n_d, lr_d;
u3_noun n_e, lr_e;
u3x_cell(d, &n_d, &lr_d);
u3x_cell(e, &n_e, &lr_e);
if ( c3n == u3r_trel(d, &n_d, &l_d, &r_d)
|| c3n == u3r_trel(e, &n_e, &l_e, &r_e) ) {
return u3m_bail(c3__exit);
} else {
if ( c3y == u3qc_mor(n_d, n_e) ) {
return u3nt(u3k(n_d),
u3k(l_d),
_i_dif_join(u3k(r_d), u3k(e)));
} else {
return u3nt(u3k(n_e),
_i_dif_join(u3k(d), u3k(l_e)),
u3k(r_e));
}
}
if ( c3y == u3qc_mor(n_d, n_e) ) {
u3_noun l_d, r_d;
u3x_cell(lr_d, &l_d, &r_d);
return u3nt(u3k(n_d),
u3k(l_d),
_i_dif_join(u3k(r_d), u3k(e)));
}
else {
u3_noun l_e, r_e;
u3x_cell(lr_e, &l_e, &r_e);
return u3nt(u3k(n_e),
_i_dif_join(u3k(d), u3k(l_e)),
u3k(r_e));
}
}
}
/* functions
*/
u3_noun u3wdi_dif(u3_noun cor)
{
u3_noun a, b;
if ( c3n == u3r_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_dif(a, b);
}
u3_noun
u3wdi_dif(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_dif(a, b);
}
u3_noun
u3qdi_dif(u3_noun a,
u3_noun b)
{
if ( u3_nul == b ) {
return u3k(a);
}
else {
u3_noun n_b, l_b, r_b;
u3_noun c, l_c, r_c;
u3_noun d, e;
u3_noun u3qdi_dif(u3_noun a,
u3_noun b)
{
if ( u3_nul == b ) {
return u3k(a);
} else {
u3_noun n_b, l_b, r_b;
u3_noun c, l_c, r_c;
u3x_trel(b, &n_b, &l_b, &r_b);
c = u3qdi_bif(a, n_b);
u3x_cell(c, &l_c, &r_c);
if ( c3n == u3r_trel(b, &n_b, &l_b, &r_b) ) {
return u3m_bail(c3__exit);
} else {
d = u3qdi_dif(l_c, l_b);
e = u3qdi_dif(r_c, r_b);
u3z(c);
c = u3qdi_bif(a, n_b);
if ( c3n == u3r_cell(c, &l_c, &r_c) ) {
return u3m_bail(c3__exit);
} else {
u3_noun d;
u3_noun e;
d = u3qdi_dif(l_c, l_b);
e = u3qdi_dif(r_c, r_b);
u3z(c);
return _i_dif_join(d, e);
}
}
}
return _i_dif_join(d, e);
}
/*
u3_weak u3kdi_dif(u3_noun a, u3_noun b);
*/
}

View File

@ -3,56 +3,39 @@
*/
#include "all.h"
/* functions
*/
u3_noun
u3qdi_gas(u3_noun a,
u3_noun b)
{
if ( u3_nul == b ) {
return u3k(a);
}
else {
if ( c3n == u3du(b) ) {
return u3m_bail(c3__exit);
} else {
u3_noun i_b = u3h(b);
u3_noun t_b = u3t(b);
u3_noun c;
if ( u3_none == (c = u3qdi_put(a, i_b)) ) {
return u3m_bail(c3__exit);
} else {
u3_noun d = u3qdi_gas(c, t_b);
u3z(c);
return d;
}
}
}
u3_noun
u3qdi_gas(u3_noun a,
u3_noun b)
{
if ( u3_nul == b ) {
return u3k(a);
}
u3_noun
u3wdi_gas(u3_noun cor)
{
u3_noun a, b;
else {
u3_noun i_b, t_b;
u3x_cell(b, &i_b, &t_b);
if ( c3n == u3r_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_gas(a, b);
}
u3_noun c = u3qdi_put(a, i_b);
u3_noun d = u3qdi_gas(c, t_b);
u3z(c);
return d;
}
u3_noun
u3kdi_gas(u3_noun a,
u3_noun b)
{
u3_weak c = u3qdi_gas(a, b);
}
u3z(a); u3z(b);
if ( u3_none == c ) {
return u3m_bail(c3__exit);
}
else return c;
}
u3_noun
u3wdi_gas(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_gas(a, b);
}
u3_noun
u3kdi_gas(u3_noun a,
u3_noun b)
{
u3_noun c = u3qdi_gas(a, b);
u3z(a); u3z(b);
return c;
}

View File

@ -3,56 +3,42 @@
*/
#include "all.h"
/* functions
*/
u3_noun
u3qdi_has(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return c3n;
u3_noun
u3qdi_has(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return c3n;
}
else {
u3_noun n_a, lr_a;
u3x_cell(a, &n_a, &lr_a);
if ( (c3y == u3r_sing(b, n_a)) ) {
return c3y;
}
else {
u3_noun l_a, n_a, r_a;
if ( (c3n == u3r_mean(a, 2, &n_a, 6, &l_a, 7, &r_a, 0)) ) {
return u3m_bail(c3__exit);
}
else {
if ( (c3y == u3r_sing(b, n_a)) ) {
return c3y;
}
else {
if ( c3y == u3qc_gor(b, n_a) ) {
return u3qdi_has(l_a, b);
}
else return u3qdi_has(r_a, b);
}
}
return ( c3y == u3qc_gor(b, n_a) ) ? u3qdi_has(u3h(lr_a), b)
: u3qdi_has(u3t(lr_a), b);
}
}
u3_noun
u3wdi_has(u3_noun cor)
{
u3_noun a, b;
}
if ( c3n == u3r_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_has(a, b);
}
}
u3_noun
u3kdi_has(u3_noun a,
u3_noun b)
{
u3_weak c = u3qdi_has(a, b);
u3z(a); u3z(b);
if ( u3_none == c ) {
return u3m_bail(c3__exit);
}
else return c;
}
u3_noun
u3wdi_has(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_has(a, b);
}
u3_noun
u3kdi_has(u3_noun a,
u3_noun b)
{
u3_noun c = u3qdi_has(a, b);
u3z(a); u3z(b);
return c;
}

View File

@ -3,100 +3,84 @@
*/
#include "all.h"
/* functions
*/
u3_noun
u3qdi_put(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return u3nt(u3k(b), u3_nul, u3_nul);
u3_noun
u3qdi_put(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return u3nt(u3k(b), u3_nul, u3_nul);
}
else {
u3_noun n_a, lr_a;
u3x_cell(a, &n_a, &lr_a);
if ( c3y == u3r_sing(n_a, b) ) {
return u3k(a);
}
else {
u3_noun l_a, n_a, r_a, lr_a; // XX copy tree boilerplate to other pt4
u3_noun c, l_c, n_c, r_c;
u3_noun c, n_c, l_c, r_c;
u3_noun l_a, r_a;
u3x_cell(lr_a, &l_a, &r_a);
if ( (c3n == u3r_cell(a, &n_a, &lr_a)) ) {
return u3m_bail(c3__exit);
}
else if ( c3y == u3r_sing(n_a, b) ) {
return u3k(a);
}
else if ( c3n == u3r_cell(lr_a, &l_a, &r_a) ) {
return u3m_bail(c3__exit);
}
else {
if ( c3y == u3qc_gor(b, n_a) ) {
c = u3qdi_put(l_a, b);
if ( c3y == u3qc_gor(b, n_a) ) {
c = u3qdi_put(l_a, b);
if ( c3y == u3qc_mor(n_a, u3h(c)) ) {
return u3nt(u3k(n_a),
c,
u3k(r_a));
}
else {
u3r_trel(c, &n_c, &l_c, &r_c);
{
u3_noun d = u3nt(u3k(n_c),
u3k(l_c),
u3nt(u3k(n_a),
u3k(r_c),
u3k(r_a)));
u3z(c);
return d;
}
}
if ( c3y == u3qc_mor(n_a, u3h(c)) ) {
return u3nt(u3k(n_a),
c,
u3k(r_a));
}
else {
c = u3qdi_put(r_a, b);
u3r_trel(c, &n_c, &l_c, &r_c);
{
u3_noun d = u3nt(u3k(n_c),
u3k(l_c),
u3nt(u3k(n_a), u3k(r_c), u3k(r_a)));
if ( c3y == u3qc_mor(n_a, u3h(c)) ) {
return u3nt(u3k(n_a),
u3k(l_a),
c);
u3z(c);
return d;
}
else {
u3r_trel(c, &n_c, &l_c, &r_c);
{
u3_noun d = u3nt(u3k(n_c),
u3nt(u3k(n_a),
u3k(l_a),
u3k(l_c)),
u3k(r_c));
}
}
else {
c = u3qdi_put(r_a, b);
u3z(c);
return d;
}
if ( c3y == u3qc_mor(n_a, u3h(c)) ) {
return u3nt(u3k(n_a),
u3k(l_a),
c);
}
else {
u3r_trel(c, &n_c, &l_c, &r_c);
{
u3_noun d = u3nt(u3k(n_c),
u3nt(u3k(n_a), u3k(l_a), u3k(l_c)),
u3k(r_c));
u3z(c);
return d;
}
}
}
}
}
u3_noun
u3wdi_put(u3_noun cor)
{
u3_noun a, b;
if ( c3n == u3r_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_put(a, b);
}
}
u3_weak
u3kdi_put(u3_noun a,
u3_noun b)
{
// Bizarre asymmetry in old jets.
//
// (Mysterious comment in old glue code.)
//
u3_noun pro = u3qdi_put(a, b);
u3z(a); u3z(b);
return pro;
}
}
u3_noun
u3wdi_put(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_put(a, b);
}
u3_noun
u3kdi_put(u3_noun a,
u3_noun b)
{
u3_noun pro = u3qdi_put(a, b);
u3z(a); u3z(b);
return pro;
}

View File

@ -3,53 +3,43 @@
*/
#include "all.h"
/* functions
*/
static u3_noun
_tap_in(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return b;
} else {
u3_noun l_a, n_a, r_a;
if ( (c3n == u3r_trel(a, &n_a, &l_a, &r_a)) ) {
u3z(b);
return u3m_bail(c3__exit);
} else {
return _tap_in(r_a,
u3nc(u3k(n_a),
_tap_in(l_a, b)));
}
}
static u3_noun
_tap_in(u3_noun a,
u3_noun b)
{
if ( u3_nul == a ) {
return b;
}
else {
u3_noun n_a, l_a, r_a;
u3x_trel(a, &n_a, &l_a, &r_a);
u3_noun
u3qdi_tap(u3_noun a)
{
return _tap_in(a, u3_nul);
return _tap_in(r_a,
u3nc(u3k(n_a),
_tap_in(l_a, b)));
}
u3_noun
u3wdi_tap(u3_noun cor)
{
u3_noun a;
}
if ( c3n == u3r_mean(cor, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_tap(a);
}
}
u3_noun
u3kdi_tap(u3_noun a)
{
u3_weak b = u3qdi_tap(a);
u3_noun
u3qdi_tap(u3_noun a)
{
return _tap_in(a, u3_nul);
}
u3z(a);
if ( u3_none == b ) {
return u3m_bail(c3__exit);
}
else return b;
}
u3_noun
u3wdi_tap(u3_noun cor)
{
u3_noun a;
u3x_mean(cor, u3x_con_sam, &a, 0);
return u3qdi_tap(a);
}
u3_noun
u3kdi_tap(u3_noun a)
{
u3_noun b = u3qdi_tap(a);
u3z(a);
return b;
}

View File

@ -5,100 +5,93 @@
/* internal functions
*/
static u3_noun
_in_uni(u3_noun a, u3_noun b)
{
u3_noun n_a, l_a, r_a,
n_b, l_b, r_b,
neb, sub, naw, pro;
if ( u3_nul == a ) {
return u3k(b);
}
else if ( u3_nul == b ) {
return u3k(a);
}
else if ( (c3n == u3r_trel(a, &n_a, &l_a, &r_a))
|| (c3n == u3r_trel(b, &n_b, &l_b, &r_b)) )
{
return u3m_bail(c3__exit);
}
else if ( c3n == u3qc_mor(n_a, n_b) ) {
if ( c3y == u3r_sing(n_a, n_b) ) {
else {
u3_noun n_a, l_a, r_a,
n_b, l_b, r_b,
neb, sub, naw, pro;
u3x_trel(a, &n_a, &l_a, &r_a);
u3x_trel(b, &n_b, &l_b, &r_b);
if ( c3n == u3qc_mor(n_a, n_b) ) {
if ( c3y == u3r_sing(n_a, n_b) ) {
return u3nt(u3k(n_b), _in_uni(l_a, l_b), _in_uni(r_a, r_b));
}
else if ( c3y == u3qc_gor(n_a, n_b) ) {
naw = u3nt(u3k(n_a), u3k(l_a), u3_nul);
sub = _in_uni(naw, l_b);
neb = u3nt(u3k(n_b), sub, u3k(r_b));
pro = _in_uni(r_a, neb);
u3z(naw); u3z(neb);
return pro;
}
else {
naw = u3nt(u3k(n_a), u3_nul, u3k(r_a));
sub = _in_uni(naw, r_b);
neb = u3nt(u3k(n_b), u3k(l_b), sub);
pro = _in_uni(l_a, neb);
u3z(naw); u3z(neb);
return pro;
}
}
else if ( c3y == u3r_sing(n_b, n_a) ) {
return u3nt(u3k(n_b), _in_uni(l_a, l_b), _in_uni(r_a, r_b));
}
else if ( c3y == u3qc_gor(n_a, n_b) ) {
naw = u3nt(u3k(n_a), u3k(l_a), u3_nul);
sub = _in_uni(naw, l_b);
neb = u3nt(u3k(n_b), sub, u3k(r_b));
pro = _in_uni(r_a, neb);
u3z(naw); u3z(neb);
else if ( c3y == u3qc_gor(n_b, n_a) ) {
neb = u3nt(u3k(n_b), u3k(l_b), u3_nul);
sub = _in_uni(l_a, neb);
naw = u3nt(u3k(n_a), sub, u3k(r_a));
pro = _in_uni(naw, r_b);
u3z(neb); u3z(naw);
return pro;
}
else {
naw = u3nt(u3k(n_a), u3_nul, u3k(r_a));
sub = _in_uni(naw, r_b);
neb = u3nt(u3k(n_b), u3k(l_b), sub);
pro = _in_uni(l_a, neb);
u3z(naw); u3z(neb);
neb = u3nt(u3k(n_b), u3_nul, u3k(r_b));
sub = _in_uni(r_a, neb);
naw = u3nt(u3k(n_a), u3k(l_a), sub);
pro = _in_uni(naw, l_b);
u3z(neb); u3z(naw);
return pro;
}
}
else if ( c3y == u3r_sing(n_b, n_a) ) {
return u3nt(u3k(n_b), _in_uni(l_a, l_b), _in_uni(r_a, r_b));
}
else if ( c3y == u3qc_gor(n_b, n_a) ) {
neb = u3nt(u3k(n_b), u3k(l_b), u3_nul);
sub = _in_uni(l_a, neb);
naw = u3nt(u3k(n_a), sub, u3k(r_a));
pro = _in_uni(naw, r_b);
u3z(neb); u3z(naw);
return pro;
}
else {
neb = u3nt(u3k(n_b), u3_nul, u3k(r_b));
sub = _in_uni(r_a, neb);
naw = u3nt(u3k(n_a), u3k(l_a), sub);
pro = _in_uni(naw, l_b);
u3z(neb); u3z(naw);
return pro;
}
}
/* functions
*/
u3_noun
u3kdi_uni(u3_noun a,
u3_noun b)
{
u3_noun c = u3qdi_uni(a, b);
u3_noun
u3kdi_uni(u3_noun a,
u3_noun b)
{
u3_noun c = u3qdi_uni(a, b);
u3z(a); u3z(b);
return c;
}
u3z(a);
u3z(b);
return c;
u3_noun
u3qdi_uni(u3_noun a,
u3_noun b)
{
if ( c3y == u3r_sing(a, b) ) {
return u3k(a);
}
u3_noun
u3qdi_uni(u3_noun a,
u3_noun b)
{
if ( c3y == u3r_sing(a, b) ) {
return u3k(a);
}
else {
return _in_uni(a, b);
}
else {
return _in_uni(a, b);
}
u3_noun
u3wdi_uni(u3_noun cor)
{
u3_noun a, b;
}
if ( c3n == u3r_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_uni(a, b);
}
}
u3_noun
u3wdi_uni(u3_noun cor)
{
u3_noun a, b;
u3x_mean(cor, u3x_sam, &b, u3x_con_sam, &a, 0);
return u3qdi_uni(a, b);
}

View File

@ -5,26 +5,24 @@
/* functions
*/
u3_noun u3wdi_wyt(u3_noun cor)
{
u3_noun a;
if ( c3n == u3r_mean(cor, u3x_con_2, &a, 0) ) {
return u3m_bail(c3__exit);
} else {
return u3qdi_wyt(a);
}
u3_noun
u3qdi_wyt(u3_noun a)
{
if ( u3_nul == a ) {
return 0;
}
u3_noun u3qdi_wyt(u3_noun a)
{
else {
u3_noun n_a, l_a, r_a;
if ( u3_nul == a ) {
return 0;
}
else if ( c3n == u3r_trel(a, &n_a, &l_a, &r_a) ) {
return u3m_bail(c3__exit);
}
else {
return u3i_vint(u3ka_add(u3qdi_wyt(l_a), u3qdi_wyt(r_a)));
}
u3x_trel(a, &n_a, &l_a, &r_a);
return u3i_vint(u3ka_add(u3qdi_wyt(l_a), u3qdi_wyt(r_a)));
}
}
u3_noun
u3wdi_wyt(u3_noun cor)
{
u3_noun a;
u3x_mean(cor, u3x_con_2, &a, 0);
return u3qdi_wyt(a);
}