Created
May 10, 2020 08:04
-
-
Save miura1729/18a047632b0bd9e55c184c58747a0bc0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <mruby.h> | |
#include <mruby/value.h> | |
#include <mruby/array.h> | |
#include <mruby/hash.h> | |
#include <mruby/throw.h> | |
#include <mruby/proc.h> | |
#include <mruby/string.h> | |
#include <mruby/range.h> | |
#include <mruby/error.h> | |
#include <math.h> | |
#include <stdio.h> | |
#include <stdlib.h> | |
#include <stdarg.h> | |
#undef mrb_int | |
typedef mrb_float mrb_float2; | |
#define mrb_float_value2(n) ({\ | |
mrb_value rc; \ | |
rc.f = n; \ | |
rc; \ | |
}) | |
#define mmc_boxing_array(src, size, boxing_func) ({ \ | |
mrb_value ary; \ | |
ary = mrb_ary_new_capa(mrb, (size)); \ | |
for (int i = 0; i < (size); i++) { \ | |
mrb_ary_push(mrb, ary, (boxing_func)(mrb, (src)[i])); \ | |
} \ | |
ary; \ | |
}) | |
typedef void *gproc; | |
struct gctab { | |
int size; | |
int csize; | |
int osize; | |
struct gctab *prev; | |
mrb_value **complex; | |
mrb_value **object; | |
void *caller_alloc; | |
int ret_status; | |
mrb_value *single[0]; | |
}; | |
void mrb_mark_local(mrb_state *mrb) | |
{ | |
struct gctab *curtab = (struct gctab *)mrb->ud; | |
while (curtab) { | |
for (int i = curtab->size; i--;) { | |
if (!mrb_immediate_p(*curtab->single[i])) { | |
mrb_gc_mark(mrb, mrb_basic_ptr(*curtab->single[i])); | |
} | |
} | |
for (int i = curtab->osize; i--;) { | |
if (!mrb_immediate_p(*curtab->object[i])) { | |
mrb_gc_mark(mrb, mrb_basic_ptr(*curtab->object[i])); | |
} | |
} | |
for (int i = curtab->csize; i--;) { | |
mrb_value *cptr = curtab->complex[i]; | |
for (int j = 0; cptr[j].value.ttt != MRB_TT_FREE; j++) { | |
if (!mrb_immediate_p(cptr[i])) { | |
mrb_gc_mark(mrb, mrb_basic_ptr(cptr[j])); | |
} | |
} | |
} | |
curtab = curtab->prev; | |
} | |
} | |
struct env3 { | |
struct env2 *prev; | |
}; | |
struct env8 { | |
mrb_value *v422; | |
mrb_int v440; | |
mrb_float2 v441; | |
struct env0 *prev; | |
}; | |
struct env7 { | |
mrb_value v230; | |
mrb_float2 v231; | |
mrb_float2 v239; | |
mrb_float2 v240; | |
mrb_float2 v241; | |
struct env0 *prev; | |
}; | |
struct env6 { | |
mrb_int v40; | |
mrb_value *v36; | |
mrb_value v41; | |
mrb_float2 v50; | |
mrb_int v54; | |
mrb_int v42; | |
mrb_value v43; | |
mrb_float2 v44; | |
mrb_float2 v45; | |
mrb_float2 v46; | |
mrb_float2 v47; | |
struct env0 *prev; | |
}; | |
struct range_mrb_int { | |
mrb_int first; | |
mrb_int last; | |
mrb_bool exclude_end; | |
}; | |
struct env41 { | |
struct env40 *prev; | |
}; | |
struct env45 { | |
struct env44 *prev; | |
}; | |
struct env12 { | |
struct env11 *prev; | |
}; | |
struct env19 { | |
struct env18 *prev; | |
}; | |
struct env42 { | |
struct env8 *prev; | |
}; | |
struct env9 { | |
struct env7 *prev; | |
}; | |
struct env16 { | |
struct env6 *prev; | |
}; | |
struct cls0_30 { | |
}; | |
struct cls3_30 { | |
}; | |
struct cls11_30 { | |
}; | |
struct env35 { | |
struct env16 *prev; | |
}; | |
struct cls12_30 { | |
}; | |
struct proc4 { | |
int id; | |
void *code[0]; | |
struct cls3_30 * self; | |
}; | |
struct proc5 { | |
int id; | |
void *code[0]; | |
struct cls3_30 * self; | |
}; | |
struct proc6 { | |
int id; | |
void *code[0]; | |
mrb_value self; | |
}; | |
struct proc7 { | |
int id; | |
void *code[0]; | |
mrb_value self; | |
}; | |
struct proc8 { | |
int id; | |
void *code[0]; | |
mrb_value self; | |
}; | |
static mrb_value main_Object_0(mrb_state *, mrb_value self,struct gctab *); | |
static mrb_value attr_uaccessor___us_ulClass_ucPlanet_ug__2(mrb_state *, struct cls3_30 * self, mrb_sym v1148, mrb_sym v1149, mrb_sym v1150, mrb_sym v1151, mrb_sym v1152, mrb_sym v1169, mrb_sym v1170,struct gctab *); | |
struct cls3_30 * const0; | |
struct proc42 { | |
int id; | |
void *code[2]; | |
struct env8 *env; | |
mrb_value self; | |
}; | |
static mrb_value top__Object__3(mrb_state *, mrb_value self,struct gctab *); | |
static mrb_float2 initialize__Planet__25(mrb_state *, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561,struct gctab *); | |
static mrb_float2 initialize__Planet__26(mrb_state *, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561,struct gctab *); | |
static mrb_float2 initialize__Planet__27(mrb_state *, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561,struct gctab *); | |
static mrb_float2 initialize__Planet__28(mrb_state *, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561,struct gctab *); | |
static mrb_float2 initialize__Planet__29(mrb_state *, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561,struct gctab *); | |
struct proc9 { | |
int id; | |
void *code[1]; | |
struct env7 *env; | |
mrb_value self; | |
}; | |
static mrb_float2 offset_umomentum__Object__9(mrb_state *, mrb_value self, mrb_value *v214,struct gctab *); | |
struct proc16 { | |
int id; | |
void *code[2]; | |
struct env6 *env; | |
mrb_value self; | |
}; | |
static mrb_float2 energy__Object__9(mrb_state *, mrb_value self, mrb_value *v22,struct gctab *); | |
static mrb_value printf__Object__20(mrb_state *, mrb_value self, char *v6142, mrb_float2 v6143,struct gctab *); | |
static mrb_int times__Fixnum__21(mrb_state *, mrb_int self, gproc v7028,struct gctab *); | |
static mrb_value * each__Array__10(mrb_state *, mrb_value *self, gproc v2761,struct gctab *); | |
struct cls11_30 * const1; | |
static struct range_mrb_int * each__Range__13(mrb_state *, struct range_mrb_int *self, gproc v3843,struct gctab *); | |
static mrb_value p42_Object_0_24(mrb_state *, gproc cgproc, mrb_int v448, struct gctab *); | |
static mrb_float2 p9_Object_0_11(mrb_state *, gproc cgproc, mrb_value v248, struct gctab *); | |
static struct range_mrb_int * p16_Object_0_19(mrb_state *, gproc cgproc, mrb_int v63, struct gctab *); | |
struct proc35 { | |
int id; | |
void *code[1]; | |
struct env16 *env; | |
mrb_value self; | |
}; | |
struct cls12_30 * const2; | |
static mrb_float2 move_ufrom_ui__Planet__23(mrb_state *, mrb_value self, mrb_value *v616, mrb_int v617, mrb_float2 v618, mrb_int v619,struct gctab *); | |
static struct range_mrb_int * each__Range__16(mrb_state *, struct range_mrb_int *self, gproc v3843,struct gctab *); | |
static mrb_float2 p35_Object_0_18(mrb_state *, gproc cgproc, mrb_int v129, struct gctab *); | |
int main(int argc, char **argv) | |
{ | |
mrb_state *mrb = mrb_open(); | |
struct mrb_jmpbuf c_jmp; | |
MRB_TRY(&c_jmp) { | |
mrb->jmp = &c_jmp; | |
main_Object_0(mrb, mrb_top_self(mrb), NULL); | |
} | |
MRB_CATCH(&c_jmp) { | |
mrb_p(mrb, mrb_obj_value(mrb->exc)); | |
return 1; | |
} | |
MRB_END_EXC(&c_jmp); | |
return 0; | |
} | |
static mrb_value main_Object_0(mrb_state *mrb, mrb_value self, struct gctab *prevgctab) { | |
mrb_value v548; | |
struct proc4 v550; | |
struct proc5 v611; | |
struct proc6 v17; | |
struct proc7 v209; | |
struct proc8 v328; | |
mrb_value v524; | |
struct gctab *gctab = prevgctab; | |
L0:; | |
mrb_value f14(){ | |
struct cls3_30 * self; | |
L11:; | |
v548 = attr_uaccessor___us_ulClass_ucPlanet_ug__2(mrb, self, mrb_intern_lit(mrb, "x"), mrb_intern_lit(mrb, "y"), mrb_intern_lit(mrb, "z"), mrb_intern_lit(mrb, "vx"), mrb_intern_lit(mrb, "vy"), mrb_intern_lit(mrb, "vz"), mrb_intern_lit(mrb, "mass"), gctab); | |
v550.id = 4; | |
v550.self = self; | |
v611.id = 5; | |
v611.self = self; | |
return mrb_nil_value(); | |
} | |
f14(); | |
v17.id = 6; | |
v17.self = self; | |
v209.id = 7; | |
v209.self = self; | |
v328.id = 8; | |
v328.self = self; | |
v524 = top__Object__3(mrb, self, gctab); | |
return v524; | |
} | |
static mrb_value attr_uaccessor___us_ulClass_ucPlanet_ug__2(mrb_state *mrb, struct cls3_30 * self, mrb_sym v1148, mrb_sym v1149, mrb_sym v1150, mrb_sym v1151, mrb_sym v1152, mrb_sym v1169, mrb_sym v1170, struct gctab *prevgctab) { | |
struct env3 env; | |
struct REnv *venv = NULL; | |
mrb_value v1162; | |
mrb_value v1167; | |
int ai = mrb_gc_arena_save(mrb); | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 0 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = alloca(sizeof(mrb_value *) * 2); | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
L26:; | |
mrb_value v1159[2] = { | |
}; | |
v1159[0].value.ttt = MRB_TT_FREE; | |
v1159[1].value.ttt = MRB_TT_FREE; | |
gctab->complex[0] = v1159; | |
gctab->csize = 1; | |
v1162 = mrb_nil_value(); | |
mrb_value v1164[2] = { | |
}; | |
v1164[0].value.ttt = MRB_TT_FREE; | |
v1164[1].value.ttt = MRB_TT_FREE; | |
gctab->complex[1] = v1164; | |
gctab->csize = 2; | |
v1167 = mrb_nil_value(); | |
mrb_gc_arena_restore(mrb, ai); | |
return v1167; | |
mrb_gc_arena_restore(mrb, ai); | |
} | |
static mrb_value top__Object__3(mrb_state *mrb, mrb_value self, struct gctab *prevgctab) { | |
struct env8 env; | |
struct REnv *venv = NULL; | |
mrb_value v381; | |
mrb_value v391; | |
mrb_value v401; | |
mrb_value v411; | |
mrb_value v421; | |
mrb_float2 v428; | |
char *v430 = "%.9f\n"; | |
mrb_float2 v434; | |
mrb_value v436; | |
mrb_int v439; | |
struct proc42 v443; | |
mrb_int v512; | |
char *v514 = "%.9f\n"; | |
mrb_float2 v518; | |
mrb_value v520; | |
int ai = mrb_gc_arena_save(mrb); | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 4 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = alloca(sizeof(mrb_value *) * 1); | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
L6:; | |
mrb->ud = (void *)gctab; | |
v381 = mrb_ary_new_capa(mrb, 7); | |
for (int i = 0;i < 7; i++) ARY_PTR(mrb_ary_ptr(v381))[i] = mrb_nil_value(); | |
ARY_SET_LEN(mrb_ary_ptr(v381), 7); | |
initialize__Planet__25(mrb, v381, 0, 0, 0, 0, 0, 0, 1, gctab); | |
gctab->single[0] = &v381;/* normal */ | |
gctab->size = 1; | |
mrb->ud = (void *)gctab; | |
v391 = mrb_ary_new_capa(mrb, 7); | |
for (int i = 0;i < 7; i++) ARY_PTR(mrb_ary_ptr(v391))[i] = mrb_nil_value(); | |
ARY_SET_LEN(mrb_ary_ptr(v391), 7); | |
initialize__Planet__26(mrb, v391, 4.8414314424647, -1.1603200440274, -0.10362204447112, 0.001660076642744, 0.0076990111841974, -6.9046001697206e-05, 0.00095479193842433, gctab); | |
gctab->single[1] = &v391;/* normal */ | |
gctab->size = 2; | |
mrb->ud = (void *)gctab; | |
v401 = mrb_ary_new_capa(mrb, 7); | |
for (int i = 0;i < 7; i++) ARY_PTR(mrb_ary_ptr(v401))[i] = mrb_nil_value(); | |
ARY_SET_LEN(mrb_ary_ptr(v401), 7); | |
initialize__Planet__27(mrb, v401, 8.3433667182446, 4.1247985641243, -0.40352341711432, -0.0027674251072686, 0.0049985280123492, 2.3041729757376e-05, 0.00028588598066613, gctab); | |
gctab->single[2] = &v401;/* normal */ | |
gctab->size = 3; | |
mrb->ud = (void *)gctab; | |
v411 = mrb_ary_new_capa(mrb, 7); | |
for (int i = 0;i < 7; i++) ARY_PTR(mrb_ary_ptr(v411))[i] = mrb_nil_value(); | |
ARY_SET_LEN(mrb_ary_ptr(v411), 7); | |
initialize__Planet__28(mrb, v411, 12.894369562139, -15.111151401699, -0.22330757889266, 0.0029646013756476, 0.0023784717395948, -2.9658956854024e-05, 4.3662440433516e-05, gctab); | |
gctab->single[3] = &v411;/* normal */ | |
gctab->size = 4; | |
mrb->ud = (void *)gctab; | |
v421 = mrb_ary_new_capa(mrb, 7); | |
for (int i = 0;i < 7; i++) ARY_PTR(mrb_ary_ptr(v421))[i] = mrb_nil_value(); | |
ARY_SET_LEN(mrb_ary_ptr(v421), 7); | |
initialize__Planet__29(mrb, v421, 15.379697114851, -25.919314609988, 0.17925877295037, 0.0026806777249039, 0.0016282417003824, -9.5159225451972e-05, 5.1513890204661e-05, gctab); | |
mrb_value v422[7] = { | |
v381, v391, v401, v411, v421}; | |
v422[5].value.ttt = MRB_TT_FREE; | |
v422[6].value.ttt = MRB_TT_FREE; | |
gctab->complex[0] = v422; | |
gctab->csize = 1; | |
env.v422 = v422;/*foo*/ | |
gctab->size = 0; | |
v428 = offset_umomentum__Object__9(mrb, self, v422, gctab); | |
v434 = energy__Object__9(mrb, self, v422, gctab); | |
v436 = printf__Object__20(mrb, self, "%.9f\n", v434, gctab); | |
v439 = 5; | |
env.v440 = v439;/*foo*/ | |
env.v441 = 0.01;/*foo*/ | |
v443.id = 42; | |
v443.self = self; | |
v443.env = &env; | |
v512 = times__Fixnum__21(mrb, 50000000, ((gproc)&v443), gctab); | |
v518 = energy__Object__9(mrb, self, v422, gctab); | |
v520 = printf__Object__20(mrb, self, "%.9f\n", v518, gctab); | |
mrb_gc_arena_restore(mrb, ai); | |
return v520; | |
mrb_gc_arena_restore(mrb, ai); | |
} | |
static mrb_float2 initialize__Planet__25(mrb_state *mrb, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561, struct gctab *prevgctab) { | |
mrb_float2 v607;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
L12:; | |
ARY_PTR(mrb_ary_ptr(self))[0] = (mrb_float_value2(0)); | |
ARY_PTR(mrb_ary_ptr(self))[1] = (mrb_float_value2(0)); | |
ARY_PTR(mrb_ary_ptr(self))[2] = (mrb_float_value2(0)); | |
ARY_PTR(mrb_ary_ptr(self))[3] = (mrb_float_value2((0 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[4] = (mrb_float_value2((0 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[5] = (mrb_float_value2((0 * 365.24))); | |
v607 = (1 * 39.478417604357); | |
ARY_PTR(mrb_ary_ptr(self))[6] = (mrb_float_value2(v607)); | |
return v607; | |
} | |
static mrb_float2 initialize__Planet__26(mrb_state *mrb, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561, struct gctab *prevgctab) { | |
mrb_float2 v607;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
L12:; | |
ARY_PTR(mrb_ary_ptr(self))[0] = (mrb_float_value2(4.8414314424647)); | |
ARY_PTR(mrb_ary_ptr(self))[1] = (mrb_float_value2(-1.1603200440274)); | |
ARY_PTR(mrb_ary_ptr(self))[2] = (mrb_float_value2(-0.10362204447112)); | |
ARY_PTR(mrb_ary_ptr(self))[3] = (mrb_float_value2((0.001660076642744 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[4] = (mrb_float_value2((0.0076990111841974 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[5] = (mrb_float_value2((-6.9046001697206e-05 * 365.24))); | |
v607 = (0.00095479193842433 * 39.478417604357); | |
ARY_PTR(mrb_ary_ptr(self))[6] = (mrb_float_value2(v607)); | |
return v607; | |
} | |
static mrb_float2 initialize__Planet__27(mrb_state *mrb, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561, struct gctab *prevgctab) { | |
mrb_float2 v607;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
L12:; | |
ARY_PTR(mrb_ary_ptr(self))[0] = (mrb_float_value2(8.3433667182446)); | |
ARY_PTR(mrb_ary_ptr(self))[1] = (mrb_float_value2(4.1247985641243)); | |
ARY_PTR(mrb_ary_ptr(self))[2] = (mrb_float_value2(-0.40352341711432)); | |
ARY_PTR(mrb_ary_ptr(self))[3] = (mrb_float_value2((-0.0027674251072686 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[4] = (mrb_float_value2((0.0049985280123492 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[5] = (mrb_float_value2((2.3041729757376e-05 * 365.24))); | |
v607 = (0.00028588598066613 * 39.478417604357); | |
ARY_PTR(mrb_ary_ptr(self))[6] = (mrb_float_value2(v607)); | |
return v607; | |
} | |
static mrb_float2 initialize__Planet__28(mrb_state *mrb, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561, struct gctab *prevgctab) { | |
mrb_float2 v607;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
L12:; | |
ARY_PTR(mrb_ary_ptr(self))[0] = (mrb_float_value2(12.894369562139)); | |
ARY_PTR(mrb_ary_ptr(self))[1] = (mrb_float_value2(-15.111151401699)); | |
ARY_PTR(mrb_ary_ptr(self))[2] = (mrb_float_value2(-0.22330757889266)); | |
ARY_PTR(mrb_ary_ptr(self))[3] = (mrb_float_value2((0.0029646013756476 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[4] = (mrb_float_value2((0.0023784717395948 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[5] = (mrb_float_value2((-2.9658956854024e-05 * 365.24))); | |
v607 = (4.3662440433516e-05 * 39.478417604357); | |
ARY_PTR(mrb_ary_ptr(self))[6] = (mrb_float_value2(v607)); | |
return v607; | |
} | |
static mrb_float2 initialize__Planet__29(mrb_state *mrb, mrb_value self, mrb_float2 v555, mrb_float2 v556, mrb_float2 v557, mrb_float2 v558, mrb_float2 v559, mrb_float2 v560, mrb_float2 v561, struct gctab *prevgctab) { | |
mrb_float2 v607;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
L12:; | |
ARY_PTR(mrb_ary_ptr(self))[0] = (mrb_float_value2(15.379697114851)); | |
ARY_PTR(mrb_ary_ptr(self))[1] = (mrb_float_value2(-25.919314609988)); | |
ARY_PTR(mrb_ary_ptr(self))[2] = (mrb_float_value2(0.17925877295037)); | |
ARY_PTR(mrb_ary_ptr(self))[3] = (mrb_float_value2((0.0026806777249039 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[4] = (mrb_float_value2((0.0016282417003824 * 365.24))); | |
ARY_PTR(mrb_ary_ptr(self))[5] = (mrb_float_value2((-9.5159225451972e-05 * 365.24))); | |
v607 = (5.1513890204661e-05 * 39.478417604357); | |
ARY_PTR(mrb_ary_ptr(self))[6] = (mrb_float_value2(v607)); | |
return v607; | |
} | |
static mrb_float2 offset_umomentum__Object__9(mrb_state *mrb, mrb_value self, mrb_value *v214, struct gctab *prevgctab) { | |
struct env7 env; | |
struct REnv *venv = NULL; | |
mrb_value v230 = mrb_nil_value(); | |
mrb_value v219 = mrb_nil_value(); | |
mrb_float2 v231; | |
mrb_value v220 = mrb_nil_value(); | |
mrb_float2 v239; /* fst */ | |
mrb_float2 v240; /* fst */ | |
mrb_float2 v241; /* fst */ | |
struct proc9 v243; | |
mrb_value *v289; | |
mrb_value v293; | |
mrb_float2 v297; | |
mrb_float2 v308; | |
mrb_float2 v318; | |
mrb_float2 v321;/*snd*/ | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 1 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = NULL; | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
L4:; | |
env.v230 = v219;/*enter */ | |
env.v231 = (mrb_float(v220));/*enter */ | |
v239 = 0; | |
env.v239 = v239;/*foo*/ | |
v240 = 0; | |
env.v240 = v240;/*foo*/ | |
v241 = 0; | |
env.v241 = v241;/*foo*/ | |
v243.id = 9; | |
v243.self = self; | |
v243.env = &env; | |
gctab->single[0] = &v230;/* normal */ | |
gctab->size = 1; | |
v289 = each__Array__10(mrb, v214, ((gproc)&v243), gctab); | |
v239 = env.v239; | |
v240 = env.v240; | |
v241 = env.v241; | |
v293 = v214[0]; | |
env.v230 = v293;/*foo*/ | |
v297 = -v239; | |
ARY_PTR(mrb_ary_ptr(v293))[3] = (mrb_float_value2((v297 / 39.478417604357))); | |
v308 = -v240; | |
ARY_PTR(mrb_ary_ptr(v293))[4] = (mrb_float_value2((v308 / 39.478417604357))); | |
v318 = -v241; | |
v321 = (v318 / 39.478417604357); | |
ARY_PTR(mrb_ary_ptr(v293))[5] = (mrb_float_value2(v321)); | |
return v321; | |
} | |
static mrb_float2 energy__Object__9(mrb_state *mrb, mrb_value self, mrb_value *v22, struct gctab *prevgctab) { | |
struct env6 env; | |
struct REnv *venv = NULL; | |
mrb_value *v36; | |
mrb_int v40; | |
mrb_value v26 = mrb_nil_value(); | |
mrb_value v41 = mrb_nil_value(); | |
mrb_value v27 = mrb_nil_value(); | |
mrb_int v42; | |
mrb_value v28 = mrb_nil_value(); | |
mrb_value v43 = mrb_nil_value(); | |
mrb_value v29 = mrb_nil_value(); | |
mrb_float2 v44; | |
mrb_value v30 = mrb_nil_value(); | |
mrb_float2 v45; | |
mrb_value v31 = mrb_nil_value(); | |
mrb_float2 v46; | |
mrb_value v32 = mrb_nil_value(); | |
mrb_float2 v47; | |
mrb_value v33 = mrb_nil_value(); | |
mrb_float2 v50; /* fst */ | |
mrb_int v53; | |
struct range_mrb_int *v57; | |
struct proc16 v58; | |
struct range_mrb_int *v206; | |
int ai = mrb_gc_arena_save(mrb); | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 2 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = NULL; | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
L1:; | |
env.v36 = v22;/*enter */ | |
env.v40 = (mrb_fixnum(v26));/*enter */ | |
env.v41 = v27;/*enter */ | |
env.v42 = (mrb_fixnum(v28));/*enter */ | |
env.v43 = v29;/*enter */ | |
env.v44 = (mrb_float(v30));/*enter */ | |
env.v45 = (mrb_float(v31));/*enter */ | |
env.v46 = (mrb_float(v32));/*enter */ | |
env.v47 = (mrb_float(v33));/*enter */ | |
v50 = 0; | |
env.v50 = v50;/*foo*/ | |
v53 = 5; | |
env.v54 = v53;/*foo*/ | |
v57 = alloca(sizeof(struct range_mrb_int)); | |
v57->first = 0; | |
v57->last = v53; | |
v57->exclude_end = 1; | |
v58.id = 16; | |
v58.self = self; | |
v58.env = &env; | |
gctab->single[0] = &v41;/* normal */ | |
gctab->single[1] = &v43;/* normal */ | |
gctab->size = 2; | |
v206 = each__Range__13(mrb, v57, ((gproc)&v58), gctab); | |
v50 = env.v50; | |
mrb_gc_arena_restore(mrb, ai); | |
return v50; | |
mrb_gc_arena_restore(mrb, ai); | |
} | |
static mrb_value printf__Object__20(mrb_state *mrb, mrb_value self, char *v6142, mrb_float2 v6143, struct gctab *prevgctab) { | |
struct env41 env; | |
struct REnv *venv = NULL; | |
char *v6159; | |
char *v6161; | |
int ai = mrb_gc_arena_save(mrb); | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 0 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = alloca(sizeof(mrb_value *) * 1); | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
L319:; | |
mrb_value v6156[2] = { | |
}; | |
v6156[0].value.ttt = MRB_TT_FREE; | |
v6156[1].value.ttt = MRB_TT_FREE; | |
gctab->complex[0] = v6156; | |
gctab->csize = 1; | |
{ | |
char *buf = alloca(256); | |
sprintf(buf, "%.9f\n", v6143);v6159 = buf; | |
} | |
printf("%s", v6159); | |
v6161 = v6159; | |
mrb_gc_arena_restore(mrb, ai); | |
return mrb_nil_value(); | |
mrb_gc_arena_restore(mrb, ai); | |
} | |
static mrb_int times__Fixnum__21(mrb_state *mrb, mrb_int self, gproc v7028, struct gctab *prevgctab) { | |
struct env45 env; | |
struct REnv *venv = NULL; | |
gproc v7080; | |
mrb_int v7081; | |
mrb_value v7074; | |
struct gctab *gctab = prevgctab; | |
L375:; | |
L376:; | |
L378:; | |
v7080 = v7028; | |
v7081 = 0; | |
L380:; | |
if ((v7081 < self)) goto L379; else goto L381; | |
L379:; | |
v7074 = (p42_Object_0_24(mrb, v7080, v7081, gctab)); | |
v7080 = v7080; | |
v7081 = (v7081 + 1); | |
goto L380; | |
L381:; | |
return self; | |
} | |
static mrb_value * each__Array__10(mrb_state *mrb, mrb_value *self, gproc v2761, struct gctab *prevgctab) { | |
struct env12 env; | |
struct REnv *venv = NULL; | |
gproc v2822; | |
mrb_int v2823; | |
mrb_int v2831; | |
mrb_value v2814; | |
mrb_float2 v2816; | |
struct gctab *gctab = prevgctab; | |
L130:; | |
L131:; | |
L133:; | |
v2822 = v2761; | |
v2823 = 0; | |
L135:; | |
v2831 = 5; | |
if ((v2823 < v2831)) goto L134; else goto L136; | |
L134:; | |
v2814 = self[v2823]; | |
v2816 = (p9_Object_0_11(mrb, v2822, v2814, gctab)); | |
v2822 = v2822; | |
v2823 = (v2823 + 1); | |
goto L135; | |
L136:; | |
return self; | |
} | |
static struct range_mrb_int * each__Range__13(mrb_state *mrb, struct range_mrb_int *self, gproc v3843, struct gctab *prevgctab) { | |
struct env19 env; | |
struct REnv *venv = NULL; | |
mrb_int v3905; | |
mrb_int v3909; | |
mrb_bool v3914; | |
gproc v3933; | |
mrb_int v3934; | |
mrb_int v3935; | |
mrb_value v3938; | |
mrb_bool v3939; | |
mrb_bool v3930; | |
mrb_bool v3958; | |
gproc v3988; | |
mrb_int v3989; | |
mrb_int v3991; | |
gproc v4020; | |
mrb_int v4023; | |
mrb_int v4024; | |
struct range_mrb_int *v4014; | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 0 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = NULL; | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
L190:; | |
L191:; | |
L193:; | |
v3905 = 0; | |
v3909 = self->last; | |
v3933 = v3843; | |
v3934 = v3905; | |
v3935 = v3909; | |
v3939 = v3914; | |
L194:; | |
v3933 = v3843; | |
v3934 = v3905; | |
v3935 = v3909; | |
v3939 = v3930; | |
L195:; | |
L196:; | |
v3958 = 1; | |
L197:; | |
v3988 = v3933; | |
v3989 = v3934; | |
v3991 = v3935; | |
L199:; | |
v4020 = v3988; | |
v4023 = v3991; | |
v4024 = v3989; | |
L201:; | |
if ((v4024 < v4023)) goto L200; else goto L202; | |
L200:; | |
gctab->caller_alloc = alloca(sizeof(struct range_mrb_int)); | |
v4014 = (p16_Object_0_19(mrb, v4020, v4024, gctab)); | |
v4020 = v4020; | |
v4023 = v4023; | |
v4024 = (v4024 + 1); | |
goto L201; | |
L202:; | |
return self; | |
} | |
static mrb_value p42_Object_0_24(mrb_state *mrb, gproc cgproc, mrb_int v448, struct gctab *prevgctab) { | |
struct proc42 *proc = (struct proc42 *)cgproc; | |
mrb_value self = proc->self; | |
struct env42 env; | |
struct REnv *venv = NULL; | |
mrb_int v486; | |
mrb_int v496; | |
mrb_value *v469; | |
mrb_value v472; | |
mrb_value *v474; | |
mrb_int v475; | |
mrb_float2 v476; | |
mrb_float2 v480; | |
struct gctab *gctab = (struct gctab *)alloca(sizeof(struct gctab) + 2 * sizeof(mrb_value *)); | |
gctab->prev = prevgctab; | |
gctab->complex = NULL; | |
gctab->object = NULL; | |
gctab->size = 0; | |
gctab->csize = 0; | |
gctab->osize = 0; | |
gctab->ret_status = 0; | |
env.prev = proc->env; | |
L7:; | |
v486 = 0; | |
L9:; | |
v496 = proc->env->v440; | |
if ((v486 < v496)) goto L8; else goto L10; | |
L8:; | |
v469 = proc->env->v422; | |
v472 = v469[v486]; | |
v474 = proc->env->v422; | |
v475 = proc->env->v440; | |
v476 = proc->env->v441; | |
gctab->single[0] = &v472;/* normal */ | |
gctab->single[1] = &v472;/* normal */ | |
gctab->size = 2; | |
v480 = move_ufrom_ui__Planet__23(mrb, v472, v474, v475, v476, (v486 + 1), gctab); | |
v486 = (v486 + 1); | |
goto L9; | |
L10:; | |
return mrb_nil_value(); | |
} | |
static mrb_float2 p9_Object_0_11(mrb_state *mrb, gproc cgproc, mrb_value v248, struct gctab *prevgctab) { | |
struct proc9 *proc = (struct proc9 *)cgproc; | |
mrb_value self = proc->self; | |
struct env9 env; | |
struct REnv *venv = NULL; | |
mrb_value v258; | |
mrb_float2 v260; | |
mrb_float2 v261; | |
mrb_value v262; | |
mrb_float2 v264; | |
mrb_float2 v265; | |
mrb_float2 v270; | |
mrb_value v271; | |
mrb_float2 v273; | |
mrb_float2 v274; | |
mrb_float2 v279; | |
mrb_value v280; | |
mrb_float2 v282; | |
mrb_float2 v283; | |
mrb_float2 v287;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
env.prev = proc->env; | |
L5:; | |
proc->env->v230 = v248; | |
v258 = proc->env->v230; | |
v260 = (mrb_float(ARY_PTR(mrb_ary_ptr(v258))[6])); | |
proc->env->v231 = v260; | |
v261 = proc->env->v239; | |
v262 = proc->env->v230; | |
v264 = (mrb_float(ARY_PTR(mrb_ary_ptr(v262))[3])); | |
v265 = proc->env->v231; | |
proc->env->v239 = (v261 + (v264 * v265)); | |
v270 = proc->env->v240; | |
v271 = proc->env->v230; | |
v273 = (mrb_float(ARY_PTR(mrb_ary_ptr(v271))[4])); | |
v274 = proc->env->v231; | |
proc->env->v240 = (v270 + (v273 * v274)); | |
v279 = proc->env->v241; | |
v280 = proc->env->v230; | |
v282 = (mrb_float(ARY_PTR(mrb_ary_ptr(v280))[5])); | |
v283 = proc->env->v231; | |
v287 = (v279 + (v282 * v283)); | |
proc->env->v241 = v287; | |
return v287; | |
} | |
static struct range_mrb_int * p16_Object_0_19(mrb_state *mrb, gproc cgproc, mrb_int v63, struct gctab *prevgctab) { | |
struct proc16 *proc = (struct proc16 *)cgproc; | |
mrb_value self = proc->self; | |
struct env16 env; | |
struct REnv *venv = NULL; | |
mrb_value *v77; | |
mrb_int v78; | |
mrb_value v80; | |
mrb_float2 v81; | |
mrb_value v83; | |
mrb_float2 v85; | |
mrb_value v88; | |
mrb_float2 v90; | |
mrb_value v91; | |
mrb_float2 v93; | |
mrb_value v96; | |
mrb_float2 v98; | |
mrb_value v99; | |
mrb_float2 v101; | |
mrb_value v106; | |
mrb_float2 v108; | |
mrb_value v109; | |
mrb_float2 v111; | |
mrb_int v120; | |
mrb_int v122; | |
struct range_mrb_int *v123; | |
struct proc35 v124; | |
struct range_mrb_int *v204; | |
struct gctab *gctab = prevgctab; | |
env.prev = proc->env; | |
L2:; | |
proc->env->v40 = v63; | |
v77 = proc->env->v36; | |
v78 = proc->env->v40; | |
v80 = v77[v78]; | |
proc->env->v41 = v80; | |
v81 = proc->env->v50; | |
v83 = proc->env->v41; | |
v85 = (mrb_float(ARY_PTR(mrb_ary_ptr(v83))[6])); | |
v88 = proc->env->v41; | |
v90 = (mrb_float(ARY_PTR(mrb_ary_ptr(v88))[3])); | |
v91 = proc->env->v41; | |
v93 = (mrb_float(ARY_PTR(mrb_ary_ptr(v91))[3])); | |
v96 = proc->env->v41; | |
v98 = (mrb_float(ARY_PTR(mrb_ary_ptr(v96))[4])); | |
v99 = proc->env->v41; | |
v101 = (mrb_float(ARY_PTR(mrb_ary_ptr(v99))[4])); | |
v106 = proc->env->v41; | |
v108 = (mrb_float(ARY_PTR(mrb_ary_ptr(v106))[5])); | |
v109 = proc->env->v41; | |
v111 = (mrb_float(ARY_PTR(mrb_ary_ptr(v109))[5])); | |
proc->env->v50 = (v81 + ((0.5 * v85) * (((v90 * v93) + (v98 * v101)) + (v108 * v111)))); | |
v120 = proc->env->v40; | |
v122 = proc->env->v54; | |
v123 = alloca(sizeof(struct range_mrb_int)); | |
v123->first = (v120 + 1); | |
v123->last = v122; | |
v123->exclude_end = 1; | |
v124.id = 35; | |
v124.self = self; | |
v124.env = &env; | |
v204 = each__Range__16(mrb, v123, ((gproc)&v124), gctab); | |
return v204; | |
} | |
static mrb_float2 move_ufrom_ui__Planet__23(mrb_state *mrb, mrb_value self, mrb_value *v616, mrb_int v617, mrb_float2 v618, mrb_int v619, struct gctab *prevgctab) { | |
mrb_value *v804; | |
mrb_int v805; | |
mrb_float2 v806; | |
mrb_int v807; | |
mrb_value v675; | |
mrb_float2 v677; | |
mrb_float2 v680; | |
mrb_float2 v684; | |
mrb_float2 v687; | |
mrb_float2 v691; | |
mrb_float2 v694; | |
mrb_float2 v717; | |
mrb_float2 v730; | |
mrb_float2 v736; | |
mrb_float2 v742; | |
mrb_float2 v749; | |
mrb_float2 v756; | |
mrb_float2 v766; | |
mrb_float2 v778; | |
mrb_float2 v790; | |
mrb_float2 v846; | |
mrb_float2 v848; | |
mrb_float2 v853; | |
mrb_float2 v855; | |
mrb_float2 v860; | |
mrb_float2 v862; | |
mrb_float2 v866;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
L13:; | |
v804 = v616; | |
v805 = v617; | |
v806 = 0.01; | |
v807 = v619; | |
L15:; | |
if ((v807 < v805)) goto L14; else goto L16; | |
L14:; | |
v675 = v804[v807]; | |
v677 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[0])); | |
v680 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[0])); | |
v684 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[1])); | |
v687 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[1])); | |
v691 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[2])); | |
v694 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[2])); | |
v717 = sqrt(((((v677 - v680) * (v677 - v680)) + ((v684 - v687) * (v684 - v687))) + ((v691 - v694) * (v691 - v694)))); | |
v730 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[6])); | |
v736 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[6])); | |
v742 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[3])); | |
ARY_PTR(mrb_ary_ptr(self))[3] = (mrb_float_value2((v742 - ((v677 - v680) * (v736 * (v806 / ((v717 * v717) * v717))))))); | |
v749 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[4])); | |
ARY_PTR(mrb_ary_ptr(self))[4] = (mrb_float_value2((v749 - ((v684 - v687) * (v736 * (v806 / ((v717 * v717) * v717))))))); | |
v756 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[5])); | |
ARY_PTR(mrb_ary_ptr(self))[5] = (mrb_float_value2((v756 - ((v691 - v694) * (v736 * (v806 / ((v717 * v717) * v717))))))); | |
v766 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[3])); | |
ARY_PTR(mrb_ary_ptr(v675))[3] = (mrb_float_value2((v766 + ((v677 - v680) * (v730 * (v806 / ((v717 * v717) * v717))))))); | |
v778 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[4])); | |
ARY_PTR(mrb_ary_ptr(v675))[4] = (mrb_float_value2((v778 + ((v684 - v687) * (v730 * (v806 / ((v717 * v717) * v717))))))); | |
v790 = (mrb_float(ARY_PTR(mrb_ary_ptr(v675))[5])); | |
ARY_PTR(mrb_ary_ptr(v675))[5] = (mrb_float_value2((v790 + ((v691 - v694) * (v730 * (v806 / ((v717 * v717) * v717))))))); | |
v804 = v804; | |
v805 = v805; | |
v806 = v806; | |
v807 = (v807 + 1); | |
goto L15; | |
L16:; | |
v846 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[0])); | |
v848 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[3])); | |
ARY_PTR(mrb_ary_ptr(self))[0] = (mrb_float_value2((v846 + (v806 * v848)))); | |
v853 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[1])); | |
v855 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[4])); | |
ARY_PTR(mrb_ary_ptr(self))[1] = (mrb_float_value2((v853 + (v806 * v855)))); | |
v860 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[2])); | |
v862 = (mrb_float(ARY_PTR(mrb_ary_ptr(self))[5])); | |
v866 = (v860 + (v806 * v862)); | |
ARY_PTR(mrb_ary_ptr(self))[2] = (mrb_float_value2(v866)); | |
return v866; | |
} | |
static struct range_mrb_int * each__Range__16(mrb_state *mrb, struct range_mrb_int *self, gproc v3843, struct gctab *prevgctab) { | |
struct env19 env; | |
struct REnv *venv = NULL; | |
mrb_int v3905; | |
mrb_int v3909; | |
mrb_bool v3914; | |
gproc v3933; | |
mrb_int v3934; | |
mrb_int v3935; | |
mrb_value v3938; | |
mrb_bool v3939; | |
mrb_bool v3930; | |
mrb_bool v3958; | |
gproc v3988; | |
mrb_int v3989; | |
mrb_int v3991; | |
gproc v4020; | |
mrb_int v4023; | |
mrb_int v4024; | |
mrb_float2 v4014; | |
struct gctab *gctab = prevgctab; | |
L190:; | |
L191:; | |
L193:; | |
v3905 = self->first; | |
v3909 = self->last; | |
v3933 = v3843; | |
v3934 = v3905; | |
v3935 = v3909; | |
v3939 = v3914; | |
L194:; | |
v3933 = v3843; | |
v3934 = v3905; | |
v3935 = v3909; | |
v3939 = v3930; | |
L195:; | |
L196:; | |
v3958 = 1; | |
L197:; | |
v3988 = v3933; | |
v3989 = v3934; | |
v3991 = v3935; | |
L199:; | |
v4020 = v3988; | |
v4023 = v3991; | |
v4024 = v3989; | |
L201:; | |
if ((v4024 < v4023)) goto L200; else goto L202; | |
L200:; | |
v4014 = (p35_Object_0_18(mrb, v4020, v4024, gctab)); | |
v4020 = v4020; | |
v4023 = v4023; | |
v4024 = (v4024 + 1); | |
goto L201; | |
L202:; | |
return self; | |
} | |
static mrb_float2 p35_Object_0_18(mrb_state *mrb, gproc cgproc, mrb_int v129, struct gctab *prevgctab) { | |
struct proc35 *proc = (struct proc35 *)cgproc; | |
mrb_value self = proc->self; | |
struct env35 env; | |
struct REnv *venv = NULL; | |
mrb_value *v141; | |
mrb_int v142; | |
mrb_value v144; | |
mrb_value v145; | |
mrb_float2 v147; | |
mrb_value v148; | |
mrb_float2 v150; | |
mrb_value v153; | |
mrb_float2 v155; | |
mrb_value v156; | |
mrb_float2 v158; | |
mrb_value v161; | |
mrb_float2 v163; | |
mrb_value v164; | |
mrb_float2 v166; | |
mrb_float2 v171; | |
mrb_float2 v172; | |
mrb_float2 v175; | |
mrb_float2 v176; | |
mrb_float2 v181; | |
mrb_float2 v182; | |
mrb_float2 v188; | |
mrb_float2 v189; | |
mrb_value v190; | |
mrb_float2 v192; | |
mrb_value v193; | |
mrb_float2 v195; | |
mrb_float2 v198; | |
mrb_float2 v202;/*snd*/ | |
struct gctab *gctab = prevgctab; | |
env.prev = proc->env; | |
L3:; | |
proc->env->prev->v42 = v129; | |
v141 = proc->env->prev->v36; | |
v142 = proc->env->prev->v42; | |
v144 = v141[v142]; | |
proc->env->prev->v43 = v144; | |
v145 = proc->env->prev->v41; | |
v147 = (mrb_float(ARY_PTR(mrb_ary_ptr(v145))[0])); | |
v148 = proc->env->prev->v43; | |
v150 = (mrb_float(ARY_PTR(mrb_ary_ptr(v148))[0])); | |
proc->env->prev->v44 = (v147 - v150); | |
v153 = proc->env->prev->v41; | |
v155 = (mrb_float(ARY_PTR(mrb_ary_ptr(v153))[1])); | |
v156 = proc->env->prev->v43; | |
v158 = (mrb_float(ARY_PTR(mrb_ary_ptr(v156))[1])); | |
proc->env->prev->v45 = (v155 - v158); | |
v161 = proc->env->prev->v41; | |
v163 = (mrb_float(ARY_PTR(mrb_ary_ptr(v161))[2])); | |
v164 = proc->env->prev->v43; | |
v166 = (mrb_float(ARY_PTR(mrb_ary_ptr(v164))[2])); | |
proc->env->prev->v46 = (v163 - v166); | |
v171 = proc->env->prev->v44; | |
v172 = proc->env->prev->v44; | |
v175 = proc->env->prev->v45; | |
v176 = proc->env->prev->v45; | |
v181 = proc->env->prev->v46; | |
v182 = proc->env->prev->v46; | |
v188 = sqrt((((v171 * v172) + (v175 * v176)) + (v181 * v182))); | |
proc->env->prev->v47 = v188; | |
v189 = proc->env->prev->v50; | |
v190 = proc->env->prev->v41; | |
v192 = (mrb_float(ARY_PTR(mrb_ary_ptr(v190))[6])); | |
v193 = proc->env->prev->v43; | |
v195 = (mrb_float(ARY_PTR(mrb_ary_ptr(v193))[6])); | |
v198 = proc->env->prev->v47; | |
v202 = (v189 - ((v192 * v195) / v198)); | |
proc->env->prev->v50 = v202; | |
return v202; | |
} | |
/* | |
Class Object | |
Instance variables | |
methodes | |
energy (Object val=#<Object:0x200c78b0> e=false, Array<[:undef] => Planet e=true l=3|0 => Planet e=true l=3|1 => Planet e=true l=3|2 => Planet e=true l=3|3 => Planet e=true l=3|4 => Planet e=true l=3> e=false l=3, NilClass e=false l=0) -> Float e=false pos =false | |
offset_momentum (Object val=#<Object:0x200c78b0> e=false, Array<[:undef] => Planet e=true l=3|0 => Planet e=true l=3|1 => Planet e=true l=3|2 => Planet e=true l=3|3 => Planet e=true l=3|4 => Planet e=true l=3> e=false l=3, NilClass e=false l=0) -> Float e=false pos =false | |
top (Object val=#<Object:0x200c78b0> e=false, NilClass e=false l=0) -> Literal NilClass | |
printf (Object val=#<Object:0x200c78b0> e=false, String val="%.9f\n" e=false, Float e=false pos =false, NilClass e=false l=0) -> Literal NilClass | |
Class Planet | |
Instance variables | |
@x: Float e=false pos =true | |
@y: Float e=false pos =false | |
@z: Float e=false pos =false | |
@vx: Float e=false pos =false | |
@vy: Float e=false pos =false | |
@vz: Float e=false pos =false | |
@mass: Float e=false pos =false | |
methodes | |
initialize (Planet e=false l=3, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=1 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=false l=3, Float val=4.8414314424647 e=false, Float val=-1.1603200440274 e=false, Float val=-0.10362204447112 e=false, Float val=0.001660076642744 e=false, Float val=0.0076990111841974 e=false, Float val=-6.9046001697206e-05 e=false, Float val=0.00095479193842433 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=false l=3, Float val=8.3433667182446 e=false, Float val=4.1247985641243 e=false, Float val=-0.40352341711432 e=false, Float val=-0.0027674251072686 e=false, Float val=0.0049985280123492 e=false, Float val=2.3041729757376e-05 e=false, Float val=0.00028588598066613 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=false l=3, Float val=12.894369562139 e=false, Float val=-15.111151401699 e=false, Float val=-0.22330757889266 e=false, Float val=0.0029646013756476 e=false, Float val=0.0023784717395948 e=false, Float val=-2.9658956854024e-05 e=false, Float val=4.3662440433516e-05 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=false l=3, Float val=15.379697114851 e=false, Float val=-25.919314609988 e=false, Float val=0.17925877295037 e=false, Float val=0.0026806777249039 e=false, Float val=0.0016282417003824 e=false, Float val=-9.5159225451972e-05 e=false, Float val=5.1513890204661e-05 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=true l=3, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=0 e=false, Float val=1 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=true l=3, Float val=4.8414314424647 e=false, Float val=-1.1603200440274 e=false, Float val=-0.10362204447112 e=false, Float val=0.001660076642744 e=false, Float val=0.0076990111841974 e=false, Float val=-6.9046001697206e-05 e=false, Float val=0.00095479193842433 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=true l=3, Float val=8.3433667182446 e=false, Float val=4.1247985641243 e=false, Float val=-0.40352341711432 e=false, Float val=-0.0027674251072686 e=false, Float val=0.0049985280123492 e=false, Float val=2.3041729757376e-05 e=false, Float val=0.00028588598066613 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=true l=3, Float val=12.894369562139 e=false, Float val=-15.111151401699 e=false, Float val=-0.22330757889266 e=false, Float val=0.0029646013756476 e=false, Float val=0.0023784717395948 e=false, Float val=-2.9658956854024e-05 e=false, Float val=4.3662440433516e-05 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
initialize (Planet e=true l=3, Float val=15.379697114851 e=false, Float val=-25.919314609988 e=false, Float val=0.17925877295037 e=false, Float val=0.0026806777249039 e=false, Float val=0.0016282417003824 e=false, Float val=-9.5159225451972e-05 e=false, Float val=5.1513890204661e-05 e=false, NilClass e=false l=0) -> Float e=false pos =false | |
move_from_i (Planet e=true l=3, Array<[:undef] => Planet e=true l=3|0 => Planet e=true l=3|1 => Planet e=true l=3|2 => Planet e=true l=3|3 => Planet e=true l=3|4 => Planet e=true l=3> e=false l=3, Fixnum e=false pos =true, Float val=0.01 e=false, Fixnum e=false pos =true, NilClass e=false l=0) -> Float e=false pos =false | |
Class Module | |
Instance variables | |
methodes | |
Class #<Class:Planet> | |
Instance variables | |
methodes | |
Class Array | |
Instance variables | |
methodes | |
each (Array<[:undef] => Planet e=true l=3|0 => Planet e=true l=3|1 => Planet e=true l=3|2 => Planet e=true l=3|3 => Planet e=true l=3|4 => Planet e=true l=3> e=false l=3, (Object val=#<Object:0x200c78b0> e=false, Planet e=true l=3, NilClass e=false l=0) -> Float e=false pos =false ) -> Array<[:undef] => Planet e=true l=3|0 => Planet e=true l=3|1 => Planet e=true l=3|2 => Planet e=true l=3|3 => Planet e=true l=3|4 => Planet e=true l=3> e=false l=3 | |
Class Numeric | |
Instance variables | |
methodes | |
Class Float | |
Instance variables | |
methodes | |
-@ (Float e=false pos =false, NilClass e=false l=0) -> Float e=false pos =false | |
Class Range | |
Instance variables | |
methodes | |
each (Range<0 => Fixnum val=0 e=false|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=4, (Object val=#<Object:0x200c78b0> e=false, Fixnum val=0 e=false, NilClass e=false l=0) -> Range<0 => Fixnum e=false pos =true|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=6 | |
(Object val=#<Object:0x200c78b0> e=false, Fixnum e=false pos =true, NilClass e=false l=0) -> Range<0 => Fixnum e=false pos =true|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=6 ) -> Range<0 => Fixnum val=0 e=false|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=4 | |
each (Range<0 => Fixnum e=false pos =true|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=6, (Object val=#<Object:0x200c78b0> e=false, Fixnum e=false pos =true, NilClass e=false l=0) -> Float e=false pos =false ) -> Range<0 => Fixnum e=false pos =true|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=6 | |
first (Range<0 => Fixnum val=0 e=false|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=4, NilClass e=false l=0) -> Fixnum val=0 e=false | |
first (Range<0 => Fixnum e=false pos =true|1 => Fixnum e=false pos =true|2 => Literal TrueClass> e=false l=6, NilClass e=false l=0) -> Fixnum e=false pos =true | |
Module Kernel | |
Instance variables | |
methodes | |
Module Integral | |
Instance variables | |
methodes | |
Class Fixnum | |
Instance variables | |
methodes | |
times (Fixnum val=50000000 e=false, (Object val=#<Object:0x200c78b0> e=false, Fixnum val=0 e=false, NilClass e=false l=0) -> Literal NilClass | |
(Object val=#<Object:0x200c78b0> e=false, Fixnum e=false pos =true, NilClass e=false l=0) -> Literal NilClass ) -> Fixnum val=50000000 e=false | |
Class #<Class:Fixnum> | |
Instance variables | |
methodes | |
Class #<Class:Math> | |
Instance variables | |
methodes | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment