User blog:Fluoroantimonic Acid/Linar Array Notation in C

This is my C program for solving BEAF's linar arrays! int solve_linear_array(int array[], int size) {        assert(size >= 0 && array); if (size == 0) { return 1; }        /*          * "what if he gives you an array smaller than what "size" says it is?" * world peace happen. (and the program crashes, of course) */        /* {a} = a; */ if (size == 1) { return array[0]; }        if (size == 2) { while (array[1]--) { array[0] *= array[0]; }                return array[0]; }        int i, j;         for (i = 2 ; i < size && array[i] == 1 ; i++); for (j = 2 ; j < i ; j++) { array[j] = array[0]; } int pilot = array[i]; int copilot = array[i-1]; int *narray = calloc(size, sizeof(int)); /* new array {a,b-1,...} */ memcpy(&narray, array, size); /* decrease prime */ --narray[1]; array[copilot] = solve_linear_array(narray, size); while (array[size - 1] == 1) { --size; }        return solve_linear_array(array, size); } int linear_array_of(int x, int size) {        int i;         int *array = calloc(size, 1); for (i = 0 ; i < size ; i++) { array[i] = x; } return solve_linear_array(array, size); }        _array[0]=a;_array[1]=b;_array[2]=c; \ (solve_linear_array(_array,3));})        _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \         (solve_linear_array(_array,4));}) _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d;_array[4]=e; \ (solve_linear_array(_array,5));})        _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \         _array[4]=e;_array[5]=f; \         (solve_linear_array(_array,6));}) _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \ _array[4]=e;_array[5]=f;_array[6]=g; \ (solve_linear_array(_array,7));})        _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \         _array[4]=e;_array[5]=f;_array[6]=g;_array[7]=h; \         (solve_linear_array(_array,8));}) _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \ _array[4]=e;_array[5]=f;_array[6]=g;_array[7]=h;_array[8]=i; \ (solve_linear_array(_array,9));})        _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \         _array[4]=e;_array[5]=f;_array[6]=g;_array[7]=h; \         _array[8]=i;_array[9]=j; \         (solve_linear_array(_array,10));}) _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \ _array[4]=e;_array[5]=f;_array[6]=g;_array[7]=h; \ _array[8]=i;_array[9]=j;_array[10]=k; \ (solve_linear_array(_array,11));})        _array[0]=a;_array[1]=b;_array[2]=c;_array[3]=d; \         _array[4]=e;_array[5]=f;_array[6]=g;_array[7]=h; \         _array[8]=i;_array[9]=j;_array[10]=k;_array[11]=l; \         (solve_linear_array(_array,12));})
 * 1) define TRITRI (linear_array_of(3,3))
 * 2) define TRITET (linear_array_of(4,3))
 * 3) define TRIPENT (linear_array_of(5,3))
 * 4) define TRIHEX (linear_array_of(6,3))
 * 5) define TRISEPT (linear_array_of(7,3))
 * 6) define TRIOCT (linear_array_of(8,3))
 * 7) define TRININE (linear_array_of(9,3))
 * 8) define TRIDECAL (linear_array_of(10,3))
 * 1) define linear_array_3(a,b,c) ({ int *_array=calloc(3,sizeof(int)); \
 * 1) define linear_array_4(a,b,c,d) ({ int *_array=calloc(4,sizeof(int)); \
 * 1) define linear_array_5(a,b,c,d,e) ({ int *_array=calloc(5,sizeof(int)); \
 * 1) define linear_array_6(a,b,c,d,e,f) ({ int *_array=calloc(6,sizeof(int)); \
 * 1) define linear_array_7(a,b,c,d,e,f,g) ({ int *_array=calloc(7,sizeof(int)); \
 * 1) define linear_array_8(a,b,c,d,e,f,g,h) ({ int *_array=calloc(8,sizeof(int)); \
 * 1) define linear_array_9(a,b,c,d,e,f,g,h,i) ({ int *_array=calloc(9,sizeof(int)); \
 * 1) define linear_array_10(a,b,c,d,e,f,g,h,i,j) ({ int *_array=calloc(10,sizeof(int)); \
 * 1) define linear_array_11(a,b,c,d,e,f,g,h,i,j,k) ({ int *_array=calloc(11,sizeof(int)); \
 * 1) define linear_array_12(a,b,c,d,e,f,g,h,i,j,k,l) ({ int *_array=calloc(12,sizeof(int)); \
 * 1) define EXPANSION(a,b) linear_array_4(a,b,1,2)
 * 2) define MULTIEXPANSION(a,b) linear_array_4(a,b,2,2)
 * 3) define POWEREXPANSION(a,b) linear_array_4(a,b,3,2)
 * 4) define EXPANDOTETRATION(a,b) linear_array_4(a,b,4,2)
 * 5) define EXPLOSION(a,b) linear_array_4(a,b,1,3)
 * 6) define MULTIEXPLOSION(a,b) linear_array_4(a,b,2,3)
 * 7) define POWEREXPLOSION(a,b) linear_array_4(a,b,3,3)
 * 8) define EXPLODOTETRATION(a,b) linear_array_4(a,b,4,3)
 * 9) define DETONATION(a,b) linear_array_4(a,b,1,4)
 * 10) define PENTONATION(a,b) linear_array_4(a,b,1,5)
 * 11) define HEXONATION(a,b) linear_array_4(a,b,1,6)
 * 12) define HEPTONATION(a,b) linear_array_4(a,b,1,7)
 * 13) define OCTONATION(a,b) linear_array_4(a,b,1,8)
 * 14) define ENNONATION(a,b) linear_array_4(a,b,1,9)
 * 15) define DECONATION(a,b) linear_array_4(a,b,1,10)
 * 16) define MEGOTION(a,b) linear_array_4(a,b,1,1,2)
 * 17) define MULTIMEGOTION(a,b) linear_array_4(a,b,2,1,2)
 * 18) define POWERMEGOTION(a,b) linear_array_4(a,b,3,1,2)
 * 19) define MEGOTETRATION(a,b) linear_array_4(a,b,4,1,2)
 * 20) define MEGOEXPANSION(a,b) linear_array_4(a,b,1,2,2)
 * 21) define MULTIMEGOEXPANSION(a,b) linear_array_4(a,b,2,2,2)
 * 22) define POWERMEGOEXPANSION(a,b) linear_array_4(a,b,3,2,2)
 * 23) define MEGOEXPANDOTETRATION(a,b) linear_array_4(a,b,4,2,2)
 * 24) define MEGOEXPLOSION(a,b) linear_array_4(a,b,1,3,2)
 * 25) define MEGODETONATION(a,b) linear_array_4(a,b,1,4,2)
 * 26) define GIGOTION(a,b) linear_array_4(a,b,1,1,3)
 * 27) define GIGOEXPANTION(a,b) linear_array_4(a,b,1,2,3)
 * 28) define GIGOEXPLOSION(a,b) linear_array_4(a,b,1,3,3)
 * 29) define GIGODETONATION(a,b) linear_array_4(a,b,1,4,3)
 * 30) define TEROTION(a,b) linear_array_4(a,b,1,1,4)
 * 31) define PETOTION(a,b) linear_array_4(a,b,1,1,5)
 * 32) define HATOTION(a,b) linear_array_4(a,b,1,1,6)
 * 33) define HEPOTION(a,b) linear_array_4(a,b,1,1,7)
 * 34) define OCOTION(a,b) linear_array_4(a,b,1,1,8)
 * 35) define NANOTION(a,b) linear_array_4(a,b,1,1,9)
 * 36) define UZOTION(a,b) linear_array_4(a,b,1,1,10)
 * 37) define UUOTION(a,b) linear_array_4(a,b,1,1,11)
 * 38) define UDOTION(a,b) linear_array_4(a,b,1,1,12)
 * 39) define UTOTION(a,b) linear_array_4(a,b,1,1,13)
 * 40) define UEOTION(a,b) linear_array_4(a,b,1,1,14)
 * 41) define UPOTION(a,b) linear_array_4(a,b,1,1,15)
 * 42) define UHOTION(a,b) linear_array_4(a,b,1,1,16)
 * 43) define UAOTION(a,b) linear_array_4(a,b,1,1,17)
 * 44) define UOOTION(a,b) linear_array_4(a,b,1,1,18)
 * 45) define UNOTION(a,b) linear_array_4(a,b,1,1,19)
 * 46) define DZOTION(a,b) linear_array_4(a,b,1,1,20)
 * 47) define TZOTION(a,b) linear_array_4(a,b,1,1,30)
 * 48) define UZZOTION(a,b) linear_array_4(a,b,1,1,100)