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
;
14 /* ./../lib/standard//math.nit:20 */
15 REGB0
= Int_rand___out(REGB0
);
16 stack_frame_head
= fra
.me
.prev
;
19 val_t
standard___math___Float___sqrt(val_t p0
){
20 struct {struct stack_frame_t me
;} fra
;
22 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
23 fra
.me
.file
= LOCATE_standard___math
;
25 fra
.me
.meth
= LOCATE_standard___math___Float___sqrt
;
28 fra
.me
.REG
[0] = NIT_NULL
;
30 /* ./../lib/standard//math.nit:24 */
31 fra
.me
.REG
[0] = Float_sqrt___out(fra
.me
.REG
[0]);
32 stack_frame_head
= fra
.me
.prev
;
35 val_t
standard___math___Float___cos(val_t p0
){
36 struct {struct stack_frame_t me
;} fra
;
38 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
39 fra
.me
.file
= LOCATE_standard___math
;
41 fra
.me
.meth
= LOCATE_standard___math___Float___cos
;
44 fra
.me
.REG
[0] = NIT_NULL
;
46 /* ./../lib/standard//math.nit:25 */
47 fra
.me
.REG
[0] = Float_cos___out(fra
.me
.REG
[0]);
48 stack_frame_head
= fra
.me
.prev
;
51 val_t
standard___math___Float___sin(val_t p0
){
52 struct {struct stack_frame_t me
;} fra
;
54 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
55 fra
.me
.file
= LOCATE_standard___math
;
57 fra
.me
.meth
= LOCATE_standard___math___Float___sin
;
60 fra
.me
.REG
[0] = NIT_NULL
;
62 /* ./../lib/standard//math.nit:26 */
63 fra
.me
.REG
[0] = Float_sin___out(fra
.me
.REG
[0]);
64 stack_frame_head
= fra
.me
.prev
;
67 val_t
standard___math___Float___tan(val_t p0
){
68 struct {struct stack_frame_t me
;} fra
;
70 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
71 fra
.me
.file
= LOCATE_standard___math
;
73 fra
.me
.meth
= LOCATE_standard___math___Float___tan
;
76 fra
.me
.REG
[0] = NIT_NULL
;
78 /* ./../lib/standard//math.nit:27 */
79 fra
.me
.REG
[0] = Float_tan___out(fra
.me
.REG
[0]);
80 stack_frame_head
= fra
.me
.prev
;
83 val_t
standard___math___Float___acos(val_t p0
){
84 struct {struct stack_frame_t me
;} fra
;
86 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
87 fra
.me
.file
= LOCATE_standard___math
;
89 fra
.me
.meth
= LOCATE_standard___math___Float___acos
;
92 fra
.me
.REG
[0] = NIT_NULL
;
94 /* ./../lib/standard//math.nit:28 */
95 fra
.me
.REG
[0] = Float_acos___out(fra
.me
.REG
[0]);
96 stack_frame_head
= fra
.me
.prev
;
99 val_t
standard___math___Float___asin(val_t p0
){
100 struct {struct stack_frame_t me
;} fra
;
102 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
103 fra
.me
.file
= LOCATE_standard___math
;
105 fra
.me
.meth
= LOCATE_standard___math___Float___asin
;
106 fra
.me
.has_broke
= 0;
108 fra
.me
.REG
[0] = NIT_NULL
;
110 /* ./../lib/standard//math.nit:29 */
111 fra
.me
.REG
[0] = Float_asin___out(fra
.me
.REG
[0]);
112 stack_frame_head
= fra
.me
.prev
;
113 return fra
.me
.REG
[0];
115 val_t
standard___math___Float___atan(val_t p0
){
116 struct {struct stack_frame_t me
;} fra
;
118 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
119 fra
.me
.file
= LOCATE_standard___math
;
121 fra
.me
.meth
= LOCATE_standard___math___Float___atan
;
122 fra
.me
.has_broke
= 0;
124 fra
.me
.REG
[0] = NIT_NULL
;
126 /* ./../lib/standard//math.nit:30 */
127 fra
.me
.REG
[0] = Float_atan___out(fra
.me
.REG
[0]);
128 stack_frame_head
= fra
.me
.prev
;
129 return fra
.me
.REG
[0];
131 val_t
standard___math___Float___pow(val_t p0
, val_t p1
){
132 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
134 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
135 fra
.me
.file
= LOCATE_standard___math
;
137 fra
.me
.meth
= LOCATE_standard___math___Float___pow
;
138 fra
.me
.has_broke
= 0;
140 fra
.me
.REG
[0] = NIT_NULL
;
141 fra
.me
.REG
[1] = NIT_NULL
;
144 /* ./../lib/standard//math.nit:32 */
145 fra
.me
.REG
[1] = Float_pow___out(fra
.me
.REG
[0], fra
.me
.REG
[1]);
146 stack_frame_head
= fra
.me
.prev
;
147 return fra
.me
.REG
[1];
149 val_t
standard___math___Float___log(val_t p0
){
150 struct {struct stack_frame_t me
;} fra
;
152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
153 fra
.me
.file
= LOCATE_standard___math
;
155 fra
.me
.meth
= LOCATE_standard___math___Float___log
;
156 fra
.me
.has_broke
= 0;
158 fra
.me
.REG
[0] = NIT_NULL
;
160 /* ./../lib/standard//math.nit:33 */
161 fra
.me
.REG
[0] = Float_log___out(fra
.me
.REG
[0]);
162 stack_frame_head
= fra
.me
.prev
;
163 return fra
.me
.REG
[0];
165 val_t
standard___math___Float___exp(val_t p0
){
166 struct {struct stack_frame_t me
;} fra
;
168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
169 fra
.me
.file
= LOCATE_standard___math
;
171 fra
.me
.meth
= LOCATE_standard___math___Float___exp
;
172 fra
.me
.has_broke
= 0;
174 fra
.me
.REG
[0] = NIT_NULL
;
176 /* ./../lib/standard//math.nit:34 */
177 fra
.me
.REG
[0] = Float_exp___out(fra
.me
.REG
[0]);
178 stack_frame_head
= fra
.me
.prev
;
179 return fra
.me
.REG
[0];
181 val_t
standard___math___Float___rand(val_t p0
){
182 struct {struct stack_frame_t me
;} fra
;
184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
185 fra
.me
.file
= LOCATE_standard___math
;
187 fra
.me
.meth
= LOCATE_standard___math___Float___rand
;
188 fra
.me
.has_broke
= 0;
190 fra
.me
.REG
[0] = NIT_NULL
;
192 /* ./../lib/standard//math.nit:36 */
193 fra
.me
.REG
[0] = Float_rand___out(fra
.me
.REG
[0]);
194 stack_frame_head
= fra
.me
.prev
;
195 return fra
.me
.REG
[0];
197 val_t
standard___math___Float___hypot_with(val_t p0
, val_t p1
){
198 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
201 fra
.me
.file
= LOCATE_standard___math
;
203 fra
.me
.meth
= LOCATE_standard___math___Float___hypot_with
;
204 fra
.me
.has_broke
= 0;
206 fra
.me
.REG
[0] = NIT_NULL
;
207 fra
.me
.REG
[1] = NIT_NULL
;
210 /* ./../lib/standard//math.nit:37 */
211 fra
.me
.REG
[1] = Float_hypot_with___out(fra
.me
.REG
[0], fra
.me
.REG
[1]);
212 stack_frame_head
= fra
.me
.prev
;
213 return fra
.me
.REG
[1];
215 val_t
standard___math___Collection___rand(val_t p0
){
216 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
220 fra
.me
.file
= LOCATE_standard___math
;
222 fra
.me
.meth
= LOCATE_standard___math___Collection___rand
;
223 fra
.me
.has_broke
= 0;
225 fra
.me
.REG
[0] = NIT_NULL
;
226 fra
.me
.REG
[1] = NIT_NULL
;
227 fra
.me
.REG
[2] = NIT_NULL
;
228 fra
.me
.REG
[3] = NIT_NULL
;
230 /* ./../lib/standard//math.nit:44 */
231 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
232 if (UNTAG_Bool(REGB0
)) {
233 fra
.me
.REG
[1] = NIT_NULL
;
236 /* ./../lib/standard//math.nit:46 */
237 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
238 REGB0
= CALL_standard___math___Int___rand(REGB0
)(REGB0
);
239 fra
.me
.REG
[2] = REGB0
;
240 /* ./../lib/standard//math.nit:47 */
241 fra
.me
.REG
[3] = NIT_NULL
;
242 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
));
243 switch ((&(fra
.me
))->has_broke
) {
245 case 1: (&(fra
.me
))->has_broke
= 0; goto label4
;
248 /* ./../lib/standard//math.nit:59 */
249 fra
.me
.REG
[1] = fra
.me
.REG
[3];
252 stack_frame_head
= fra
.me
.prev
;
253 return fra
.me
.REG
[1];
255 void OC_standard___math___Collection___rand_2(struct stack_frame_t
*closctx
, val_t p0
){
256 struct {struct stack_frame_t me
;} fra
;
260 /* ./../lib/standard//math.nit:49 */
261 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
262 fra
.me
.file
= LOCATE_standard___math
;
264 fra
.me
.meth
= LOCATE_standard___math___Collection___rand
;
265 fra
.me
.has_broke
= 0;
267 fra
.me
.REG
[0] = NIT_NULL
;
269 /* ./../lib/standard//math.nit:50 */
271 REGB1
= TAG_Bool(IS_EQUAL_OO(closctx
->REG
[2],REGB0
));
272 if (UNTAG_Bool(REGB1
)) {
274 /* ./../lib/standard//kernel.nit:227 */
275 REGB0
= TAG_Bool((closctx
->REG
[2])==(REGB0
));
276 /* ./../lib/standard//math.nit:50 */
279 if (UNTAG_Bool(REGB1
)) {
280 /* ./../lib/standard//math.nit:52 */
281 closctx
->REG
[3] = fra
.me
.REG
[0];
282 /* ./../lib/standard//math.nit:53 */
283 closctx
->has_broke
= 1;
286 /* ./../lib/standard//math.nit:55 */
288 /* ./../lib/standard//kernel.nit:237 */
289 REGB1
= TAG_Int(UNTAG_Int(closctx
->REG
[2])-UNTAG_Int(REGB1
));
290 /* ./../lib/standard//math.nit:55 */
291 closctx
->REG
[2] = REGB1
;
294 stack_frame_head
= fra
.me
.prev
;
297 val_t
standard___math___Object___atan2(val_t p0
, val_t p1
, val_t p2
){
298 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
300 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
301 fra
.me
.file
= LOCATE_standard___math
;
303 fra
.me
.meth
= LOCATE_standard___math___Object___atan2
;
304 fra
.me
.has_broke
= 0;
306 fra
.me
.REG
[0] = NIT_NULL
;
307 fra
.me
.REG
[1] = NIT_NULL
;
308 fra
.me
.REG
[2] = NIT_NULL
;
312 /* ./../lib/standard//math.nit:63 */
313 fra
.me
.REG
[2] = Object_atan2___out(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
314 stack_frame_head
= fra
.me
.prev
;
315 return fra
.me
.REG
[2];
317 val_t
standard___math___Object___pi(val_t p0
){
318 struct {struct stack_frame_t me
;} fra
;
320 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
321 fra
.me
.file
= LOCATE_standard___math
;
323 fra
.me
.meth
= LOCATE_standard___math___Object___pi
;
324 fra
.me
.has_broke
= 0;
326 fra
.me
.REG
[0] = NIT_NULL
;
328 /* ./../lib/standard//math.nit:64 */
329 fra
.me
.REG
[0] = Object_pi___out(fra
.me
.REG
[0]);
330 stack_frame_head
= fra
.me
.prev
;
331 return fra
.me
.REG
[0];
333 void standard___math___Object___srand_from(val_t p0
, val_t p1
){
334 struct {struct stack_frame_t me
;} fra
;
337 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
338 fra
.me
.file
= LOCATE_standard___math
;
340 fra
.me
.meth
= LOCATE_standard___math___Object___srand_from
;
341 fra
.me
.has_broke
= 0;
343 fra
.me
.REG
[0] = NIT_NULL
;
346 /* ./../lib/standard//math.nit:65 */
347 Object_srand_from___out(fra
.me
.REG
[0], REGB0
);
348 stack_frame_head
= fra
.me
.prev
;
351 void standard___math___Object___srand(val_t p0
){
352 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
;
358 fra
.me
.has_broke
= 0;
360 fra
.me
.REG
[0] = NIT_NULL
;
362 /* ./../lib/standard//math.nit:66 */
363 Object_srand___out(fra
.me
.REG
[0]);
364 stack_frame_head
= fra
.me
.prev
;