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