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