154 |
if( Paso_noError()) { |
if( Paso_noError()) { |
155 |
/* if there are no nodes in the coarse level there is no more work to do */ |
/* if there are no nodes in the coarse level there is no more work to do */ |
156 |
out->n_C=n-out->n_F; |
out->n_C=n-out->n_F; |
157 |
if (level<3) { |
/*if (level<3) {*/ |
158 |
/*if (out->n_F>500) {*/ |
if (out->n_F>500) { |
159 |
out->rows_in_C=MEMALLOC(out->n_C,index_t); |
out->rows_in_C=MEMALLOC(out->n_C,index_t); |
160 |
out->mask_C=MEMALLOC(n,index_t); |
out->mask_C=MEMALLOC(n,index_t); |
161 |
if (! (Paso_checkPtr(out->mask_C) || Paso_checkPtr(out->rows_in_C) ) ) { |
if (! (Paso_checkPtr(out->mask_C) || Paso_checkPtr(out->rows_in_C) ) ) { |
249 |
if (Paso_noError()) { |
if (Paso_noError()) { |
250 |
if (verbose) { |
if (verbose) { |
251 |
printf("AMG: %d unknowns eliminated. %d left.\n",out->n_F,n-out->n_F); |
printf("AMG: %d unknowns eliminated. %d left.\n",out->n_F,n-out->n_F); |
252 |
if (level<3) { |
/*if (level<3) {*/ |
253 |
/*if (out->n_F<500) {*/ |
if (out->n_F<500) { |
254 |
printf("timing: AMG: MIS/reordering/elemination : %e/%e/%e\n",time2,time0,time1); |
printf("timing: AMG: MIS/reordering/elemination : %e/%e/%e\n",time2,time0,time1); |
255 |
} else { |
} else { |
256 |
printf("timing: AMG: MIS: %e\n",time2); |
printf("timing: AMG: MIS: %e\n",time2); |
294 |
double *x0=MEMALLOC(amg->n,double); |
double *x0=MEMALLOC(amg->n,double); |
295 |
double time0=0; |
double time0=0; |
296 |
|
|
297 |
if (amg->level==3) { |
/*if (amg->level==3) {*/ |
298 |
/*if (amg->n_F<=500) {*/ |
if (amg->n_F<=500) { |
299 |
time0=Paso_timer(); |
time0=Paso_timer(); |
300 |
|
|
301 |
Paso_Solver_solveJacobi(amg->GS,x,b); |
Paso_Solver_solveJacobi(amg->GS,x,b); |