/home/kcamus/qaas_runs/169-443-9681/intel/AMG/build/AMG/AMG/IJ_mv/IJMatrix_parcsr.c: 178 - 219
--------------------------------------------------------------------------------

178: {
179:    HYPRE_Int local_num_rows;
180:    HYPRE_Int i;
181:    hypre_ParCSRMatrix *par_matrix = (hypre_ParCSRMatrix *)hypre_IJMatrixObject(matrix);
182:    hypre_AuxParCSRMatrix *aux_matrix = (hypre_AuxParCSRMatrix *)hypre_IJMatrixTranslator(matrix);
[...]
188:    if (!par_matrix)
189:    {
190:       hypre_IJMatrixCreateParCSR(matrix);
191:       par_matrix = (hypre_ParCSRMatrix *)hypre_IJMatrixObject(matrix);
192:    }
193:    
194:    diag =  hypre_ParCSRMatrixDiag(par_matrix);
195:    diag_i =  hypre_CSRMatrixI(diag); 
196:    local_num_rows = hypre_CSRMatrixNumRows(diag); 
197:    if (!diag_i) 
198:       diag_i = hypre_CTAlloc(HYPRE_Int, local_num_rows+1); 
199:    for (i = 0; i < local_num_rows; i++) 
200:       diag_i[i+1] = diag_i[i] + diag_sizes[i]; 
201:    hypre_CSRMatrixI(diag) = diag_i; 
202:    hypre_CSRMatrixNumNonzeros(diag) = diag_i[local_num_rows]; 
203:    offd =  hypre_ParCSRMatrixOffd(par_matrix); 
204:    offd_i =  hypre_CSRMatrixI(offd); 
205:    if (!offd_i)
206:       offd_i = hypre_CTAlloc(HYPRE_Int, local_num_rows+1);
207:    for (i = 0; i < local_num_rows; i++)
208:       offd_i[i+1] = offd_i[i] + offdiag_sizes[i];
209:    hypre_CSRMatrixI(offd) = offd_i;
210:    hypre_CSRMatrixNumNonzeros(offd) = offd_i[local_num_rows];
211:    if (!aux_matrix)
212:    {
213:       hypre_AuxParCSRMatrixCreate(&aux_matrix, local_num_rows, 
214:                                   hypre_CSRMatrixNumCols(diag), NULL);
215:       hypre_IJMatrixTranslator(matrix) = aux_matrix;
216:    }
217:    hypre_AuxParCSRMatrixNeedAux(aux_matrix) = 0;
218: 
219:    return hypre_error_flag;
