xref: /petsc/src/mat/impls/dummy/matdummy.c (revision 30a70a9a1e7e01515cfe7cbbe08231a7725b4889)
1 #include <petsc/private/matimpl.h>      /*I "petscmat.h" I*/
2 
3 PetscErrorCode MatDestroy_Dummy(Mat A)
4 {
5   PetscErrorCode ierr;
6 
7   PetscFunctionBegin;
8   ierr = PetscObjectChangeTypeName((PetscObject)A,0);CHKERRQ(ierr);
9   PetscFunctionReturn(0);
10 }
11 
12 /*MC
13    MATDUMMY - A matrix type to be used for reusing specific internal data structure.
14 
15   Level: advanced
16 
17 .seealso: Mat
18 
19 M*/
20 
21 PETSC_EXTERN PetscErrorCode MatCreate_Dummy(Mat A)
22 {
23   PetscErrorCode    ierr;
24 
25   PetscFunctionBegin;
26   /* matrix ops */
27   ierr = PetscMemzero(A->ops,sizeof(struct _MatOps));CHKERRQ(ierr);
28   A->ops->destroy = MatDestroy_Dummy;
29 
30   /* special MATPREALLOCATOR functions */
31   ierr = PetscObjectChangeTypeName((PetscObject)A,MATDUMMY);CHKERRQ(ierr);
32   PetscFunctionReturn(0);
33 }
34