Experimenting with a local looping construct

This commit is contained in:
Justin Ethier 2018-06-22 13:16:44 -04:00
parent 282bfc5b5a
commit 3a1a2410b1

View file

@ -30139,18 +30139,28 @@ c_73325.elements[0] = lp_732_737_7394;
return_closcall1(data,(closure)&c_73315, Cyc_set_cell(data, lp_732_737_7394, &c_73325));; return_closcall1(data,(closure)&c_73315, Cyc_set_cell(data, lp_732_737_7394, &c_73325));;
} }
static void __lambda_1(void *data, int argc, object self_73246, object k_73143, object n_738_7395, object a_739_7396) { static void __lambda_1(void *data, int argc, object self_73246, object k_73143, object n_738_7395_arg, object a_739_7396_arg) {
object n_738_7395, a_739_7396;
n_738_7395 = n_738_7395_arg;
a_739_7396 = a_739_7396_arg;
loop: {
object c_73328 = Cyc_num_fast_eq_op(data,n_738_7395, obj_int2obj(0)); object c_73328 = Cyc_num_fast_eq_op(data,n_738_7395, obj_int2obj(0));
if( (boolean_f != c_73328) ){ if( (boolean_f != c_73328) ){
return_closcall1(data, k_73143, a_739_7396); return_closcall1(data, k_73143, a_739_7396);
} else { } else {
complex_num_type local_73336; object c_73337 = Cyc_fast_sub(data,&local_73336,n_738_7395, obj_int2obj(1)); complex_num_type *local_73336 = alloca(sizeof(complex_num_type));
object c_73337 = Cyc_fast_sub(data,local_73336,n_738_7395, obj_int2obj(1));
make_pair(c_73340,NULL, a_739_7396); pair_type *c_73340 = alloca(sizeof(pair_type));
return_closcall3(data, car(((closureN)self_73246)->elements[0]), k_73143, c_73337, &c_73340);} // TODO: check if stack is full!
; set_pair(c_73340, NULL, a_739_7396);
//return_closcall3(data, car(((closureN)self_73246)->elements[0]), k_73143, c_73337, c_73340);
n_738_7395 = c_73337;
a_739_7396 = c_73340;
goto loop;
} }
;
}}
static void __lambda_0(void *data, int argc, object self_73247, object r_73141) { static void __lambda_0(void *data, int argc, object self_73247, object r_73141) {
return_closcall3(data, car(((closureN)self_73247)->elements[2]), ((closureN)self_73247)->elements[1], ((closureN)self_73247)->elements[3], ((closureN)self_73247)->elements[0]);; return_closcall3(data, car(((closureN)self_73247)->elements[2]), ((closureN)self_73247)->elements[1], ((closureN)self_73247)->elements[3], ((closureN)self_73247)->elements[0]);;