62 static void define(
const char* name,
ExprFunc f,
const char* docString);
74 static std::string
getDocString(
const char* functionName);
static std::string getDocString(const char *functionName)
Get doc string for a specific function.
void(* Define3)(const char *name, ExprFunc f, const char *docString)
ExprFunc(ExprFuncStandard::Funcn *f, int minArgs, int maxArgs)
ExprFunc(ExprFuncStandard::Func1v *f)
double Func2v(const Vec3d &, const Vec3d &)
double Func3(double, double, double)
static void getFunctionNames(std::vector< std::string > &names)
Get a list of registered builtin and DSO generated functions.
const ExprFuncX * funcx() const
return pointer to the funcx
static size_t sizeInBytes()
Get the total size estimate of all plugins.
int maxArgs() const
return the maximum number of acceptable arguments
double Func1v(const Vec3d &)
Function Definition, used in parse tree and func table.
ExprFunc(ExprFuncStandard::Func6 *f)
double Funcnv(int n, const Vec3d *params)
Vec3d Funcnvv(int n, const Vec3d *params)
static Statistics statistics()
Dump statistics.
ExprFunc(ExprFuncStandard::Funcnvv *f)
Vec3d Func1vv(const Vec3d &)
with numParticles numAttributes A variable block contains variable names and types but doesn t care what the values are< pre > void f(const std::string &s, MyParticleData *p, int outputDim=3)
static void define(const char *name, ExprFunc f, const char *docString)
double Func6(double, double, double, double, double, double)
Vec3d Func2vv(const Vec3d &, const Vec3d &)
static void loadPlugins(const char *path)
load all plugins in a given path
ExprFunc(ExprFuncStandard::Func3 *f)
ExprFunc(ExprFuncStandard::Func2 *f)
double max(double x, double y)
ExprFunc(ExprFuncStandard::Func4 *f)
static void loadPlugin(const char *path)
load a given plugin
static const ExprFunc * lookup(const std::string &name)
Lookup a builtin function by name.
ExprFunc(ExprFuncX &f, int min=1, int max=1)
User defined function with custom argument parsing.
double min(double x, double y)
double Funcn(int n, double *params)
static void initInternal()
void(* Define)(const char *name, ExprFunc f)
double Func5(double, double, double, double, double)
ExprFunc(ExprFuncStandard::Func1vv *f)
ExprFunc(ExprFuncStandard::Func1 *f)
ExprFunc(ExprFuncStandard::Func0 *f)
ExprFunc(ExprFuncStandard::Func2v *f)
ExprFunc(ExprFuncStandard::Func2vv *f)
ExprFunc(ExprFuncStandard::Funcnvv *f, int minArgs, int maxArgs)
double Func4(double, double, double, double)
Extension function spec, used for complicated argument custom functions.
static void cleanup()
cleanup all functions
std::map< std::string, double > Statistics
ExprFunc(ExprFuncStandard::Funcnv *f, int minArgs, int maxArgs)
static void init()
call to define built-in funcs and load standard plugins
int minArgs() const
return the minimum number of acceptable arguments
ExprFunc(ExprFuncStandard::Func5 *f)
ExprFuncStandard _standardFunc
double Func2(double, double)