KSeExpr 6.0.0.0
|
#include <ExprFuncStandard.h>
Public Types | |
enum | FuncType { NONE = 0 , FUNC0 , FUNC1 , FUNC2 , FUNC3 , FUNC4 , FUNC5 , FUNC6 , FUNCN , VEC , FUNC1V = VEC , FUNC2V , FUNCNV , VECVEC , FUNC1VV = VECVEC , FUNC2VV , FUNCNVV } |
using | Func0 = double() |
using | Func1 = double(double) |
using | Func2 = double(double, double) |
using | Func3 = double(double, double, double) |
using | Func4 = double(double, double, double, double) |
using | Func5 = double(double, double, double, double, double) |
using | Func6 = double(double, double, double, double, double, double) |
using | Func1v = double(const Vec3d &) |
using | Func2v = double(const Vec3d &, const Vec3d &) |
using | Func1vv = Vec3d(const Vec3d &) |
using | Func2vv = Vec3d(const Vec3d &, const Vec3d &) |
using | Funcn = double(int, double *) |
using | Funcnv = double(int, const Vec3d *) |
using | Funcnvv = Vec3d(int, const Vec3d *) |
Public Member Functions | |
ExprFuncStandard (FuncType funcType, void *f) | |
No argument function. | |
ExprFuncStandard () | |
ExprType | prep (ExprFuncNode *node, bool scalarWanted, ExprVarEnvBuilder &envBuilder) const override |
int | buildInterpreter (const ExprFuncNode *node, Interpreter *interpreter) const override |
Build an interpreter to evaluate the expression. | |
void * | getFuncPointer () const |
FuncType | getFuncType () const |
![]() | |
ExprFuncX (const bool threadSafe) | |
ExprFuncX (const ExprFuncX &)=default | |
ExprFuncX (ExprFuncX &&)=default | |
ExprFuncX & | operator= (const ExprFuncX &)=default |
ExprFuncX & | operator= (ExprFuncX &&)=default |
virtual ExprType | type () const |
virtual | ~ExprFuncX ()=default |
bool | isThreadSafe () const |
virtual size_t | sizeInBytes () const |
Return memory usage of a funcX in bytes. | |
virtual void | statistics (Statistics &) const |
Give this function a chance to populate its statistics. | |
Private Attributes | |
FuncType | _funcType {} |
void * | _func {nullptr} |
Additional Inherited Members | |
![]() | |
bool | _isScalar {} |
ExprType | _type |
Definition at line 14 of file ExprFuncStandard.h.
Definition at line 40 of file ExprFuncStandard.h.
Definition at line 41 of file ExprFuncStandard.h.
Definition at line 47 of file ExprFuncStandard.h.
Definition at line 49 of file ExprFuncStandard.h.
Definition at line 42 of file ExprFuncStandard.h.
Definition at line 48 of file ExprFuncStandard.h.
Definition at line 50 of file ExprFuncStandard.h.
Definition at line 43 of file ExprFuncStandard.h.
Definition at line 44 of file ExprFuncStandard.h.
Definition at line 45 of file ExprFuncStandard.h.
Definition at line 46 of file ExprFuncStandard.h.
Definition at line 51 of file ExprFuncStandard.h.
Definition at line 52 of file ExprFuncStandard.h.
Definition at line 53 of file ExprFuncStandard.h.
Enumerator | |
---|---|
NONE | |
FUNC0 | |
FUNC1 | |
FUNC2 | |
FUNC3 | |
FUNC4 | |
FUNC5 | |
FUNC6 | |
FUNCN | |
VEC | |
FUNC1V | |
FUNC2V | |
FUNCNV | |
VECVEC | |
FUNC1VV | |
FUNC2VV | |
FUNCNVV |
Definition at line 17 of file ExprFuncStandard.h.
No argument function.
Definition at line 73 of file ExprFuncStandard.h.
|
inline |
Definition at line 135 of file ExprFuncStandard.h.
|
overridevirtual |
Build an interpreter to evaluate the expression.
evaluate the expression. the given node is where in the parse tree the evaluation is for
Implements KSeExpr::ExprFuncX.
Definition at line 133 of file ExprFuncStandard.cpp.
References _func, _funcType, KSeExpr::Expression::debugging, FUNC0, KSeExpr::Func0Op(), FUNC1, KSeExpr::Func1Op(), FUNC1V, KSeExpr::Func1VOp(), FUNC1VV, KSeExpr::Func1VVOp(), FUNC2, KSeExpr::Func2Op(), FUNC2V, KSeExpr::Func2VOp(), FUNC2VV, KSeExpr::Func2VVOp(), FUNC3, KSeExpr::Func3Op(), FUNC4, KSeExpr::Func4Op(), FUNC5, KSeExpr::Func5Op(), FUNC6, KSeExpr::Func6Op(), FUNCN, KSeExpr::FuncNOp(), FUNCNV, KSeExpr::FuncNVOp(), FUNCNVV, KSeExpr::FuncNVVOp(), VEC, and VECVEC.
|
inline |
Definition at line 142 of file ExprFuncStandard.h.
References _func.
|
inline |
Definition at line 146 of file ExprFuncStandard.h.
References _funcType.
|
overridevirtual |
prep the expression by doing all type checking argument checking, etc.
Implements KSeExpr::ExprFuncX.
Definition at line 11 of file ExprFuncStandard.cpp.
References _funcType, KSeExpr::ExpectedFloatOrFloat3, VEC, and VECVEC.
Definition at line 153 of file ExprFuncStandard.h.
Referenced by buildInterpreter(), and getFuncPointer().
|
private |
Definition at line 152 of file ExprFuncStandard.h.
Referenced by buildInterpreter(), getFuncType(), and prep().