Skip to content

Instantly share code, notes, and snippets.

@miura1729
Created May 10, 2020 08:04
Show Gist options
  • Save miura1729/18a047632b0bd9e55c184c58747a0bc0 to your computer and use it in GitHub Desktop.
Save miura1729/18a047632b0bd9e55c184c58747a0bc0 to your computer and use it in GitHub Desktop.
#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