mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-12-24 15:34:10 +03:00
jets: hook %ob, then %fein/%fynd
This commit is contained in:
parent
29f335d85d
commit
a05360f97a
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ba7f42d7ef75e84599a26fa98f491cbf080d7dcbf1eec800f1422e94a0e32f08
|
||||
size 10013383
|
||||
oid sha256:cdc31bb717626f95d7455349dac4f3171205667c4d08ed9fad071bd13266bab6
|
||||
size 10013218
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:344c5ea8ba5a65e2958b9998fc5d22e03dd4324d6d83af3c834e082c923e5b89
|
||||
size 1234701
|
||||
oid sha256:0a637a7a8e2061caa09ea1cf62c2295a0b14920588d01338e9bd2f06eecf1c1f
|
||||
size 1234571
|
||||
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d9cee942f6f8ff7cc2b6b72a8e301f3cfdcc409bc6097579aebde76a9784cd50
|
||||
size 12473831
|
||||
oid sha256:d8eeac47513dba778cd83269996eb04f1519280ec5a36bf0395517451cd087d5
|
||||
size 12473677
|
||||
|
@ -2137,8 +2137,7 @@
|
||||
==
|
||||
%year year
|
||||
%yore yore
|
||||
%fein fein
|
||||
%fynd fynd
|
||||
%ob ob
|
||||
==
|
||||
|%
|
||||
::
|
||||
@ -3815,6 +3814,14 @@
|
||||
(cut 3 [a 1] b)
|
||||
--
|
||||
::
|
||||
++ ob
|
||||
~% %ob ..ob
|
||||
==
|
||||
%fein fein
|
||||
%fynd fynd
|
||||
==
|
||||
|%
|
||||
::
|
||||
:: +fein: conceal structure, v3.
|
||||
::
|
||||
:: +fein conceals planet-sized atoms. The idea is that it should not be
|
||||
@ -3824,7 +3831,7 @@
|
||||
~/ %fein
|
||||
|= pyn/@ ^- @
|
||||
?: &((gte pyn 0x1.0000) (lte pyn 0xffff.ffff))
|
||||
(add 0x1.0000 (feis:ob (sub pyn 0x1.0000)))
|
||||
(add 0x1.0000 (feis (sub pyn 0x1.0000)))
|
||||
?: &((gte pyn 0x1.0000.0000) (lte pyn 0xffff.ffff.ffff.ffff))
|
||||
=/ lo (dis pyn 0xffff.ffff)
|
||||
=/ hi (dis pyn 0xffff.ffff.0000.0000)
|
||||
@ -3840,16 +3847,13 @@
|
||||
~/ %fynd
|
||||
|= cry/@ ^- @
|
||||
?: &((gte cry 0x1.0000) (lte cry 0xffff.ffff))
|
||||
(add 0x1.0000 (tail:ob (sub cry 0x1.0000)))
|
||||
(add 0x1.0000 (tail (sub cry 0x1.0000)))
|
||||
?: &((gte cry 0x1.0000.0000) (lte cry 0xffff.ffff.ffff.ffff))
|
||||
=/ lo (dis cry 0xffff.ffff)
|
||||
=/ hi (dis cry 0xffff.ffff.0000.0000)
|
||||
%+ con hi
|
||||
$(cry lo)
|
||||
cry
|
||||
::
|
||||
++ ob
|
||||
|%
|
||||
:: +feis: a four-round generalised Feistel cipher over the domain
|
||||
:: [0, 2^32 - 2^16 - 1].
|
||||
::
|
||||
@ -5807,7 +5811,7 @@
|
||||
++ dim (ape dip)
|
||||
++ dip (bass 10 ;~(plug sed:ab (star sid:ab)))
|
||||
++ dum (bass 10 (plus sid:ab))
|
||||
++ fed %+ cook fynd
|
||||
++ fed %+ cook fynd:ob
|
||||
;~ pose
|
||||
%+ bass 0x1.0000.0000.0000.0000 :: oversized
|
||||
;~ plug
|
||||
@ -5919,7 +5923,7 @@
|
||||
==
|
||||
::
|
||||
$p
|
||||
=+ sxz=(fein q.p.lot)
|
||||
=+ sxz=(fein:ob q.p.lot)
|
||||
=+ dyx=(met 3 sxz)
|
||||
:- '~'
|
||||
?: (lte dyx 1)
|
||||
|
@ -186,7 +186,8 @@ u3_noun
|
||||
_print_p(u3_atom cor, u3_atom p)
|
||||
{
|
||||
// Scramble the raw number to the concealed version.
|
||||
u3_noun hok = u3j_cook("u3we_scow_fein_p", u3k(cor), "fein");
|
||||
u3_noun ob = u3j_cook("u3we_scow_ob_p", u3k(cor), "ob");
|
||||
u3_noun hok = u3j_cook("u3we_scow_fein_p", ob, "fein");
|
||||
u3_atom sxz = u3n_slam_on(hok, u3k(p));
|
||||
|
||||
// Simple galaxy case
|
||||
|
@ -161,7 +161,8 @@ _parse_p(u3_noun cor, u3_noun txt) {
|
||||
u3_atom raw = u3k(u3t(m));
|
||||
u3z(m);
|
||||
|
||||
u3_noun hok = u3j_cook("u3we_slaw_fynd_p", u3k(cor), "fynd");
|
||||
u3_noun ob = u3j_cook("u3we_slaw_ob_p", u3k(cor), "ob");
|
||||
u3_noun hok = u3j_cook("u3we_slaw_fynd_p", ob, "fynd");
|
||||
return u3nc(0, u3n_slam_on(hok, u3k(raw)));
|
||||
}
|
||||
|
||||
@ -193,7 +194,8 @@ _parse_p(u3_noun cor, u3_noun txt) {
|
||||
|
||||
u3_atom raw = u3k(u3t(m));
|
||||
u3z(m);
|
||||
u3_noun hok = u3j_cook("u3we_slaw_fynd_p", u3k(cor), "fynd");
|
||||
u3_noun ob = u3j_cook("u3we_slaw_ob_p", u3k(cor), "ob");
|
||||
u3_noun hok = u3j_cook("u3we_slaw_fynd_p", ob, "fynd");
|
||||
return u3nc(0, u3n_slam_on(hok, u3k(raw)));
|
||||
}
|
||||
|
||||
@ -228,7 +230,8 @@ _parse_p(u3_noun cor, u3_noun txt) {
|
||||
|
||||
u3_atom raw = u3k(u3t(m));
|
||||
u3z(m);
|
||||
u3_noun hok = u3j_cook("u3we_slaw_fynd_p", u3k(cor), "fynd");
|
||||
u3_noun ob = u3j_cook("u3we_slaw_ob_p", u3k(cor), "ob");
|
||||
u3_noun hok = u3j_cook("u3we_slaw_fynd_p", ob, "fynd");
|
||||
return u3nc(0, u3n_slam_on(hok, u3k(raw)));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user