1 /* g/x.c
2 **
3 */
4 #include "all.h"
5 
6 /* u3x_good(): test for u3_none.
7 */
8 u3_noun
u3x_good(u3_weak som)9 u3x_good(u3_weak som)
10 {
11   if ( u3_none == som ) {
12     return u3m_bail(c3__exit);
13   }
14   else return som;
15 }
16 
17 /* u3x_at (u3at): fragment.
18 */
19 u3_noun
u3x_at(u3_noun axe,u3_noun som)20 u3x_at(u3_noun axe, u3_noun som)
21 {
22   u3_weak pro = u3r_at(axe, som);
23 
24   if ( u3_none == pro ) {
25     return u3m_bail(c3__exit);
26   } else return pro;
27 }
28 
29 /* u3x_cell():
30 **
31 **   Divide `a` as a cell `[b c]`.
32 */
33 void
u3x_cell(u3_noun a,u3_noun * b,u3_noun * c)34 u3x_cell(u3_noun  a,
35            u3_noun* b,
36            u3_noun* c)
37 {
38   if ( c3n == u3r_cell(a, b, c) ) {
39     u3m_bail(c3__exit);
40   }
41 }
42 
43 /* u3x_trel():
44 **
45 **   Divide `a` as a trel `[b c d]`, or bail.
46 */
47 void
u3x_trel(u3_noun a,u3_noun * b,u3_noun * c,u3_noun * d)48 u3x_trel(u3_noun  a,
49            u3_noun* b,
50            u3_noun* c,
51            u3_noun* d)
52 {
53   if ( c3n == u3r_trel(a, b, c, d) ) {
54     u3m_bail(c3__exit);
55   }
56 }
57 
58 /* u3x_qual():
59 **
60 **   Divide `a` as a quadruple `[b c d e]`.
61 */
62 void
u3x_qual(u3_noun a,u3_noun * b,u3_noun * c,u3_noun * d,u3_noun * e)63 u3x_qual(u3_noun  a,
64            u3_noun* b,
65            u3_noun* c,
66            u3_noun* d,
67            u3_noun* e)
68 {
69   if ( c3n == u3r_qual(a, b, c, d, e) ) {
70     u3m_bail(c3__exit);
71   }
72 }
73 
74 /* u3x_quil():
75 **
76 **   Divide `a` as a quintuple `[b c d e f]`.
77 */
78 void
u3x_quil(u3_noun a,u3_noun * b,u3_noun * c,u3_noun * d,u3_noun * e,u3_noun * f)79 u3x_quil(u3_noun  a,
80            u3_noun* b,
81            u3_noun* c,
82            u3_noun* d,
83            u3_noun* e,
84            u3_noun* f)
85 {
86   if ( c3n == u3r_quil(a, b, c, d, e, f) ) {
87     u3m_bail(c3__exit);
88   }
89 }
90 
91 /* u3x_hext():
92 **
93 **   Divide `a` as a hextuple `[b c d e f g]`.
94 */
95 void
u3x_hext(u3_noun a,u3_noun * b,u3_noun * c,u3_noun * d,u3_noun * e,u3_noun * f,u3_noun * g)96 u3x_hext(u3_noun  a,
97            u3_noun* b,
98            u3_noun* c,
99            u3_noun* d,
100            u3_noun* e,
101            u3_noun* f,
102            u3_noun* g)
103 {
104   if ( c3n == u3r_hext(a, b, c, d, e, f, g) ) {
105     u3m_bail(c3__exit);
106   }
107 }
108 
109