mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-12 05:04:56 +03:00
Merge remote-tracking branch 'origin/test'
Conflicts: urb/urbit.pill
This commit is contained in:
commit
07d129a3c9
0
.d/f/.gitignore → .d/jets/a/.gitignore
vendored
0
.d/f/.gitignore → .d/jets/a/.gitignore
vendored
0
.d/j/g/.gitignore → .d/noun/.gitignore
vendored
0
.d/j/g/.gitignore → .d/noun/.gitignore
vendored
0
.d/v/.gitignore
vendored
0
.d/v/.gitignore
vendored
0
.d/n/.gitignore → .d/vere/.gitignore
vendored
0
.d/n/.gitignore → .d/vere/.gitignore
vendored
322
Makefile
322
Makefile
@ -67,7 +67,7 @@ else
|
||||
LIBS=-lssl -lcrypto -lgmp -lncurses -lsigsegv $(OSLIBS)
|
||||
endif
|
||||
|
||||
INCLUDE=i
|
||||
INCLUDE=include
|
||||
MDEFINES=-DU3_OS_$(OS) -DU3_OS_ENDIAN_$(ENDIAN) -D U3_LIB=\"$(LIB)\"
|
||||
|
||||
# NOTFORCHECKIN - restore -O3
|
||||
@ -113,165 +113,169 @@ else
|
||||
endif
|
||||
|
||||
N_OFILES=\
|
||||
n/a.o \
|
||||
n/e.o \
|
||||
n/h.o \
|
||||
n/i.o \
|
||||
n/j.o \
|
||||
n/m.o \
|
||||
n/n.o \
|
||||
n/r.o \
|
||||
n/t.o \
|
||||
n/x.o \
|
||||
n/v.o \
|
||||
n/z.o
|
||||
noun/allocate.o \
|
||||
noun/events.o \
|
||||
noun/hashtable.o \
|
||||
noun/imprison.o \
|
||||
noun/jets.o \
|
||||
noun/manage.o \
|
||||
noun/nock.o \
|
||||
noun/retrieve.o \
|
||||
noun/trace.o \
|
||||
noun/xtract.o \
|
||||
noun/vortex.o \
|
||||
noun/zave.o
|
||||
|
||||
J_A_OFILES=\
|
||||
j/a/add.o \
|
||||
j/a/dec.o \
|
||||
j/a/div.o \
|
||||
j/a/gte.o \
|
||||
j/a/gth.o \
|
||||
j/a/lte.o \
|
||||
j/a/lth.o \
|
||||
j/a/mod.o \
|
||||
j/a/mul.o \
|
||||
j/a/sub.o
|
||||
jets/a/add.o \
|
||||
jets/a/dec.o \
|
||||
jets/a/div.o \
|
||||
jets/a/gte.o \
|
||||
jets/a/gth.o \
|
||||
jets/a/lte.o \
|
||||
jets/a/lth.o \
|
||||
jets/a/mod.o \
|
||||
jets/a/mul.o \
|
||||
jets/a/sub.o
|
||||
|
||||
J_B_OFILES=\
|
||||
j/b/bind.o \
|
||||
j/b/clap.o \
|
||||
j/b/drop.o \
|
||||
j/b/flop.o \
|
||||
j/b/lent.o \
|
||||
j/b/levy.o \
|
||||
j/b/lien.o \
|
||||
j/b/need.o \
|
||||
j/b/reel.o \
|
||||
j/b/roll.o \
|
||||
j/b/skim.o \
|
||||
j/b/skip.o \
|
||||
j/b/scag.o \
|
||||
j/b/slag.o \
|
||||
j/b/snag.o \
|
||||
j/b/sort.o \
|
||||
j/b/turn.o \
|
||||
j/b/weld.o
|
||||
jets/b/bind.o \
|
||||
jets/b/clap.o \
|
||||
jets/b/drop.o \
|
||||
jets/b/flop.o \
|
||||
jets/b/lent.o \
|
||||
jets/b/levy.o \
|
||||
jets/b/lien.o \
|
||||
jets/b/need.o \
|
||||
jets/b/reel.o \
|
||||
jets/b/roll.o \
|
||||
jets/b/skim.o \
|
||||
jets/b/skip.o \
|
||||
jets/b/scag.o \
|
||||
jets/b/slag.o \
|
||||
jets/b/snag.o \
|
||||
jets/b/sort.o \
|
||||
jets/b/turn.o \
|
||||
jets/b/weld.o
|
||||
|
||||
J_C_OFILES=\
|
||||
j/c/bex.o \
|
||||
j/c/can.o \
|
||||
j/c/cap.o \
|
||||
j/c/cat.o \
|
||||
j/c/con.o \
|
||||
j/c/cut.o \
|
||||
j/c/dor.o \
|
||||
j/c/dis.o \
|
||||
j/c/end.o \
|
||||
j/c/gor.o \
|
||||
j/c/hor.o \
|
||||
j/c/lsh.o \
|
||||
j/c/mas.o \
|
||||
j/c/met.o \
|
||||
j/c/mix.o \
|
||||
j/c/mug.o \
|
||||
j/c/peg.o \
|
||||
j/c/po.o \
|
||||
j/c/rap.o \
|
||||
j/c/rip.o \
|
||||
j/c/rsh.o \
|
||||
j/c/vor.o
|
||||
jets/c/bex.o \
|
||||
jets/c/can.o \
|
||||
jets/c/cap.o \
|
||||
jets/c/cat.o \
|
||||
jets/c/con.o \
|
||||
jets/c/cut.o \
|
||||
jets/c/dor.o \
|
||||
jets/c/dis.o \
|
||||
jets/c/end.o \
|
||||
jets/c/gor.o \
|
||||
jets/c/hor.o \
|
||||
jets/c/lsh.o \
|
||||
jets/c/mas.o \
|
||||
jets/c/met.o \
|
||||
jets/c/mix.o \
|
||||
jets/c/mug.o \
|
||||
jets/c/peg.o \
|
||||
jets/c/po.o \
|
||||
jets/c/rap.o \
|
||||
jets/c/rip.o \
|
||||
jets/c/rsh.o \
|
||||
jets/c/vor.o
|
||||
|
||||
J_D_OFILES=\
|
||||
j/d/in_has.o \
|
||||
j/d/in_int.o \
|
||||
j/d/in_gas.o \
|
||||
j/d/in_mer.o \
|
||||
j/d/in_put.o \
|
||||
j/d/in_tap.o \
|
||||
j/d/in_uni.o \
|
||||
j/d/by_gas.o \
|
||||
j/d/by_get.o \
|
||||
j/d/by_has.o \
|
||||
j/d/by_int.o \
|
||||
j/d/by_put.o \
|
||||
j/d/by_uni.o
|
||||
jets/d/in_has.o \
|
||||
jets/d/in_int.o \
|
||||
jets/d/in_gas.o \
|
||||
jets/d/in_mer.o \
|
||||
jets/d/in_put.o \
|
||||
jets/d/in_tap.o \
|
||||
jets/d/in_uni.o \
|
||||
jets/d/in_bif.o \
|
||||
jets/d/in_dif.o \
|
||||
jets/d/by_gas.o \
|
||||
jets/d/by_get.o \
|
||||
jets/d/by_has.o \
|
||||
jets/d/by_int.o \
|
||||
jets/d/by_put.o \
|
||||
jets/d/by_uni.o \
|
||||
jets/d/by_bif.o \
|
||||
jets/d/by_dif.o
|
||||
|
||||
J_E_OFILES=\
|
||||
j/e/aesc.o \
|
||||
j/e/cue.o \
|
||||
j/e/jam.o \
|
||||
j/e/mat.o \
|
||||
j/e/mink.o \
|
||||
j/e/mule.o \
|
||||
j/e/parse.o \
|
||||
j/e/rd.o \
|
||||
j/e/repg.o \
|
||||
j/e/rexp.o \
|
||||
j/e/rub.o \
|
||||
j/e/scr.o \
|
||||
j/e/shax.o \
|
||||
j/e/lore.o \
|
||||
j/e/loss.o \
|
||||
j/e/trip.o
|
||||
jets/e/aesc.o \
|
||||
jets/e/cue.o \
|
||||
jets/e/jam.o \
|
||||
jets/e/mat.o \
|
||||
jets/e/mink.o \
|
||||
jets/e/mule.o \
|
||||
jets/e/parse.o \
|
||||
jets/e/rd.o \
|
||||
jets/e/repg.o \
|
||||
jets/e/rexp.o \
|
||||
jets/e/rub.o \
|
||||
jets/e/scr.o \
|
||||
jets/e/shax.o \
|
||||
jets/e/lore.o \
|
||||
jets/e/loss.o \
|
||||
jets/e/trip.o
|
||||
|
||||
J_E_OFILES_ED=\
|
||||
j/e/ed_puck.o \
|
||||
j/e/ed_sign.o \
|
||||
j/e/ed_veri.o
|
||||
jets/e/ed_puck.o \
|
||||
jets/e/ed_sign.o \
|
||||
jets/e/ed_veri.o
|
||||
|
||||
J_F_OFILES=\
|
||||
j/f/al.o \
|
||||
j/f/ap.o \
|
||||
j/f/bull.o \
|
||||
j/f/cell.o \
|
||||
j/f/comb.o \
|
||||
j/f/cons.o \
|
||||
j/f/core.o \
|
||||
j/f/cube.o \
|
||||
j/f/face.o \
|
||||
j/f/fitz.o \
|
||||
j/f/flan.o \
|
||||
j/f/flay.o \
|
||||
j/f/flip.o \
|
||||
j/f/flor.o \
|
||||
j/f/fork.o \
|
||||
j/f/hike.o \
|
||||
j/f/look.o \
|
||||
jets/f/al.o \
|
||||
jets/f/ap.o \
|
||||
jets/f/bull.o \
|
||||
jets/f/cell.o \
|
||||
jets/f/comb.o \
|
||||
jets/f/cons.o \
|
||||
jets/f/core.o \
|
||||
jets/f/cube.o \
|
||||
jets/f/face.o \
|
||||
jets/f/fitz.o \
|
||||
jets/f/flan.o \
|
||||
jets/f/flay.o \
|
||||
jets/f/flip.o \
|
||||
jets/f/flor.o \
|
||||
jets/f/fork.o \
|
||||
jets/f/hike.o \
|
||||
jets/f/look.o \
|
||||
|
||||
J_F_OFILES_UT=\
|
||||
j/f/ut.o \
|
||||
j/f/ut_burn.o \
|
||||
j/f/ut_busk.o \
|
||||
j/f/ut_bust.o \
|
||||
j/f/ut_conk.o \
|
||||
j/f/ut_crop.o \
|
||||
j/f/ut_cull.o \
|
||||
j/f/ut_find.o \
|
||||
j/f/ut_fink.o \
|
||||
j/f/ut_fire.o \
|
||||
j/f/ut_firm.o \
|
||||
j/f/ut_fish.o \
|
||||
j/f/ut_fuse.o \
|
||||
j/f/ut_gain.o \
|
||||
j/f/ut_heal.o \
|
||||
j/f/ut_lose.o \
|
||||
j/f/ut_mint.o \
|
||||
j/f/ut_mull.o \
|
||||
j/f/ut_nest.o \
|
||||
j/f/ut_park.o \
|
||||
j/f/ut_peek.o \
|
||||
j/f/ut_play.o \
|
||||
j/f/ut_repo.o \
|
||||
j/f/ut_rest.o \
|
||||
j/f/ut_seek.o \
|
||||
j/f/ut_swab.o \
|
||||
j/f/ut_tack.o \
|
||||
j/f/ut_tock.o \
|
||||
j/f/ut_wrap.o
|
||||
jets/f/ut.o \
|
||||
jets/f/ut_burn.o \
|
||||
jets/f/ut_busk.o \
|
||||
jets/f/ut_bust.o \
|
||||
jets/f/ut_conk.o \
|
||||
jets/f/ut_crop.o \
|
||||
jets/f/ut_cull.o \
|
||||
jets/f/ut_find.o \
|
||||
jets/f/ut_fink.o \
|
||||
jets/f/ut_fire.o \
|
||||
jets/f/ut_firm.o \
|
||||
jets/f/ut_fish.o \
|
||||
jets/f/ut_fuse.o \
|
||||
jets/f/ut_gain.o \
|
||||
jets/f/ut_heal.o \
|
||||
jets/f/ut_lose.o \
|
||||
jets/f/ut_mint.o \
|
||||
jets/f/ut_mull.o \
|
||||
jets/f/ut_nest.o \
|
||||
jets/f/ut_park.o \
|
||||
jets/f/ut_peek.o \
|
||||
jets/f/ut_play.o \
|
||||
jets/f/ut_repo.o \
|
||||
jets/f/ut_rest.o \
|
||||
jets/f/ut_seek.o \
|
||||
jets/f/ut_swab.o \
|
||||
jets/f/ut_tack.o \
|
||||
jets/f/ut_tock.o \
|
||||
jets/f/ut_wrap.o
|
||||
|
||||
J_G_OFILES=\
|
||||
j/g/down.o
|
||||
jets/g/down.o
|
||||
|
||||
J_OFILES=\
|
||||
$(J_A_OFILES) \
|
||||
@ -283,7 +287,7 @@ J_OFILES=\
|
||||
$(J_F_OFILES) \
|
||||
$(J_F_OFILES_UT) \
|
||||
$(J_G_OFILES) \
|
||||
j/tree.o
|
||||
jets/tree.o
|
||||
|
||||
BASE_OFILES=$(N_OFILES) $(J_OFILES)
|
||||
|
||||
@ -294,25 +298,25 @@ OUT_OFILES=\
|
||||
outside/jhttp/http_parser.o
|
||||
|
||||
V_OFILES=\
|
||||
v/ames.o \
|
||||
v/cttp.o \
|
||||
v/http.o \
|
||||
v/loop.o \
|
||||
v/raft.o \
|
||||
v/reck.o \
|
||||
v/sist.o \
|
||||
v/temp.o \
|
||||
v/term.o \
|
||||
v/time.o \
|
||||
v/unix.o \
|
||||
v/save.o \
|
||||
v/walk.o
|
||||
vere/ames.o \
|
||||
vere/behn.o \
|
||||
vere/cttp.o \
|
||||
vere/http.o \
|
||||
vere/loop.o \
|
||||
vere/raft.o \
|
||||
vere/reck.o \
|
||||
vere/sist.o \
|
||||
vere/term.o \
|
||||
vere/time.o \
|
||||
vere/unix.o \
|
||||
vere/save.o \
|
||||
vere/walk.o
|
||||
|
||||
MAIN_FILE =\
|
||||
v/main.o
|
||||
vere/main.o
|
||||
|
||||
MEME_FILE =\
|
||||
w/test.o
|
||||
tests/test.o
|
||||
|
||||
VERE_OFILES=\
|
||||
$(CRE2_OFILES) \
|
||||
@ -411,7 +415,7 @@ $(LIBSCRYPT):
|
||||
$(CRE2_OFILES): outside/cre2/src/src/cre2.cpp outside/cre2/src/src/cre2.h $(LIBRE2)
|
||||
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||
|
||||
$(V_OFILES): i/v/vere.h
|
||||
$(V_OFILES): include/vere/vere.h
|
||||
|
||||
ifdef NO_SILENT_RULES
|
||||
$(BIN)/urbit: $(LIBCRE) $(LIBCOMMONMARK) $(VERE_OFILES) $(LIBUV) $(LIBRE2) $(LIBED25519) $(LIBANACHRONISM) $(LIBSCRYPT)
|
||||
|
32
i/all.h
32
i/all.h
@ -1,32 +0,0 @@
|
||||
/* include/all.h
|
||||
**
|
||||
** This file is in the public domain.
|
||||
*/
|
||||
/** c3: C environment.
|
||||
**/
|
||||
# include "c/portable.h" // C and OS portability
|
||||
# include "c/types.h" // c3 types
|
||||
# include "c/defs.h" // c3 macros
|
||||
# include "c/motes.h" // c3 constants
|
||||
|
||||
/** u3: noun environment.
|
||||
**/
|
||||
# include "n/u.h" // general u3
|
||||
|
||||
# include "n/a.h" // u3a: allocation
|
||||
# include "n/e.h" // u3e: persistence
|
||||
# include "n/h.h" // u3h: hashtables
|
||||
# include "n/i.h" // u3i: noun construction
|
||||
# include "n/j.h" // u3j: jet control
|
||||
# include "n/m.h" // u3m: master state
|
||||
# include "n/n.h" // u3n: nock execution
|
||||
# include "n/o.h" // u3o: config options
|
||||
# include "n/r.h" // u3r: noun access (error returns)
|
||||
# include "n/t.h" // u3t: profiling / tracing
|
||||
# include "n/x.h" // u3x: noun access (error crashes)
|
||||
# include "n/v.h" // u3v: arvo kernel
|
||||
# include "n/z.h" // u3z: memoization
|
||||
|
||||
# include "j/k.h" // u3k: jets (transfer, args)
|
||||
# include "j/q.h" // u3q: jets (retain, args)
|
||||
# include "j/w.h" // u3w: jets (retain, core)
|
32
include/all.h
Normal file
32
include/all.h
Normal file
@ -0,0 +1,32 @@
|
||||
/* include/all.h
|
||||
**
|
||||
** This file is in the public domain.
|
||||
*/
|
||||
/** c3: C environment.
|
||||
**/
|
||||
# include "c/portable.h" // C and OS portability
|
||||
# include "c/types.h" // c3 types
|
||||
# include "c/defs.h" // c3 macros
|
||||
# include "c/motes.h" // c3 constants
|
||||
|
||||
/** u3: noun environment.
|
||||
**/
|
||||
# include "noun/aliases.h" // general u3
|
||||
|
||||
# include "noun/allocate.h" // u3a: allocation
|
||||
# include "noun/events.h" // u3e: persistence
|
||||
# include "noun/hashtable.h" // u3h: hashtables
|
||||
# include "noun/imprison.h" // u3i: noun construction
|
||||
# include "noun/jets.h" // u3j: jet control
|
||||
# include "noun/manage.h" // u3m: master state
|
||||
# include "noun/nock.h" // u3n: nock execution
|
||||
# include "noun/options.h" // u3o: config options
|
||||
# include "noun/retrieve.h" // u3r: noun access (error returns)
|
||||
# include "noun/trace.h" // u3t: profiling / tracing
|
||||
# include "noun/xtract.h" // u3x: noun access (error crashes)
|
||||
# include "noun/vortex.h" // u3v: arvo kernel
|
||||
# include "noun/zave.h" // u3z: memoization
|
||||
|
||||
# include "jets/k.h" // u3k: jets (transfer, args)
|
||||
# include "jets/q.h" // u3q: jets (retain, args)
|
||||
# include "jets/w.h" // u3w: jets (retain, core)
|
@ -1019,7 +1019,6 @@
|
||||
# define c3__teal c3_s4('t','e','a','l')
|
||||
# define c3__teck c3_s4('t','e','c','k')
|
||||
# define c3__tell c3_s4('t','e','l','l')
|
||||
# define c3__temp c3_s4('t','e','m','p')
|
||||
# define c3__terg c3_s4('t','e','r','g')
|
||||
# define c3__term c3_s4('t','e','r','m')
|
||||
# define c3__test c3_s4('t','e','s','t')
|
@ -62,6 +62,8 @@
|
||||
|
||||
/** Tier 4.
|
||||
**/
|
||||
u3_noun u3qdb_bif(u3_noun, u3_noun);
|
||||
u3_noun u3qdb_dif(u3_noun, u3_noun);
|
||||
u3_noun u3qdb_gas(u3_noun, u3_noun);
|
||||
u3_noun u3qdb_get(u3_noun, u3_noun);
|
||||
u3_noun u3qdb_has(u3_noun, u3_noun);
|
||||
@ -70,6 +72,8 @@
|
||||
# define u3qdb_tap u3qdi_tap
|
||||
u3_noun u3qdb_uni(u3_noun, u3_noun);
|
||||
|
||||
u3_noun u3qdi_bif(u3_noun, u3_noun);
|
||||
u3_noun u3qdi_dif(u3_noun, u3_noun);
|
||||
u3_noun u3qdi_gas(u3_noun, u3_noun);
|
||||
u3_noun u3qdi_has(u3_noun, u3_noun);
|
||||
u3_noun u3qdi_int(u3_noun, u3_noun);
|
@ -67,6 +67,8 @@
|
||||
|
||||
/** Tier 4.
|
||||
**/
|
||||
u3_noun u3wdb_bif(u3_noun);
|
||||
u3_noun u3wdb_dif(u3_noun);
|
||||
u3_noun u3wdb_gas(u3_noun);
|
||||
u3_noun u3wdb_get(u3_noun);
|
||||
u3_noun u3wdb_has(u3_noun);
|
||||
@ -75,6 +77,8 @@
|
||||
# define u3wdb_tap u3wdi_tap
|
||||
u3_noun u3wdb_uni(u3_noun);
|
||||
|
||||
u3_noun u3wdi_bif(u3_noun);
|
||||
u3_noun u3wdi_dif(u3_noun);
|
||||
u3_noun u3wdi_gas(u3_noun);
|
||||
u3_noun u3wdi_has(u3_noun);
|
||||
u3_noun u3wdi_int(u3_noun);
|
@ -369,13 +369,13 @@
|
||||
#endif
|
||||
} u3_unix;
|
||||
|
||||
/* u3_temp: just a timer for ever
|
||||
/* u3_behn: just a timer for ever
|
||||
*/
|
||||
typedef struct _u3_temp {
|
||||
uv_timer_t tim_u; // temp timer
|
||||
typedef struct _u3_behn {
|
||||
uv_timer_t tim_u; // behn timer
|
||||
c3_w run_w; // run of consecutive alarms
|
||||
c3_o alm; // alarm
|
||||
} u3_temp;
|
||||
} u3_behn;
|
||||
|
||||
/* u2_utfo: unix terminfo strings.
|
||||
*/
|
||||
@ -558,7 +558,7 @@
|
||||
u3_save sav_u; // autosave
|
||||
u3_opts ops_u; // commandline options
|
||||
u3_unix unx_u; // sync and clay
|
||||
u3_temp teh_u; // temp timer
|
||||
u3_behn teh_u; // behn timer
|
||||
c3_o liv; // if u3_no, shut down
|
||||
c3_i xit_i; // exit code for shutdown
|
||||
void* ssl_u; // struct SSL_CTX*
|
||||
@ -976,22 +976,22 @@
|
||||
u3_unix_io_poll(void);
|
||||
|
||||
|
||||
/** Temp, just a timer.
|
||||
/** behn, just a timer.
|
||||
**/
|
||||
/* u2_temp_io_init(): initialize temp timer.
|
||||
/* u2_behn_io_init(): initialize behn timer.
|
||||
*/
|
||||
void
|
||||
u2_temp_io_init(void);
|
||||
u2_behn_io_init(void);
|
||||
|
||||
/* u2_temp_io_exit(): terminate timer.
|
||||
/* u2_behn_io_exit(): terminate timer.
|
||||
*/
|
||||
void
|
||||
u2_temp_io_exit(void);
|
||||
u2_behn_io_exit(void);
|
||||
|
||||
/* u2_temp_io_poll(): update temp IO state.
|
||||
/* u2_behn_io_poll(): update behn IO state.
|
||||
*/
|
||||
void
|
||||
u2_temp_io_poll(void);
|
||||
u2_behn_io_poll(void);
|
||||
|
||||
|
||||
/** HTTP server.
|
||||
@ -1125,20 +1125,20 @@
|
||||
|
||||
/** New timer system.
|
||||
**/
|
||||
/* u3_temp_io_init(): initialize time timer.
|
||||
/* u3_behn_io_init(): initialize time timer.
|
||||
*/
|
||||
void
|
||||
u3_temp_io_init(void);
|
||||
u3_behn_io_init(void);
|
||||
|
||||
/* u3_temp_io_exit(): terminate timer.
|
||||
/* u3_behn_io_exit(): terminate timer.
|
||||
*/
|
||||
void
|
||||
u3_temp_io_exit(void);
|
||||
u3_behn_io_exit(void);
|
||||
|
||||
/* u3_temp_io_poll(): update temp IO state.
|
||||
/* u3_behn_io_poll(): update behn IO state.
|
||||
*/
|
||||
void
|
||||
u3_temp_io_poll(void);
|
||||
u3_behn_io_poll(void);
|
||||
|
||||
|
||||
/** HTTP client.
|
79
jets/d/by_bif.c
Normal file
79
jets/d/by_bif.c
Normal file
@ -0,0 +1,79 @@
|
||||
/* jets/d/by_bif.c
|
||||
**
|
||||
*/
|
||||
#include "all.h"
|
||||
|
||||
/* internal functions
|
||||
*/
|
||||
u3_noun _b_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, l_a, r_a;
|
||||
u3_noun p_n_a, q_n_a;
|
||||
u3_noun p_b, q_b;
|
||||
|
||||
if ( (c3n == u3r_trel(a, &n_a, &l_a, &r_a))
|
||||
|| (c3n == u3r_cell(b, &p_b, &q_b))
|
||||
|| (c3n == u3r_cell(n_a, &p_n_a, &q_n_a)) ) {
|
||||
return u3m_bail(c3__exit);
|
||||
}
|
||||
else if ( c3y == u3r_sing(p_b, p_n_a) ) {
|
||||
return u3nt(u3k(b), u3k(l_a), u3k(r_a));
|
||||
}
|
||||
else {
|
||||
u3_noun c, n_c, l_c, r_c;
|
||||
u3_noun d;
|
||||
|
||||
if ( c3y == u3qc_gor(p_b, p_n_a) ) {
|
||||
c = _b_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 = _b_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 u3wdb_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 u3qdb_bif(a, b);
|
||||
}
|
||||
}
|
||||
|
||||
u3_noun u3qdb_bif(u3_noun a, u3_noun b)
|
||||
{
|
||||
u3_noun c, n_c, l_c, r_c;
|
||||
u3_noun d;
|
||||
|
||||
c = _b_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);
|
||||
*/
|
83
jets/d/by_dif.c
Normal file
83
jets/d/by_dif.c
Normal file
@ -0,0 +1,83 @@
|
||||
/* jets/d/by_dif.c
|
||||
**
|
||||
*/
|
||||
#include "all.h"
|
||||
|
||||
/* internal functions
|
||||
*/
|
||||
u3_noun _b_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;
|
||||
u3_noun p_n_d, q_n_d;
|
||||
u3_noun p_n_e, q_n_e;
|
||||
|
||||
if ( c3n == u3r_trel(d, &n_d, &l_d, &r_d)
|
||||
|| c3n == u3r_trel(e, &n_e, &l_e, &r_e)
|
||||
|| c3n == u3r_cell(n_d, &p_n_d, &q_n_d)
|
||||
|| c3n == u3r_cell(n_e, &p_n_e, &q_n_e) ) {
|
||||
return u3m_bail(c3__exit);
|
||||
} else {
|
||||
if ( c3y == u3qc_vor(p_n_d, p_n_e) ) {
|
||||
return u3nt(u3k(n_d),
|
||||
u3k(l_d),
|
||||
_b_dif_join(u3k(r_d), u3k(e)));
|
||||
} else {
|
||||
return u3nt(u3k(n_e),
|
||||
_b_dif_join(u3k(d), u3k(l_e)),
|
||||
u3k(r_e));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* functions
|
||||
*/
|
||||
u3_noun u3wdb_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 u3qdb_dif(a, b);
|
||||
}
|
||||
}
|
||||
|
||||
u3_noun u3qdb_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;
|
||||
|
||||
if ( c3n == u3r_trel(b, &n_b, &l_b, &r_b) ) {
|
||||
return u3m_bail(c3__exit);
|
||||
} else {
|
||||
|
||||
c = u3qdb_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 = u3qdb_dif(l_c, l_b);
|
||||
e = u3qdb_dif(r_c, r_b);
|
||||
u3z(c);
|
||||
|
||||
return _b_dif_join(d, e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
u3_weak u3kdb_dif(u3_noun a, u3_noun b);
|
||||
*/
|
75
jets/d/in_bif.c
Normal file
75
jets/d/in_bif.c
Normal file
@ -0,0 +1,75 @@
|
||||
/* jets/d/in_bif.c
|
||||
**
|
||||
*/
|
||||
#include "all.h"
|
||||
|
||||
/* internal functions
|
||||
*/
|
||||
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, 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);
|
||||
}
|
||||
else {
|
||||
u3_noun c, n_c, l_c, r_c;
|
||||
u3_noun d;
|
||||
|
||||
if ( c3y == u3qc_hor(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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 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 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);
|
||||
*/
|
79
jets/d/in_dif.c
Normal file
79
jets/d/in_dif.c
Normal file
@ -0,0 +1,79 @@
|
||||
/* jets/d/in_dif.c
|
||||
**
|
||||
*/
|
||||
#include "all.h"
|
||||
|
||||
/* internal functions
|
||||
*/
|
||||
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;
|
||||
|
||||
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_vor(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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 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 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;
|
||||
|
||||
if ( c3n == u3r_trel(b, &n_b, &l_b, &r_b) ) {
|
||||
return u3m_bail(c3__exit);
|
||||
} else {
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
u3_weak u3kdi_dif(u3_noun a, u3_noun b);
|
||||
*/
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user