+++ /dev/null
-/* This C file is generated by NIT to compile module standard___math. */
-#include "standard___math._sep.h"
-static const char LOCATE_standard___math___Int___rand[] = "math::Int::rand";
-val_t standard___math___Int___rand(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 20;
- fra.me.meth = LOCATE_standard___math___Int___rand;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- REGB0 = p0;
- /* ../lib/standard/math.nit:20 */
- REGB0 = Int_rand___out(REGB0);
- stack_frame_head = fra.me.prev;
- return REGB0;
-}
-static const char LOCATE_standard___math___Int___bin_and[] = "math::Int::bin_and";
-val_t standard___math___Int___bin_and(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 21;
- fra.me.meth = LOCATE_standard___math___Int___bin_and;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- REGB0 = p0;
- REGB1 = p1;
- /* ../lib/standard/math.nit:21 */
- REGB1 = Int_bin_and___out(REGB0, REGB1);
- stack_frame_head = fra.me.prev;
- return REGB1;
-}
-static const char LOCATE_standard___math___Int___bin_or[] = "math::Int::bin_or";
-val_t standard___math___Int___bin_or(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 22;
- fra.me.meth = LOCATE_standard___math___Int___bin_or;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- REGB0 = p0;
- REGB1 = p1;
- /* ../lib/standard/math.nit:22 */
- REGB1 = Int_bin_or___out(REGB0, REGB1);
- stack_frame_head = fra.me.prev;
- return REGB1;
-}
-static const char LOCATE_standard___math___Int___bin_xor[] = "math::Int::bin_xor";
-val_t standard___math___Int___bin_xor(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t REGB1;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 23;
- fra.me.meth = LOCATE_standard___math___Int___bin_xor;
- fra.me.has_broke = 0;
- fra.me.REG_size = 0;
- fra.me.nitni_local_ref_head = NULL;
- REGB0 = p0;
- REGB1 = p1;
- /* ../lib/standard/math.nit:23 */
- REGB1 = Int_bin_xor___out(REGB0, REGB1);
- stack_frame_head = fra.me.prev;
- return REGB1;
-}
-static const char LOCATE_standard___math___Float___sqrt[] = "math::Float::sqrt";
-val_t standard___math___Float___sqrt(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 27;
- fra.me.meth = LOCATE_standard___math___Float___sqrt;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:27 */
- fra.me.REG[0] = Float_sqrt___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___cos[] = "math::Float::cos";
-val_t standard___math___Float___cos(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 28;
- fra.me.meth = LOCATE_standard___math___Float___cos;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:28 */
- fra.me.REG[0] = Float_cos___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___sin[] = "math::Float::sin";
-val_t standard___math___Float___sin(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 29;
- fra.me.meth = LOCATE_standard___math___Float___sin;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:29 */
- fra.me.REG[0] = Float_sin___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___tan[] = "math::Float::tan";
-val_t standard___math___Float___tan(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 30;
- fra.me.meth = LOCATE_standard___math___Float___tan;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:30 */
- fra.me.REG[0] = Float_tan___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___acos[] = "math::Float::acos";
-val_t standard___math___Float___acos(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 31;
- fra.me.meth = LOCATE_standard___math___Float___acos;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:31 */
- fra.me.REG[0] = Float_acos___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___asin[] = "math::Float::asin";
-val_t standard___math___Float___asin(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 32;
- fra.me.meth = LOCATE_standard___math___Float___asin;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:32 */
- fra.me.REG[0] = Float_asin___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___atan[] = "math::Float::atan";
-val_t standard___math___Float___atan(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 33;
- fra.me.meth = LOCATE_standard___math___Float___atan;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:33 */
- fra.me.REG[0] = Float_atan___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___pow[] = "math::Float::pow";
-val_t standard___math___Float___pow(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 35;
- fra.me.meth = LOCATE_standard___math___Float___pow;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* ../lib/standard/math.nit:35 */
- fra.me.REG[1] = Float_pow___out(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_standard___math___Float___log[] = "math::Float::log";
-val_t standard___math___Float___log(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 36;
- fra.me.meth = LOCATE_standard___math___Float___log;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:36 */
- fra.me.REG[0] = Float_log___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___exp[] = "math::Float::exp";
-val_t standard___math___Float___exp(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 37;
- fra.me.meth = LOCATE_standard___math___Float___exp;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:37 */
- fra.me.REG[0] = Float_exp___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___rand[] = "math::Float::rand";
-val_t standard___math___Float___rand(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 39;
- fra.me.meth = LOCATE_standard___math___Float___rand;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:39 */
- fra.me.REG[0] = Float_rand___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Float___hypot_with[] = "math::Float::hypot_with";
-val_t standard___math___Float___hypot_with(val_t p0, val_t p1){
- struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 40;
- fra.me.meth = LOCATE_standard___math___Float___hypot_with;
- fra.me.has_broke = 0;
- fra.me.REG_size = 2;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- /* ../lib/standard/math.nit:40 */
- fra.me.REG[1] = Float_hypot_with___out(fra.me.REG[0], fra.me.REG[1]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
-static const char LOCATE_standard___math___Collection___rand[] = "math::Collection::rand";
-val_t standard___math___Collection___rand(val_t p0){
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 44;
- fra.me.meth = LOCATE_standard___math___Collection___rand;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[2] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:47 */
- REGB0 = CALL_standard___collection___abstract_collection___Collection___is_empty(fra.me.REG[0])(fra.me.REG[0]);
- if (UNTAG_Bool(REGB0)) {
- fra.me.REG[1] = NIT_NULL;
- goto label1;
- }
- /* ../lib/standard/math.nit:48 */
- REGB0 = CALL_standard___collection___abstract_collection___Collection___length(fra.me.REG[0])(fra.me.REG[0]);
- REGB0 = CALL_standard___math___Int___rand(REGB0)(REGB0);
- fra.me.REG[2] = REGB0;
- 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));
- switch ((&(fra.me))->has_broke) {
- case 0: break;
- case 1: (&(fra.me))->has_broke = 0; goto label1;
- }
- /* ../lib/standard/math.nit:54 */
- nit_abort("Aborted", NULL, LOCATE_standard___math, 54);
- label1: while(0);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[1];
-}
- void OC_standard___math___Collection___rand_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t REGB1;
- fun_t CREG[1];
- val_t tmp;
- /* ../lib/standard/math.nit:50 */
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 0;
- fra.me.meth = LOCATE_standard___math___Collection___rand;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.closure_ctx = closctx_param;
- fra.me.closure_funs = CREG;
- fra.me.REG[0] = p0;
- CREG[0] = clos_fun0;
- /* ../lib/standard/math.nit:51 */
- REGB0 = TAG_Int(0);
- REGB1 = TAG_Bool(IS_EQUAL_OO(closctx->REG[2],REGB0));
- if (UNTAG_Bool(REGB1)) {
- } else {
- /* ../lib/standard/kernel.nit:237 */
- REGB0 = TAG_Bool((closctx->REG[2])==(REGB0));
- /* ../lib/standard/math.nit:51 */
- REGB1 = REGB0;
- }
- if (UNTAG_Bool(REGB1)) {
- closctx->REG[1] = fra.me.REG[0];
- closctx->has_broke = 1;
- goto label3;
- }
- /* ../lib/standard/math.nit:52 */
- REGB1 = TAG_Int(1);
- /* ../lib/standard/kernel.nit:247 */
- REGB1 = TAG_Int(UNTAG_Int(closctx->REG[2])-UNTAG_Int(REGB1));
- /* ../lib/standard/math.nit:52 */
- closctx->REG[2] = REGB1;
- label3: while(0);
- stack_frame_head = fra.me.prev;
- return;
- }
-static const char LOCATE_standard___math___Object___atan2[] = "math::Object::atan2";
-val_t standard___math___Object___atan2(val_t p0, val_t p1, val_t p2){
- struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 58;
- fra.me.meth = LOCATE_standard___math___Object___atan2;
- fra.me.has_broke = 0;
- fra.me.REG_size = 3;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[1] = NIT_NULL;
- fra.me.REG[2] = NIT_NULL;
- fra.me.REG[0] = p0;
- fra.me.REG[1] = p1;
- fra.me.REG[2] = p2;
- /* ../lib/standard/math.nit:58 */
- fra.me.REG[2] = Object_atan2___out(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[2];
-}
-static const char LOCATE_standard___math___Object___pi[] = "math::Object::pi";
-val_t standard___math___Object___pi(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 59;
- fra.me.meth = LOCATE_standard___math___Object___pi;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:59 */
- fra.me.REG[0] = Object_pi___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return fra.me.REG[0];
-}
-static const char LOCATE_standard___math___Object___srand_from[] = "math::Object::srand_from";
-void standard___math___Object___srand_from(val_t p0, val_t p1){
- struct {struct stack_frame_t me;} fra;
- val_t REGB0;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 60;
- fra.me.meth = LOCATE_standard___math___Object___srand_from;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- REGB0 = p1;
- /* ../lib/standard/math.nit:60 */
- Object_srand_from___out(fra.me.REG[0], REGB0);
- stack_frame_head = fra.me.prev;
- return;
-}
-static const char LOCATE_standard___math___Object___srand[] = "math::Object::srand";
-void standard___math___Object___srand(val_t p0){
- struct {struct stack_frame_t me;} fra;
- val_t tmp;
- fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
- fra.me.file = LOCATE_standard___math;
- fra.me.line = 61;
- fra.me.meth = LOCATE_standard___math___Object___srand;
- fra.me.has_broke = 0;
- fra.me.REG_size = 1;
- fra.me.nitni_local_ref_head = NULL;
- fra.me.REG[0] = NIT_NULL;
- fra.me.REG[0] = p0;
- /* ../lib/standard/math.nit:61 */
- Object_srand___out(fra.me.REG[0]);
- stack_frame_head = fra.me.prev;
- return;
-}