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