From e96868996b1508eee864c08dd68cd4cfadf1569f Mon Sep 17 00:00:00 2001 From: Jared Hance Date: Thu, 3 Jul 2014 15:50:55 -0400 Subject: [PATCH] Rewrite ++lode and ++wode Total lines added/deleted for patch. --- arvo/zuse.hoon | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) diff --git a/arvo/zuse.hoon b/arvo/zuse.hoon index fd2515adc..72696ca0d 100644 --- a/arvo/zuse.hoon +++ b/arvo/zuse.hoon @@ -1055,36 +1055,28 @@ [i.dog $(dog t.dog, i.wig (sub i.wig i.dog))] [i.wig $(i.dog (sub i.dog i.wig), wig t.wig)] :: - ++ lode + ++ lode :: urge dimensions |= wig=(urge) ^- [p=@ q=@] - =+ woo=[p=0 q=0] - |- ^- [p=@ q=@] - ?~ wig woo - ?- -.i.wig + %+ reel wig + |= [wug=(unce) [p=@ q=@]] + ?- -.wug & - $(-.woo (add p.i.wig -.woo), +.woo (add p.i.wig +.woo), wig t.wig) + :- (add p.wug p) + (add p.wug q) | - %= $ - -.woo (add (lent p.i.wig) -.woo) - +.woo (add (lent q.i.wig) +.woo) - wig t.wig - == + :- (add (lent p.wug) p) + (add (lent q.wug) q) == - :: :: woof dimensions - ++ wode + :: + ++ wode :: woof dimensions |= dog=(list $|(@ud [p=@ud q=@ud])) ^- [p=@ q=@] - =+ woo=[q=0 q=0] - |- ^- [p=@ q=@] - ?~ dog woo - ?@ i.dog - $(-.woo (add i.dog -.woo), +.woo (add i.dog +.woo), dog t.dog) - %= $ - -.woo (add -.i.dog -.woo) - +.woo (add +.i.dog +.woo) - dog t.dog - == + %+ reel dog + |= [dug=$|(@ud [p=@ud q=@ud]) [p=@ q=@]] + ?@ dug + [(add dug p) (add dug q)] + [(add p.dug p) (add q.dug q)] :: ++ lith :: initial merge points |= wig=(urge)