int main(void) { _init_(); _initADC_(ADCsamples); EnableInterrupts(); AD1CON1bits.ASAM = 1; while(true) { int counter = 0; do{ delay(10); if(++counter % 25 == 0) { AD1CON1bits.ASAM = 1; } send2SSD(ADCvalue); }while(counter < 1000); } return 0; }
processor::processor(const machine_ptr& m) { _init_(prunable, _mcurm); }
processor::processor() { _init_(prunable, _mcurm); }
int main(int argc, char** args){ int64_t* n; int64_t size; int64_t width; int64_t height; _DECL_1DARRAY(A); _DECL_1DARRAY(B); _DECL_1DARRAY(C); int64_t* _8; _DECL_2DARRAY(_9); int64_t _10; _DECL_1DARRAY(_11); void* _12; _DECL_1DARRAY(_14); void* _15; int64_t _17; int64_t _18; _DECL_1DARRAY(_19); _DECL_1DARRAY(_20); int64_t _21; int64_t _22; _DECL_1DARRAY(_23); _DECL_1DARRAY(_24); int64_t _25; int64_t _26; _DECL_1DARRAY(_27); _DECL_1DARRAY(_28); void* _29; int64_t _31; int64_t _32; int64_t _33; int64_t _34; int64_t _35; int64_t _36; int64_t _37; void* _38; _DECL_1DARRAY(_40); //fieldload %9 = %0 args : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} _CONV_ARGS(_9); //const %10 = 0 : int _10 = 0; //indexof %11 = %9, %10 : int[][] _11=_9[_10]; _11_size = _9_size_size; //invoke (%8) = (%11) whiley/lang/Int:parse : function(whiley/lang/ASCII:string)->(null|int) { _STR_TO_INT(_8, _11); } //assign %1 = %8 : null|int _NEW_INTEGER_POINTER(n, _8); //ifis %1, null goto blklab10 : null|int if(n == NULL) { goto blklab10;} //assign %2 = %1 : int size = *n; //assign %3 = %2 : int width = size; //assign %4 = %2 : int height = size; //fieldload %12 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %13 = %12 print_s : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %14 = [115,105,122,101,32,61,32] : int[] _NEW_1DARRAY_int64_t(_14, 7, 0); _14[0] = 115; _14[1] = 105; _14[2] = 122; _14[3] = 101; _14[4] = 32; _14[5] = 61; _14[6] = 32; //indirectinvoke () = %13 (%14) : method(int[])->() { printf_s(_14, _14_size); } //fieldload %15 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %16 = %15 println : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //indirectinvoke () = %16 (%2) : method(any)->() { printf("%"PRId64"\n", size); } //const %17 = 0 : int _17 = 0; //mul %18 = %3, %4 : int _18=width*height; //arraygen %19 = [17; 18] : int[] _NEW_1DARRAY_int64_t(_19, _18, _17); //assign %5 = %19 : int[] _COPY_1DARRAY_int64_t(A, _19); //invoke (%20) = (%5, %3, %4) MatrixMult_original:init : function(int[],int,int)->(int[]) { void* tmp_data; _COPY_1DARRAY_PARAM(A, tmp_data, int64_t); _20 = _init_(tmp_data, A_size, width, height, _1DARRAYSIZE_PARAM_CALLBYREFERENCE(_20)); } //assign %5 = %20 : int[] _COPY_1DARRAY_int64_t(A, _20); //const %21 = 0 : int _21 = 0; //mul %22 = %3, %4 : int _22=width*height; //arraygen %23 = [21; 22] : int[] _NEW_1DARRAY_int64_t(_23, _22, _21); //assign %6 = %23 : int[] _COPY_1DARRAY_int64_t(B, _23); //invoke (%24) = (%6, %3, %4) MatrixMult_original:init : function(int[],int,int)->(int[]) { void* tmp_data; _COPY_1DARRAY_PARAM(B, tmp_data, int64_t); _24 = _init_(tmp_data, B_size, width, height, _1DARRAYSIZE_PARAM_CALLBYREFERENCE(_24)); } //assign %6 = %24 : int[] _COPY_1DARRAY_int64_t(B, _24); //const %25 = 0 : int _25 = 0; //mul %26 = %3, %4 : int _26=width*height; //arraygen %27 = [25; 26] : int[] _NEW_1DARRAY_int64_t(_27, _26, _25); //assign %7 = %27 : int[] _COPY_1DARRAY_int64_t(C, _27); //invoke (%28) = (%5, %6, %7, %3, %4) MatrixMult_original:mat_mult : function(int[],int[],int[],int,int)->(int[]) { void* tmp_a; _COPY_1DARRAY_PARAM(A, tmp_a, int64_t); void* tmp_b; _COPY_1DARRAY_PARAM(B, tmp_b, int64_t); void* tmp_data; _COPY_1DARRAY_PARAM(C, tmp_data, int64_t); _28 = _mat_mult_(tmp_a, A_size, tmp_b, B_size, tmp_data, C_size, width, height, _1DARRAYSIZE_PARAM_CALLBYREFERENCE(_28)); } //assign %7 = %28 : int[] _COPY_1DARRAY_int64_t(C, _28); //fieldload %29 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %30 = %29 println : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %31 = 1 : int _31 = 1; //sub %32 = %2, %31 : int _32=size-_31; //mul %33 = %32, %2 : int _33=_32*size; //add %34 = %33, %2 : int _34=_33+size; //const %35 = 1 : int _35 = 1; //sub %36 = %34, %35 : int _36=_34-_35; //indexof %37 = %7, %36 : int[] _37=C[_36]; //indirectinvoke () = %30 (%37) : method(any)->() { printf("%"PRId64"\n", _37); } //fieldload %38 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %39 = %38 println_s : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %40 = [80,97,115,115,32,77,97,116,114,105,120,77,117,108,116,32,116,101,115,116,32,99,97,115,101] : int[] _NEW_1DARRAY_int64_t(_40, 25, 0); _40[0] = 80; _40[1] = 97; _40[2] = 115; _40[3] = 115; _40[4] = 32; _40[5] = 77; _40[6] = 97; _40[7] = 116; _40[8] = 114; _40[9] = 105; _40[10] = 120; _40[11] = 77; _40[12] = 117; _40[13] = 108; _40[14] = 116; _40[15] = 32; _40[16] = 116; _40[17] = 101; _40[18] = 115; _40[19] = 116; _40[20] = 32; _40[21] = 99; _40[22] = 97; _40[23] = 115; _40[24] = 101; //indirectinvoke () = %39 (%40) : method(int[])->() { println_s(_40, _40_size); } //.blklab10 blklab10:; //return exit(0); }
int main(int argc, char** args){ int64_t size; int64_t width; int64_t height; _DECL_1DARRAY(A); _DECL_1DARRAY(B); _DECL_1DARRAY(C); int64_t _7; void* _8; _DECL_1DARRAY(_10); void* _11; int64_t _13; int64_t _14; _DECL_1DARRAY(_15); _DECL_1DARRAY(_16); int64_t _17; int64_t _18; _DECL_1DARRAY(_19); _DECL_1DARRAY(_20); int64_t _21; int64_t _22; _DECL_1DARRAY(_23); _DECL_1DARRAY(_24); int64_t _25; int64_t _26; int64_t _27; int64_t _28; int64_t _29; int64_t _30; int64_t _31; int64_t _32; int64_t _33; int64_t _34; int64_t _35; int64_t _36; int64_t _37; int64_t _38; int64_t _39; int64_t _40; int64_t _41; int64_t _42; int64_t _43; int64_t _44; int64_t _45; void* _46; _DECL_1DARRAY(_48); void* _49; int64_t _51; int64_t _52; int64_t _53; int64_t _54; int64_t _55; int64_t _56; int64_t _57; void* _58; _DECL_1DARRAY(_60); //const %7 = 20 : int _7 = 20; //assign %1 = %7 : int // isCopyEliminated = true size = _7; //assign %2 = %1 : int // isCopyEliminated = false width = size; //assign %3 = %1 : int // isCopyEliminated = false height = size; //fieldload %8 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %9 = %8 print_s : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %10 = [115,105,122,101,32,61,32] : int[] _NEW_1DARRAY_int64_t(_10, 7, 0); _10[0] = 115; _10[1] = 105; _10[2] = 122; _10[3] = 101; _10[4] = 32; _10[5] = 61; _10[6] = 32; //indirectinvoke () = %9 (%10) : method(int[])->() { printf_s(_10, _10_size); } //fieldload %11 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %12 = %11 println : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //indirectinvoke () = %12 (%1) : method(any)->() { printf("%"PRId64"\n", size); } //const %13 = 0 : int _13 = 0; //mul %14 = %2, %3 : int _14=width*height; //arraygen %15 = [13; 14] : int[] _NEW_1DARRAY_int64_t(_15, _14, _13); //assign %4 = %15 : int[] // isCopyEliminated = true _UPDATE_1DARRAY(A, _15); //invoke (%16) = (%4, %2, %3) MatrixMult:init : function(int[],int,int)->(int[]) { // isCopyEliminated of 'A at 0' = true _16 = _init_(A, A_size, width, height, _1DARRAYSIZE_PARAM_CALLBYREFERENCE(_16)); } //assign %4 = %16 : int[] // isCopyEliminated = true _UPDATE_1DARRAY(A, _16); //const %17 = 0 : int _17 = 0; //mul %18 = %2, %3 : int _18=width*height; //arraygen %19 = [17; 18] : int[] _NEW_1DARRAY_int64_t(_19, _18, _17); //assign %5 = %19 : int[] // isCopyEliminated = true _UPDATE_1DARRAY(B, _19); //invoke (%20) = (%5, %2, %3) MatrixMult:init : function(int[],int,int)->(int[]) { // isCopyEliminated of 'B at 0' = true _20 = _init_(B, B_size, width, height, _1DARRAYSIZE_PARAM_CALLBYREFERENCE(_20)); } //assign %5 = %20 : int[] // isCopyEliminated = true _UPDATE_1DARRAY(B, _20); //const %21 = 0 : int _21 = 0; //mul %22 = %2, %3 : int _22=width*height; //arraygen %23 = [21; 22] : int[] _NEW_1DARRAY_int64_t(_23, _22, _21); //assign %6 = %23 : int[] // isCopyEliminated = true _UPDATE_1DARRAY(C, _23); //invoke (%24) = (%4, %5, %6, %2, %3) MatrixMult:mat_mult : function(int[],int[],int[],int,int)->(int[]) { // isCopyEliminated of 'A at 0' = true // isCopyEliminated of 'B at 1' = true // isCopyEliminated of 'C at 2' = true _24 = _mat_mult_(A, A_size, B, B_size, C, C_size, width, height, _1DARRAYSIZE_PARAM_CALLBYREFERENCE(_24)); } //assign %6 = %24 : int[] // isCopyEliminated = true _UPDATE_1DARRAY(C, _24); //assert { //const %25 = 19 : int _25 = 19; //const %26 = 20 : int _26 = 20; //mul %27 = %25, %26 : int _27=_25*_26; //const %28 = 19 : int _28 = 19; //add %29 = %27, %28 : int _29=_27+_28; //indexof %30 = %4, %29 : int[] _30=A[_29]; //const %31 = 19 : int _31 = 19; //ifeq %30, %31 goto blklab10 : int if(_30==_31){goto blklab10;} //fail fprintf(stderr,"fail"); exit(-1); //.blklab10 blklab10:; //assert } //assert { //const %32 = 19 : int _32 = 19; //const %33 = 20 : int _33 = 20; //mul %34 = %32, %33 : int _34=_32*_33; //const %35 = 19 : int _35 = 19; //add %36 = %34, %35 : int _36=_34+_35; //indexof %37 = %5, %36 : int[] _37=B[_36]; //const %38 = 19 : int _38 = 19; //ifeq %37, %38 goto blklab11 : int if(_37==_38){goto blklab11;} //fail fprintf(stderr,"fail"); exit(-1); //.blklab11 blklab11:; //assert } //assert { //const %39 = 19 : int _39 = 19; //const %40 = 20 : int _40 = 20; //mul %41 = %39, %40 : int _41=_39*_40; //const %42 = 19 : int _42 = 19; //add %43 = %41, %42 : int _43=_41+_42; //indexof %44 = %6, %43 : int[] _44=C[_43]; //const %45 = 3610 : int _45 = 3610; //ifeq %44, %45 goto blklab12 : int if(_44==_45){goto blklab12;} //fail fprintf(stderr,"fail"); exit(-1); //.blklab12 blklab12:; //assert } //fieldload %46 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %47 = %46 print_s : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %48 = [77,97,116,114,105,120,32,67,91,115,105,122,101,45,49,93,91,115,105,122,101,45,49,93,32,61,32] : int[] _NEW_1DARRAY_int64_t(_48, 27, 0); _48[0] = 77; _48[1] = 97; _48[2] = 116; _48[3] = 114; _48[4] = 105; _48[5] = 120; _48[6] = 32; _48[7] = 67; _48[8] = 91; _48[9] = 115; _48[10] = 105; _48[11] = 122; _48[12] = 101; _48[13] = 45; _48[14] = 49; _48[15] = 93; _48[16] = 91; _48[17] = 115; _48[18] = 105; _48[19] = 122; _48[20] = 101; _48[21] = 45; _48[22] = 49; _48[23] = 93; _48[24] = 32; _48[25] = 61; _48[26] = 32; //indirectinvoke () = %47 (%48) : method(int[])->() { printf_s(_48, _48_size); } //fieldload %49 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %50 = %49 println : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %51 = 1 : int _51 = 1; //sub %52 = %1, %51 : int _52=size-_51; //mul %53 = %52, %1 : int _53=_52*size; //add %54 = %53, %1 : int _54=_53+size; //const %55 = 1 : int _55 = 1; //sub %56 = %54, %55 : int _56=_54-_55; //indexof %57 = %6, %56 : int[] _57=C[_56]; //indirectinvoke () = %50 (%57) : method(any)->() { printf("%"PRId64"\n", _57); } //fieldload %58 = %0 out : {int[][] args,{method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} out} //fieldload %59 = %58 println_s : {method(any)->() print,method(int[])->() print_s,method(any)->() println,method(int[])->() println_s} //const %60 = [80,97,115,115,32,77,97,116,114,105,120,77,117,108,116,32,116,101,115,116,32,99,97,115,101] : int[] _NEW_1DARRAY_int64_t(_60, 25, 0); _60[0] = 80; _60[1] = 97; _60[2] = 115; _60[3] = 115; _60[4] = 32; _60[5] = 77; _60[6] = 97; _60[7] = 116; _60[8] = 114; _60[9] = 105; _60[10] = 120; _60[11] = 77; _60[12] = 117; _60[13] = 108; _60[14] = 116; _60[15] = 32; _60[16] = 116; _60[17] = 101; _60[18] = 115; _60[19] = 116; _60[20] = 32; _60[21] = 99; _60[22] = 97; _60[23] = 115; _60[24] = 101; //indirectinvoke () = %59 (%60) : method(int[])->() { println_s(_60, _60_size); } //return exit(0); }