Actual source code: matioall.c
1: /*$Id: matioall.c,v 1.23 2001/03/23 23:22:45 balay Exp $*/
3: #include petscmat.h
5: EXTERN_C_BEGIN
6: EXTERN int MatLoad_MPIRowbs(PetscViewer,MatType,Mat*);
7: EXTERN int MatLoad_SeqAIJ(PetscViewer,MatType,Mat*);
8: EXTERN int MatLoad_MPIAIJ(PetscViewer,MatType,Mat*);
9: EXTERN int MatLoad_SeqBDiag(PetscViewer,MatType,Mat*);
10: EXTERN int MatLoad_MPIBDiag(PetscViewer,MatType,Mat*);
11: EXTERN int MatLoad_SeqDense(PetscViewer,MatType,Mat*);
12: EXTERN int MatLoad_MPIDense(PetscViewer,MatType,Mat*);
13: EXTERN int MatLoad_SeqBAIJ(PetscViewer,MatType,Mat*);
14: EXTERN int MatLoad_SeqAdj(PetscViewer,MatType,Mat*);
15: EXTERN int MatLoad_MPIBAIJ(PetscViewer,MatType,Mat*);
16: EXTERN int MatLoad_SeqSBAIJ(PetscViewer,MatType,Mat*);
17: EXTERN int MatLoad_MPISBAIJ(PetscViewer,MatType,Mat*);
18: EXTERN int MatLoad_MPIRowbs(PetscViewer,MatType,Mat*);
19: EXTERN_C_END
20: extern PetscTruth MatLoadRegisterAllCalled;
22: /*@C
23: MatLoadRegisterAll - Registers all standard matrix type routines to load
24: matrices from a binary file.
26: Not Collective
28: Level: developer
30: Notes: To prevent registering all matrix types; copy this routine to
31: your source code and comment out the versions below that you do not need.
33: .seealso: MatLoadRegister(), MatLoad()
35: @*/
36: int MatLoadRegisterAll(char *path)
37: {
41: MatLoadRegisterAllCalled = PETSC_TRUE;
42: MatLoadRegisterDynamic(MATSEQAIJ,path,"MatLoad_SeqAIJ",MatLoad_SeqAIJ);
43: MatLoadRegisterDynamic(MATMPIAIJ,path,"MatLoad_MPIAIJ",MatLoad_MPIAIJ);
44: MatLoadRegisterDynamic(MATSEQBDIAG,path,"MatLoad_SeqBDiag",MatLoad_SeqBDiag);
45: MatLoadRegisterDynamic(MATMPIBDIAG,path,"MatLoad_MPIBDiag",MatLoad_MPIBDiag);
46: MatLoadRegisterDynamic(MATSEQDENSE,path,"MatLoad_SeqDense",MatLoad_SeqDense);
47: MatLoadRegisterDynamic(MATMPIDENSE,path,"MatLoad_MPIDense",MatLoad_MPIDense);
48: MatLoadRegisterDynamic(MATSEQBAIJ,path,"MatLoad_SeqBAIJ",MatLoad_SeqBAIJ);
49: MatLoadRegisterDynamic(MATMPIBAIJ,path,"MatLoad_MPIBAIJ",MatLoad_MPIBAIJ);
50: MatLoadRegisterDynamic(MATSEQSBAIJ,path,"MatLoad_SeqSBAIJ",MatLoad_SeqSBAIJ);
51: MatLoadRegisterDynamic(MATMPISBAIJ,path,"MatLoad_MPISBAIJ",MatLoad_MPISBAIJ);
52: #if defined(PETSC_HAVE_BLOCKSOLVE) && !defined(__cplusplus)
53: MatLoadRegisterDynamic(MATMPIROWBS,path,"MatLoad_MPIRowbs",MatLoad_MPIRowbs);
54: #endif
55: return(0);
56: }
58: EXTERN_C_BEGIN
59: EXTERN int MatConvertTo_MPIAdj(Mat,MatType,Mat*);
60: EXTERN_C_END
62: /*@C
63: MatConvertRegisterAll - Registers all standard matrix type routines to convert to
65: Not Collective
67: Level: developer
69: Notes: To prevent registering all matrix types; copy this routine to
70: your source code and comment out the versions below that you do not need.
72: .seealso: MatLoadRegister(), MatLoad()
74: @*/
75: int MatConvertRegisterAll(char *path)
76: {
80: MatConvertRegisterAllCalled = PETSC_TRUE;
81: MatConvertRegisterDynamic(MATMPIADJ,path,"MatConvertTo_MPIAdj",MatConvertTo_MPIAdj);
82: return(0);
83: }