xref: /petsc/src/vec/vec/interface/vecregall.c (revision a197972ac2354be954b7aae623d40f6de50a3e72)
1 
2 #include <petscvec.h>
3 #include <petsc-private/vecimpl.h>
4 PETSC_EXTERN PetscErrorCode VecCreate_Seq(Vec);
5 PETSC_EXTERN PetscErrorCode VecCreate_MPI(Vec);
6 PETSC_EXTERN PetscErrorCode VecCreate_Standard(Vec);
7 PETSC_EXTERN PetscErrorCode VecCreate_Shared(Vec);
8 #if defined(PETSC_HAVE_CUSP)
9 PETSC_EXTERN PetscErrorCode VecCreate_SeqCUSP(Vec);
10 PETSC_EXTERN PetscErrorCode VecCreate_MPICUSP(Vec);
11 PETSC_EXTERN PetscErrorCode VecCreate_CUSP(Vec);
12 #endif
13 #if defined(PETSC_HAVE_VIENNACL)
14 PETSC_EXTERN PetscErrorCode VecCreate_SeqViennaCL(Vec);
15 PETSC_EXTERN PetscErrorCode VecCreate_MPIViennaCL(Vec);
16 PETSC_EXTERN PetscErrorCode VecCreate_ViennaCL(Vec);
17 #endif
18 
19 #undef __FUNCT__
20 #define __FUNCT__ "VecRegisterAll"
21 /*@C
22   VecRegisterAll - Registers all of the vector components in the Vec package.
23 
24   Not Collective
25 
26   Level: advanced
27 
28 .keywords: Vec, register, all
29 .seealso:  VecRegister(), VecRegisterDestroy(), VecRegister()
30 @*/
31 PetscErrorCode  VecRegisterAll(void)
32 {
33   PetscErrorCode ierr;
34 
35   PetscFunctionBegin;
36   if (VecRegisterAllCalled) PetscFunctionReturn(0);
37   VecRegisterAllCalled = PETSC_TRUE;
38 
39   ierr = VecRegister(VECSEQ,        VecCreate_Seq);CHKERRQ(ierr);
40   ierr = VecRegister(VECMPI,        VecCreate_MPI);CHKERRQ(ierr);
41   ierr = VecRegister(VECSTANDARD,   VecCreate_Standard);CHKERRQ(ierr);
42   ierr = VecRegister(VECSHARED,     VecCreate_Shared);CHKERRQ(ierr);
43 #if defined PETSC_HAVE_CUSP
44   ierr = VecRegister(VECSEQCUSP,    VecCreate_SeqCUSP);CHKERRQ(ierr);
45   ierr = VecRegister(VECMPICUSP,    VecCreate_MPICUSP);CHKERRQ(ierr);
46   ierr = VecRegister(VECCUSP,       VecCreate_CUSP);CHKERRQ(ierr);
47 #endif
48 #if defined PETSC_HAVE_VIENNACL
49   ierr = VecRegister(VECSEQVIENNACL,    VecCreate_SeqViennaCL);CHKERRQ(ierr);
50   ierr = VecRegister(VECMPIVIENNACL,    VecCreate_MPIViennaCL);CHKERRQ(ierr);
51   ierr = VecRegister(VECVIENNACL,       VecCreate_ViennaCL);CHKERRQ(ierr);
52 #endif
53   PetscFunctionReturn(0);
54 }
55 
56