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