xref: /petsc/src/vec/vec/interface/vecregall.c (revision c2f951e6e70416e4a6125f4dc70c5df2d24072f1)
1 #define PETSCVEC_DLL
2 
3 #include "private/vecimpl.h"     /*I  "vec.h"  I*/
4 EXTERN_C_BEGIN
5 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Seq(Vec);
6 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_MPI(Vec);
7 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Shared(Vec);
8 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_FETI(Vec);
9 #if defined(PETSC_HAVE_SIEVE)
10 EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecCreate_Sieve(Vec);
11 #endif
12 EXTERN_C_END
13 
14 #undef __FUNCT__
15 #define __FUNCT__ "VecRegisterAll"
16 /*@C
17   VecRegisterAll - Registers all of the vector components in the Vec package.
18 
19   Not Collective
20 
21   Input parameter:
22 . path - The dynamic library path
23 
24   Level: advanced
25 
26 .keywords: Vec, register, all
27 .seealso:  VecRegister(), VecRegisterDestroy(), VecRegisterDynamic()
28 @*/
29 PetscErrorCode PETSCVEC_DLLEXPORT VecRegisterAll(const char path[])
30 {
31   PetscErrorCode ierr;
32 
33   PetscFunctionBegin;
34   VecRegisterAllCalled = PETSC_TRUE;
35 
36   ierr = VecRegisterDynamic(VECSEQ,      path, "VecCreate_Seq",      VecCreate_Seq);CHKERRQ(ierr);
37   ierr = VecRegisterDynamic(VECMPI,      path, "VecCreate_MPI",      VecCreate_MPI);CHKERRQ(ierr);
38   ierr = VecRegisterDynamic(VECSHARED,   path, "VecCreate_Shared",   VecCreate_Shared);CHKERRQ(ierr);
39   ierr = VecRegisterDynamic(VECFETI,     path, "VecCreate_FETI",     VecCreate_FETI);CHKERRQ(ierr);
40 #if defined(PETSC_HAVE_SIEVE)
41   ierr = VecRegisterDynamic(VECSIEVE,    path, "VecCreate_Sieve",    VecCreate_Sieve);CHKERRQ(ierr);
42 #endif
43   PetscFunctionReturn(0);
44 }
45 
46