/[escript]/trunk/paso/src/SparseMatrix_nullifyRowsAndCols.c
ViewVC logotype

Diff of /trunk/paso/src/SparseMatrix_nullifyRowsAndCols.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1552 by gross, Thu May 8 08:52:41 2008 UTC revision 1628 by phornby, Fri Jul 11 13:12:46 2008 UTC
# Line 74  void Paso_SparseMatrix_nullifyRowsAndCol Line 74  void Paso_SparseMatrix_nullifyRowsAndCol
74  }  }
75  void Paso_SparseMatrix_nullifyRowsAndCols_CSC(Paso_SparseMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value) {  void Paso_SparseMatrix_nullifyRowsAndCols_CSC(Paso_SparseMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value) {
76    index_t index_offset=(A->type & MATRIX_FORMAT_OFFSET1 ? 1:0);    index_t index_offset=(A->type & MATRIX_FORMAT_OFFSET1 ? 1:0);
77    index_t ir,icol,iptr,icb,irb,irow,ic,l;    index_t icol,iptr,icb,irb,irow,ic,l;
78    #pragma omp parallel for private(l,irow, iptr,icol,ic,irb,icb) schedule(static)    #pragma omp parallel for private(l,irow, iptr,icol,ic,irb,icb) schedule(static)
79    for (ic=0;ic< A->pattern->numOutput;ic++) {    for (ic=0;ic< A->pattern->numOutput;ic++) {
80      for (iptr=A->pattern->ptr[ic]-index_offset;iptr<A->pattern->ptr[ic+1]-index_offset; iptr++) {      for (iptr=A->pattern->ptr[ic]-index_offset;iptr<A->pattern->ptr[ic+1]-index_offset; iptr++) {
# Line 98  void Paso_SparseMatrix_nullifyRowsAndCol Line 98  void Paso_SparseMatrix_nullifyRowsAndCol
98  }  }
99  void Paso_SparseMatrix_nullifyRowsAndCols_CSR(Paso_SparseMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value) {  void Paso_SparseMatrix_nullifyRowsAndCols_CSR(Paso_SparseMatrix* A, double* mask_row, double* mask_col, double main_diagonal_value) {
100    index_t index_offset=(A->type & MATRIX_FORMAT_OFFSET1 ? 1:0);    index_t index_offset=(A->type & MATRIX_FORMAT_OFFSET1 ? 1:0);
101    index_t ir,icol,iptr,icb,irb,irow,ic,l;    index_t ir,icol,iptr,icb,irb,irow,l;
102    #pragma omp parallel for private(l,irow, iptr,icol,ir,irb,icb) schedule(static)    #pragma omp parallel for private(l,irow, iptr,icol,ir,irb,icb) schedule(static)
103    for (ir=0;ir< A->pattern->numOutput;ir++) {    for (ir=0;ir< A->pattern->numOutput;ir++) {
104      for (iptr=A->pattern->ptr[ir]-index_offset;iptr<A->pattern->ptr[ir+1]-index_offset; iptr++) {      for (iptr=A->pattern->ptr[ir]-index_offset;iptr<A->pattern->ptr[ir+1]-index_offset; iptr++) {
# Line 140  void Paso_SparseMatrix_nullifyRows_CSR_B Line 140  void Paso_SparseMatrix_nullifyRows_CSR_B
140  }  }
141  void Paso_SparseMatrix_nullifyRows_CSR(Paso_SparseMatrix* A, double* mask_row, double main_diagonal_value) {  void Paso_SparseMatrix_nullifyRows_CSR(Paso_SparseMatrix* A, double* mask_row, double main_diagonal_value) {
142    index_t index_offset=(A->type & MATRIX_FORMAT_OFFSET1 ? 1:0);    index_t index_offset=(A->type & MATRIX_FORMAT_OFFSET1 ? 1:0);
143    index_t ir,icol,iptr,icb,irb,irow,ic,l;    index_t ir,icol,iptr,icb,irb,irow,l;
144    #pragma omp parallel for private(l,irow, iptr,icol,ir,irb,icb) schedule(static)    #pragma omp parallel for private(l,irow, iptr,icol,ir,irb,icb) schedule(static)
145    for (ir=0;ir< A->pattern->numOutput;ir++) {    for (ir=0;ir< A->pattern->numOutput;ir++) {
146      for (iptr=A->pattern->ptr[ir]-index_offset;iptr<A->pattern->ptr[ir+1]-index_offset; iptr++) {      for (iptr=A->pattern->ptr[ir]-index_offset;iptr<A->pattern->ptr[ir+1]-index_offset; iptr++) {

Legend:
Removed from v.1552  
changed lines
  Added in v.1628

  ViewVC Help
Powered by ViewVC 1.1.26