27 ArrayXf f1 = state.
pop<
float>();
28 ArrayXf f2 = state.
pop<
float>();
41 state.
push<
float>(
"if-then-else(" + state.
popStr<
bool>() +
42 "," + state.
popStr<
float>() +
"," +
43 state.
popStr<
float>() +
")");
48 ArrayXf& xf = state.
get<
float>()[state.
size<
float>()-1];
54 return ArrayXf::Zero(xf.size());
56 return (!xb).cast<
float>();
59 return xb.cast<
float>();
data holding X, y, and Z data
NodeIfThenElse * rnd_clone_impl() const override
void eval_eqn(State &state)
Evaluates the node symbolically.
NodeIfThenElse * clone_impl() const override
ArrayXf getDerivative(Trace &state, int loc)
void evaluate(const Data &data, State &state)
Evaluates the node and updates the state states.
std::map< char, unsigned int > arity
arity of the operator
ArrayXf limited(ArrayXf x)
limits node output to be between MIN_FLT and MAX_FLT
int complexity
complexity of node
Eigen::Array< bool, Eigen::Dynamic, 1 > ArrayXb
void GPU_IfThenElse(float *xf, bool *xb, size_t idxf, size_t idxb, size_t N)
contains various types of State actually used by feat
Eigen::Array< T, Eigen::Dynamic, 1 > pop()
void push(Eigen::Array< T, Eigen::Dynamic, 1 > value)
used for tracing stack outputs for backprop algorithm.
vector< Eigen::Array< T, Eigen::Dynamic, 1 > > & get()