| shellcnv.c (23735742cda0df2b91b5e07b58c2dd490df24194) | shellcnv.c (c3d102fe2dfc19c1832704c537829f04ceb136a2) |
|---|---|
| 1 2#include "src/mat/matimpl.h" /*I "petscmat.h" I*/ 3#include "vecimpl.h" 4 5#undef __FUNCT__ 6#define __FUNCT__ "MatConvert_Shell" 7PetscErrorCode MatConvert_Shell(Mat oldmat,const MatType newtype,MatReuse reuse,Mat *newmat) 8{ --- 33 unchanged lines hidden (view full) --- 42 43 } 44 ierr = PetscFree(rows);CHKERRQ(ierr); 45 ierr = VecDestroy(in);CHKERRQ(ierr); 46 ierr = VecDestroy(out);CHKERRQ(ierr); 47 ierr = MatAssemblyBegin(mat,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr); 48 ierr = MatAssemblyEnd(mat,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr); 49 | 1 2#include "src/mat/matimpl.h" /*I "petscmat.h" I*/ 3#include "vecimpl.h" 4 5#undef __FUNCT__ 6#define __FUNCT__ "MatConvert_Shell" 7PetscErrorCode MatConvert_Shell(Mat oldmat,const MatType newtype,MatReuse reuse,Mat *newmat) 8{ --- 33 unchanged lines hidden (view full) --- 42 43 } 44 ierr = PetscFree(rows);CHKERRQ(ierr); 45 ierr = VecDestroy(in);CHKERRQ(ierr); 46 ierr = VecDestroy(out);CHKERRQ(ierr); 47 ierr = MatAssemblyBegin(mat,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr); 48 ierr = MatAssemblyEnd(mat,MAT_FINAL_ASSEMBLY);CHKERRQ(ierr); 49 |
| 50 /* Fake support for "inplace" convert. */ | |
| 51 if (reuse == MAT_REUSE_MATRIX) { | 50 if (reuse == MAT_REUSE_MATRIX) { |
| 52 ierr = MatDestroy(oldmat);CHKERRQ(ierr); | 51 ierr = MatHeaderCopy(oldmat,mat);CHKERRQ(ierr); 52 } else { 53 *newmat = mat; |
| 53 } | 54 } |
| 54 *newmat = mat; | |
| 55 PetscFunctionReturn(0); 56} 57 58 59 | 55 PetscFunctionReturn(0); 56} 57 58 59 |