Actual source code: vecreg.c

  1: /*$Id: vecreg.c,v 1.20 2001/03/23 23:21:18 balay Exp $*/

  3: #include "src/vec/vecimpl.h"  /*I "petscvec.h" I*/

  5: EXTERN_C_BEGIN
  6: EXTERN int VecCreate_Seq(Vec);
  7: EXTERN int VecCreate_MPI(Vec);
  8: EXTERN int VecCreate_FETI(Vec);
  9: EXTERN int VecCreate_Shared(Vec);
 10: EXTERN_C_END


 13: /*
 14:     This is used by VecCreate() to make sure that at least one 
 15:     VecRegisterAll() is called. In general, if there is more than one
 16:     DLL, then VecRegisterAll() may be called several times.
 17: */
 18: extern PetscTruth VecRegisterAllCalled;

 20: /*@C
 21:   VecRegisterAll - Registers all of the Vec components in the PETSc package.

 23:   Not Collective

 25:   Level: advanced

 27: .seealso:  VecRegisterDestroy()
 28: @*/
 29: int VecRegisterAll(const char path[])
 30: {

 34:   VecRegisterAllCalled = PETSC_TRUE;

 36:   VecRegisterDynamic(VEC_MPI,           path,"VecCreate_MPI",     VecCreate_MPI);
 37:   VecRegisterDynamic(VEC_SHARED,        path,"VecCreate_Shared",  VecCreate_Shared);
 38:   VecRegisterDynamic(VEC_SEQ,           path,"VecCreate_Seq",     VecCreate_Seq);
 39:   VecRegisterDynamic(VEC_FETI,          path,"VecCreate_FETI",    VecCreate_FETI);
 40:   return(0);
 41: }