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_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