xref: /petsc/src/vec/vec/interface/vecregall.c (revision 0c53350f5bdd0b2c6514dccc899c865c02c9e7fe)
1 
2 #include <private/vecimpl.h>     /*I  "vec.h"  I*/
3 EXTERN_C_BEGIN
4 extern PetscErrorCode  VecCreate_Seq(Vec);
5 extern PetscErrorCode  VecCreate_MPI(Vec);
6 extern PetscErrorCode  VecCreate_Standard(Vec);
7 extern PetscErrorCode  VecCreate_Shared(Vec);
8 #if defined(PETSC_USE_PTHREAD_CLASSES)
9 extern PetscErrorCode  VecCreate_SeqPThread(Vec);
10 #endif
11 #if defined(PETSC_HAVE_CUSP)
12 extern PetscErrorCode  VecCreate_SeqCUSP(Vec);
13 extern PetscErrorCode  VecCreate_MPICUSP(Vec);
14 extern PetscErrorCode  VecCreate_CUSP(Vec);
15 #endif
16 #if 0
17 #if defined(PETSC_HAVE_SIEVE)
18 extern PetscErrorCode  VecCreate_Sieve(Vec);
19 #endif
20 #endif
21 EXTERN_C_END
22 
23 #undef __FUNCT__
24 #define __FUNCT__ "VecRegisterAll"
25 /*@C
26   VecRegisterAll - Registers all of the vector components in the Vec package.
27 
28   Not Collective
29 
30   Input parameter:
31 . path - The dynamic library path
32 
33   Level: advanced
34 
35 .keywords: Vec, register, all
36 .seealso:  VecRegister(), VecRegisterDestroy(), VecRegisterDynamic()
37 @*/
38 PetscErrorCode  VecRegisterAll(const char path[])
39 {
40   PetscErrorCode ierr;
41 
42   PetscFunctionBegin;
43   VecRegisterAllCalled = PETSC_TRUE;
44 
45   ierr = VecRegisterDynamic(VECSEQ,       path, "VecCreate_Seq",       VecCreate_Seq);CHKERRQ(ierr);
46   ierr = VecRegisterDynamic(VECMPI,       path, "VecCreate_MPI",       VecCreate_MPI);CHKERRQ(ierr);
47   ierr = VecRegisterDynamic(VECSTANDARD,  path, "VecCreate_Standard",  VecCreate_Standard);CHKERRQ(ierr);
48   ierr = VecRegisterDynamic(VECSHARED,    path, "VecCreate_Shared",    VecCreate_Shared);CHKERRQ(ierr);
49 #if defined(PETSC_USE_PTHREAD_CLASSES)
50   ierr = VecRegisterDynamic(VECSEQPTHREAD,path, "VecCreate_SeqPThread",VecCreate_SeqPThread);CHKERRQ(ierr);
51 #endif
52 #if defined PETSC_HAVE_CUSP
53   ierr = VecRegisterDynamic(VECSEQCUSP,  path, "VecCreate_SeqCUSP",  VecCreate_SeqCUSP);CHKERRQ(ierr);
54   ierr = VecRegisterDynamic(VECMPICUSP,  path, "VecCreate_MPICUSP",  VecCreate_MPICUSP);CHKERRQ(ierr);
55   ierr = VecRegisterDynamic(VECCUSP,     path, "VecCreate_CUSP",     VecCreate_CUSP);CHKERRQ(ierr);
56 #endif
57 #if 0
58 #if defined(PETSC_HAVE_SIEVE)
59   ierr = VecRegisterDynamic(VECSIEVE,    path, "VecCreate_Sieve",    VecCreate_Sieve);CHKERRQ(ierr);
60 #endif
61 #endif
62   PetscFunctionReturn(0);
63 }
64 
65