Actual source code: matregis.c
1: #define PETSCMAT_DLL
3: #include petscmat.h
6: EXTERN PetscErrorCode MatCreate_MFFD(Mat);
7: EXTERN PetscErrorCode MatCreate_MAIJ(Mat);
8: EXTERN PetscErrorCode MatCreate_IS(Mat);
9: EXTERN PetscErrorCode MatCreate_MPIRowbs(Mat);
11: EXTERN PetscErrorCode MatCreate_AIJ(Mat);
12: EXTERN PetscErrorCode MatCreate_SeqAIJ(Mat);
13: EXTERN PetscErrorCode MatCreate_MPIAIJ(Mat);
15: EXTERN PetscErrorCode MatCreate_BAIJ(Mat);
16: EXTERN PetscErrorCode MatCreate_SeqBAIJ(Mat);
17: EXTERN PetscErrorCode MatCreate_MPIBAIJ(Mat);
19: EXTERN PetscErrorCode MatCreate_SBAIJ(Mat);
20: EXTERN PetscErrorCode MatCreate_SeqSBAIJ(Mat);
21: EXTERN PetscErrorCode MatCreate_MPISBAIJ(Mat);
23: EXTERN PetscErrorCode MatCreate_Dense(Mat);
24: EXTERN PetscErrorCode MatCreate_SeqDense(Mat);
25: EXTERN PetscErrorCode MatCreate_MPIDense(Mat);
27: EXTERN PetscErrorCode MatCreate_MPIAdj(Mat);
28: EXTERN PetscErrorCode MatCreate_Shell(Mat);
29: EXTERN PetscErrorCode MatCreate_Composite(Mat);
31: EXTERN PetscErrorCode MatCreate_CSRPERM(Mat);
32: EXTERN PetscErrorCode MatCreate_SeqCSRPERM(Mat);
33: EXTERN PetscErrorCode MatCreate_MPICSRPERM(Mat);
35: EXTERN PetscErrorCode MatCreate_CRL(Mat);
36: EXTERN PetscErrorCode MatCreate_SeqCRL(Mat);
37: EXTERN PetscErrorCode MatCreate_MPICRL(Mat);
39: EXTERN PetscErrorCode MatCreate_Scatter(Mat);
40: EXTERN PetscErrorCode MatCreate_BlockMat(Mat);
42:
43: /*
44: This is used by MatSetType() to make sure that at least one
45: MatRegisterAll() is called. In general, if there is more than one
46: DLL, then MatRegisterAll() may be called several times.
47: */
48: EXTERN PetscTruth MatRegisterAllCalled;
52: /*@C
53: MatRegisterAll - Registers all of the matrix types in PETSc
55: Not Collective
57: Level: advanced
59: .keywords: KSP, register, all
61: .seealso: MatRegisterDestroy()
62: @*/
63: PetscErrorCode MatRegisterAll(const char path[])
64: {
68: MatRegisterAllCalled = PETSC_TRUE;
70: MatRegisterDynamic(MATMFFD, path,"MatCreate_MFFD", MatCreate_MFFD);
72: MatRegisterDynamic(MATMPIMAIJ, path,"MatCreate_MAIJ", MatCreate_MAIJ);
73: MatRegisterDynamic(MATSEQMAIJ, path,"MatCreate_MAIJ", MatCreate_MAIJ);
74: MatRegisterDynamic(MATMAIJ, path,"MatCreate_MAIJ", MatCreate_MAIJ);
76: MatRegisterDynamic(MATIS, path,"MatCreate_IS", MatCreate_IS);
77: MatRegisterDynamic(MATSHELL, path,"MatCreate_Shell", MatCreate_Shell);
78: MatRegisterDynamic(MATCOMPOSITE, path,"MatCreate_Composite", MatCreate_Composite);
79: #if defined(PETSC_HAVE_BLOCKSOLVE95)
80: MatRegisterDynamic(MATMPIROWBS, path,"MatCreate_MPIRowbs",MatCreate_MPIRowbs);
81: #endif
82: MatRegisterDynamic(MATAIJ, path,"MatCreate_AIJ", MatCreate_AIJ);
83: MatRegisterDynamic(MATMPIAIJ, path,"MatCreate_MPIAIJ", MatCreate_MPIAIJ);
84: MatRegisterDynamic(MATSEQAIJ, path,"MatCreate_SeqAIJ", MatCreate_SeqAIJ);
86: MatRegisterDynamic(MATCSRPERM, path,"MatCreate_CSRPERM", MatCreate_CSRPERM);
87: MatRegisterDynamic(MATMPICSRPERM, path,"MatCreate_MPICSRPERM", MatCreate_MPICSRPERM);
88: MatRegisterDynamic(MATSEQCSRPERM, path,"MatCreate_SeqCSRPERM", MatCreate_SeqCSRPERM);
90: MatRegisterDynamic(MATCRL, path,"MatCreate_CRL", MatCreate_CRL);
91: MatRegisterDynamic(MATSEQCRL, path,"MatCreate_SeqCRL", MatCreate_SeqCRL);
92: MatRegisterDynamic(MATMPICRL, path,"MatCreate_MPICRL", MatCreate_MPICRL);
94: MatRegisterDynamic(MATBAIJ, path,"MatCreate_BAIJ", MatCreate_BAIJ);
95: MatRegisterDynamic(MATMPIBAIJ, path,"MatCreate_MPIBAIJ", MatCreate_MPIBAIJ);
96: MatRegisterDynamic(MATSEQBAIJ, path,"MatCreate_SeqBAIJ", MatCreate_SeqBAIJ);
98: MatRegisterDynamic(MATSBAIJ, path,"MatCreate_SBAIJ", MatCreate_SBAIJ);
99: MatRegisterDynamic(MATMPISBAIJ, path,"MatCreate_MPISBAIJ", MatCreate_MPISBAIJ);
100: MatRegisterDynamic(MATSEQSBAIJ, path,"MatCreate_SeqSBAIJ", MatCreate_SeqSBAIJ);
102: MatRegisterDynamic(MATDENSE, path,"MatCreate_Dense", MatCreate_Dense);
103: MatRegisterDynamic(MATMPIDENSE, path,"MatCreate_MPIDense", MatCreate_MPIDense);
104: MatRegisterDynamic(MATSEQDENSE, path,"MatCreate_SeqDense", MatCreate_SeqDense);
106: MatRegisterDynamic(MATMPIADJ, path,"MatCreate_MPIAdj", MatCreate_MPIAdj);
107: MatRegisterDynamic(MATSCATTER, path,"MatCreate_Scatter", MatCreate_Scatter);
108: MatRegisterDynamic(MATBLOCKMAT, path,"MatCreate_BlockMat", MatCreate_BlockMat);
109: return(0);
110: }