Actual source code: vecregall.c

petsc-3.3-p5 2012-12-01
  2: #include <petsc-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

 27: /*@C
 28:   VecRegisterAll - Registers all of the vector components in the Vec package.

 30:   Not Collective

 32:   Input parameter:
 33: . path - The dynamic library path

 35:   Level: advanced

 37: .keywords: Vec, register, all
 38: .seealso:  VecRegister(), VecRegisterDestroy(), VecRegisterDynamic()
 39: @*/
 40: PetscErrorCode  VecRegisterAll(const char path[])
 41: {

 45:   VecRegisterAllCalled = PETSC_TRUE;

 47:   VecRegisterDynamic(VECSEQ,       path, "VecCreate_Seq",       VecCreate_Seq);
 48:   VecRegisterDynamic(VECMPI,       path, "VecCreate_MPI",       VecCreate_MPI);
 49:   VecRegisterDynamic(VECSTANDARD,  path, "VecCreate_Standard",  VecCreate_Standard);
 50:   VecRegisterDynamic(VECSHARED,    path, "VecCreate_Shared",    VecCreate_Shared);
 51: #if defined(PETSC_HAVE_PTHREADCLASSES)
 52:   VecRegisterDynamic(VECSEQPTHREAD,path, "VecCreate_SeqPThread",   VecCreate_SeqPThread);
 53:   VecRegisterDynamic(VECMPIPTHREAD,path, "VecCreate_MPIPThread",  VecCreate_MPIPThread);
 54:   VecRegisterDynamic(VECPTHREAD,   path, "VecCreate_PThread",      VecCreate_PThread);
 55: #endif
 56: #if defined PETSC_HAVE_CUSP
 57:   VecRegisterDynamic(VECSEQCUSP,  path, "VecCreate_SeqCUSP",  VecCreate_SeqCUSP);
 58:   VecRegisterDynamic(VECMPICUSP,  path, "VecCreate_MPICUSP",  VecCreate_MPICUSP);
 59:   VecRegisterDynamic(VECCUSP,     path, "VecCreate_CUSP",     VecCreate_CUSP);
 60: #endif
 61: #if 0
 62: #if defined(PETSC_HAVE_SIEVE)
 63:   VecRegisterDynamic(VECSIEVE,    path, "VecCreate_Sieve",    VecCreate_Sieve);
 64: #endif
 65: #endif
 66:   return(0);
 67: }