1 /* $Id: petscoptions.h,v 1.41 2000/09/02 02:50:55 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 OptionsHasName(const char[],const char[],PetscTruth*); 10 EXTERN int OptionsGetInt(const char[],const char [],int *,PetscTruth*); 11 EXTERN int OptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*); 12 EXTERN int OptionsGetDouble(const char[],const char[],double *,PetscTruth*); 13 EXTERN int OptionsGetScalar(const char[],const char[],Scalar *,PetscTruth*); 14 EXTERN int OptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*); 15 EXTERN int OptionsGetDoubleArray(const char[],const char[],double[],int *,PetscTruth*); 16 EXTERN int OptionsGetString(const char[],const char[],char[],int,PetscTruth*); 17 EXTERN int OptionsGetStringArray(const char[],const char[],char**,int*,PetscTruth*); 18 19 EXTERN int OptionsSetAlias(const char[],const char[]); 20 EXTERN int OptionsSetValue(const char[],const char[]); 21 EXTERN int OptionsClearValue(const char[]); 22 23 EXTERN int OptionsAllUsed(int *); 24 EXTERN int OptionsLeft(void); 25 EXTERN int OptionsPrint(FILE *); 26 27 EXTERN int OptionsCreate(void); 28 EXTERN int OptionsInsert(int *,char ***,const char[]); 29 EXTERN int OptionsInsertFile(const char[]); 30 EXTERN int OptionsDestroy(void); 31 32 EXTERN int OptionsReject(const char[],const char[]); 33 EXTERN int OptionsGetAll(char*[]); 34 35 EXTERN int OptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *); 36 EXTERN int OptionsAtoi(const char[],int*); 37 EXTERN int OptionsAtod(const char[],double*); 38 39 extern PetscTruth OptionsPublish; 40 extern int OptionsPublishCount; 41 #define OptionsBegin(comm,prefix,mess,sec) 0; {\ 42 for (OptionsPublishCount=(OptionsPublish?-1:1); OptionsPublishCount<2; OptionsPublishCount++) {\ 43 int __ierr = OptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(__ierr); 44 #define OptionsEnd() __ierr = OptionsEnd_Private();CHKERRQ(__ierr);}} 45 EXTERN int OptionsBegin_Private(MPI_Comm,char*,char*,char*); 46 EXTERN int OptionsEnd_Private(void); 47 EXTERN int OptionsHead(char*); 48 #define OptionsTail() 0; {if (OptionsPublishCount != 1) PetscFunctionReturn(0);} 49 50 EXTERN int OptionsInt(char*,char*,char*,int,int*,PetscTruth*); 51 EXTERN int OptionsDouble(char*,char*,char*,double,double*,PetscTruth*); 52 EXTERN int OptionsScalar(char*,char*,char*,Scalar,Scalar*,PetscTruth*); 53 EXTERN int OptionsName(char*,char*,char*,PetscTruth*); 54 EXTERN int OptionsString(char*,char*,char*,char*,char*,int,PetscTruth*); 55 EXTERN int OptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*); 56 EXTERN int OptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*); 57 EXTERN int OptionsLogicalGroup(char*,char*,char*,PetscTruth*); 58 EXTERN int OptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*); 59 EXTERN int OptionsList(char*,char*,char*,FList,char*,char*,int,PetscTruth*); 60 EXTERN int OptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*); 61 EXTERN int OptionsDoubleArray(char*,char*,char*,double[],int*,PetscTruth*); 62 EXTERN int OptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*); 63 #endif 64 65 66