int main(int argc, char **argv) { /* start timer */ double clock; clock = timer(); real **A, *x, *b; int n = 1000; A = allocMatrix(n, n); x = allocVector(n); b = allocVector(n); initializeA(A, n); initializeB(b, n); //showMatrix (n, A); //printf ("\n"); solve(n, A, x, b); /* stop timer */ clock = timer() - clock; showVector(n, x); freeMatrix(A); freeVector(x); freeVector(b); printf ("wallclock: %lf seconds\n", clock); return EXIT_SUCCESS; }
void init(float A[][M][maxDegree+1], float Acopy[][M][maxDegree+1], float P[][N][maxDegree+1], float Pinv[][N][maxDegree+1], float Q[][M][maxDegree+1], float Qinv[][M][maxDegree+1]) { initializeA(A, Acopy); initializeP(P); // initialized to identity initializeP(Pinv); initializeQ(Q); // intiialized to identity initializeQ(Qinv); }
bool JobShopData::initialize() { try { initializeT(); initializeA(); initializeP(); } catch (...) { return false; } return true; }
// initializes all of the matrices/vectors void init(float A[][M][maxDegree+1], float Acopy[][M][maxDegree+1], float P[][N][maxDegree+1], float Pinv[][N][maxDegree+1], float Q[][M][maxDegree+1], float Qinv[][M][maxDegree+1], float PAtest[N][M][maxDegree+1], float diagTest[M][N][maxDegree+1], float PPinvTest[N][N][maxDegree+1], float QQinvTest[M][M][maxDegree+1]) { initializeA(A, Acopy); initializeP(P); // initialized to identity initializeP(Pinv); initializeQ(Q); // intiialized to identity initializeQ(Qinv); int m, n; for(n = 0; n < N; ++n) { for(m = 0; m < M; ++m) { setZero(diagTest[n][m]); setZero(PAtest[n][m]); } } initializeP(PPinvTest); initializeQ(QQinvTest); }