1 /* This C header file is generated by NIT to compile modules and programs that requires partial_order. */
2 #ifndef partial_order_sep
3 #define partial_order_sep
4 #include "standard._sep.h"
5 #include <nit_common.h>
7 extern const classtable_elt_t VFT_PartialOrder
[];
9 extern const classtable_elt_t VFT_PartialOrderElement
[];
10 extern const char *LOCATE_partial_order
;
11 extern const int SFT_partial_order
[];
12 #define ID_PartialOrder (SFT_partial_order[0])
13 #define COLOR_PartialOrder (SFT_partial_order[1])
14 #define ATTR_partial_order___PartialOrder____elements(recv) ATTR(recv, (SFT_partial_order[2] + 0))
15 #define ATTR_partial_order___PartialOrder____elements_list(recv) ATTR(recv, (SFT_partial_order[2] + 1))
16 #define ATTR_partial_order___PartialOrder____roots(recv) ATTR(recv, (SFT_partial_order[2] + 2))
17 #define INIT_TABLE_POS_PartialOrder (SFT_partial_order[3] + 0)
18 #define CALL_partial_order___PartialOrder___roots(recv) ((partial_order___PartialOrder___roots_t)CALL((recv), (SFT_partial_order[3] + 1)))
19 #define CALL_partial_order___PartialOrder_____bra(recv) ((partial_order___PartialOrder_____bra_t)CALL((recv), (SFT_partial_order[3] + 2)))
20 #define CALL_partial_order___PartialOrder___to_dot(recv) ((partial_order___PartialOrder___to_dot_t)CALL((recv), (SFT_partial_order[3] + 3)))
21 #define CALL_partial_order___PartialOrder___to_dot_header(recv) ((partial_order___PartialOrder___to_dot_header_t)CALL((recv), (SFT_partial_order[3] + 4)))
22 #define CALL_partial_order___PartialOrder___to_dot_node(recv) ((partial_order___PartialOrder___to_dot_node_t)CALL((recv), (SFT_partial_order[3] + 5)))
23 #define CALL_partial_order___PartialOrder___to_dot_edge(recv) ((partial_order___PartialOrder___to_dot_edge_t)CALL((recv), (SFT_partial_order[3] + 6)))
24 #define CALL_partial_order___PartialOrder___select_smallests(recv) ((partial_order___PartialOrder___select_smallests_t)CALL((recv), (SFT_partial_order[3] + 7)))
25 #define CALL_partial_order___PartialOrder___add(recv) ((partial_order___PartialOrder___add_t)CALL((recv), (SFT_partial_order[3] + 8)))
26 #define CALL_partial_order___PartialOrder___has_all(recv) ((partial_order___PartialOrder___has_all_t)CALL((recv), (SFT_partial_order[3] + 9)))
27 #define CALL_partial_order___PartialOrder___new_poe(recv) ((partial_order___PartialOrder___new_poe_t)CALL((recv), (SFT_partial_order[3] + 10)))
28 #define CALL_partial_order___PartialOrder___add_to_smallests(recv) ((partial_order___PartialOrder___add_to_smallests_t)CALL((recv), (SFT_partial_order[3] + 11)))
29 #define CALL_partial_order___PartialOrder___compute_smallers_for(recv) ((partial_order___PartialOrder___compute_smallers_for_t)CALL((recv), (SFT_partial_order[3] + 12)))
30 #define CALL_partial_order___PartialOrder___init(recv) ((partial_order___PartialOrder___init_t)CALL((recv), (SFT_partial_order[3] + 13)))
31 #define ID_PartialOrderElement (SFT_partial_order[4])
32 #define COLOR_PartialOrderElement (SFT_partial_order[5])
33 #define ATTR_partial_order___PartialOrderElement____order(recv) ATTR(recv, (SFT_partial_order[6] + 0))
34 #define ATTR_partial_order___PartialOrderElement____value(recv) ATTR(recv, (SFT_partial_order[6] + 1))
35 #define ATTR_partial_order___PartialOrderElement____rank(recv) ATTR(recv, (SFT_partial_order[6] + 2))
36 #define ATTR_partial_order___PartialOrderElement____direct_greaters(recv) ATTR(recv, (SFT_partial_order[6] + 3))
37 #define ATTR_partial_order___PartialOrderElement____direct_smallers(recv) ATTR(recv, (SFT_partial_order[6] + 4))
38 #define ATTR_partial_order___PartialOrderElement____greaters(recv) ATTR(recv, (SFT_partial_order[6] + 5))
39 #define ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(recv) ATTR(recv, (SFT_partial_order[6] + 6))
40 #define ATTR_partial_order___PartialOrderElement____smallers_last_length(recv) ATTR(recv, (SFT_partial_order[6] + 7))
41 #define ATTR_partial_order___PartialOrderElement____smallers_cache(recv) ATTR(recv, (SFT_partial_order[6] + 8))
42 #define ATTR_partial_order___PartialOrderElement____linear_extension_cache(recv) ATTR(recv, (SFT_partial_order[6] + 9))
43 #define ATTR_partial_order___PartialOrderElement____reverse_linear_extension_cache(recv) ATTR(recv, (SFT_partial_order[6] + 10))
44 #define INIT_TABLE_POS_PartialOrderElement (SFT_partial_order[7] + 0)
45 #define CALL_partial_order___PartialOrderElement___order(recv) ((partial_order___PartialOrderElement___order_t)CALL((recv), (SFT_partial_order[7] + 1)))
46 #define CALL_partial_order___PartialOrderElement___value(recv) ((partial_order___PartialOrderElement___value_t)CALL((recv), (SFT_partial_order[7] + 2)))
47 #define CALL_partial_order___PartialOrderElement___rank(recv) ((partial_order___PartialOrderElement___rank_t)CALL((recv), (SFT_partial_order[7] + 3)))
48 #define CALL_partial_order___PartialOrderElement___direct_greaters(recv) ((partial_order___PartialOrderElement___direct_greaters_t)CALL((recv), (SFT_partial_order[7] + 4)))
49 #define CALL_partial_order___PartialOrderElement___direct_smallers(recv) ((partial_order___PartialOrderElement___direct_smallers_t)CALL((recv), (SFT_partial_order[7] + 5)))
50 #define CALL_partial_order___PartialOrderElement___greaters(recv) ((partial_order___PartialOrderElement___greaters_t)CALL((recv), (SFT_partial_order[7] + 6)))
51 #define CALL_partial_order___PartialOrderElement___greaters_and_self(recv) ((partial_order___PartialOrderElement___greaters_and_self_t)CALL((recv), (SFT_partial_order[7] + 7)))
52 #define CALL_partial_order___PartialOrderElement___smallers(recv) ((partial_order___PartialOrderElement___smallers_t)CALL((recv), (SFT_partial_order[7] + 8)))
53 #define CALL_partial_order___PartialOrderElement___linear_extension(recv) ((partial_order___PartialOrderElement___linear_extension_t)CALL((recv), (SFT_partial_order[7] + 9)))
54 #define CALL_partial_order___PartialOrderElement___reverse_linear_extension(recv) ((partial_order___PartialOrderElement___reverse_linear_extension_t)CALL((recv), (SFT_partial_order[7] + 10)))
55 #define CALL_partial_order___PartialOrderElement_____l(recv) ((partial_order___PartialOrderElement_____l_t)CALL((recv), (SFT_partial_order[7] + 11)))
56 #define CALL_partial_order___PartialOrderElement_____leq(recv) ((partial_order___PartialOrderElement_____leq_t)CALL((recv), (SFT_partial_order[7] + 12)))
57 #define CALL_partial_order___PartialOrderElement_____g(recv) ((partial_order___PartialOrderElement_____g_t)CALL((recv), (SFT_partial_order[7] + 13)))
58 #define CALL_partial_order___PartialOrderElement_____geq(recv) ((partial_order___PartialOrderElement_____geq_t)CALL((recv), (SFT_partial_order[7] + 14)))
59 #define CALL_partial_order___PartialOrderElement___register_direct_smallers(recv) ((partial_order___PartialOrderElement___register_direct_smallers_t)CALL((recv), (SFT_partial_order[7] + 15)))
60 #define CALL_partial_order___PartialOrderElement___init(recv) ((partial_order___PartialOrderElement___init_t)CALL((recv), (SFT_partial_order[7] + 16)))
61 typedef val_t (* partial_order___PartialOrder___iterator_t
)(val_t self
);
62 val_t
partial_order___PartialOrder___iterator(val_t self
);
63 #define LOCATE_partial_order___PartialOrder___iterator "partial_order::PartialOrder::(abstract_collection::Collection::iterator)"
64 typedef val_t (* partial_order___PartialOrder___is_empty_t
)(val_t self
);
65 val_t
partial_order___PartialOrder___is_empty(val_t self
);
66 #define LOCATE_partial_order___PartialOrder___is_empty "partial_order::PartialOrder::(abstract_collection::Collection::is_empty)"
67 typedef val_t (* partial_order___PartialOrder___length_t
)(val_t self
);
68 val_t
partial_order___PartialOrder___length(val_t self
);
69 #define LOCATE_partial_order___PartialOrder___length "partial_order::PartialOrder::(abstract_collection::Collection::length)"
70 typedef val_t (* partial_order___PartialOrder___has_t
)(val_t self
, val_t param0
);
71 val_t
partial_order___PartialOrder___has(val_t self
, val_t param0
);
72 #define LOCATE_partial_order___PartialOrder___has "partial_order::PartialOrder::(abstract_collection::Collection::has)"
73 typedef val_t (* partial_order___PartialOrder___has_only_t
)(val_t self
, val_t param0
);
74 val_t
partial_order___PartialOrder___has_only(val_t self
, val_t param0
);
75 #define LOCATE_partial_order___PartialOrder___has_only "partial_order::PartialOrder::(abstract_collection::Collection::has_only)"
76 typedef val_t (* partial_order___PartialOrder___count_t
)(val_t self
, val_t param0
);
77 val_t
partial_order___PartialOrder___count(val_t self
, val_t param0
);
78 #define LOCATE_partial_order___PartialOrder___count "partial_order::PartialOrder::(abstract_collection::Collection::count)"
79 typedef val_t (* partial_order___PartialOrder___first_t
)(val_t self
);
80 val_t
partial_order___PartialOrder___first(val_t self
);
81 #define LOCATE_partial_order___PartialOrder___first "partial_order::PartialOrder::(abstract_collection::Collection::first)"
82 typedef val_t (* partial_order___PartialOrder___roots_t
)(val_t self
);
83 val_t
partial_order___PartialOrder___roots(val_t self
);
84 #define LOCATE_partial_order___PartialOrder___roots "partial_order::PartialOrder::roots"
85 typedef val_t (* partial_order___PartialOrder_____bra_t
)(val_t self
, val_t param0
);
86 val_t
partial_order___PartialOrder_____bra(val_t self
, val_t param0
);
87 #define LOCATE_partial_order___PartialOrder_____bra "partial_order::PartialOrder::[]"
88 typedef val_t (* partial_order___PartialOrder___to_dot_t
)(val_t self
);
89 val_t
partial_order___PartialOrder___to_dot(val_t self
);
90 #define LOCATE_partial_order___PartialOrder___to_dot "partial_order::PartialOrder::to_dot"
91 typedef val_t (* partial_order___PartialOrder___to_dot_header_t
)(val_t self
);
92 val_t
partial_order___PartialOrder___to_dot_header(val_t self
);
93 #define LOCATE_partial_order___PartialOrder___to_dot_header "partial_order::PartialOrder::to_dot_header"
94 typedef val_t (* partial_order___PartialOrder___to_dot_node_t
)(val_t self
, val_t param0
);
95 val_t
partial_order___PartialOrder___to_dot_node(val_t self
, val_t param0
);
96 #define LOCATE_partial_order___PartialOrder___to_dot_node "partial_order::PartialOrder::to_dot_node"
97 typedef val_t (* partial_order___PartialOrder___to_dot_edge_t
)(val_t self
, val_t param0
, val_t param1
);
98 val_t
partial_order___PartialOrder___to_dot_edge(val_t self
, val_t param0
, val_t param1
);
99 #define LOCATE_partial_order___PartialOrder___to_dot_edge "partial_order::PartialOrder::to_dot_edge"
100 typedef val_t (* partial_order___PartialOrder___select_smallests_t
)(val_t self
, val_t param0
);
101 val_t
partial_order___PartialOrder___select_smallests(val_t self
, val_t param0
);
102 #define LOCATE_partial_order___PartialOrder___select_smallests "partial_order::PartialOrder::select_smallests"
103 typedef val_t (* partial_order___PartialOrder___add_t
)(val_t self
, val_t param0
, val_t param1
);
104 val_t
partial_order___PartialOrder___add(val_t self
, val_t param0
, val_t param1
);
105 #define LOCATE_partial_order___PartialOrder___add "partial_order::PartialOrder::add"
106 typedef val_t (* partial_order___PartialOrder___has_all_t
)(val_t self
, val_t param0
);
107 val_t
partial_order___PartialOrder___has_all(val_t self
, val_t param0
);
108 #define LOCATE_partial_order___PartialOrder___has_all "partial_order::PartialOrder::has_all"
109 typedef val_t (* partial_order___PartialOrder___new_poe_t
)(val_t self
, val_t param0
, val_t param1
);
110 val_t
partial_order___PartialOrder___new_poe(val_t self
, val_t param0
, val_t param1
);
111 #define LOCATE_partial_order___PartialOrder___new_poe "partial_order::PartialOrder::new_poe"
112 typedef val_t (* partial_order___PartialOrder___add_to_smallests_t
)(val_t self
, val_t param0
, val_t param1
, val_t param2
);
113 val_t
partial_order___PartialOrder___add_to_smallests(val_t self
, val_t param0
, val_t param1
, val_t param2
);
114 #define LOCATE_partial_order___PartialOrder___add_to_smallests "partial_order::PartialOrder::add_to_smallests"
115 typedef void (* partial_order___PartialOrder___compute_smallers_for_t
)(val_t self
, val_t param0
, val_t param1
);
116 void partial_order___PartialOrder___compute_smallers_for(val_t self
, val_t param0
, val_t param1
);
117 #define LOCATE_partial_order___PartialOrder___compute_smallers_for "partial_order::PartialOrder::compute_smallers_for"
118 typedef void (* partial_order___PartialOrder___init_t
)(val_t self
, int* init_table
);
119 void partial_order___PartialOrder___init(val_t self
, int* init_table
);
120 #define LOCATE_partial_order___PartialOrder___init "partial_order::PartialOrder::init"
121 val_t
NEW_PartialOrder_partial_order___PartialOrder___init();
122 typedef val_t (* partial_order___PartialOrderElement___order_t
)(val_t self
);
123 val_t
partial_order___PartialOrderElement___order(val_t self
);
124 #define LOCATE_partial_order___PartialOrderElement___order "partial_order::PartialOrderElement::order"
125 typedef val_t (* partial_order___PartialOrderElement___value_t
)(val_t self
);
126 val_t
partial_order___PartialOrderElement___value(val_t self
);
127 #define LOCATE_partial_order___PartialOrderElement___value "partial_order::PartialOrderElement::value"
128 typedef val_t (* partial_order___PartialOrderElement___rank_t
)(val_t self
);
129 val_t
partial_order___PartialOrderElement___rank(val_t self
);
130 #define LOCATE_partial_order___PartialOrderElement___rank "partial_order::PartialOrderElement::rank"
131 typedef val_t (* partial_order___PartialOrderElement___direct_greaters_t
)(val_t self
);
132 val_t
partial_order___PartialOrderElement___direct_greaters(val_t self
);
133 #define LOCATE_partial_order___PartialOrderElement___direct_greaters "partial_order::PartialOrderElement::direct_greaters"
134 typedef val_t (* partial_order___PartialOrderElement___direct_smallers_t
)(val_t self
);
135 val_t
partial_order___PartialOrderElement___direct_smallers(val_t self
);
136 #define LOCATE_partial_order___PartialOrderElement___direct_smallers "partial_order::PartialOrderElement::direct_smallers"
137 typedef val_t (* partial_order___PartialOrderElement___greaters_t
)(val_t self
);
138 val_t
partial_order___PartialOrderElement___greaters(val_t self
);
139 #define LOCATE_partial_order___PartialOrderElement___greaters "partial_order::PartialOrderElement::greaters"
140 typedef val_t (* partial_order___PartialOrderElement___greaters_and_self_t
)(val_t self
);
141 val_t
partial_order___PartialOrderElement___greaters_and_self(val_t self
);
142 #define LOCATE_partial_order___PartialOrderElement___greaters_and_self "partial_order::PartialOrderElement::greaters_and_self"
143 typedef val_t (* partial_order___PartialOrderElement___smallers_t
)(val_t self
);
144 val_t
partial_order___PartialOrderElement___smallers(val_t self
);
145 #define LOCATE_partial_order___PartialOrderElement___smallers "partial_order::PartialOrderElement::smallers"
146 typedef val_t (* partial_order___PartialOrderElement___linear_extension_t
)(val_t self
);
147 val_t
partial_order___PartialOrderElement___linear_extension(val_t self
);
148 #define LOCATE_partial_order___PartialOrderElement___linear_extension "partial_order::PartialOrderElement::linear_extension"
149 typedef val_t (* partial_order___PartialOrderElement___reverse_linear_extension_t
)(val_t self
);
150 val_t
partial_order___PartialOrderElement___reverse_linear_extension(val_t self
);
151 #define LOCATE_partial_order___PartialOrderElement___reverse_linear_extension "partial_order::PartialOrderElement::reverse_linear_extension"
152 typedef val_t (* partial_order___PartialOrderElement_____l_t
)(val_t self
, val_t param0
);
153 val_t
partial_order___PartialOrderElement_____l(val_t self
, val_t param0
);
154 #define LOCATE_partial_order___PartialOrderElement_____l "partial_order::PartialOrderElement::<"
155 typedef val_t (* partial_order___PartialOrderElement_____leq_t
)(val_t self
, val_t param0
);
156 val_t
partial_order___PartialOrderElement_____leq(val_t self
, val_t param0
);
157 #define LOCATE_partial_order___PartialOrderElement_____leq "partial_order::PartialOrderElement::<="
158 typedef val_t (* partial_order___PartialOrderElement_____g_t
)(val_t self
, val_t param0
);
159 val_t
partial_order___PartialOrderElement_____g(val_t self
, val_t param0
);
160 #define LOCATE_partial_order___PartialOrderElement_____g "partial_order::PartialOrderElement::>"
161 typedef val_t (* partial_order___PartialOrderElement_____geq_t
)(val_t self
, val_t param0
);
162 val_t
partial_order___PartialOrderElement_____geq(val_t self
, val_t param0
);
163 #define LOCATE_partial_order___PartialOrderElement_____geq "partial_order::PartialOrderElement::>="
164 typedef void (* partial_order___PartialOrderElement___register_direct_smallers_t
)(val_t self
, val_t param0
);
165 void partial_order___PartialOrderElement___register_direct_smallers(val_t self
, val_t param0
);
166 #define LOCATE_partial_order___PartialOrderElement___register_direct_smallers "partial_order::PartialOrderElement::register_direct_smallers"
167 typedef void (* partial_order___PartialOrderElement___init_t
)(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
);
168 void partial_order___PartialOrderElement___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
);
169 #define LOCATE_partial_order___PartialOrderElement___init "partial_order::PartialOrderElement::init"
170 val_t
NEW_PartialOrderElement_partial_order___PartialOrderElement___init(val_t p0
, val_t p1
, val_t p2
);