30 #ifndef MUPARSER_SCRIPTING_H 31 #define MUPARSER_SCRIPTING_H 39 #include <gsl/gsl_sf.h> 40 #include <gsl/gsl_cdf.h> 41 #include <gsl/gsl_randist.h> 42 #include <gsl/gsl_rng.h> 53 gsl_set_error_handler_off();
58 Script *
newScript(
const QString &code, QObject *context,
const QString &name=
"<input>")
65 bool setInt(
int,
const char*) {
return false; }
66 bool setDouble(
double,
const char*) {
return false; }
71 const static QStringList
functionsList(
bool tableContext =
false);
79 double (*
fun2)(double,double);
80 double (*
fun3)(double,double,double);
86 static double rnd(
double x){
87 gsl_rng_default_seed = (
unsigned int)x*time(NULL);
88 const gsl_rng_type * T = gsl_rng_default;
89 gsl_rng * r = gsl_rng_alloc (T);
90 double u = gsl_rng_uniform (r);
96 const gsl_rng_type * T = gsl_rng_default;
97 gsl_rng * r = gsl_rng_alloc (T);
100 gsl_rng_set(r, (
unsigned int)x*time(NULL));
101 double u = gsl_ran_ugaussian(r);
106 static double mod(
double x,
double y){
return fmod(x,y);};
107 static double bessel_I0(
double x){
return gsl_sf_bessel_I0 (x);};
108 static double bessel_I1(
double x){
return gsl_sf_bessel_I1 (x);};
109 static double bessel_In(
double x,
double n){
return gsl_sf_bessel_In ((
int)n, x);};
110 static double bessel_J0(
double x){
return gsl_sf_bessel_J0 (x);};
111 static double bessel_J1(
double x){
return gsl_sf_bessel_J1 (x);};
112 static double bessel_Jn(
double x,
double n){
return gsl_sf_bessel_Jn ((
int)n, x);};
113 static double bessel_Yn(
double x,
double n){
return gsl_sf_bessel_Yn ((
int)n, x);};
114 static double bessel_Jn_zero(
double n,
double s){
return gsl_sf_bessel_zero_Jnu(n, (
unsigned int) s);};
115 static double bessel_Y0(
double x){
return gsl_sf_bessel_Y0 (x);};
116 static double bessel_Y1(
double x){
return gsl_sf_bessel_Y1 (x);};
117 static double beta(
double a,
double b){
return gsl_sf_beta (a,b);};
118 static double erf(
double x){
return gsl_sf_erf (x);};
119 static double erfc(
double x){
return gsl_sf_erfc (x);};
120 static double erf_Z(
double x){
return gsl_sf_erf_Z (x);};
121 static double erf_Q(
double x){
return gsl_sf_erf_Q (x);};
122 static double gamma(
double x){
return gsl_sf_gamma (x);};
123 static double lngamma(
double x){
return gsl_sf_lngamma (x);};
124 static double hazard(
double x){
return gsl_sf_hazard (x);};
125 static double lambert_W0(
double x){
return gsl_sf_lambert_W0(x);};
126 static double lambert_Wm1(
double x){
return gsl_sf_lambert_Wm1(x);};
127 static double invt(
double x,
double n){
return gsl_cdf_tdist_P(x, n);};
128 static double ttable(
double x,
double n){
return gsl_cdf_tdist_Pinv(x, n);};
129 static double ftable(
double x,
double m,
double n){
return gsl_cdf_fdist_Pinv(x, m, n);};
130 static double invf(
double x,
double m,
double n){
return gsl_cdf_fdist_P(x, m, n);};
131 static double gauss_pdf(
double x,
double sigma){
return gsl_ran_gaussian_pdf (x, sigma);};
132 static double gauss_cdf(
double x,
double sigma){
return gsl_cdf_gaussian_P (x, sigma);};
133 static double inv_gauss_cdf(
double x,
double sigma){
return gsl_cdf_gaussian_Pinv(x, sigma);};
134 static double normcdf(
double x){
return gsl_cdf_ugaussian_P(x);};
135 static double norminv(
double x){
return gsl_cdf_ugaussian_Pinv(x);};
136 static double chi2cdf(
double x,
double n){
return gsl_cdf_chisq_P (x, n);};
137 static double chi2inv(
double x,
double n){
return gsl_cdf_chisq_Pinv(x, n);};
138 static double dilog(
double x){
return gsl_sf_dilog(x);};
bool setQObject(QObject *, const char *)
Definition: muParserScripting.h:64
static double hazard(double x)
Definition: muParserScripting.h:124
static double chi2cdf(double x, double n)
Definition: muParserScripting.h:136
static double erfc(double x)
Definition: muParserScripting.h:119
static double bessel_Jn_zero(double n, double s)
Definition: muParserScripting.h:114
static double lambert_Wm1(double x)
Definition: muParserScripting.h:126
bool setDouble(double, const char *)
Definition: muParserScripting.h:66
muParserScripting(ApplicationWindow *parent)
Definition: muParserScripting.h:51
static double erf_Z(double x)
Definition: muParserScripting.h:120
Definition: muParserScripting.h:74
EmptySourceError()
Definition: muParserScripting.h:144
static double normal(double x)
Definition: muParserScripting.h:95
static const QString explainFunction(const QString &name)
Definition: muParserScripting.cpp:134
An interpreter for evaluating scripting code. Abstract.
Definition: ScriptingEnv.h:50
static double bessel_Jn(double x, double n)
Definition: muParserScripting.h:112
double(* fun1)(double)
Definition: muParserScripting.h:78
static double bessel_In(double x, double n)
Definition: muParserScripting.h:109
static double dilog(double x)
Definition: muParserScripting.h:138
static double bessel_Y1(double x)
Definition: muParserScripting.h:116
TODO.
Definition: muParserScript.h:42
double(* fun3)(double, double, double)
Definition: muParserScripting.h:80
int numargs
Definition: muParserScripting.h:77
static double bessel_I0(double x)
Definition: muParserScripting.h:107
static double rnd(double x)
Definition: muParserScripting.h:86
bool isRunning() const
whether asynchronuous execution is enabled (if supported by the implementation)
Definition: muParserScripting.h:57
static double invf(double x, double m, double n)
Definition: muParserScripting.h:130
A chunk of scripting code. Abstract.
Definition: Script.h:50
static double beta(double a, double b)
Definition: muParserScripting.h:117
bool setInt(int, const char *)
Definition: muParserScripting.h:65
TODO.
Definition: muParserScripting.h:45
static double erf_Q(double x)
Definition: muParserScripting.h:121
static double invt(double x, double n)
Definition: muParserScripting.h:127
static double bessel_Y0(double x)
Definition: muParserScripting.h:115
static double normcdf(double x)
Definition: muParserScripting.h:134
static const char * langName
Definition: muParserScripting.h:50
QtiPlot's main window.
Definition: ApplicationWindow.h:133
static const mathFunction math_functions[]
Definition: muParserScripting.h:83
double(* fun2)(double, double)
Definition: muParserScripting.h:79
static double ftable(double x, double m, double n)
Definition: muParserScripting.h:129
static double bessel_J0(double x)
Definition: muParserScripting.h:110
bool d_initialized
whether the interpreter has been successfully initialized
Definition: ScriptingEnv.h:106
const QStringList mathFunctions() const
Return a list of supported mathematical functions. These should be imported into the global namespace...
Definition: muParserScripting.cpp:108
Definition: muParserScripting.h:141
static double bessel_I1(double x)
Definition: muParserScripting.h:108
static double inv_gauss_cdf(double x, double sigma)
Definition: muParserScripting.h:133
static double gauss_pdf(double x, double sigma)
Definition: muParserScripting.h:131
static double bessel_Yn(double x, double n)
Definition: muParserScripting.h:113
static double norminv(double x)
Definition: muParserScripting.h:135
static double erf(double x)
Definition: muParserScripting.h:118
static double lngamma(double x)
Definition: muParserScripting.h:123
static double lambert_W0(double x)
Definition: muParserScripting.h:125
static double gauss_cdf(double x, double sigma)
Definition: muParserScripting.h:132
static double ttable(double x, double n)
Definition: muParserScripting.h:128
static double gamma(double x)
Definition: muParserScripting.h:122
static double mod(double x, double y)
Definition: muParserScripting.h:106
static ScriptingEnv * constructor(ApplicationWindow *parent)
Definition: muParserScripting.h:55
char * name
Definition: muParserScripting.h:76
Script * newScript(const QString &code, QObject *context, const QString &name="<input>")
Instantiate the Script subclass matching the ScriptEnv subclass.
Definition: muParserScripting.h:58
static double chi2inv(double x, double n)
Definition: muParserScripting.h:137
const QString mathFunctionDoc(const QString &name) const
Return a documentation string for the given mathematical function.
Definition: muParserScripting.cpp:113
QString description
Definition: muParserScripting.h:81
static const QStringList functionsList(bool tableContext=false)
Definition: muParserScripting.cpp:118
static double bessel_J1(double x)
Definition: muParserScripting.h:111