mirror of
https://github.com/urbit/shrub.git
synced 2025-01-03 10:02:32 +03:00
Another experimental renaming.
This commit is contained in:
parent
f1ee2f6e90
commit
2ca5ae560d
260
g/a.c
260
g/a.c
@ -120,21 +120,21 @@ _box_detach(u3_cs_box* box_u)
|
||||
static c3_w*
|
||||
_me_road_all_hat(c3_w len_w)
|
||||
{
|
||||
if ( len_w > u3_co_open(u3R) ) {
|
||||
if ( len_w > u3_ca_open(u3R) ) {
|
||||
u3_cm_bail(c3__meme); return 0;
|
||||
}
|
||||
|
||||
if ( u3_yes == u3_co_is_north(u3R) ) {
|
||||
if ( u3_yes == u3_ca_is_north(u3R) ) {
|
||||
u3_post all_p;
|
||||
|
||||
all_p = u3R->hat_p;
|
||||
u3R->hat_p += len_w;
|
||||
|
||||
return u3_co_into(all_p);
|
||||
return u3_ca_into(all_p);
|
||||
}
|
||||
else {
|
||||
u3R->hat_p -= len_w;
|
||||
return u3_co_into(u3R->hat_p);
|
||||
return u3_ca_into(u3R->hat_p);
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,20 +144,20 @@ _me_road_all_hat(c3_w len_w)
|
||||
static c3_w*
|
||||
_me_road_all_cap(c3_w len_w)
|
||||
{
|
||||
if ( len_w > u3_co_open(u3R) ) {
|
||||
if ( len_w > u3_ca_open(u3R) ) {
|
||||
u3_cm_bail(c3__meme); return 0;
|
||||
}
|
||||
|
||||
if ( u3_yes == u3_co_is_north(u3R) ) {
|
||||
if ( u3_yes == u3_ca_is_north(u3R) ) {
|
||||
u3R->cap_p -= len_w;
|
||||
return u3_co_into(u3R->cap_p);
|
||||
return u3_ca_into(u3R->cap_p);
|
||||
}
|
||||
else {
|
||||
u3_post all_p;
|
||||
|
||||
all_p = u3R->cap_p;
|
||||
u3R->cap_p += len_w;
|
||||
return u3_co_into(all_p);
|
||||
return u3_ca_into(all_p);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@ -195,7 +195,7 @@ u3_ca_sane(void)
|
||||
static void*
|
||||
_ca_walloc(c3_w len_w)
|
||||
{
|
||||
c3_w siz_w = c3_max(u3_cc_minimum, u3_co_boxed(len_w));
|
||||
c3_w siz_w = c3_max(u3_cc_minimum, u3_ca_boxed(len_w));
|
||||
c3_w sel_w = _box_slot(siz_w);
|
||||
|
||||
// XX: this logic is totally bizarre, but preserve it.
|
||||
@ -217,7 +217,7 @@ _ca_walloc(c3_w len_w)
|
||||
else {
|
||||
/* Nothing in top free list. Chip away at the hat.
|
||||
*/
|
||||
return u3_co_boxto(_box_make(_me_road_all_hat(siz_w), siz_w, 1));
|
||||
return u3_ca_boxto(_box_make(_me_road_all_hat(siz_w), siz_w, 1));
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -261,7 +261,7 @@ _ca_walloc(c3_w len_w)
|
||||
c3_w lef_w = (box_u->siz_w - siz_w);
|
||||
|
||||
_box_attach(_box_make(end_w, lef_w, 0));
|
||||
return u3_co_boxto(_box_make(box_w, siz_w, 1));
|
||||
return u3_ca_boxto(_box_make(box_w, siz_w, 1));
|
||||
}
|
||||
else {
|
||||
c3_assert(0 == box_u->use_w);
|
||||
@ -270,7 +270,7 @@ _ca_walloc(c3_w len_w)
|
||||
#ifdef U3_MEMORY_DEBUG
|
||||
box_u->cod_w = u3_Code;
|
||||
#endif
|
||||
return u3_co_boxto(box_u);
|
||||
return u3_ca_boxto(box_u);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -289,12 +289,12 @@ u3_ca_walloc(c3_w len_w)
|
||||
|
||||
#if 0
|
||||
if ( (703 == u3_Code) &&
|
||||
u3_co_botox(ptr_v) == (u3_cs_box*)(void *)0x200dfe3e4 ) {
|
||||
u3_ca_botox(ptr_v) == (u3_cs_box*)(void *)0x200dfe3e4 ) {
|
||||
static int xuc_i;
|
||||
|
||||
printf("xuc_i %d\r\n", xuc_i);
|
||||
if ( 1 == xuc_i ) {
|
||||
u3_cs_box* box_u = u3_co_botox(ptr_v);
|
||||
u3_cs_box* box_u = u3_ca_botox(ptr_v);
|
||||
|
||||
box_u->cod_w = 999;
|
||||
FOO = 1;
|
||||
@ -323,7 +323,7 @@ u3_ca_wealloc(void* lag_v, c3_w len_w)
|
||||
return u3_ca_malloc(len_w);
|
||||
}
|
||||
else {
|
||||
u3_cs_box* box_u = u3_co_botox(lag_v);
|
||||
u3_cs_box* box_u = u3_ca_botox(lag_v);
|
||||
c3_w* old_w = lag_v;
|
||||
c3_w tiz_w = c3_min(box_u->siz_w, len_w);
|
||||
{
|
||||
@ -352,7 +352,7 @@ u3_ca_realloc(void* lag_v, c3_w len_w)
|
||||
void
|
||||
u3_ca_free(void* tox_v)
|
||||
{
|
||||
u3_cs_box* box_u = u3_co_botox(tox_v);
|
||||
u3_cs_box* box_u = u3_ca_botox(tox_v);
|
||||
c3_w* box_w = (c3_w *)(void *)box_u;
|
||||
|
||||
c3_assert(box_u->use_w != 0);
|
||||
@ -371,10 +371,10 @@ u3_ca_free(void* tox_v)
|
||||
}
|
||||
#endif
|
||||
|
||||
if ( u3_yes == u3_co_is_north(u3R) ) {
|
||||
if ( u3_yes == u3_ca_is_north(u3R) ) {
|
||||
/* Try to coalesce with the block below.
|
||||
*/
|
||||
if ( box_w != u3_co_into(u3R->rut_p) ) {
|
||||
if ( box_w != u3_ca_into(u3R->rut_p) ) {
|
||||
c3_w laz_w = *(box_w - 1);
|
||||
u3_cs_box* pox_u = (u3_cs_box*)(void *)(box_w - laz_w);
|
||||
|
||||
@ -389,8 +389,8 @@ u3_ca_free(void* tox_v)
|
||||
|
||||
/* Try to coalesce with the block above, or the wilderness.
|
||||
*/
|
||||
if ( (box_w + box_u->siz_w) == u3_co_into(u3R->hat_p) ) {
|
||||
u3R->hat_p = u3_co_outa(box_w);
|
||||
if ( (box_w + box_u->siz_w) == u3_ca_into(u3R->hat_p) ) {
|
||||
u3R->hat_p = u3_ca_outa(box_w);
|
||||
}
|
||||
else {
|
||||
u3_cs_box* nox_u = (u3_cs_box*)(void *)(box_w + box_u->siz_w);
|
||||
@ -405,7 +405,7 @@ u3_ca_free(void* tox_v)
|
||||
else {
|
||||
/* Try to coalesce with the block above.
|
||||
*/
|
||||
if ( (box_w + box_u->siz_w) != u3_co_into(u3R->rut_p) ) {
|
||||
if ( (box_w + box_u->siz_w) != u3_ca_into(u3R->rut_p) ) {
|
||||
u3_cs_box* nox_u = (u3_cs_box*)(void *)(box_w + box_u->siz_w);
|
||||
|
||||
if ( 0 == nox_u->use_w ) {
|
||||
@ -416,8 +416,8 @@ u3_ca_free(void* tox_v)
|
||||
|
||||
/* Try to coalesce with the block below, or with the wilderness.
|
||||
*/
|
||||
if ( box_w == u3_co_into(u3R->hat_p) ) {
|
||||
u3R->hat_p = u3_co_outa(box_w + box_u->siz_w);
|
||||
if ( box_w == u3_ca_into(u3R->hat_p) ) {
|
||||
u3R->hat_p = u3_ca_outa(box_w + box_u->siz_w);
|
||||
}
|
||||
else {
|
||||
c3_w laz_w = *(box_w - 1);
|
||||
@ -440,23 +440,23 @@ static void _me_wash_north(u3_noun dog);
|
||||
static void
|
||||
_me_wash_north_in(u3_noun som)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(som)) ) return;
|
||||
if ( u3_ne(u3_co_north_is_junior(u3R, som)) ) return;
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) return;
|
||||
if ( u3_ne(u3_ca_north_is_junior(u3R, som)) ) return;
|
||||
|
||||
_me_wash_north(som);
|
||||
}
|
||||
static void
|
||||
_me_wash_north(u3_noun dog)
|
||||
{
|
||||
c3_assert(u3_yes == u3_co_is_dog(dog));
|
||||
// c3_assert(u3_yes == u3_co_north_is_junior(u3R, dog));
|
||||
c3_assert(u3_yes == u3_ca_is_dog(dog));
|
||||
// c3_assert(u3_yes == u3_ca_north_is_junior(u3R, dog));
|
||||
{
|
||||
u3_cs_noun* dog_u = u3_co_to_ptr(dog);
|
||||
u3_cs_noun* dog_u = u3_ca_to_ptr(dog);
|
||||
|
||||
if ( dog_u->mug_w == 0 ) return; dog_u->mug_w = 0; // power wash
|
||||
// if ( dog_u->mug_w >> 31 ) { dog_u->mug_w = 0; }
|
||||
|
||||
if ( u3_so(u3_co_is_pom(dog)) ) {
|
||||
if ( u3_so(u3_ca_is_pom(dog)) ) {
|
||||
u3_cs_cell* god_u = (u3_cs_cell *)(void *)dog_u;
|
||||
|
||||
_me_wash_north_in(god_u->hed);
|
||||
@ -471,23 +471,23 @@ static void _me_wash_south(u3_noun dog);
|
||||
static void
|
||||
_me_wash_south_in(u3_noun som)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(som)) ) return;
|
||||
if ( u3_ne(u3_co_south_is_junior(u3R, som)) ) return;
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) return;
|
||||
if ( u3_ne(u3_ca_south_is_junior(u3R, som)) ) return;
|
||||
|
||||
_me_wash_south(som);
|
||||
}
|
||||
static void
|
||||
_me_wash_south(u3_noun dog)
|
||||
{
|
||||
c3_assert(u3_yes == u3_co_is_dog(dog));
|
||||
// c3_assert(u3_yes == u3_co_south_is_junior(u3R, dog));
|
||||
c3_assert(u3_yes == u3_ca_is_dog(dog));
|
||||
// c3_assert(u3_yes == u3_ca_south_is_junior(u3R, dog));
|
||||
{
|
||||
u3_cs_noun* dog_u = u3_co_to_ptr(dog);
|
||||
u3_cs_noun* dog_u = u3_ca_to_ptr(dog);
|
||||
|
||||
if ( dog_u->mug_w == 0 ) return; dog_u->mug_w = 0; // power wash
|
||||
// if ( dog_u->mug_w >> 31 ) { dog_u->mug_w = 0; }
|
||||
|
||||
if ( u3_so(u3_co_is_pom(dog)) ) {
|
||||
if ( u3_so(u3_ca_is_pom(dog)) ) {
|
||||
u3_cs_cell* god_u = (u3_cs_cell *)(void *)dog_u;
|
||||
|
||||
_me_wash_south_in(god_u->hed);
|
||||
@ -501,16 +501,16 @@ _me_wash_south(u3_noun dog)
|
||||
void
|
||||
u3_ca_wash(u3_noun som)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) {
|
||||
return;
|
||||
}
|
||||
if ( u3_so(u3_co_is_north(u3R)) ) {
|
||||
if ( u3_so(u3_co_north_is_junior(u3R, som)) ) {
|
||||
if ( u3_so(u3_ca_is_north(u3R)) ) {
|
||||
if ( u3_so(u3_ca_north_is_junior(u3R, som)) ) {
|
||||
_me_wash_north(som);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_south_is_junior(u3R, som)) ) {
|
||||
if ( u3_so(u3_ca_south_is_junior(u3R, som)) ) {
|
||||
_me_wash_south(som);
|
||||
}
|
||||
}
|
||||
@ -524,8 +524,8 @@ extern u3_noun BDA, BDB;
|
||||
static void
|
||||
_me_gain_use(u3_noun dog)
|
||||
{
|
||||
c3_w* dog_w = u3_co_to_ptr(dog);
|
||||
u3_cs_box* box_u = u3_co_botox(dog_w);
|
||||
c3_w* dog_w = u3_ca_to_ptr(dog);
|
||||
u3_cs_box* box_u = u3_ca_botox(dog_w);
|
||||
|
||||
if ( 0x7fffffff == box_u->use_w ) {
|
||||
u3_cm_bail(c3__fail);
|
||||
@ -564,8 +564,8 @@ _me_gain_use(u3_noun dog)
|
||||
{
|
||||
static c3_w bug_w = 0;
|
||||
|
||||
if ( FOO && u3_co_botox(u3_co_to_ptr(dog)) == (void *)0x200dfe3e4 ) {
|
||||
u3_cs_box* box_u = u3_co_botox(u3_co_to_ptr(dog));
|
||||
if ( FOO && u3_ca_botox(u3_ca_to_ptr(dog)) == (void *)0x200dfe3e4 ) {
|
||||
u3_cs_box* box_u = u3_ca_botox(u3_ca_to_ptr(dog));
|
||||
|
||||
printf("GAIN %d %d\r\n", bug_w, box_u->use_w);
|
||||
if ( bug_w == 8 ) { abort(); }
|
||||
@ -585,16 +585,16 @@ static u3_noun
|
||||
_me_copy_north_in(u3_noun som)
|
||||
{
|
||||
c3_assert(u3_none != som);
|
||||
if ( u3_so(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) {
|
||||
return som;
|
||||
}
|
||||
else {
|
||||
u3_noun dog = som;
|
||||
|
||||
if ( u3_so(u3_co_north_is_senior(u3R, dog)) ) {
|
||||
if ( u3_so(u3_ca_north_is_senior(u3R, dog)) ) {
|
||||
return dog;
|
||||
}
|
||||
else if ( u3_so(u3_co_north_is_junior(u3R, dog)) ) {
|
||||
else if ( u3_so(u3_ca_north_is_junior(u3R, dog)) ) {
|
||||
return _me_copy_north(dog);
|
||||
}
|
||||
else {
|
||||
@ -608,32 +608,32 @@ _me_copy_north_in(u3_noun som)
|
||||
static u3_noun
|
||||
_me_copy_north(u3_noun dog)
|
||||
{
|
||||
c3_assert(u3_yes == u3_co_north_is_junior(u3R, dog));
|
||||
c3_assert(u3_yes == u3_ca_north_is_junior(u3R, dog));
|
||||
|
||||
if ( u3_ne(u3_co_north_is_junior(u3R, dog)) ) {
|
||||
if ( u3_ne(u3_co_north_is_senior(u3R, dog)) ) {
|
||||
if ( u3_ne(u3_ca_north_is_junior(u3R, dog)) ) {
|
||||
if ( u3_ne(u3_ca_north_is_senior(u3R, dog)) ) {
|
||||
_me_gain_use(dog);
|
||||
}
|
||||
return dog;
|
||||
}
|
||||
else {
|
||||
u3_cs_noun* dog_u = u3_co_to_ptr(dog);
|
||||
u3_cs_noun* dog_u = u3_ca_to_ptr(dog);
|
||||
|
||||
/* Borrow mug slot to record new destination.
|
||||
*/
|
||||
if ( dog_u->mug_w >> 31 ) {
|
||||
u3_noun nov = (u3_noun) dog_u->mug_w;
|
||||
|
||||
c3_assert(u3_so(u3_co_north_is_normal(u3R, nov)));
|
||||
c3_assert(u3_so(u3_ca_north_is_normal(u3R, nov)));
|
||||
_me_gain_use(nov);
|
||||
|
||||
return nov;
|
||||
}
|
||||
else {
|
||||
if ( u3_yes == u3_co_is_pom(dog) ) {
|
||||
u3_cs_cell* old_u = u3_co_to_ptr(dog);
|
||||
if ( u3_yes == u3_ca_is_pom(dog) ) {
|
||||
u3_cs_cell* old_u = u3_ca_to_ptr(dog);
|
||||
c3_w* new_w = u3_ca_walloc(c3_wiseof(u3_cs_cell));
|
||||
u3_noun new = u3_co_de_twin(dog, new_w);
|
||||
u3_noun new = u3_ca_de_twin(dog, new_w);
|
||||
u3_cs_cell* new_u = (u3_cs_cell*)(void *)new_w;
|
||||
|
||||
new_u->mug_w = old_u->mug_w;
|
||||
@ -646,9 +646,9 @@ _me_copy_north(u3_noun dog)
|
||||
return new;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* old_u = u3_co_to_ptr(dog);
|
||||
u3_cs_atom* old_u = u3_ca_to_ptr(dog);
|
||||
c3_w* new_w = u3_ca_walloc(old_u->len_w + c3_wiseof(u3_cs_atom));
|
||||
u3_noun new = u3_co_de_twin(dog, new_w);
|
||||
u3_noun new = u3_ca_de_twin(dog, new_w);
|
||||
u3_cs_atom* new_u = (u3_cs_atom*)(void *)new_w;
|
||||
|
||||
new_u->mug_w = old_u->mug_w;
|
||||
@ -677,16 +677,16 @@ static u3_noun
|
||||
_me_copy_south_in(u3_noun som)
|
||||
{
|
||||
c3_assert(u3_none != som);
|
||||
if ( u3_so(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) {
|
||||
return som;
|
||||
}
|
||||
else {
|
||||
u3_noun dog = som;
|
||||
|
||||
if ( u3_so(u3_co_south_is_senior(u3R, dog)) ) {
|
||||
if ( u3_so(u3_ca_south_is_senior(u3R, dog)) ) {
|
||||
return dog;
|
||||
}
|
||||
else if ( u3_so(u3_co_south_is_junior(u3R, dog)) ) {
|
||||
else if ( u3_so(u3_ca_south_is_junior(u3R, dog)) ) {
|
||||
return _me_copy_south(dog);
|
||||
}
|
||||
else {
|
||||
@ -700,34 +700,34 @@ _me_copy_south_in(u3_noun som)
|
||||
static u3_noun
|
||||
_me_copy_south(u3_noun dog)
|
||||
{
|
||||
c3_assert(u3_yes == u3_co_south_is_junior(u3R, dog));
|
||||
c3_assert(u3_yes == u3_ca_south_is_junior(u3R, dog));
|
||||
|
||||
if ( u3_ne(u3_co_south_is_junior(u3R, dog)) ) {
|
||||
if ( u3_ne(u3_co_south_is_senior(u3R, dog)) ) {
|
||||
if ( u3_ne(u3_ca_south_is_junior(u3R, dog)) ) {
|
||||
if ( u3_ne(u3_ca_south_is_senior(u3R, dog)) ) {
|
||||
_me_gain_use(dog);
|
||||
}
|
||||
return dog;
|
||||
}
|
||||
else {
|
||||
u3_cs_noun* dog_u = u3_co_to_ptr(dog);
|
||||
u3_cs_noun* dog_u = u3_ca_to_ptr(dog);
|
||||
|
||||
/* Borrow mug slot to record new destination.
|
||||
*/
|
||||
if ( dog_u->mug_w >> 31 ) {
|
||||
u3_noun nov = (u3_noun) dog_u->mug_w;
|
||||
|
||||
// printf("south: %p is already %p\r\n", dog_u, u3_co_to_ptr(nov));
|
||||
// printf("south: %p is already %p\r\n", dog_u, u3_ca_to_ptr(nov));
|
||||
|
||||
c3_assert(u3_so(u3_co_south_is_normal(u3R, nov)));
|
||||
c3_assert(u3_so(u3_ca_south_is_normal(u3R, nov)));
|
||||
_me_gain_use(nov);
|
||||
|
||||
return nov;
|
||||
}
|
||||
else {
|
||||
if ( u3_yes == u3_co_is_pom(dog) ) {
|
||||
u3_cs_cell* old_u = u3_co_to_ptr(dog);
|
||||
if ( u3_yes == u3_ca_is_pom(dog) ) {
|
||||
u3_cs_cell* old_u = u3_ca_to_ptr(dog);
|
||||
c3_w* new_w = u3_ca_walloc(c3_wiseof(u3_cs_cell));
|
||||
u3_noun new = u3_co_de_twin(dog, new_w);
|
||||
u3_noun new = u3_ca_de_twin(dog, new_w);
|
||||
u3_cs_cell* new_u = (u3_cs_cell*)(void *)new_w;
|
||||
|
||||
// printf("south: cell %p to %p\r\n", old_u, new_u);
|
||||
@ -743,9 +743,9 @@ _me_copy_south(u3_noun dog)
|
||||
return new;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* old_u = u3_co_to_ptr(dog);
|
||||
u3_cs_atom* old_u = u3_ca_to_ptr(dog);
|
||||
c3_w* new_w = u3_ca_walloc(old_u->len_w + c3_wiseof(u3_cs_atom));
|
||||
u3_noun new = u3_co_de_twin(dog, new_w);
|
||||
u3_noun new = u3_ca_de_twin(dog, new_w);
|
||||
u3_cs_atom* new_u = (u3_cs_atom*)(void *)new_w;
|
||||
|
||||
// printf("south: atom %p to %p\r\n", old_u, new_u);
|
||||
@ -775,17 +775,17 @@ _me_copy_south(u3_noun dog)
|
||||
static u3_noun
|
||||
_me_take_north(u3_noun dog)
|
||||
{
|
||||
if ( u3_yes == u3_co_north_is_senior(u3R, dog) ) {
|
||||
if ( u3_yes == u3_ca_north_is_senior(u3R, dog) ) {
|
||||
/* senior pointers are not refcounted
|
||||
*/
|
||||
return dog;
|
||||
}
|
||||
else if ( u3_yes == u3_co_north_is_junior(u3R, dog) ) {
|
||||
else if ( u3_yes == u3_ca_north_is_junior(u3R, dog) ) {
|
||||
/* junior pointers are copied
|
||||
*/
|
||||
u3_noun mos = _me_copy_north(dog);
|
||||
|
||||
// printf("north: %p to %p\r\n", u3_co_to_ptr(dog), u3_co_to_ptr(mos));
|
||||
// printf("north: %p to %p\r\n", u3_ca_to_ptr(dog), u3_ca_to_ptr(mos));
|
||||
return mos;
|
||||
}
|
||||
else {
|
||||
@ -801,17 +801,17 @@ _me_take_north(u3_noun dog)
|
||||
static u3_noun
|
||||
_me_take_south(u3_noun dog)
|
||||
{
|
||||
if ( u3_yes == u3_co_south_is_senior(u3R, dog) ) {
|
||||
if ( u3_yes == u3_ca_south_is_senior(u3R, dog) ) {
|
||||
/* senior pointers are not refcounted
|
||||
*/
|
||||
return dog;
|
||||
}
|
||||
else if ( u3_yes == u3_co_south_is_junior(u3R, dog) ) {
|
||||
else if ( u3_yes == u3_ca_south_is_junior(u3R, dog) ) {
|
||||
/* junior pointers are copied
|
||||
*/
|
||||
u3_noun mos = _me_copy_south(dog);
|
||||
|
||||
// printf("south: %p to %p\r\n", u3_co_to_ptr(dog), u3_co_to_ptr(mos));
|
||||
// printf("south: %p to %p\r\n", u3_ca_to_ptr(dog), u3_ca_to_ptr(mos));
|
||||
return mos;
|
||||
}
|
||||
else {
|
||||
@ -829,11 +829,11 @@ u3_ca_take(u3_noun som)
|
||||
{
|
||||
c3_assert(u3_none != som);
|
||||
|
||||
if ( u3_so(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) {
|
||||
return som;
|
||||
}
|
||||
else {
|
||||
return u3_so(u3_co_is_north(u3R))
|
||||
return u3_so(u3_ca_is_north(u3R))
|
||||
? _me_take_north(som)
|
||||
: _me_take_south(som);
|
||||
}
|
||||
@ -844,13 +844,13 @@ u3_ca_take(u3_noun som)
|
||||
c3_o
|
||||
u3_ca_left(u3_noun som)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(som)) ||
|
||||
u3_ne(u3_co_is_junior(u3R, som)) )
|
||||
if ( u3_so(u3_ca_is_cat(som)) ||
|
||||
u3_ne(u3_ca_is_junior(u3R, som)) )
|
||||
{
|
||||
return u3_yes;
|
||||
}
|
||||
else {
|
||||
u3_cs_noun* dog_u = u3_co_to_ptr(som);
|
||||
u3_cs_noun* dog_u = u3_ca_to_ptr(som);
|
||||
|
||||
return u3_say(0 != (dog_u->mug_w >> 31));
|
||||
}
|
||||
@ -861,7 +861,7 @@ u3_ca_left(u3_noun som)
|
||||
static u3_noun
|
||||
_me_gain_north(u3_noun dog)
|
||||
{
|
||||
if ( u3_yes == u3_co_north_is_senior(u3R, dog) ) {
|
||||
if ( u3_yes == u3_ca_north_is_senior(u3R, dog) ) {
|
||||
/* senior pointers are not refcounted
|
||||
*/
|
||||
return dog;
|
||||
@ -869,7 +869,7 @@ _me_gain_north(u3_noun dog)
|
||||
else {
|
||||
/* junior nouns are disallowed
|
||||
*/
|
||||
c3_assert(u3_ne(u3_co_north_is_junior(u3R, dog)));
|
||||
c3_assert(u3_ne(u3_ca_north_is_junior(u3R, dog)));
|
||||
|
||||
/* normal pointers are refcounted
|
||||
*/
|
||||
@ -883,7 +883,7 @@ _me_gain_north(u3_noun dog)
|
||||
static u3_noun
|
||||
_me_gain_south(u3_noun dog)
|
||||
{
|
||||
if ( u3_yes == u3_co_south_is_senior(u3R, dog) ) {
|
||||
if ( u3_yes == u3_ca_south_is_senior(u3R, dog) ) {
|
||||
/* senior pointers are not refcounted
|
||||
*/
|
||||
return dog;
|
||||
@ -891,7 +891,7 @@ _me_gain_south(u3_noun dog)
|
||||
else {
|
||||
/* junior nouns are disallowed
|
||||
*/
|
||||
c3_assert(u3_ne(u3_co_south_is_junior(u3R, dog)));
|
||||
c3_assert(u3_ne(u3_ca_south_is_junior(u3R, dog)));
|
||||
|
||||
/* normal nouns are refcounted
|
||||
*/
|
||||
@ -906,9 +906,9 @@ static void
|
||||
_me_lose_north(u3_noun dog)
|
||||
{
|
||||
top:
|
||||
if ( u3_yes == u3_co_north_is_normal(u3R, dog) ) {
|
||||
c3_w* dog_w = u3_co_to_ptr(dog);
|
||||
u3_cs_box* box_u = u3_co_botox(dog_w);
|
||||
if ( u3_yes == u3_ca_north_is_normal(u3R, dog) ) {
|
||||
c3_w* dog_w = u3_ca_to_ptr(dog);
|
||||
u3_cs_box* box_u = u3_ca_botox(dog_w);
|
||||
|
||||
if ( box_u->use_w > 1 ) {
|
||||
box_u->use_w -= 1;
|
||||
@ -918,16 +918,16 @@ top:
|
||||
u3_cm_bail(c3__foul);
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_pom(dog)) ) {
|
||||
if ( u3_so(u3_ca_is_pom(dog)) ) {
|
||||
u3_cs_cell* dog_u = (void *)dog_w;
|
||||
u3_noun h_dog = dog_u->hed;
|
||||
u3_noun t_dog = dog_u->tel;
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(h_dog)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(h_dog)) ) {
|
||||
_me_lose_north(h_dog);
|
||||
}
|
||||
u3_ca_free(dog_w);
|
||||
if ( u3_ne(u3_co_is_cat(t_dog)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(t_dog)) ) {
|
||||
dog = t_dog;
|
||||
goto top;
|
||||
}
|
||||
@ -946,9 +946,9 @@ static void
|
||||
_me_lose_south(u3_noun dog)
|
||||
{
|
||||
top:
|
||||
if ( u3_yes == u3_co_south_is_normal(u3R, dog) ) {
|
||||
c3_w* dog_w = u3_co_to_ptr(dog);
|
||||
u3_cs_box* box_u = u3_co_botox(dog_w);
|
||||
if ( u3_yes == u3_ca_south_is_normal(u3R, dog) ) {
|
||||
c3_w* dog_w = u3_ca_to_ptr(dog);
|
||||
u3_cs_box* box_u = u3_ca_botox(dog_w);
|
||||
|
||||
if ( box_u->use_w > 1 ) {
|
||||
box_u->use_w -= 1;
|
||||
@ -958,16 +958,16 @@ top:
|
||||
u3_cm_bail(c3__foul);
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_pom(dog)) ) {
|
||||
if ( u3_so(u3_ca_is_pom(dog)) ) {
|
||||
u3_cs_cell* dog_u = (void *)dog_w;
|
||||
u3_noun h_dog = dog_u->hed;
|
||||
u3_noun t_dog = dog_u->tel;
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(h_dog)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(h_dog)) ) {
|
||||
_me_lose_south(h_dog);
|
||||
}
|
||||
u3_ca_free(dog_w);
|
||||
if ( u3_ne(u3_co_is_cat(t_dog)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(t_dog)) ) {
|
||||
dog = t_dog;
|
||||
goto top;
|
||||
}
|
||||
@ -987,11 +987,11 @@ u3_ca_gain(u3_noun som)
|
||||
{
|
||||
c3_assert(u3_none != som);
|
||||
|
||||
if ( u3_so(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) {
|
||||
return som;
|
||||
}
|
||||
else {
|
||||
return u3_so(u3_co_is_north(u3R))
|
||||
return u3_so(u3_ca_is_north(u3R))
|
||||
? _me_gain_north(som)
|
||||
: _me_gain_south(som);
|
||||
}
|
||||
@ -1002,8 +1002,8 @@ u3_ca_gain(u3_noun som)
|
||||
void
|
||||
u3_ca_lose(u3_noun som)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_co_is_north(u3R)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_north(u3R)) ) {
|
||||
_me_lose_north(som);
|
||||
} else {
|
||||
_me_lose_south(som);
|
||||
@ -1016,12 +1016,12 @@ u3_ca_lose(u3_noun som)
|
||||
c3_w
|
||||
u3_ca_use(u3_noun som)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(som)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(som)) ) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
c3_w* dog_w = u3_co_to_ptr(som);
|
||||
u3_cs_box* box_u = u3_co_botox(dog_w);
|
||||
c3_w* dog_w = u3_ca_to_ptr(som);
|
||||
u3_cs_box* box_u = u3_ca_botox(dog_w);
|
||||
|
||||
return box_u->use_w;
|
||||
}
|
||||
@ -1032,22 +1032,22 @@ u3_ca_use(u3_noun som)
|
||||
c3_w
|
||||
u3_ca_mark_ptr(void* ptr_v)
|
||||
{
|
||||
if ( u3_so(u3_co_is_north(u3R)) ) {
|
||||
if ( !((ptr_v >= u3_co_into(u3R->rut_p)) &&
|
||||
(ptr_v < u3_co_into(u3R->hat_p))) )
|
||||
if ( u3_so(u3_ca_is_north(u3R)) ) {
|
||||
if ( !((ptr_v >= u3_ca_into(u3R->rut_p)) &&
|
||||
(ptr_v < u3_ca_into(u3R->hat_p))) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( !((ptr_v >= u3_co_into(u3R->hat_p)) &&
|
||||
(ptr_v < u3_co_into(u3R->rut_p))) )
|
||||
if ( !((ptr_v >= u3_ca_into(u3R->hat_p)) &&
|
||||
(ptr_v < u3_ca_into(u3R->rut_p))) )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
{
|
||||
u3_cs_box* box_u = u3_co_botox(ptr_v);
|
||||
u3_cs_box* box_u = u3_ca_botox(ptr_v);
|
||||
c3_w siz_w;
|
||||
|
||||
#ifdef U3_MEMORY_DEBUG
|
||||
@ -1091,11 +1091,11 @@ u3_ca_mark_noun(u3_noun som)
|
||||
c3_w siz_w = 0;
|
||||
|
||||
while ( 1 ) {
|
||||
if ( u3_so(u3_co_is_senior(u3R, som)) ) {
|
||||
if ( u3_so(u3_ca_is_senior(u3R, som)) ) {
|
||||
return siz_w;
|
||||
}
|
||||
else {
|
||||
c3_w* dog_w = u3_co_to_ptr(som);
|
||||
c3_w* dog_w = u3_ca_to_ptr(som);
|
||||
c3_w new_w = u3_ca_mark_ptr(dog_w);
|
||||
|
||||
if ( 0 == new_w ) {
|
||||
@ -1155,7 +1155,7 @@ u3_ca_sweep(c3_c* cap_c)
|
||||
c3_w fre_w = 0;
|
||||
c3_w i_w;
|
||||
|
||||
end_w = u3_so(u3_co_is_north(u3R))
|
||||
end_w = u3_so(u3_ca_is_north(u3R))
|
||||
? (u3R->hat_p - u3R->rut_p)
|
||||
: (u3R->rut_p - u3R->hat_p);
|
||||
|
||||
@ -1176,10 +1176,10 @@ u3_ca_sweep(c3_c* cap_c)
|
||||
*/
|
||||
pos_w = leq_w = weq_w = 0;
|
||||
{
|
||||
u3_post box_p = u3_so(u3_co_is_north(u3R)) ? u3R->rut_p : u3R->hat_p;
|
||||
u3_post end_p = u3_so(u3_co_is_north(u3R)) ? u3R->hat_p : u3R->rut_p;
|
||||
c3_w* box_w = u3_co_into(box_p);
|
||||
c3_w* end_w = u3_co_into(end_p);
|
||||
u3_post box_p = u3_so(u3_ca_is_north(u3R)) ? u3R->rut_p : u3R->hat_p;
|
||||
u3_post end_p = u3_so(u3_ca_is_north(u3R)) ? u3R->hat_p : u3R->rut_p;
|
||||
c3_w* box_w = u3_ca_into(box_p);
|
||||
c3_w* end_w = u3_ca_into(end_p);
|
||||
|
||||
while ( box_w < end_w ) {
|
||||
u3_cs_box* box_u = (void *)box_w;
|
||||
@ -1193,20 +1193,20 @@ u3_ca_sweep(c3_c* cap_c)
|
||||
else {
|
||||
printf("weak %p %x (%d, %d)\r\n",
|
||||
box_u,
|
||||
((u3_cs_noun *)(u3_co_boxto(box_w)))->mug_w,
|
||||
((u3_cs_noun *)(u3_ca_boxto(box_w)))->mug_w,
|
||||
box_u->use_w, box_u->eus_w);
|
||||
// u3_cm_p("weak", u3_co_to_pom(u3_co_outa(u3_co_boxto(box_w))));
|
||||
// u3_cm_p("weak", u3_ca_to_pom(u3_ca_outa(u3_ca_boxto(box_w))));
|
||||
}
|
||||
weq_w += box_u->siz_w;
|
||||
}
|
||||
else {
|
||||
printf("leak %p %x (%d)\r\n",
|
||||
box_u,
|
||||
((u3_cs_noun *)(u3_co_boxto(box_w)))->mug_w
|
||||
? ((u3_cs_noun *)(u3_co_boxto(box_w)))->mug_w
|
||||
: u3_cr_mug(u3_co_to_pom(u3_co_outa(u3_co_boxto(box_w)))),
|
||||
((u3_cs_noun *)(u3_ca_boxto(box_w)))->mug_w
|
||||
? ((u3_cs_noun *)(u3_ca_boxto(box_w)))->mug_w
|
||||
: u3_cr_mug(u3_ca_to_pom(u3_ca_outa(u3_ca_boxto(box_w)))),
|
||||
box_u->use_w);
|
||||
// u3_cm_p("leak", u3_co_to_pom(u3_co_outa(u3_co_boxto(box_w))));
|
||||
// u3_cm_p("leak", u3_ca_to_pom(u3_ca_outa(u3_ca_boxto(box_w))));
|
||||
leq_w += box_u->siz_w;
|
||||
}
|
||||
if ( box_u->cod_w ) {
|
||||
@ -1239,10 +1239,10 @@ u3_ca_sweep(c3_c* cap_c)
|
||||
}
|
||||
}
|
||||
|
||||
tot_w = u3_so(u3_co_is_north(u3R))
|
||||
tot_w = u3_so(u3_ca_is_north(u3R))
|
||||
? u3R->mat_p - u3R->rut_p
|
||||
: u3R->rut_p - u3R->mat_p;
|
||||
caf_w = u3_so(u3_co_is_north(u3R))
|
||||
caf_w = u3_so(u3_ca_is_north(u3R))
|
||||
? u3R->mat_p - u3R->cap_p
|
||||
: u3R->cap_p - u3R->mat_p;
|
||||
|
||||
@ -1319,13 +1319,13 @@ u3_ca_moot(c3_w* sal_w)
|
||||
c3_assert(0 != las_w);
|
||||
|
||||
if ( 1 == len_w ) {
|
||||
if ( u3_so(u3_co_is_cat(las_w)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(las_w)) ) {
|
||||
u3_ca_free(nov_w);
|
||||
|
||||
return las_w;
|
||||
}
|
||||
}
|
||||
return u3_co_to_pug(u3_co_outa(nov_w));
|
||||
return u3_ca_to_pug(u3_ca_outa(nov_w));
|
||||
}
|
||||
|
||||
#if 0
|
||||
@ -1392,7 +1392,7 @@ u3_ca_mint(c3_w* sal_w, c3_w len_w)
|
||||
else if ( len_w == 1 ) {
|
||||
c3_w low_w = nov_u->buf_w[0];
|
||||
|
||||
if ( u3_so(u3_co_is_cat(low_w)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(low_w)) ) {
|
||||
u3_ca_free(nov_w);
|
||||
|
||||
return low_w;
|
||||
@ -1406,7 +1406,7 @@ u3_ca_mint(c3_w* sal_w, c3_w len_w)
|
||||
c3_w dif_w = (old_w - len_w);
|
||||
|
||||
if ( dif_w >= u3_cc_minimum ) {
|
||||
c3_w* box_w = (void *)u3_co_botox(nov_w);
|
||||
c3_w* box_w = (void *)u3_ca_botox(nov_w);
|
||||
c3_w* end_w = (nov_w + c3_wiseof(u3_cs_atom) + len_w + 1);
|
||||
c3_w asz_w = (end_w - box_w);
|
||||
c3_w bsz_w = box_w[0] - asz_w;
|
||||
@ -1418,7 +1418,7 @@ u3_ca_mint(c3_w* sal_w, c3_w len_w)
|
||||
}
|
||||
nov_u->len_w = len_w;
|
||||
}
|
||||
return u3_co_to_pug(u3_co_outa(nov_w));
|
||||
return u3_ca_to_pug(u3_ca_outa(nov_w));
|
||||
}
|
||||
|
||||
#ifdef U3_MEMORY_DEBUG
|
||||
|
28
g/i.c
28
g/i.c
@ -45,7 +45,7 @@ u3_ci_words(c3_w a_w,
|
||||
nov_u->buf_w[i_w] = b_w[i_w];
|
||||
}
|
||||
}
|
||||
return u3_co_to_pug(u3_co_outa(nov_w));
|
||||
return u3_ca_to_pug(u3_ca_outa(nov_w));
|
||||
}
|
||||
}
|
||||
|
||||
@ -133,7 +133,7 @@ u3_ci_bytes(c3_w a_w,
|
||||
nov_u->buf_w[i_w >> 2] |= (b_y[i_w] << ((i_w & 3) * 8));
|
||||
}
|
||||
}
|
||||
return u3_co_to_pug(u3_co_outa(nov_w));
|
||||
return u3_ca_to_pug(u3_ca_outa(nov_w));
|
||||
}
|
||||
}
|
||||
|
||||
@ -170,7 +170,7 @@ u3_ci_vint(u3_noun a)
|
||||
{
|
||||
c3_assert(u3_none != a);
|
||||
|
||||
if ( u3_so(u3_co_is_cat(a)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) ) {
|
||||
c3_w vin_w = (a + 1);
|
||||
|
||||
if ( a == 0x7fffffff ) {
|
||||
@ -178,7 +178,7 @@ u3_ci_vint(u3_noun a)
|
||||
}
|
||||
else return vin_w;
|
||||
}
|
||||
else if ( u3_so(u3_co_is_cell(a)) ) {
|
||||
else if ( u3_so(u3_ca_is_cell(a)) ) {
|
||||
return u3_cm_bail(c3__exit);
|
||||
}
|
||||
else {
|
||||
@ -192,10 +192,6 @@ u3_ci_vint(u3_noun a)
|
||||
}
|
||||
}
|
||||
|
||||
extern int FOO;
|
||||
|
||||
u3_noun BAD;
|
||||
|
||||
/* u3_ci_cell():
|
||||
**
|
||||
** Produce the cell `[a b]`.
|
||||
@ -206,8 +202,8 @@ u3_ci_cell(u3_noun a, u3_noun b)
|
||||
c3_assert(u3_none != a);
|
||||
c3_assert(u3_none != b);
|
||||
|
||||
c3_assert(u3_ne(u3_co_is_junior(u3R, a)));
|
||||
c3_assert(u3_ne(u3_co_is_junior(u3R, b)));
|
||||
c3_assert(u3_ne(u3_ca_is_junior(u3R, a)));
|
||||
c3_assert(u3_ne(u3_ca_is_junior(u3R, b)));
|
||||
|
||||
{
|
||||
c3_w* nov_w = u3_ca_walloc(c3_wiseof(u3_cs_cell));
|
||||
@ -218,7 +214,7 @@ u3_ci_cell(u3_noun a, u3_noun b)
|
||||
nov_u->hed = a;
|
||||
nov_u->tel = b;
|
||||
|
||||
pro = u3_co_to_pom(u3_co_outa(nov_w));
|
||||
pro = u3_ca_to_pom(u3_ca_outa(nov_w));
|
||||
#if 0
|
||||
if ( 0x15d47649 == u3_cr_mug(pro) ) {
|
||||
fprintf(stderr, "BAD %x\r\n", pro);
|
||||
@ -228,9 +224,9 @@ u3_ci_cell(u3_noun a, u3_noun b)
|
||||
#if 1
|
||||
return pro;
|
||||
#else
|
||||
if ( !FOO ) return u3_co_to_pom(u3_co_outa(nov_w));
|
||||
if ( !FOO ) return u3_ca_to_pom(u3_ca_outa(nov_w));
|
||||
else {
|
||||
u3_noun pro = u3_co_to_pom(u3_co_outa(nov_w));
|
||||
u3_noun pro = u3_ca_to_pom(u3_ca_outa(nov_w));
|
||||
|
||||
u3_cm_p("leaked", pro);
|
||||
printf("pro %u, %x\r\n", pro, u3_cr_mug(pro));
|
||||
@ -346,13 +342,13 @@ u3_ci_list(u3_weak one, ...);
|
||||
else {
|
||||
c3_w cut_w = _molt_cut(len_w, pms_m);
|
||||
|
||||
if ( u3_no == u3_co_is_cell(som) ) {
|
||||
if ( u3_no == u3_ca_is_cell(som) ) {
|
||||
return u3_cm_bail(c3__exit);
|
||||
}
|
||||
else {
|
||||
return u3_ci_cell
|
||||
(_molt_apply(u3_co_h(som), cut_w, pms_m),
|
||||
_molt_apply(u3_co_t(som), (len_w - cut_w), (pms_m + cut_w)));
|
||||
(_molt_apply(u3_ca_h(som), cut_w, pms_m),
|
||||
_molt_apply(u3_ca_t(som), (len_w - cut_w), (pms_m + cut_w)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
12
g/j.c
12
g/j.c
@ -55,7 +55,7 @@ _cj_axis(u3_noun fol)
|
||||
if ( u3_ne(u3_cr_trel(fol, &p_fol, &q_fol, &r_fol)) ) {
|
||||
if ( u3_ne(u3_cr_cell(fol, &p_fol, &q_fol)) ||
|
||||
(0 != p_fol) ||
|
||||
(u3_ne(u3_co_is_cat(q_fol))) )
|
||||
(u3_ne(u3_ca_is_cat(q_fol))) )
|
||||
{
|
||||
fprintf(stderr, "axis: bad a\r\n");
|
||||
return 0;
|
||||
@ -65,7 +65,7 @@ _cj_axis(u3_noun fol)
|
||||
else {
|
||||
if ( 9 != p_fol )
|
||||
{ fprintf(stderr, "axis: bad b\r\n"); return 0; }
|
||||
if ( u3_ne(u3_co_is_cat(q_fol)) )
|
||||
if ( u3_ne(u3_ca_is_cat(q_fol)) )
|
||||
{ fprintf(stderr, "axis: bad c\r\n"); return 0; }
|
||||
if ( u3_ne(u3du(r_fol)) || (0 != u3h(r_fol)) || (1 != u3t(r_fol)) )
|
||||
{ fprintf(stderr, "axis: bad d\r\n"); return 0; }
|
||||
@ -114,7 +114,7 @@ _cj_chum(u3_noun chu)
|
||||
u3_noun h_chu = u3h(chu);
|
||||
u3_noun t_chu = u3t(chu);
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(t_chu)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(t_chu)) ) {
|
||||
return 0;
|
||||
} else {
|
||||
c3_c* h_chu_c = u3_cr_string(h_chu);
|
||||
@ -156,7 +156,7 @@ _cj_je_fsck(u3_noun clu)
|
||||
axe_l = 0;
|
||||
}
|
||||
else {
|
||||
if ( (0 != u3h(q_clu)) || u3_ne(u3_co_is_cat(axe_l = u3t(q_clu))) ) {
|
||||
if ( (0 != u3h(q_clu)) || u3_ne(u3_ca_is_cat(axe_l = u3t(q_clu))) ) {
|
||||
u3z(clu); free(nam_c); return u3_none;
|
||||
}
|
||||
}
|
||||
@ -614,7 +614,7 @@ _cj_find(u3_noun bat)
|
||||
u3_weak jaw = u3_ch_gut(rod_u->jed.har_p, bat);
|
||||
|
||||
if ( u3_none != jaw ) {
|
||||
u3_assure(u3_co_is_cat(u3h(jaw)));
|
||||
u3_assure(u3_ca_is_cat(u3h(jaw)));
|
||||
|
||||
#if 0
|
||||
if ( rod_u != u3R ) {
|
||||
@ -971,7 +971,7 @@ _cj_warm_reap(u3_noun kev)
|
||||
#if 0
|
||||
fprintf(stderr, "reap: bat %x (%d, %d), cax %x\r\n",
|
||||
u3_cr_mug(tab),
|
||||
u3_co_is_junior(u3R, bat),
|
||||
u3_ca_is_junior(u3R, bat),
|
||||
u3_ca_use(tab),
|
||||
u3_cr_mug(xac));
|
||||
#endif
|
||||
|
28
g/m.c
28
g/m.c
@ -144,7 +144,7 @@ _cm_signal_recover(c3_l sig_l, u3_noun arg)
|
||||
//
|
||||
_cm_signal_reset();
|
||||
|
||||
if ( (c3__meme == sig_l) && (u3_co_open(u3R) <= 256) ) {
|
||||
if ( (c3__meme == sig_l) && (u3_ca_open(u3R) <= 256) ) {
|
||||
// Out of memory at the top level. Error becomes c3__full,
|
||||
// and we release the emergency buffer. To continue work,
|
||||
// we need to readjust the image, eg, migrate to 64 bit.
|
||||
@ -405,7 +405,7 @@ u3_cm_dump(void)
|
||||
c3_w fre_w = 0;
|
||||
c3_w i_w;
|
||||
|
||||
hat_w = u3_so(u3_co_is_north(u3R)) ? u3R->hat_w - u3R->rut_w
|
||||
hat_w = u3_so(u3_ca_is_north(u3R)) ? u3R->hat_w - u3R->rut_w
|
||||
: u3R->rut_w - u3R->hat_w;
|
||||
|
||||
for ( i_w = 0; i_w < u3_cc_fbox_no; i_w++ ) {
|
||||
@ -420,10 +420,10 @@ u3_cm_dump(void)
|
||||
hat_w, fre_w, (hat_w - fre_w));
|
||||
|
||||
if ( 0 != (hat_w - fre_w) ) {
|
||||
c3_w* box_w = u3_so(u3_co_is_north(u3R)) ? u3R->rut_w : u3R->hat_w;
|
||||
c3_w* box_w = u3_so(u3_ca_is_north(u3R)) ? u3R->rut_w : u3R->hat_w;
|
||||
c3_w mem_w = 0;
|
||||
|
||||
while ( box_w < (u3_so(u3_co_is_north(u3R)) ? u3R->hat_w : u3R->rut_w) ) {
|
||||
while ( box_w < (u3_so(u3_ca_is_north(u3R)) ? u3R->hat_w : u3R->rut_w) ) {
|
||||
u3_cs_box* box_u = (void *)box_w;
|
||||
|
||||
if ( 0 != box_u->use_w ) {
|
||||
@ -505,7 +505,7 @@ u3_cm_bail(u3_noun how)
|
||||
// choice but to use the signal process; and we require the flat
|
||||
// form of how.
|
||||
//
|
||||
c3_assert(u3_so(u3_co_is_cat(how)));
|
||||
c3_assert(u3_so(u3_ca_is_cat(how)));
|
||||
u3_cm_signal(how);
|
||||
}
|
||||
|
||||
@ -563,10 +563,10 @@ u3_cm_leap(c3_w pad_w)
|
||||
else {
|
||||
pad_w -= u3R->all.fre_w;
|
||||
}
|
||||
if ( (pad_w + c3_wiseof(u3_cs_road)) >= u3_co_open(u3R) ) {
|
||||
if ( (pad_w + c3_wiseof(u3_cs_road)) >= u3_ca_open(u3R) ) {
|
||||
u3_cm_bail(c3__meme);
|
||||
}
|
||||
len_w = u3_co_open(u3R) - (pad_w + c3_wiseof(u3_cs_road));
|
||||
len_w = u3_ca_open(u3R) - (pad_w + c3_wiseof(u3_cs_road));
|
||||
}
|
||||
|
||||
/* Allocate a region on the cap.
|
||||
@ -574,11 +574,11 @@ u3_cm_leap(c3_w pad_w)
|
||||
{
|
||||
u3p(c3_w) bot_p;
|
||||
|
||||
if ( u3_yes == u3_co_is_north(u3R) ) {
|
||||
if ( u3_yes == u3_ca_is_north(u3R) ) {
|
||||
bot_p = (u3R->cap_p - len_w);
|
||||
u3R->cap_p -= len_w;
|
||||
|
||||
rod_u = _boot_south(u3_co_into(bot_p), c3_wiseof(u3_cs_road), len_w);
|
||||
rod_u = _boot_south(u3_ca_into(bot_p), c3_wiseof(u3_cs_road), len_w);
|
||||
#if 0
|
||||
fprintf(stderr, "leap: from north %p (cap %x), to south %p\r\n",
|
||||
u3R,
|
||||
@ -590,7 +590,7 @@ u3_cm_leap(c3_w pad_w)
|
||||
bot_p = u3R->cap_p;
|
||||
u3R->cap_p += len_w;
|
||||
|
||||
rod_u = _boot_north(u3_co_into(bot_p), c3_wiseof(u3_cs_road), len_w);
|
||||
rod_u = _boot_north(u3_ca_into(bot_p), c3_wiseof(u3_cs_road), len_w);
|
||||
#if 0
|
||||
fprintf(stderr, "leap: from north %p (cap %p), to south %p\r\n",
|
||||
u3R,
|
||||
@ -628,9 +628,9 @@ u3_cm_fall()
|
||||
|
||||
#if 0
|
||||
fprintf(stderr, "fall: from %s %p, to %s %p (cap %p, was %p)\r\n",
|
||||
u3_so(u3_co_is_north(u3R)) ? "north" : "south",
|
||||
u3_so(u3_ca_is_north(u3R)) ? "north" : "south",
|
||||
u3R,
|
||||
u3_so(u3_co_is_north(u3R)) ? "north" : "south",
|
||||
u3_so(u3_ca_is_north(u3R)) ? "north" : "south",
|
||||
u3R->par_u,
|
||||
u3R->hat_w,
|
||||
u3R->rut_w);
|
||||
@ -682,7 +682,7 @@ u3_cm_love(u3_noun pro)
|
||||
c3_w
|
||||
u3_cm_golf(void)
|
||||
{
|
||||
if ( u3_yes == u3_co_is_north(u3R) ) {
|
||||
if ( u3_yes == u3_ca_is_north(u3R) ) {
|
||||
return u3R->mat_p - u3R->cap_p;
|
||||
}
|
||||
else {
|
||||
@ -697,7 +697,7 @@ u3_cm_flog(c3_w gof_w)
|
||||
{
|
||||
// Enable memsets in case of memory corruption.
|
||||
//
|
||||
if ( u3_yes == u3_co_is_north(u3R) ) {
|
||||
if ( u3_yes == u3_ca_is_north(u3R) ) {
|
||||
u3_post bot_p = (u3R->mat_p - gof_w);
|
||||
// c3_w len_w = (bot_w - u3R->cap_w);
|
||||
|
||||
|
204
g/r.c
204
g/r.c
@ -15,11 +15,11 @@ _frag_word(c3_w a_w, u3_noun b)
|
||||
c3_w dep_w = u3_ax_dep(a_w);
|
||||
|
||||
while ( dep_w ) {
|
||||
if ( u3_no == u3_co_is_cell(b) ) {
|
||||
if ( u3_no == u3_ca_is_cell(b) ) {
|
||||
return u3_none;
|
||||
}
|
||||
else {
|
||||
u3_cs_cell* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_cell* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
b = *(((u3_noun*)&(b_u->hed)) + (1 & (a_w >> (dep_w - 1))));
|
||||
dep_w--;
|
||||
@ -37,11 +37,11 @@ _frag_deep(c3_w a_w, u3_noun b)
|
||||
c3_w dep_w = 32;
|
||||
|
||||
while ( dep_w ) {
|
||||
if ( u3_no == u3_co_is_cell(b) ) {
|
||||
if ( u3_no == u3_ca_is_cell(b) ) {
|
||||
return u3_none;
|
||||
}
|
||||
else {
|
||||
u3_cs_cell* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_cell* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
b = *(((u3_noun*)&(b_u->hed)) + (1 & (a_w >> (dep_w - 1))));
|
||||
dep_w--;
|
||||
@ -65,15 +65,15 @@ u3_cr_at(u3_atom a,
|
||||
return u3_none;
|
||||
}
|
||||
|
||||
if ( u3_so(u3_co_is_cat(a)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) ) {
|
||||
return _frag_word(a, b);
|
||||
}
|
||||
else {
|
||||
if ( u3_ne(u3_co_is_pug(a)) ) {
|
||||
if ( u3_ne(u3_ca_is_pug(a)) ) {
|
||||
return u3_none;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* a_u = u3_co_to_ptr(a);
|
||||
u3_cs_atom* a_u = u3_ca_to_ptr(a);
|
||||
c3_w len_w = a_u->len_w;
|
||||
|
||||
b = _frag_word(a_u->buf_w[len_w - 1], b);
|
||||
@ -136,14 +136,14 @@ u3_cr_at(u3_atom a,
|
||||
return u3_yes;
|
||||
}
|
||||
else {
|
||||
if ( u3_no == u3_co_is_cell(som) ) {
|
||||
if ( u3_no == u3_ca_is_cell(som) ) {
|
||||
return u3_no;
|
||||
} else {
|
||||
c3_w cut_w = _mean_cut(len_w, prs_m);
|
||||
|
||||
return u3_and
|
||||
(_mean_extract(u3_co_h(som), cut_w, prs_m),
|
||||
_mean_extract(u3_co_t(som), (len_w - cut_w), (prs_m + cut_w)));
|
||||
(_mean_extract(u3_ca_h(som), cut_w, prs_m),
|
||||
_mean_extract(u3_ca_t(som), (len_w - cut_w), (prs_m + cut_w)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -256,7 +256,7 @@ _mug_bytes(c3_w off_w, c3_w nby_w, c3_y* byt_y)
|
||||
static __inline__ c3_w
|
||||
_mug_words_in_buf(c3_w off_w, c3_w nwd_w, u3_noun veb)
|
||||
{
|
||||
u3_cs_atom* veb_u = u3_co_to_ptr(veb);
|
||||
u3_cs_atom* veb_u = u3_ca_to_ptr(veb);
|
||||
|
||||
if ( 0 == nwd_w ) {
|
||||
return off_w;
|
||||
@ -384,19 +384,19 @@ u3_cr_mug(u3_noun veb)
|
||||
{
|
||||
c3_assert(u3_none != veb);
|
||||
|
||||
if ( u3_so(u3_co_is_cat(veb)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(veb)) ) {
|
||||
c3_w x_w = veb;
|
||||
|
||||
return _mug_words(2166136261, (veb ? 1 : 0), &x_w);
|
||||
} else {
|
||||
u3_cs_noun* veb_u = u3_co_to_ptr(veb);
|
||||
u3_cs_noun* veb_u = u3_ca_to_ptr(veb);
|
||||
|
||||
if ( veb_u->mug_w ) {
|
||||
return veb_u->mug_w;
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_cell(veb)) ) {
|
||||
u3_cs_cell* veb_u = u3_co_to_ptr(veb);
|
||||
if ( u3_so(u3_ca_is_cell(veb)) ) {
|
||||
u3_cs_cell* veb_u = u3_ca_to_ptr(veb);
|
||||
u3_noun hed = veb_u->hed;
|
||||
u3_noun tel = veb_u->tel;
|
||||
|
||||
@ -404,7 +404,7 @@ u3_cr_mug(u3_noun veb)
|
||||
return veb_u->mug_w;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* veb_u = u3_co_to_ptr(veb);
|
||||
u3_cs_atom* veb_u = u3_ca_to_ptr(veb);
|
||||
c3_w len_w = veb_u->len_w;
|
||||
|
||||
veb_u->mug_w = _mug_words_buf(2166136261, len_w, veb);
|
||||
@ -487,8 +487,8 @@ _sung_one(u3_noun* a, u3_noun* b)
|
||||
return;
|
||||
}
|
||||
else {
|
||||
c3_o asr_o = u3_co_is_senior(u3R, *a);
|
||||
c3_o bsr_o = u3_co_is_senior(u3R, *b);
|
||||
c3_o asr_o = u3_ca_is_senior(u3R, *a);
|
||||
c3_o bsr_o = u3_ca_is_senior(u3R, *b);
|
||||
|
||||
if ( u3_so(asr_o) && u3_so(bsr_o) ) {
|
||||
// You shouldn't have let this happen. We don't want to
|
||||
@ -506,7 +506,7 @@ _sung_one(u3_noun* a, u3_noun* b)
|
||||
u3z(*a);
|
||||
*a = *b;
|
||||
}
|
||||
if ( u3_co_is_north(u3R) ) {
|
||||
if ( u3_ca_is_north(u3R) ) {
|
||||
if ( *a <= *b ) {
|
||||
u3k(*a);
|
||||
u3z(*b);
|
||||
@ -540,17 +540,17 @@ _sung_x(u3_noun a, u3_noun b)
|
||||
return u3_yes;
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_atom(a)) ) {
|
||||
u3_cs_atom* a_u = u3_co_to_ptr(a);
|
||||
if ( u3_so(u3_ca_is_atom(a)) ) {
|
||||
u3_cs_atom* a_u = u3_ca_to_ptr(a);
|
||||
|
||||
if ( !u3_so(u3_co_is_atom(b)) ||
|
||||
u3_so(u3_co_is_cat(a)) ||
|
||||
u3_so(u3_co_is_cat(b)) )
|
||||
if ( !u3_so(u3_ca_is_atom(b)) ||
|
||||
u3_so(u3_ca_is_cat(a)) ||
|
||||
u3_so(u3_ca_is_cat(b)) )
|
||||
{
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
if ( a_u->mug_w &&
|
||||
b_u->mug_w &&
|
||||
@ -579,12 +579,12 @@ _sung_x(u3_noun a, u3_noun b)
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_atom(b)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(b)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
u3_cs_cell* a_u = u3_co_to_ptr(a);
|
||||
u3_cs_cell* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_cell* a_u = u3_ca_to_ptr(a);
|
||||
u3_cs_cell* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
if ( a_u->mug_w &&
|
||||
b_u->mug_w &&
|
||||
@ -629,17 +629,17 @@ _sing_x(u3_noun a,
|
||||
return u3_yes;
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_atom(a)) ) {
|
||||
u3_cs_atom* a_u = u3_co_to_ptr(a);
|
||||
if ( u3_so(u3_ca_is_atom(a)) ) {
|
||||
u3_cs_atom* a_u = u3_ca_to_ptr(a);
|
||||
|
||||
if ( !u3_so(u3_co_is_atom(b)) ||
|
||||
u3_so(u3_co_is_cat(a)) ||
|
||||
u3_so(u3_co_is_cat(b)) )
|
||||
if ( !u3_so(u3_ca_is_atom(b)) ||
|
||||
u3_so(u3_ca_is_cat(a)) ||
|
||||
u3_so(u3_ca_is_cat(b)) )
|
||||
{
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
if ( a_u->mug_w &&
|
||||
b_u->mug_w &&
|
||||
@ -668,12 +668,12 @@ _sing_x(u3_noun a,
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_atom(b)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(b)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
u3_cs_cell* a_u = u3_co_to_ptr(a);
|
||||
u3_cs_cell* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_cell* a_u = u3_ca_to_ptr(a);
|
||||
u3_cs_cell* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
if ( a_u->mug_w &&
|
||||
b_u->mug_w &&
|
||||
@ -682,10 +682,10 @@ _sing_x(u3_noun a,
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
if ( u3_no == _sing_x(u3_co_h(a), u3_co_h(b)) ) {
|
||||
if ( u3_no == _sing_x(u3_ca_h(a), u3_ca_h(b)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
else if ( u3_no == _sing_x(u3_co_t(a), u3_co_t(b)) ) {
|
||||
else if ( u3_no == _sing_x(u3_ca_t(a), u3_ca_t(b)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
return u3_yes;
|
||||
@ -731,18 +731,18 @@ u3_cr_sing_cell(u3_noun p,
|
||||
u3_noun q,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_sing(p, u3_co_h(b)),
|
||||
u3_cr_sing(q, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_sing(p, u3_ca_h(b)),
|
||||
u3_cr_sing(q, u3_ca_t(b))));
|
||||
}
|
||||
u3_bean
|
||||
u3_cr_fing_cell(u3_noun p,
|
||||
u3_noun q,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_fing(p, u3_co_h(b)),
|
||||
u3_cr_fing(q, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_fing(p, u3_ca_h(b)),
|
||||
u3_cr_fing(q, u3_ca_t(b))));
|
||||
}
|
||||
|
||||
/* u3_cr_sing_mixt():
|
||||
@ -754,18 +754,18 @@ u3_cr_sing_mixt(const c3_c* p_c,
|
||||
u3_noun q,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_sing_c(p_c, u3_co_h(b)),
|
||||
u3_cr_sing(q, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_sing_c(p_c, u3_ca_h(b)),
|
||||
u3_cr_sing(q, u3_ca_t(b))));
|
||||
}
|
||||
u3_bean
|
||||
u3_cr_fing_mixt(const c3_c* p_c,
|
||||
u3_noun q,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_sing_c(p_c, u3_co_h(b)),
|
||||
u3_cr_fing(q, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_sing_c(p_c, u3_ca_h(b)),
|
||||
u3_cr_fing(q, u3_ca_t(b))));
|
||||
}
|
||||
|
||||
/* u3_cr_sing_trel():
|
||||
@ -778,9 +778,9 @@ u3_cr_sing_trel(u3_noun p,
|
||||
u3_noun r,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_sing(p, u3_co_h(b)),
|
||||
u3_cr_sing_cell(q, r, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_sing(p, u3_ca_h(b)),
|
||||
u3_cr_sing_cell(q, r, u3_ca_t(b))));
|
||||
}
|
||||
u3_bean
|
||||
u3_cr_fing_trel(u3_noun p,
|
||||
@ -788,9 +788,9 @@ u3_cr_fing_trel(u3_noun p,
|
||||
u3_noun r,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_fing(p, u3_co_h(b)),
|
||||
u3_cr_fing_cell(q, r, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_fing(p, u3_ca_h(b)),
|
||||
u3_cr_fing_cell(q, r, u3_ca_t(b))));
|
||||
}
|
||||
|
||||
/* u3_cr_sing_qual():
|
||||
@ -804,9 +804,9 @@ u3_cr_sing_qual(u3_noun p,
|
||||
u3_noun s,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_sing(p, u3_co_h(b)),
|
||||
u3_cr_sing_trel(q, r, s, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_sing(p, u3_ca_h(b)),
|
||||
u3_cr_sing_trel(q, r, s, u3_ca_t(b))));
|
||||
}
|
||||
u3_bean
|
||||
u3_cr_fing_qual(u3_noun p,
|
||||
@ -815,9 +815,9 @@ u3_cr_fing_qual(u3_noun p,
|
||||
u3_noun s,
|
||||
u3_noun b)
|
||||
{
|
||||
return u3_and(u3_so(u3_co_is_cell(b)),
|
||||
u3_and(u3_cr_fing(p, u3_co_h(b)),
|
||||
u3_cr_fing_trel(q, r, s, u3_co_t(b))));
|
||||
return u3_and(u3_so(u3_ca_is_cell(b)),
|
||||
u3_and(u3_cr_fing(p, u3_ca_h(b)),
|
||||
u3_cr_fing_trel(q, r, s, u3_ca_t(b))));
|
||||
}
|
||||
|
||||
/* u3_cr_nord():
|
||||
@ -835,22 +835,22 @@ u3_cr_nord(u3_noun a,
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_atom(a)) ) {
|
||||
if ( !u3_so(u3_co_is_atom(b)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(a)) ) {
|
||||
if ( !u3_so(u3_ca_is_atom(b)) ) {
|
||||
return 0;
|
||||
} else {
|
||||
if ( u3_so(u3_co_is_cat(a)) ) {
|
||||
if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
return (a < b) ? 0 : 2;
|
||||
}
|
||||
else return 0;
|
||||
}
|
||||
else if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
else if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
return 2;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* a_u = u3_co_to_ptr(a);
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* a_u = u3_ca_to_ptr(a);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
c3_w w_rez = a_u->len_w;
|
||||
c3_w w_mox = b_u->len_w;
|
||||
@ -874,13 +874,13 @@ u3_cr_nord(u3_noun a,
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( u3_so(u3_co_is_atom(b)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(b)) ) {
|
||||
return 2;
|
||||
} else {
|
||||
u3_atom c = u3_cr_nord(u3_co_h(a), u3_co_h(b));
|
||||
u3_atom c = u3_cr_nord(u3_ca_h(a), u3_ca_h(b));
|
||||
|
||||
if ( 1 == c ) {
|
||||
return u3_cr_nord(u3_co_t(a), u3_co_t(b));
|
||||
return u3_cr_nord(u3_ca_t(a), u3_ca_t(b));
|
||||
} else {
|
||||
return c;
|
||||
}
|
||||
@ -899,7 +899,7 @@ u3_cr_sing_c(const c3_c* a_c,
|
||||
{
|
||||
c3_assert(u3_none != b);
|
||||
|
||||
if ( !u3_so(u3_co_is_atom(b)) ) {
|
||||
if ( !u3_so(u3_ca_is_atom(b)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
@ -929,16 +929,16 @@ u3_cr_bush(u3_noun a,
|
||||
{
|
||||
c3_assert(u3_none != a);
|
||||
|
||||
if ( u3_so(u3_co_is_atom(a)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(a)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
*b = u3_co_h(a);
|
||||
*b = u3_ca_h(a);
|
||||
|
||||
if ( u3_so(u3_co_is_atom(*b)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(*b)) ) {
|
||||
return u3_no;
|
||||
} else {
|
||||
*c = u3_co_t(a);
|
||||
*c = u3_ca_t(a);
|
||||
return u3_yes;
|
||||
}
|
||||
}
|
||||
@ -955,12 +955,12 @@ u3_cr_cell(u3_noun a,
|
||||
{
|
||||
c3_assert(u3_none != a);
|
||||
|
||||
if ( u3_so(u3_co_is_atom(a)) ) {
|
||||
if ( u3_so(u3_ca_is_atom(a)) ) {
|
||||
return u3_no;
|
||||
}
|
||||
else {
|
||||
if ( b ) *b = u3_co_h(a);
|
||||
if ( c ) *c = u3_co_t(a);
|
||||
if ( b ) *b = u3_ca_h(a);
|
||||
if ( c ) *c = u3_ca_t(a);
|
||||
return u3_yes;
|
||||
}
|
||||
}
|
||||
@ -1144,7 +1144,7 @@ u3_cr_met(c3_y a_y,
|
||||
u3_atom b)
|
||||
{
|
||||
c3_assert(u3_none != b);
|
||||
c3_assert(u3_so(u3_co_is_atom(b)));
|
||||
c3_assert(u3_so(u3_ca_is_atom(b)));
|
||||
|
||||
if ( b == 0 ) {
|
||||
return 0;
|
||||
@ -1156,12 +1156,12 @@ u3_cr_met(c3_y a_y,
|
||||
c3_w gal_w;
|
||||
c3_w daz_w;
|
||||
|
||||
if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
gal_w = 0;
|
||||
daz_w = b;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
gal_w = (b_u->len_w) - 1;
|
||||
daz_w = b_u->buf_w[gal_w];
|
||||
@ -1207,16 +1207,16 @@ u3_cr_bit(c3_w a_w,
|
||||
u3_atom b)
|
||||
{
|
||||
c3_assert(u3_none != b);
|
||||
c3_assert(u3_so(u3_co_is_atom(b)));
|
||||
c3_assert(u3_so(u3_ca_is_atom(b)));
|
||||
|
||||
if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
if ( a_w >= 31 ) {
|
||||
return 0;
|
||||
}
|
||||
else return (1 & (b >> a_w));
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
c3_y vut_y = (a_w & 31);
|
||||
c3_w pix_w = (a_w >> 5);
|
||||
|
||||
@ -1240,16 +1240,16 @@ u3_cr_byte(c3_w a_w,
|
||||
u3_atom b)
|
||||
{
|
||||
c3_assert(u3_none != b);
|
||||
c3_assert(u3_so(u3_co_is_atom(b)));
|
||||
c3_assert(u3_so(u3_ca_is_atom(b)));
|
||||
|
||||
if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
if ( a_w > 3 ) {
|
||||
return 0;
|
||||
}
|
||||
else return (255 & (b >> (a_w << 3)));
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
c3_y vut_y = (a_w & 3);
|
||||
c3_w pix_w = (a_w >> 2);
|
||||
|
||||
@ -1294,13 +1294,13 @@ u3_cr_mp(mpz_t a_mp,
|
||||
u3_atom b)
|
||||
{
|
||||
c3_assert(u3_none != b);
|
||||
c3_assert(u3_so(u3_co_is_atom(b)));
|
||||
c3_assert(u3_so(u3_ca_is_atom(b)));
|
||||
|
||||
if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
mpz_init_set_ui(a_mp, b);
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
c3_w len_w = b_u->len_w;
|
||||
|
||||
/* Slight deficiency in the GMP API.
|
||||
@ -1331,16 +1331,16 @@ u3_cr_word(c3_w a_w,
|
||||
u3_atom b)
|
||||
{
|
||||
c3_assert(u3_none != b);
|
||||
c3_assert(u3_so(u3_co_is_atom(b)));
|
||||
c3_assert(u3_so(u3_ca_is_atom(b)));
|
||||
|
||||
if ( u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(b)) ) {
|
||||
if ( a_w > 0 ) {
|
||||
return 0;
|
||||
}
|
||||
else return b;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* b_u = u3_co_to_ptr(b);
|
||||
u3_cs_atom* b_u = u3_ca_to_ptr(b);
|
||||
|
||||
if ( a_w >= b_u->len_w ) {
|
||||
return 0;
|
||||
@ -1403,14 +1403,14 @@ u3_cr_chop(c3_g met_g,
|
||||
c3_w* buf_w;
|
||||
|
||||
c3_assert(u3_none != src);
|
||||
c3_assert(u3_so(u3_co_is_atom(src)));
|
||||
c3_assert(u3_so(u3_ca_is_atom(src)));
|
||||
|
||||
if ( u3_so(u3_co_is_cat(src)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(src)) ) {
|
||||
len_w = src ? 1 : 0;
|
||||
buf_w = &src;
|
||||
}
|
||||
else {
|
||||
u3_cs_atom* src_u = u3_co_to_ptr(src);
|
||||
u3_cs_atom* src_u = u3_ca_to_ptr(src);
|
||||
|
||||
len_w = src_u->len_w;
|
||||
buf_w = src_u->buf_w;
|
||||
@ -1481,12 +1481,12 @@ u3_cr_tape(u3_noun a)
|
||||
c3_w i_w;
|
||||
c3_y *a_y;
|
||||
|
||||
for ( i_w = 0, b=a; u3_yes == u3_co_is_cell(b); i_w++, b=u3_co_t(b) )
|
||||
for ( i_w = 0, b=a; u3_yes == u3_ca_is_cell(b); i_w++, b=u3_ca_t(b) )
|
||||
;
|
||||
a_y = c3_malloc(i_w + 1);
|
||||
|
||||
for ( i_w = 0, b=a; u3_yes == u3_co_is_cell(b); i_w++, b=u3_co_t(b) ) {
|
||||
a_y[i_w] = u3_co_h(b);
|
||||
for ( i_w = 0, b=a; u3_yes == u3_ca_is_cell(b); i_w++, b=u3_ca_t(b) ) {
|
||||
a_y[i_w] = u3_ca_h(b);
|
||||
}
|
||||
a_y[i_w] = 0;
|
||||
|
||||
|
2
g/v.c
2
g/v.c
@ -485,7 +485,7 @@ u3_cv_louse(c3_m how_m)
|
||||
#if 0
|
||||
if ( c3__exit == how_m ) {
|
||||
printf("louse: nocks: %d\n", NOX);
|
||||
printf("louse: washing kernel %x %d\n", u3A->ken, u3_co_is_dog(u3A->ken));
|
||||
printf("louse: washing kernel %x %d\n", u3A->ken, u3_ca_is_dog(u3A->ken));
|
||||
u3_cm_wash(u3A->ken);
|
||||
|
||||
printf("kernel %x; washed mug %x\n", u3A->ken, u3_cr_mug(u3A->ken));
|
||||
|
116
include/g/a.h
116
include/g/a.h
@ -15,7 +15,6 @@
|
||||
# define u3_cc_pages (1 << (u3_cc_bits - u3_cc_page)) // 2^16 pages
|
||||
# define u3_cc_words (1 << u3_cc_bits)
|
||||
# define u3_cc_bytes (c3_w)((1 << (2 + u3_cc_bits)))
|
||||
# define u3_Loom ((c3_w *)(void *)U3_OS_LoomBase)
|
||||
|
||||
|
||||
/** Data structures.
|
||||
@ -75,30 +74,30 @@
|
||||
|
||||
/* Inside a noun.
|
||||
*/
|
||||
# define u3_co_is_cat(som) (((som) >> 31) ? u3_no : u3_yes)
|
||||
# define u3_co_is_dog(som) (((som) >> 31) ? u3_yes : u3_no)
|
||||
# define u3_ca_is_cat(som) (((som) >> 31) ? u3_no : u3_yes)
|
||||
# define u3_ca_is_dog(som) (((som) >> 31) ? u3_yes : u3_no)
|
||||
|
||||
# define u3_co_is_pug(som) ((2 == ((som) >> 30)) ? u3_yes : u3_no)
|
||||
# define u3_co_is_pom(som) ((3 == ((som) >> 30)) ? u3_yes : u3_no)
|
||||
# define u3_co_to_off(som) ((som) & 0x3fffffff)
|
||||
# define u3_co_to_ptr(som) (u3_co_into(u3_co_to_off(som)))
|
||||
# define u3_co_to_wtr(som) ((c3_w *)u3_co_to_ptr(som))
|
||||
# define u3_co_to_pug(off) (off | 0x80000000)
|
||||
# define u3_co_to_pom(off) (off | 0xc0000000)
|
||||
# define u3_ca_is_pug(som) ((2 == ((som) >> 30)) ? u3_yes : u3_no)
|
||||
# define u3_ca_is_pom(som) ((3 == ((som) >> 30)) ? u3_yes : u3_no)
|
||||
# define u3_ca_to_off(som) ((som) & 0x3fffffff)
|
||||
# define u3_ca_to_ptr(som) (u3_ca_into(u3_ca_to_off(som)))
|
||||
# define u3_ca_to_wtr(som) ((c3_w *)u3_ca_to_ptr(som))
|
||||
# define u3_ca_to_pug(off) (off | 0x80000000)
|
||||
# define u3_ca_to_pom(off) (off | 0xc0000000)
|
||||
|
||||
# define u3_co_is_atom(som) u3_or(u3_co_is_cat(som), \
|
||||
u3_co_is_pug(som))
|
||||
# define u3_co_is_cell(som) u3_co_is_pom(som)
|
||||
# define u3_co_de_twin(dog, dog_w) ((dog & 0xc0000000) | u3_co_outa(dog_w))
|
||||
# define u3_ca_is_atom(som) u3_or(u3_ca_is_cat(som), \
|
||||
u3_ca_is_pug(som))
|
||||
# define u3_ca_is_cell(som) u3_ca_is_pom(som)
|
||||
# define u3_ca_de_twin(dog, dog_w) ((dog & 0xc0000000) | u3_ca_outa(dog_w))
|
||||
|
||||
# define u3_co_h(som) \
|
||||
( u3_so(u3_co_is_cell(som)) \
|
||||
? ( ((u3_cs_cell *)u3_co_to_ptr(som))->hed )\
|
||||
# define u3_ca_h(som) \
|
||||
( u3_so(u3_ca_is_cell(som)) \
|
||||
? ( ((u3_cs_cell *)u3_ca_to_ptr(som))->hed )\
|
||||
: u3_cm_bail(c3__exit) )
|
||||
|
||||
# define u3_co_t(som) \
|
||||
( u3_so(u3_co_is_cell(som)) \
|
||||
? ( ((u3_cs_cell *)u3_co_to_ptr(som))->tel )\
|
||||
# define u3_ca_t(som) \
|
||||
( u3_so(u3_ca_is_cell(som)) \
|
||||
? ( ((u3_cs_cell *)u3_ca_to_ptr(som))->tel )\
|
||||
: u3_cm_bail(c3__exit) )
|
||||
|
||||
/* u3_cs_box: classic allocation box.
|
||||
@ -125,11 +124,11 @@
|
||||
# endif
|
||||
} u3_cs_box;
|
||||
|
||||
# define u3_co_boxed(len_w) (len_w + c3_wiseof(u3_cs_box) + 1)
|
||||
# define u3_co_boxto(box_v) ( (void *) \
|
||||
# define u3_ca_boxed(len_w) (len_w + c3_wiseof(u3_cs_box) + 1)
|
||||
# define u3_ca_boxto(box_v) ( (void *) \
|
||||
( ((c3_w *)(void*)(box_v)) + \
|
||||
c3_wiseof(u3_cs_box) ) )
|
||||
# define u3_co_botox(tox_v) ( (struct _u3_cs_box *) \
|
||||
# define u3_ca_botox(tox_v) ( (struct _u3_cs_box *) \
|
||||
(void *) \
|
||||
( ((c3_w *)(void*)(tox_v)) - \
|
||||
c3_wiseof(u3_cs_box) ) )
|
||||
@ -285,56 +284,56 @@
|
||||
|
||||
/** Macros.
|
||||
**/
|
||||
# define u3_co_into(x) ((void *)(u3_Loom + (x)))
|
||||
# define u3_co_outa(p) (((c3_w*)(void*)(p)) - u3_Loom)
|
||||
# define u3_ca_into(x) ((void *)(u3_Loom + (x)))
|
||||
# define u3_ca_outa(p) (((c3_w*)(void*)(p)) - u3_Loom)
|
||||
|
||||
# define u3to(type, x) ((type *) u3_co_into(x))
|
||||
# define u3of(type, x) (u3_co_outa((type *)x))
|
||||
# define u3to(type, x) ((type *) u3_ca_into(x))
|
||||
# define u3of(type, x) (u3_ca_outa((type *)x))
|
||||
|
||||
# define u3_co_is_north(r) ((r->cap_p > r->hat_p) ? u3_yes : u3_no)
|
||||
# define u3_co_is_south(r) ((u3_so(u3_co_is_north(r))) ? u3_no : u3_yes)
|
||||
# define u3_ca_is_north(r) ((r->cap_p > r->hat_p) ? u3_yes : u3_no)
|
||||
# define u3_ca_is_south(r) ((u3_so(u3_ca_is_north(r))) ? u3_no : u3_yes)
|
||||
|
||||
# define u3_co_open(r) ( (u3_yes == u3_co_is_north(r)) \
|
||||
# define u3_ca_open(r) ( (u3_yes == u3_ca_is_north(r)) \
|
||||
? (c3_w)(r->cap_p - r->hat_p) \
|
||||
: (c3_w)(r->hat_p - r->cap_p) )
|
||||
|
||||
# define u3_co_north_is_senior(r, dog) \
|
||||
u3_say((u3_co_to_off(dog) < r->rut_p) || \
|
||||
(u3_co_to_off(dog) >= r->mat_p))
|
||||
# define u3_ca_north_is_senior(r, dog) \
|
||||
u3_say((u3_ca_to_off(dog) < r->rut_p) || \
|
||||
(u3_ca_to_off(dog) >= r->mat_p))
|
||||
|
||||
# define u3_co_north_is_junior(r, dog) \
|
||||
u3_say((u3_co_to_off(dog) >= r->cap_p) && \
|
||||
(u3_co_to_off(dog) < r->mat_p))
|
||||
# define u3_ca_north_is_junior(r, dog) \
|
||||
u3_say((u3_ca_to_off(dog) >= r->cap_p) && \
|
||||
(u3_ca_to_off(dog) < r->mat_p))
|
||||
|
||||
# define u3_co_north_is_normal(r, dog) \
|
||||
u3_and(u3_not(u3_co_north_is_senior(r, dog)), \
|
||||
u3_not(u3_co_north_is_junior(r, dog)))
|
||||
# define u3_ca_north_is_normal(r, dog) \
|
||||
u3_and(u3_not(u3_ca_north_is_senior(r, dog)), \
|
||||
u3_not(u3_ca_north_is_junior(r, dog)))
|
||||
|
||||
# define u3_co_south_is_senior(r, dog) \
|
||||
u3_say((u3_co_to_off(dog) < r->mat_p) || \
|
||||
(u3_co_to_off(dog) >= r->rut_p))
|
||||
# define u3_ca_south_is_senior(r, dog) \
|
||||
u3_say((u3_ca_to_off(dog) < r->mat_p) || \
|
||||
(u3_ca_to_off(dog) >= r->rut_p))
|
||||
|
||||
# define u3_co_south_is_junior(r, dog) \
|
||||
u3_say((u3_co_to_off(dog) < r->cap_p) && \
|
||||
(u3_co_to_off(dog) >= r->mat_p))
|
||||
# define u3_ca_south_is_junior(r, dog) \
|
||||
u3_say((u3_ca_to_off(dog) < r->cap_p) && \
|
||||
(u3_ca_to_off(dog) >= r->mat_p))
|
||||
|
||||
# define u3_co_south_is_normal(r, dog) \
|
||||
u3_and(u3_not(u3_co_south_is_senior(r, dog)), \
|
||||
u3_not(u3_co_south_is_junior(r, dog)))
|
||||
# define u3_ca_south_is_normal(r, dog) \
|
||||
u3_and(u3_not(u3_ca_south_is_senior(r, dog)), \
|
||||
u3_not(u3_ca_south_is_junior(r, dog)))
|
||||
|
||||
# define u3_co_is_junior(r, som) \
|
||||
( u3_so(u3_co_is_cat(som)) \
|
||||
# define u3_ca_is_junior(r, som) \
|
||||
( u3_so(u3_ca_is_cat(som)) \
|
||||
? u3_no \
|
||||
: u3_so(u3_co_is_north(r)) \
|
||||
? u3_co_north_is_junior(r, som) \
|
||||
: u3_co_south_is_junior(r, som) )
|
||||
: u3_so(u3_ca_is_north(r)) \
|
||||
? u3_ca_north_is_junior(r, som) \
|
||||
: u3_ca_south_is_junior(r, som) )
|
||||
|
||||
# define u3_co_is_senior(r, som) \
|
||||
( u3_so(u3_co_is_cat(som)) \
|
||||
# define u3_ca_is_senior(r, som) \
|
||||
( u3_so(u3_ca_is_cat(som)) \
|
||||
? u3_yes \
|
||||
: u3_so(u3_co_is_north(r)) \
|
||||
? u3_co_north_is_senior(r, som) \
|
||||
: u3_co_south_is_senior(r, som) )
|
||||
: u3_so(u3_ca_is_north(r)) \
|
||||
? u3_ca_north_is_senior(r, som) \
|
||||
: u3_ca_south_is_senior(r, som) )
|
||||
|
||||
/* Word axis macros. For 31-bit axes only.
|
||||
*/
|
||||
@ -390,6 +389,7 @@
|
||||
c3_global c3_w u3_Code;
|
||||
#endif
|
||||
|
||||
# define u3_Loom ((c3_w *)(void *)U3_OS_LoomBase)
|
||||
|
||||
/** Functions.
|
||||
**/
|
||||
|
@ -66,8 +66,8 @@
|
||||
# define u3_ch_slot_is_node(sot) ((1 == ((sot) >> 30)) ? u3_yes : u3_no)
|
||||
# define u3_ch_slot_is_noun(sot) ((1 == ((sot) >> 31)) ? u3_yes : u3_no)
|
||||
# define u3_ch_slot_is_warm(sot) (((sot) & 0x40000000) ? u3_yes : u3_no)
|
||||
# define u3_ch_slot_to_node(sot) (u3_co_into((sot) & 0x3fffffff))
|
||||
# define u3_ch_node_to_slot(ptr) (u3_co_outa(ptr) | 0x40000000)
|
||||
# define u3_ch_slot_to_node(sot) (u3_ca_into((sot) & 0x3fffffff))
|
||||
# define u3_ch_node_to_slot(ptr) (u3_ca_outa(ptr) | 0x40000000)
|
||||
# define u3_ch_slot_to_noun(sot) (0x40000000 | (sot))
|
||||
# define u3_ch_noun_to_slot(som) (som)
|
||||
# define u3_ch_noun_be_warm(sot) ((sot) | 0x40000000)
|
||||
|
@ -5,8 +5,8 @@
|
||||
/** u3_cr_*: read without ever crashing.
|
||||
**/
|
||||
#if 1
|
||||
# define u3_cr_du(a) u3_co_is_cell(a)
|
||||
# define u3_cr_ud(a) u3_co_is_atom(a)
|
||||
# define u3_cr_du(a) u3_ca_is_cell(a)
|
||||
# define u3_cr_ud(a) u3_ca_is_atom(a)
|
||||
#else
|
||||
/* u3_cr_du(): u3_yes iff `a` is cell.
|
||||
*/
|
||||
|
@ -5,8 +5,8 @@
|
||||
/** u3_cx_*: read, but bail with c3__exit on a crash.
|
||||
**/
|
||||
#if 1
|
||||
# define u3_cx_h(som) u3_co_h(som)
|
||||
# define u3_cx_t(som) u3_co_t(som)
|
||||
# define u3_cx_h(som) u3_ca_h(som)
|
||||
# define u3_cx_t(som) u3_ca_t(som)
|
||||
#else
|
||||
/* u3_cx_h (u3h): head.
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqa_add(u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
c3_w c = a + b;
|
||||
|
||||
return u3_ci_words(1, &c);
|
||||
|
@ -20,7 +20,7 @@
|
||||
return u3_cm_error("decrement-underflow");
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_cat(a)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) ) {
|
||||
return a - 1;
|
||||
}
|
||||
else {
|
||||
|
@ -15,7 +15,7 @@
|
||||
return u3_cm_bail(c3__exit);
|
||||
}
|
||||
else {
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
return a / b;
|
||||
}
|
||||
else {
|
||||
|
@ -10,7 +10,7 @@
|
||||
u3_noun
|
||||
u3_cqa_gte(u3_atom a, u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
return u3_say(a >= b);
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqa_gth(u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
return u3_say(a > b);
|
||||
}
|
||||
else {
|
||||
|
@ -10,7 +10,7 @@
|
||||
u3_noun
|
||||
u3_cqa_lte(u3_atom a, u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
return u3_say(a <= b);
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqa_lth(u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
return u3_say(a < b);
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqa_mul(u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
c3_d c = ((c3_d) a) * ((c3_d) b);
|
||||
|
||||
return u3_ci_chubs(1, &c);
|
||||
|
@ -10,7 +10,7 @@
|
||||
u3_noun
|
||||
u3_cqa_sub(u3_atom a, u3_atom b)
|
||||
{
|
||||
if ( u3_so(u3_co_is_cat(a)) && u3_so(u3_co_is_cat(b)) ) {
|
||||
if ( u3_so(u3_ca_is_cat(a)) && u3_so(u3_ca_is_cat(b)) ) {
|
||||
if ( a < b ) {
|
||||
return u3_cm_error("subtract-underflow");
|
||||
}
|
||||
|
@ -12,7 +12,7 @@
|
||||
u3_atom a,
|
||||
u3_noun b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -10,7 +10,7 @@
|
||||
u3_noun
|
||||
u3_cqb_slag(u3_atom a, u3_noun b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqb_snag(u3_atom a,
|
||||
u3_noun b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -12,7 +12,7 @@
|
||||
{
|
||||
mpz_t a_mp;
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(a)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqc_can(u3_atom a,
|
||||
u3_noun b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
@ -35,7 +35,7 @@
|
||||
if ( u3_no == u3du(i_cab) ) return u3_cm_bail(c3__fail);
|
||||
pi_cab = u3h(i_cab);
|
||||
qi_cab = u3t(i_cab);
|
||||
if ( u3_no == u3_co_is_cat(pi_cab) ) return u3_cm_bail(c3__fail);
|
||||
if ( u3_no == u3_ca_is_cat(pi_cab) ) return u3_cm_bail(c3__fail);
|
||||
if ( u3_no == u3ud(qi_cab) ) return u3_cm_bail(c3__fail);
|
||||
if ( (tot_w + pi_cab) < tot_w ) return u3_cm_bail(c3__fail);
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
u3_atom b,
|
||||
u3_atom c)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -14,13 +14,13 @@
|
||||
u3_atom c,
|
||||
u3_atom d)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
if ( u3_ne(u3_co_is_cat(b)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(b)) ) {
|
||||
return 0;
|
||||
}
|
||||
if ( u3_ne(u3_co_is_cat(c)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(c)) ) {
|
||||
c = 0x7fffffff;
|
||||
}
|
||||
|
||||
|
@ -13,10 +13,10 @@
|
||||
u3_atom b,
|
||||
u3_atom c)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else if ( u3_ne(u3_co_is_cat(b)) ) {
|
||||
else if ( u3_ne(u3_ca_is_cat(b)) ) {
|
||||
return u3k(c);
|
||||
}
|
||||
else {
|
||||
|
@ -10,10 +10,10 @@
|
||||
u3_noun
|
||||
u3_cqc_lsh(u3_atom a, u3_atom b, u3_atom c)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else if ( u3_ne(u3_co_is_cat(b)) ) {
|
||||
else if ( u3_ne(u3_ca_is_cat(b)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -12,7 +12,7 @@
|
||||
u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
if ( 0 == b ) {
|
||||
return 0;
|
||||
} else return 1;
|
||||
@ -20,7 +20,7 @@
|
||||
else {
|
||||
c3_w met_w = u3_cr_met(a, b);
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(met_w)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(met_w)) ) {
|
||||
return u3_ci_words(1, &met_w);
|
||||
}
|
||||
else return u3_cr_met(a, b);
|
||||
|
2
j/3/po.c
2
j/3/po.c
@ -10,7 +10,7 @@
|
||||
static u3_noun
|
||||
_po_find(u3_noun buf, u3_noun a)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) ) {
|
||||
return u3_nul;
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqc_rap(u3_atom a,
|
||||
u3_noun b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__exit);
|
||||
}
|
||||
else {
|
||||
|
@ -11,7 +11,7 @@
|
||||
u3_cqc_rip(u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
|
@ -13,10 +13,10 @@
|
||||
u3_atom b,
|
||||
u3_atom c)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(a)) || (a >= 32) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(a)) || (a >= 32) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else if ( u3_ne(u3_co_is_cat(b)) ) {
|
||||
else if ( u3_ne(u3_ca_is_cat(b)) ) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
|
22
j/5/parse.c
22
j/5/parse.c
@ -44,8 +44,8 @@
|
||||
u3_cx_cell(zyc, &p_zyc, &q_zyc);
|
||||
u3_cx_cell(naz, &p_naz, &q_naz);
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(p_zyc)) || u3_ne(u3_co_is_cat(q_zyc)) ||
|
||||
u3_ne(u3_co_is_cat(p_naz)) || u3_ne(u3_co_is_cat(q_naz)) )
|
||||
if ( u3_ne(u3_ca_is_cat(p_zyc)) || u3_ne(u3_ca_is_cat(q_zyc)) ||
|
||||
u3_ne(u3_ca_is_cat(p_naz)) || u3_ne(u3_ca_is_cat(q_naz)) )
|
||||
{
|
||||
return u3_cm_bail(c3__fail);
|
||||
} else {
|
||||
@ -775,9 +775,9 @@
|
||||
u3_noun iq_tub = u3h(q_tub);
|
||||
|
||||
u3_cx_cell(zep, &p_zep, &q_zep);
|
||||
if ( u3_so(u3_co_is_cat(p_zep)) &&
|
||||
u3_so(u3_co_is_cat(q_zep)) &&
|
||||
u3_so(u3_co_is_cat(iq_tub)) )
|
||||
if ( u3_so(u3_ca_is_cat(p_zep)) &&
|
||||
u3_so(u3_ca_is_cat(q_zep)) &&
|
||||
u3_so(u3_ca_is_cat(iq_tub)) )
|
||||
{
|
||||
if ( (iq_tub >= p_zep) && (iq_tub <= q_zep) ) {
|
||||
return _next(tub);
|
||||
@ -860,12 +860,12 @@
|
||||
u3_noun ort,
|
||||
u3_noun wan)
|
||||
{
|
||||
if ( u3_ne(u3_co_is_cat(ort)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(ort)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else {
|
||||
if ( u3_no == u3du(wan) ) {
|
||||
if ( u3_ne(u3_co_is_cat(wan)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(wan)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else return (ort < wan) ? u3_yes : u3_no;
|
||||
@ -873,7 +873,7 @@
|
||||
else {
|
||||
u3_noun h_wan = u3h(wan);
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(h_wan)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(h_wan)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else return (ort < h_wan) ? u3_yes : u3_no;
|
||||
@ -895,7 +895,7 @@
|
||||
else {
|
||||
u3_noun iq_tub = u3h(q_tub);
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(iq_tub)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(iq_tub)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
else while ( 1 ) {
|
||||
@ -917,8 +917,8 @@
|
||||
u3_noun hpn_hel = u3h(pn_hel);
|
||||
u3_noun tpn_hel = u3t(pn_hel);
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(hpn_hel)) ||
|
||||
u3_ne(u3_co_is_cat(tpn_hel)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(hpn_hel)) ||
|
||||
u3_ne(u3_ca_is_cat(tpn_hel)) ) {
|
||||
return _fail(tub);
|
||||
}
|
||||
else bit_o = u3_say((iq_tub >= hpn_hel) && (iq_tub <= tpn_hel));
|
||||
|
@ -45,7 +45,7 @@
|
||||
u3_cqe_shal(u3_atom a,
|
||||
u3_atom b)
|
||||
{
|
||||
c3_assert(u3_so(u3_co_is_cat(a)));
|
||||
c3_assert(u3_so(u3_ca_is_cat(a)));
|
||||
c3_y* fat_y = c3_malloc(a + 1);
|
||||
|
||||
u3_cr_bytes(0, a, fat_y, b);
|
||||
@ -104,7 +104,7 @@
|
||||
if ( (u3_none == (a = u3_cr_at(u3_cv_sam_2, cor))) ||
|
||||
(u3_none == (b = u3_cr_at(u3_cv_sam_3, cor))) ||
|
||||
(u3_no == u3ud(a)) ||
|
||||
(u3_no == u3_co_is_cat(a)) ||
|
||||
(u3_no == u3_ca_is_cat(a)) ||
|
||||
(u3_no == u3ud(b)) )
|
||||
{
|
||||
return u3_cm_bail(c3__exit);
|
||||
@ -137,7 +137,7 @@
|
||||
{
|
||||
u3_noun l = u3_nul;
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(b)) ) {
|
||||
if ( u3_ne(u3_ca_is_cat(b)) ) {
|
||||
return u3_cm_bail(c3__fail);
|
||||
}
|
||||
while ( 0 != b ) {
|
||||
|
2
v/cttp.c
2
v/cttp.c
@ -220,7 +220,7 @@ _cttp_octs_to_bod(u3_noun oct)
|
||||
{
|
||||
c3_w len_w;
|
||||
|
||||
if ( u3_ne(u3_co_is_cat(u3h(oct))) ) { // 2GB max
|
||||
if ( u3_ne(u3_ca_is_cat(u3h(oct))) ) { // 2GB max
|
||||
u3_cm_bail(c3__fail); return 0;
|
||||
}
|
||||
len_w = u3h(oct);
|
||||
|
Loading…
Reference in New Issue
Block a user