28 void eval(
double *result)
override
32 void eval(
const char **)
override
45 void eval(
double *result)
override
47 for (
int k = 0; k < 3; k++)
50 void eval(
const char **)
override
72 for (
int i = 0; i < nargs; i++)
84 double *out = &args.
outFp;
85 for (
int i = 0; i < 3; i++)
95 using VARMAP = std::map<std::string, VectorRef *>;
97 using FUNCMAP = std::map<std::string, bool>;
110 void setExpr(
const std::string &str);
BasicExpression(const BasicExpression &)=delete
KSeExpr::ExprVarRef * resolveVar(const std::string &name) const override
KSeExpr::ExprFunc * resolveFunc(const std::string &name) const override
BasicExpression & operator=(const BasicExpression &)=delete
BasicExpression::DummyFuncX dummyFuncX
std::map< std::string, VectorRef * > VARMAP
BasicExpression & operator=(BasicExpression &&)=delete
BasicExpression(BasicExpression &&)=delete
std::map< std::string, bool > FUNCMAP
~BasicExpression() override
BasicExpression(const std::string &expr, const KSeExpr::ExprType &type=KSeExpr::ExprType().FP(3))
void setExpr(const std::string &str)
KSeExpr::ExprFunc dummyFunc
Node that calls a function.
bool checkArg(int argIndex, const ExprType &type, ExprVarEnvBuilder &envBuilder)
ExprFuncSimple(const bool threadSafe)
Function Definition, used in parse tree and func table.
int numChildren() const
Number of children.
ExprType & Constant()
Mutate this into a constant lifetime.
ExprType & Varying()
Mutate this into a varying lifetime.
ExprType & FP(int d)
Mutate this into a floating point type of dimension d.
ExprType & Error()
Mutate this into an error type.
Variable scope builder is used by the type checking and code gen to track visiblity of variables and ...
abstract class for implementing variable references
KSeExpr::ExprFuncNode::Data * evalConstant(const KSeExpr::ExprFuncNode *, ArgHandle) const override
~DummyFuncX() override=default
DummyFuncX(const DummyFuncX &)=default
DummyFuncX & operator=(const DummyFuncX &)=default
DummyFuncX & operator=(DummyFuncX &&)=default
void eval(ArgHandle args) override
KSeExpr::ExprType prep(KSeExpr::ExprFuncNode *node, bool, KSeExpr::ExprVarEnvBuilder &envBuilder) const override
DummyFuncX(DummyFuncX &&)=default
void eval(const char **) override
void eval(double *result) override
returns this variable's value by setting result
void eval(const char **) override
void eval(double *result) override
returns this variable's value by setting result
base class for custom instance data