1 /* $Id: petscoptions.h,v 1.42 2000/09/22 20:47:47 bsmith Exp bsmith $ */ 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 PetscOptionsGetDouble(const char[],const char[],double *,PetscTruth*); 13 EXTERN int PetscOptionsGetScalar(const char[],const char[],Scalar *,PetscTruth*); 14 EXTERN int PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*); 15 EXTERN int PetscOptionsGetDoubleArray(const char[],const char[],double[],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[],double*); 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 __ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(__ierr); 44 #define PetscOptionsEnd() __ierr = PetscOptionsEnd_Private();CHKERRQ(__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 PetscOptionsDouble(char*,char*,char*,double,double*,PetscTruth*); 52 EXTERN int PetscOptionsScalar(char*,char*,char*,Scalar,Scalar*,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 PetscOptionsDoubleArray(char*,char*,char*,double[],int*,PetscTruth*); 62 EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 63 #endif 64 65 66