Minsky
|
#include <equations.h>
Public Member Functions | |
OperationDAGBase (const string &name="") | |
virtual Type | type () const =0 |
int | order (unsigned maxOrder) const override |
returns evaluation order in sequence of variable defintions More... | |
bool | tensorEval (std::set< const Node *> &) const override |
returns true if the evaluation of this involves tensor processing More... | |
VariableValuePtr | addEvalOps (EvalOpVector &, const VariableValuePtr &) override |
adds EvalOps to an EvalOpVector representing this node. More... | |
void | checkArg (unsigned i, unsigned j) const |
virtual bool | tensorEval (std::set< const Node * > &visited) const=0 |
returns true if the evaluation of this involves tensor processing More... | |
bool | tensorEval () |
returns true if the evaluation of this involves tensor processing More... | |
![]() | |
virtual | ~Node () |
virtual int | BODMASlevel () const =0 |
algebraic heirarchy level, used for working out whether brackets are necessary. More... | |
virtual ostream & | latex (ostream &) const =0 |
writes LaTeX representation of this DAG to the stream More... | |
std::string | latexStr () const |
virtual ostream & | matlab (ostream &) const =0 |
writes a matlab representation of this DAG to the stream More... | |
std::string | matlabStr () const |
virtual void | render (ecolab::cairo::Surface &surf) const =0 |
renders a visual representation of this node to surf graphic extends right from the current pen position (which needs to be defined), and pen is moved to the right edge of the graphic. The determine bounding box, render into a recording surface, and use width()/height() More... | |
bool | tensorEval () |
returns true if the evaluation of this involves tensor processing More... | |
LaTeXManip | latex () const |
used within io streaming More... | |
MatlabManip | matlab () const |
virtual std::shared_ptr< Node > | derivative (SystemOfEquations &) const =0 |
support for the derivative operator. More... | |
Static Public Member Functions | |
static OperationDAGBase * | create (Type type, const string &name="") |
factory method More... | |
![]() | |
static std::string | typeName (int type) |
return the symbolic name of type More... | |
static Group | classify (Type t) |
Public Attributes | |
vector< vector< WeakNodePtr > > | arguments |
string | name |
string | init ="0" |
ItemPtr | state |
![]() | |
int | cachedOrder =-1 |
VariableValuePtr | result |
reference to where this node's value is stored More... | |
Additional Inherited Members | |
![]() | |
enum | Type { constant, time, integrate, differentiate, data, ravel, euler, pi, zero, one, inf, percent, add, subtract, multiply, divide, min, max, and_, or_, log, pow, polygamma, lt, le, eq, userFunction, copy, sqrt, exp, ln, sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, abs, floor, frac, not_, Gamma, fact, sum, product, infimum, supremum, any, all, infIndex, supIndex, runningSum, runningProduct, difference, differencePlus, innerProduct, outerProduct, index, gather, meld, merge, slice, size, shape, mean, median, stdDev, moment, histogram, covariance, correlation, linearRegression, numOps } |
enum | Group { general, constop, binop, function, reduction, scan, tensor, statistics } |
Definition at line 217 of file equations.h.
|
inline |
Definition at line 223 of file equations.h.
|
overridevirtual |
adds EvalOps to an EvalOpVector representing this node.
Implements MathDAG::Node.
Definition at line 317 of file equations.cc.
References MathDAG::anonymous_namespace{equations.cc}::addTensorOp(), MathDAG::anonymous_namespace{equations.cc}::cumulate(), minsky::Minsky::displayErrorItem(), minsky::doOneEvent(), minsky::minsky(), minsky::VariableType::tempFlow, and minsky::VariableType::undefined.
void MathDAG::OperationDAGBase::checkArg | ( | unsigned | i, |
unsigned | j | ||
) | const |
Definition at line 227 of file equations.cc.
|
static |
factory method
Definition at line 176 of file equations.cc.
References MathDAG::anonymous_namespace{equations.cc}::operationDAGFactory.
Referenced by MathDAG::SystemOfEquations::makeDAG(), and MathDAG::Expr::newNode().
|
overridevirtual |
returns evaluation order in sequence of variable defintions
maxOrder | is used to limit the recursion depth |
Implements MathDAG::Node.
Reimplemented in MathDAG::GodleyColumnDAG.
Definition at line 185 of file equations.cc.
|
overridevirtual |
returns true if the evaluation of this involves tensor processing
visited | set to break graph cycles |
Implements MathDAG::Node.
Definition at line 207 of file equations.cc.
References minsky::OperationType::classify().
|
inline |
returns true if the evaluation of this involves tensor processing
Definition at line 116 of file equations.h.
virtual bool MathDAG::Node::tensorEval |
returns true if the evaluation of this involves tensor processing
visited | set to break graph cycles |
|
pure virtual |
Implemented in MathDAG::OperationDAG< T >, and MathDAG::OperationDAG< OperationType::subtract >.
vector<vector<WeakNodePtr> > MathDAG::OperationDAGBase::arguments |
Definition at line 219 of file equations.h.
Referenced by MathDAG::SystemOfEquations::derivative(), MathDAG::OperationDAG< OperationType::subtract >::latex(), MathDAG::SystemOfEquations::processGodleyTable(), and MathDAG::OperationDAG< OperationType::subtract >::render().
string MathDAG::OperationDAGBase::init ="0" |
Definition at line 221 of file equations.h.
string MathDAG::OperationDAGBase::name |
Definition at line 220 of file equations.h.
ItemPtr MathDAG::OperationDAGBase::state |
Definition at line 222 of file equations.h.
Referenced by MathDAG::anonymous_namespace{equations.cc}::addTensorOp().