xref: /petsc/include/petscoptions.h (revision 29bbc08cd5461c366aba6645924e8ff42acd1de0)
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