void populate_inverse() { ll i; erse[0]=1; erse[1]=1; for(i=2;i<100001;i++) erse[i]=powerIterative(fact[i],MOD-2); }
void TestPower(CuTest *tc) { int mat[4] = {3,-2,4,5}; int iterative[4]; int recursive[4]; // Computed with MATLAB, correct value of mat^3 int expectedCube[] = {-61, -82, 164, 21}; for (int i = 0; i < 10; i++) { powerIterative(mat, i, iterative); power(mat, i, recursive); AssertMatEquals(tc, iterative, recursive); if (i == 3) { AssertMatEquals(tc, expectedCube, iterative); } } }