xref: /petsc/include/petscoptions.h (revision b0a32e0c6855ee6a6cd3495fa7da12ea9885bc5d)
1*b0a32e0cSBarry Smith /* $Id: petscoptions.h,v 1.42 2000/09/22 20:47:47 bsmith Exp bsmith $ */
2f26ada1bSBarry Smith /*
337f753daSBarry Smith    Routines to determine options set in the options database.
4f26ada1bSBarry Smith */
50a835dfdSSatish Balay #if !defined(__PETSCOPTIONS_H)
60a835dfdSSatish Balay #define __PETSCOPTIONS_H
73a3b2205SBarry Smith #include "petsc.h"
83a3b2205SBarry Smith 
9*b0a32e0cSBarry Smith EXTERN int  PetscOptionsHasName(const char[],const char[],PetscTruth*);
10*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetInt(const char[],const char [],int *,PetscTruth*);
11*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetLogical(const char[],const char [],PetscTruth *,PetscTruth*);
12*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetDouble(const char[],const char[],double *,PetscTruth*);
13*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetScalar(const char[],const char[],Scalar *,PetscTruth*);
14*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetIntArray(const char[],const char[],int[],int *,PetscTruth*);
15*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetDoubleArray(const char[],const char[],double[],int *,PetscTruth*);
16*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetString(const char[],const char[],char[],int,PetscTruth*);
17*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetStringArray(const char[],const char[],char**,int*,PetscTruth*);
183a3b2205SBarry Smith 
19*b0a32e0cSBarry Smith EXTERN int  PetscOptionsSetAlias(const char[],const char[]);
20*b0a32e0cSBarry Smith EXTERN int  PetscOptionsSetValue(const char[],const char[]);
21*b0a32e0cSBarry Smith EXTERN int  PetscOptionsClearValue(const char[]);
223a3b2205SBarry Smith 
23*b0a32e0cSBarry Smith EXTERN int  PetscOptionsAllUsed(int *);
24*b0a32e0cSBarry Smith EXTERN int  PetscOptionsLeft(void);
25*b0a32e0cSBarry Smith EXTERN int  PetscOptionsPrint(FILE *);
264b0e389bSBarry Smith 
27*b0a32e0cSBarry Smith EXTERN int  PetscOptionsCreate(void);
28*b0a32e0cSBarry Smith EXTERN int  PetscOptionsInsert(int *,char ***,const char[]);
29*b0a32e0cSBarry Smith EXTERN int  PetscOptionsInsertFile(const char[]);
30*b0a32e0cSBarry Smith EXTERN int  PetscOptionsDestroy(void);
315d0dffe5SBarry Smith 
32*b0a32e0cSBarry Smith EXTERN int  PetscOptionsReject(const char[],const char[]);
33*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetAll(char*[]);
345d0dffe5SBarry Smith 
35*b0a32e0cSBarry Smith EXTERN int  PetscOptionsGetenv(MPI_Comm,const char *,char[],int,PetscTruth *);
36*b0a32e0cSBarry Smith EXTERN int  PetscOptionsAtoi(const char[],int*);
37*b0a32e0cSBarry Smith EXTERN int  PetscOptionsAtod(const char[],double*);
382e8a6d31SBarry Smith 
39*b0a32e0cSBarry Smith extern PetscTruth PetscOptionsPublish;
40*b0a32e0cSBarry Smith extern int        PetscOptionsPublishCount;
41*b0a32e0cSBarry Smith #define    PetscOptionsBegin(comm,prefix,mess,sec) 0; {\
42*b0a32e0cSBarry Smith              for (PetscOptionsPublishCount=(PetscOptionsPublish?-1:1); PetscOptionsPublishCount<2; PetscOptionsPublishCount++) {\
43*b0a32e0cSBarry Smith              int __ierr = PetscOptionsBegin_Private(comm,prefix,mess,sec);CHKERRQ(__ierr);
44*b0a32e0cSBarry Smith #define    PetscOptionsEnd() __ierr = PetscOptionsEnd_Private();CHKERRQ(__ierr);}}
45*b0a32e0cSBarry Smith EXTERN int PetscOptionsBegin_Private(MPI_Comm,char*,char*,char*);
46*b0a32e0cSBarry Smith EXTERN int PetscOptionsEnd_Private(void);
47*b0a32e0cSBarry Smith EXTERN int PetscOptionsHead(char*);
48*b0a32e0cSBarry Smith #define    PetscOptionsTail() 0; {if (PetscOptionsPublishCount != 1) PetscFunctionReturn(0);}
49186905e3SBarry Smith 
50*b0a32e0cSBarry Smith EXTERN int PetscOptionsInt(char*,char*,char*,int,int*,PetscTruth*);
51*b0a32e0cSBarry Smith EXTERN int PetscOptionsDouble(char*,char*,char*,double,double*,PetscTruth*);
52*b0a32e0cSBarry Smith EXTERN int PetscOptionsScalar(char*,char*,char*,Scalar,Scalar*,PetscTruth*);
53*b0a32e0cSBarry Smith EXTERN int PetscOptionsName(char*,char*,char*,PetscTruth*);
54*b0a32e0cSBarry Smith EXTERN int PetscOptionsString(char*,char*,char*,char*,char*,int,PetscTruth*);
55*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogical(char*,char*,char*,PetscTruth,PetscTruth*,PetscTruth*);
56*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupBegin(char*,char*,char*,PetscTruth*);
57*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroup(char*,char*,char*,PetscTruth*);
58*b0a32e0cSBarry Smith EXTERN int PetscOptionsLogicalGroupEnd(char*,char*,char*,PetscTruth*);
59*b0a32e0cSBarry Smith EXTERN int PetscOptionsList(char*,char*,char*,PetscFList,char*,char*,int,PetscTruth*);
60*b0a32e0cSBarry Smith EXTERN int PetscOptionsEList(char*,char*,char*,char**,int,char*,char *,int,PetscTruth*);
61*b0a32e0cSBarry Smith EXTERN int PetscOptionsDoubleArray(char*,char*,char*,double[],int*,PetscTruth*);
62*b0a32e0cSBarry Smith EXTERN int PetscOptionsStringArray(char*,char*,char*,char**,int*,PetscTruth*);
633a3b2205SBarry Smith #endif
644bbc92c1SBarry Smith 
654bbc92c1SBarry Smith 
66