4
4
--------------------------------------------------------------------
6
Copyright : (C) 2006 by Ion Vasilief,
7
Tilman Hoener zu Siederdissen,
9
Email (use @ for *) : ion_vasilief*yahoo.fr, thzs*gmx.net,
6
Copyright : (C) 2006 by Ion Vasilief, Knut Franke
7
Email (use @ for *) : ion_vasilief*yahoo.fr, knut.franke*gmx.de
11
8
Description : Evaluate mathematical expressions using muParser
13
10
***************************************************************************/
15
12
/***************************************************************************
45
42
class muParserScript: public Script
50
muParserScript(ScriptingEnv *env, const QString &code, QObject *context=0, const QString &name="<input>");
47
muParserScript(ScriptingEnv *env, const QString &code, QObject *context=0, const QString &name="<input>", bool checkMultilineCode = true);
53
50
bool compile(bool asFunction=true);
52
double evalSingleLine();
53
QString evalSingleLineToString(const QLocale& locale, char f, int prec);
56
55
bool setQObject(QObject *val, const char *name);
57
56
bool setInt(int val, const char* name);
58
bool setDouble(double val, const char* name);
57
bool setDouble(double val, const char* name);
58
double* defineVariable(const char *name, double val = 0.0);
59
int codeLines(){return muCode.size();};
61
62
double col(const QString &arg);
62
double tablecol(const QString &arg);
63
double tablecol(const QString &arg);
63
64
double cell(int row, int col);
64
double tableCell(int col, int row);
65
double tableCell(int col, int row);
65
66
double *addVariable(const char *name);
66
67
double *addVariableR(const char *name);
67
68
static double *mu_addVariableR(const char *name) { return current->addVariableR(name); }
76
77
mu::Parser parser, rparser;
77
78
Q3AsciiDict<double> variables, rvariables;
80
//! Flag telling is the parser should warn users on multiline code input
81
bool d_warn_multiline_code;
81
84
static muParserScript *current;