1 /* $Id: petscoptions.h,v 1.46 2001/09/07 20:13:16 bsmith Exp $ */ 2 /* 3 Routines to determine options set in the options database. 4 */ 5 #if !defined(__PETSCOPTIONS_H) 6 #define __PETSCOPTIONS_H 7 #include "petsc.h" 8 9 EXTERN int PetscOptionsHasName(const char[],const char[],PetscTruth*); 10 EXTERN int PetscOptionsGetInt(const char[],const char [],int *,PetscTruth*); 11 EXTERN int PetscOptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*); 12 EXTERN int PetscOptionsGetReal(const char[],const char[],PetscReal *,PetscTruth*); 13 EXTERN int PetscOptionsGetScalar(const char[],const char[],PetscScalar *,PetscTruth*); 14 EXTERN int PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*); 15 EXTERN int PetscOptionsGetRealArray(const char[],const char[],PetscReal[],int *,PetscTruth*); 16 EXTERN int PetscOptionsGetString(const char[],const char[],char[],int,PetscTruth*); 17 EXTERN int PetscOptionsGetStringArray(const char[],const char[],char**,int*,PetscTruth*); 18 19 EXTERN int PetscOptionsSetAlias(const char[],const char[]); 20 EXTERN int PetscOptionsSetValue(const char[],const char[]); 21 EXTERN int PetscOptionsClearValue(const char[]); 22 23 EXTERN int PetscOptionsAllUsed(int *); 24 EXTERN int PetscOptionsLeft(void); 25 EXTERN int PetscOptionsPrint(FILE *); 26 27 EXTERN int PetscOptionsCreate(void); 28 EXTERN int PetscOptionsInsert(int *,char ***,const char[]); 29 EXTERN int PetscOptionsInsertFile(const char[]); 30 EXTERN int PetscOptionsDestroy(void); 31 32 EXTERN int PetscOptionsReject(const char[],const char[]); 33 EXTERN int PetscOptionsGetAll(char*[]); 34 35 EXTERN int PetscOptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *); 36 EXTERN int PetscOptionsAtoi(const char[],int*); 37 EXTERN int PetscOptionsAtod(const char[],PetscReal*); 38 39 extern PetscTruth PetscOptionsPublish; 40 extern int PetscOptionsPublishCount; 41 #define PetscOptionsBegin(comm,prefix,mess,sec) 0; {\ 42 for (PetscOptionsPublishCount=(PetscOptionsPublish?-1:1); PetscOptionsPublishCount<2; PetscOptionsPublishCount++) {\ 43 int _5_ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(_5_ierr); 44 #define PetscOptionsEnd() _5_ierr = PetscOptionsEnd_Private();CHKERRQ(_5_ierr);}} 45 EXTERN int PetscOptionsBegin_Private(MPI_Comm,char*,char*,char*); 46 EXTERN int PetscOptionsEnd_Private(void); 47 EXTERN int PetscOptionsHead(char*); 48 #define PetscOptionsTail() 0; {if (PetscOptionsPublishCount != 1) PetscFunctionReturn(0);} 49 50 EXTERN int PetscOptionsInt(char*,char*,char*,int,int*,PetscTruth*); 51 EXTERN int PetscOptionsReal(char*,char*,char*,PetscReal,PetscReal*,PetscTruth*); 52 EXTERN int PetscOptionsScalar(char*,char*,char*,PetscScalar,PetscScalar*,PetscTruth*); 53 EXTERN int PetscOptionsName(char*,char*,char*,PetscTruth*); 54 EXTERN int PetscOptionsString(char*,char*,char*,char*,char*,int,PetscTruth*); 55 EXTERN int PetscOptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*); 56 EXTERN int PetscOptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*); 57 EXTERN int PetscOptionsLogicalGroup(char*,char*,char*,PetscTruth*); 58 EXTERN int PetscOptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*); 59 EXTERN int PetscOptionsList(char*,char*,char*,PetscFList,char*,char*,int,PetscTruth*); 60 EXTERN int PetscOptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*); 61 EXTERN int PetscOptionsRealArray(char*,char*,char*,PetscReal[],int*,PetscTruth*); 62 EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 63 #endif 64 65 66