1 /* This C file is generated by NIT to compile module standard___math. */
2 #include "standard___math._sep.h"
3 val_t
standard___math___Int___rand(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_standard___math
;
10 fra
.me
.meth
= LOCATE_standard___math___Int___rand
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
15 /* ../lib/standard/math.nit:20 */
16 REGB0
= Int_rand___out(REGB0
);
17 stack_frame_head
= fra
.me
.prev
;
20 val_t
standard___math___Float___sqrt(val_t p0
){
21 struct {struct stack_frame_t me
;} fra
;
23 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
24 fra
.me
.file
= LOCATE_standard___math
;
26 fra
.me
.meth
= LOCATE_standard___math___Float___sqrt
;
29 fra
.me
.nitni_local_ref_head
= NULL
;
30 fra
.me
.REG
[0] = NIT_NULL
;
32 /* ../lib/standard/math.nit:24 */
33 fra
.me
.REG
[0] = Float_sqrt___out(fra
.me
.REG
[0]);
34 stack_frame_head
= fra
.me
.prev
;
37 val_t
standard___math___Float___cos(val_t p0
){
38 struct {struct stack_frame_t me
;} fra
;
40 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
41 fra
.me
.file
= LOCATE_standard___math
;
43 fra
.me
.meth
= LOCATE_standard___math___Float___cos
;
46 fra
.me
.nitni_local_ref_head
= NULL
;
47 fra
.me
.REG
[0] = NIT_NULL
;
49 /* ../lib/standard/math.nit:25 */
50 fra
.me
.REG
[0] = Float_cos___out(fra
.me
.REG
[0]);
51 stack_frame_head
= fra
.me
.prev
;
54 val_t
standard___math___Float___sin(val_t p0
){
55 struct {struct stack_frame_t me
;} fra
;
57 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
58 fra
.me
.file
= LOCATE_standard___math
;
60 fra
.me
.meth
= LOCATE_standard___math___Float___sin
;
63 fra
.me
.nitni_local_ref_head
= NULL
;
64 fra
.me
.REG
[0] = NIT_NULL
;
66 /* ../lib/standard/math.nit:26 */
67 fra
.me
.REG
[0] = Float_sin___out(fra
.me
.REG
[0]);
68 stack_frame_head
= fra
.me
.prev
;
71 val_t
standard___math___Float___tan(val_t p0
){
72 struct {struct stack_frame_t me
;} fra
;
74 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
75 fra
.me
.file
= LOCATE_standard___math
;
77 fra
.me
.meth
= LOCATE_standard___math___Float___tan
;
80 fra
.me
.nitni_local_ref_head
= NULL
;
81 fra
.me
.REG
[0] = NIT_NULL
;
83 /* ../lib/standard/math.nit:27 */
84 fra
.me
.REG
[0] = Float_tan___out(fra
.me
.REG
[0]);
85 stack_frame_head
= fra
.me
.prev
;
88 val_t
standard___math___Float___acos(val_t p0
){
89 struct {struct stack_frame_t me
;} fra
;
91 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
92 fra
.me
.file
= LOCATE_standard___math
;
94 fra
.me
.meth
= LOCATE_standard___math___Float___acos
;
97 fra
.me
.nitni_local_ref_head
= NULL
;
98 fra
.me
.REG
[0] = NIT_NULL
;
100 /* ../lib/standard/math.nit:28 */
101 fra
.me
.REG
[0] = Float_acos___out(fra
.me
.REG
[0]);
102 stack_frame_head
= fra
.me
.prev
;
103 return fra
.me
.REG
[0];
105 val_t
standard___math___Float___asin(val_t p0
){
106 struct {struct stack_frame_t me
;} fra
;
108 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
109 fra
.me
.file
= LOCATE_standard___math
;
111 fra
.me
.meth
= LOCATE_standard___math___Float___asin
;
112 fra
.me
.has_broke
= 0;
114 fra
.me
.nitni_local_ref_head
= NULL
;
115 fra
.me
.REG
[0] = NIT_NULL
;
117 /* ../lib/standard/math.nit:29 */
118 fra
.me
.REG
[0] = Float_asin___out(fra
.me
.REG
[0]);
119 stack_frame_head
= fra
.me
.prev
;
120 return fra
.me
.REG
[0];
122 val_t
standard___math___Float___atan(val_t p0
){
123 struct {struct stack_frame_t me
;} fra
;
125 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
126 fra
.me
.file
= LOCATE_standard___math
;
128 fra
.me
.meth
= LOCATE_standard___math___Float___atan
;
129 fra
.me
.has_broke
= 0;
131 fra
.me
.nitni_local_ref_head
= NULL
;
132 fra
.me
.REG
[0] = NIT_NULL
;
134 /* ../lib/standard/math.nit:30 */
135 fra
.me
.REG
[0] = Float_atan___out(fra
.me
.REG
[0]);
136 stack_frame_head
= fra
.me
.prev
;
137 return fra
.me
.REG
[0];
139 val_t
standard___math___Float___pow(val_t p0
, val_t p1
){
140 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
142 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
143 fra
.me
.file
= LOCATE_standard___math
;
145 fra
.me
.meth
= LOCATE_standard___math___Float___pow
;
146 fra
.me
.has_broke
= 0;
148 fra
.me
.nitni_local_ref_head
= NULL
;
149 fra
.me
.REG
[0] = NIT_NULL
;
150 fra
.me
.REG
[1] = NIT_NULL
;
153 /* ../lib/standard/math.nit:32 */
154 fra
.me
.REG
[1] = Float_pow___out(fra
.me
.REG
[0], fra
.me
.REG
[1]);
155 stack_frame_head
= fra
.me
.prev
;
156 return fra
.me
.REG
[1];
158 val_t
standard___math___Float___log(val_t p0
){
159 struct {struct stack_frame_t me
;} fra
;
161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
162 fra
.me
.file
= LOCATE_standard___math
;
164 fra
.me
.meth
= LOCATE_standard___math___Float___log
;
165 fra
.me
.has_broke
= 0;
167 fra
.me
.nitni_local_ref_head
= NULL
;
168 fra
.me
.REG
[0] = NIT_NULL
;
170 /* ../lib/standard/math.nit:33 */
171 fra
.me
.REG
[0] = Float_log___out(fra
.me
.REG
[0]);
172 stack_frame_head
= fra
.me
.prev
;
173 return fra
.me
.REG
[0];
175 val_t
standard___math___Float___exp(val_t p0
){
176 struct {struct stack_frame_t me
;} fra
;
178 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
179 fra
.me
.file
= LOCATE_standard___math
;
181 fra
.me
.meth
= LOCATE_standard___math___Float___exp
;
182 fra
.me
.has_broke
= 0;
184 fra
.me
.nitni_local_ref_head
= NULL
;
185 fra
.me
.REG
[0] = NIT_NULL
;
187 /* ../lib/standard/math.nit:34 */
188 fra
.me
.REG
[0] = Float_exp___out(fra
.me
.REG
[0]);
189 stack_frame_head
= fra
.me
.prev
;
190 return fra
.me
.REG
[0];
192 val_t
standard___math___Float___rand(val_t p0
){
193 struct {struct stack_frame_t me
;} fra
;
195 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
196 fra
.me
.file
= LOCATE_standard___math
;
198 fra
.me
.meth
= LOCATE_standard___math___Float___rand
;
199 fra
.me
.has_broke
= 0;
201 fra
.me
.nitni_local_ref_head
= NULL
;
202 fra
.me
.REG
[0] = NIT_NULL
;
204 /* ../lib/standard/math.nit:36 */
205 fra
.me
.REG
[0] = Float_rand___out(fra
.me
.REG
[0]);
206 stack_frame_head
= fra
.me
.prev
;
207 return fra
.me
.REG
[0];
209 val_t
standard___math___Float___hypot_with(val_t p0
, val_t p1
){
210 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
213 fra
.me
.file
= LOCATE_standard___math
;
215 fra
.me
.meth
= LOCATE_standard___math___Float___hypot_with
;
216 fra
.me
.has_broke
= 0;
218 fra
.me
.nitni_local_ref_head
= NULL
;
219 fra
.me
.REG
[0] = NIT_NULL
;
220 fra
.me
.REG
[1] = NIT_NULL
;
223 /* ../lib/standard/math.nit:37 */
224 fra
.me
.REG
[1] = Float_hypot_with___out(fra
.me
.REG
[0], fra
.me
.REG
[1]);
225 stack_frame_head
= fra
.me
.prev
;
226 return fra
.me
.REG
[1];
228 val_t
standard___math___Collection___rand(val_t p0
){
229 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
232 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
233 fra
.me
.file
= LOCATE_standard___math
;
235 fra
.me
.meth
= LOCATE_standard___math___Collection___rand
;
236 fra
.me
.has_broke
= 0;
238 fra
.me
.nitni_local_ref_head
= NULL
;
239 fra
.me
.REG
[0] = NIT_NULL
;
240 fra
.me
.REG
[1] = NIT_NULL
;
241 fra
.me
.REG
[2] = NIT_NULL
;
242 fra
.me
.REG
[3] = NIT_NULL
;
244 /* ../lib/standard/math.nit:44 */
245 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
246 if (UNTAG_Bool(REGB0
)) {
247 fra
.me
.REG
[1] = NIT_NULL
;
250 /* ../lib/standard/math.nit:46 */
251 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
252 REGB0
= CALL_standard___math___Int___rand(REGB0
)(REGB0
);
253 fra
.me
.REG
[2] = REGB0
;
254 /* ../lib/standard/math.nit:47 */
255 fra
.me
.REG
[3] = NIT_NULL
;
256 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_standard___math___Collection___rand_2
));
257 switch ((&(fra
.me
))->has_broke
) {
259 case 1: (&(fra
.me
))->has_broke
= 0; goto label4
;
262 /* ../lib/standard/math.nit:59 */
263 fra
.me
.REG
[1] = fra
.me
.REG
[3];
266 stack_frame_head
= fra
.me
.prev
;
267 return fra
.me
.REG
[1];
269 void OC_standard___math___Collection___rand_2(struct stack_frame_t
*closctx
, val_t p0
){
270 struct {struct stack_frame_t me
;} fra
;
274 /* ../lib/standard/math.nit:49 */
275 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
276 fra
.me
.file
= LOCATE_standard___math
;
278 fra
.me
.meth
= LOCATE_standard___math___Collection___rand
;
279 fra
.me
.has_broke
= 0;
281 fra
.me
.nitni_local_ref_head
= NULL
;
282 fra
.me
.REG
[0] = NIT_NULL
;
284 /* ../lib/standard/math.nit:50 */
286 REGB1
= TAG_Bool(IS_EQUAL_OO(closctx
->REG
[2],REGB0
));
287 if (UNTAG_Bool(REGB1
)) {
289 /* ../lib/standard/kernel.nit:227 */
290 REGB0
= TAG_Bool((closctx
->REG
[2])==(REGB0
));
291 /* ../lib/standard/math.nit:50 */
294 if (UNTAG_Bool(REGB1
)) {
295 /* ../lib/standard/math.nit:52 */
296 closctx
->REG
[3] = fra
.me
.REG
[0];
297 /* ../lib/standard/math.nit:53 */
298 closctx
->has_broke
= 1;
301 /* ../lib/standard/math.nit:55 */
303 /* ../lib/standard/kernel.nit:237 */
304 REGB1
= TAG_Int(UNTAG_Int(closctx
->REG
[2])-UNTAG_Int(REGB1
));
305 /* ../lib/standard/math.nit:55 */
306 closctx
->REG
[2] = REGB1
;
309 stack_frame_head
= fra
.me
.prev
;
312 val_t
standard___math___Object___atan2(val_t p0
, val_t p1
, val_t p2
){
313 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
315 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
316 fra
.me
.file
= LOCATE_standard___math
;
318 fra
.me
.meth
= LOCATE_standard___math___Object___atan2
;
319 fra
.me
.has_broke
= 0;
321 fra
.me
.nitni_local_ref_head
= NULL
;
322 fra
.me
.REG
[0] = NIT_NULL
;
323 fra
.me
.REG
[1] = NIT_NULL
;
324 fra
.me
.REG
[2] = NIT_NULL
;
328 /* ../lib/standard/math.nit:63 */
329 fra
.me
.REG
[2] = Object_atan2___out(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
330 stack_frame_head
= fra
.me
.prev
;
331 return fra
.me
.REG
[2];
333 val_t
standard___math___Object___pi(val_t p0
){
334 struct {struct stack_frame_t me
;} fra
;
336 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
337 fra
.me
.file
= LOCATE_standard___math
;
339 fra
.me
.meth
= LOCATE_standard___math___Object___pi
;
340 fra
.me
.has_broke
= 0;
342 fra
.me
.nitni_local_ref_head
= NULL
;
343 fra
.me
.REG
[0] = NIT_NULL
;
345 /* ../lib/standard/math.nit:64 */
346 fra
.me
.REG
[0] = Object_pi___out(fra
.me
.REG
[0]);
347 stack_frame_head
= fra
.me
.prev
;
348 return fra
.me
.REG
[0];
350 void standard___math___Object___srand_from(val_t p0
, val_t p1
){
351 struct {struct stack_frame_t me
;} fra
;
354 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
355 fra
.me
.file
= LOCATE_standard___math
;
357 fra
.me
.meth
= LOCATE_standard___math___Object___srand_from
;
358 fra
.me
.has_broke
= 0;
360 fra
.me
.nitni_local_ref_head
= NULL
;
361 fra
.me
.REG
[0] = NIT_NULL
;
364 /* ../lib/standard/math.nit:65 */
365 Object_srand_from___out(fra
.me
.REG
[0], REGB0
);
366 stack_frame_head
= fra
.me
.prev
;
369 void standard___math___Object___srand(val_t p0
){
370 struct {struct stack_frame_t me
;} fra
;
372 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
373 fra
.me
.file
= LOCATE_standard___math
;
375 fra
.me
.meth
= LOCATE_standard___math___Object___srand
;
376 fra
.me
.has_broke
= 0;
378 fra
.me
.nitni_local_ref_head
= NULL
;
379 fra
.me
.REG
[0] = NIT_NULL
;
381 /* ../lib/standard/math.nit:66 */
382 Object_srand___out(fra
.me
.REG
[0]);
383 stack_frame_head
= fra
.me
.prev
;