#ifndef CONSOLE_H_
#define CONSOLE_H_
#include <distributions/DistTab.h>
#include <functions/FuncTab.h>
#include <model/BUGSModel.h>
#include <model/SymTab.h>
#include <compiler/ParseTree.h>
#include <iostream>
#include <string>
#include <map>
class Console {
std::ostream &_out;
std::ostream &_err;
FuncTab _functab;
DistTab _disttab;
BUGSModel *_model;
std::vector<ParseTree*> *_pvariables;
ParseTree *_prelations;
ParseTree *_pdata;
unsigned int _iteration;
void clearModel();
public:
Console(std::ostream &out, std::ostream &err);
~Console();
bool checkModel(std::string const &filename);
void compile(std::map<std::string, SArray> &data_table,
unsigned int nchain = 1);
bool setParameters(std::map<std::string, SArray> const &init_table,
unsigned int chain);
bool initialize();
bool update (long n);
bool setMonitor(std::string const &name, Range const &range,
unsigned int thin);
bool setMonitor(std::string const &name, unsigned int thin);
bool clearMonitor(std::string const &name, Range const &range);
bool clearMonitor(std::string const &name);
bool dumpState(std::map<std::string,SArray> &data_table, unsigned int chain,
bool observed);
unsigned long iter();
bool coda(std::ofstream &index, std::ofstream &output);
bool coda(std::string const &name,
std::ofstream &index, std::ofstream &output);
bool coda(std::string const &name, Range const &range,
std::ofstream &index, std::ofstream &output);
void setSeed(unsigned int seed);
BUGSModel const *model();
};
#endif /* CONSOLE_H_ */
syntax highlighted by Code2HTML, v. 0.9.1