1 /* simi.h
2 
3    Originally written by Frederic Bois
4 
5    Copyright (c) 1993-2008 Free Software Foundation, Inc.
6 
7    This file is part of GNU MCSim.
8 
9    GNU MCSim is free software; you can redistribute it and/or
10    modify it under the terms of the GNU General Public License
11    as published by the Free Software Foundation; either version 3
12    of the License, or (at your option) any later version.
13 
14    GNU MCSim is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18 
19    You should have received a copy of the GNU General Public License
20    along with GNU MCSim; if not, see <http://www.gnu.org/licenses/>
21 
22    Header file for simi.c
23 */
24 
25 #ifndef SIMI_H_DEFINED
26 
27 /* ----------------------------------------------------------------------------
28    Inclusions
29 */
30 
31 #include "sim.h"
32 #include "strutil.h"
33 
34 
35 #define INIT_KERNELSD 1.0  /* Initial value of MH std dev divisor */
36 
37 /* ----------------------------------------------------------------------------
38    Prototypes
39 */
40 
41 BOOL CheckDistribParam(PLIST plist, HVAR hvar1, HVAR hvar2);
42 void DListToArray (PLIST plist, PLONG pcDouble, PDOUBLE *ppDouble);
43 BOOL EndExperiment (PINPUTBUF pibIn, PANALYSIS panal);
44 BOOL EndLevel (PANALYSIS panal);
45 void FreeLevels (PANALYSIS panal);
46 int  FreeMCVar (PVOID pData, PVOID pUserInfo);
47 int  FreeDataRec (PVOID pData, PVOID pUserInfo);
48 int  FreePrintRec (PVOID pData, PVOID pUserInfo);
49 void FreeOneLevel (PLEVEL plevel);
50 BOOL GetData (PINPUTBUF pibIn, PSTR szLex, POUTSPEC pos);
51 BOOL GetMCMCSpec (PINPUTBUF pibIn, PEXPERIMENT pexp);
52 BOOL GetIntegrate (PINPUTBUF pibIn, PSTR szLex, PINTSPEC pis);
53 PSTR GetKeyword (int iKWCode);
54 int  GetKeywordCode (PSTR szKeyword, PINT pfContext);
55 BOOL GetListOfData (PINPUTBUF pibIn, PDATAREC pda, PSTR szLex);
56 BOOL GetListOfTimes (PINPUTBUF pibIn, int nRecs, PPRINTREC *ppr, PSTR szLex);
57 int  GetDistribParam(PINPUTBUF pibIn, PSTR szLex,
58                      PLIST plist, int n, PMCVAR pmcvar);
59 int  GetDistribSpec (PINPUTBUF pibIn, PSTR szLex, PANALYSIS panal);
60 int  GetMonteCarloSpec (PINPUTBUF pibIn, PANALYSIS panal, PSTR szLex);
61 BOOL GetOptDSpec (PINPUTBUF pibIn, PANALYSIS  panal, PSTR szLex);
62 BOOL GetOutputFile (PINPUTBUF pibIn, PSTR szLex, PANALYSIS panal);
63 BOOL GetParmMod (PINPUTBUF pibIn, PSTRLEX szLex);
64 BOOL GetPrint (PINPUTBUF pibIn, PSTR szLex, POUTSPEC pos);
65 BOOL GetPrintStep (PINPUTBUF pibIn, PSTR szLex, POUTSPEC pos);
66 int  GetSetPointsSpec (PINPUTBUF pibIn, PANALYSIS  panal, PSTR szLex);
67 BOOL GetSimType (PINPUTBUF pibIn);
68 BOOL GetSimulate ();
69 BOOL GetStartTime (PINPUTBUF pibIn, PEXPERIMENT pexp);
70 BOOL GetStringArg (PINPUTBUF pibIn, PSTR *pszArg, PSTR szLex, BOOL bDelim);
71 BOOL GetInvTemperature (PINPUTBUF pibIn, PSTR szLex, PGIBBSDATA pgd);
72 int  GetTerminator (PINPUTBUF pibIn, PSTR szLex);
73 long ImFromLex (PSTR szLex);
74 int  McvFromLex (PSTR szLex);
75 void NewExperiment (PINPUTBUF pibIn);
76 int  OneDToArray (PVOID pData, PVOID pInfo);
77 void ProcessWord (PINPUTBUF pibIn, PSTR szLex, PSTR szEqn);
78 BOOL ReadAnalysis (PINPUTBUF);
79 int  SetLevel (PINPUTBUF pibIn);
80 BOOL YesNoFromLex (PSTR szLex);
81 
82 #define SIMI_H_DEFINED
83 #endif  /* SIMI_H_DEFINED */
84 
85 /* End */
86 
87