From 562bfac536c3ba3366afacf23c932cbc0356b60b Mon Sep 17 00:00:00 2001 From: Joe Bryan Date: Fri, 13 Oct 2023 20:50:12 -0400 Subject: [PATCH] u3: refactors +cap jet --- pkg/noun/jets/c/cap.c | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/pkg/noun/jets/c/cap.c b/pkg/noun/jets/c/cap.c index c7edfbeb2e..95bef1fe95 100644 --- a/pkg/noun/jets/c/cap.c +++ b/pkg/noun/jets/c/cap.c @@ -5,32 +5,21 @@ #include "noun.h" +u3_noun +u3qc_cap(u3_atom a) +{ + c3_w met_w = u3r_met(0, a); - u3_noun - u3qc_cap(u3_atom a) - { - c3_w met_w = u3r_met(0, a); - - if ( met_w < 2 ) { - return u3m_bail(c3__exit); - } - else if ( (1 == u3r_bit((met_w - 2), a)) ) { - return 3; - } else { - return 2; - } + if ( 2 > met_w ) { + return u3m_bail(c3__exit); } - u3_noun - u3wc_cap(u3_noun cor) - { - u3_noun a; - - if ( (u3_none == (a = u3r_at(u3x_sam, cor))) || - (c3n == u3ud(a)) ) - { - return u3m_bail(c3__exit); - } else { - return u3qc_cap(a); - } + else { + return 2 + u3r_bit((met_w - 2), a); } +} +u3_noun +u3wc_cap(u3_noun cor) +{ + return u3qc_cap(u3x_atom(u3x_at(u3x_sam, cor))); +}