#include <qle/ad/computationgraph.hpp>
|
enum class | VarDoesntExist { Nan
, Create
, Throw
} |
|
|
void | clear () |
|
std::size_t | size () const |
|
std::size_t | insert (const std::string &label=std::string()) |
|
std::size_t | insert (const std::vector< std::size_t > &predecessors, const std::size_t opId, const std::string &label=std::string()) |
|
const std::vector< std::size_t > & | predecessors (const std::size_t node) const |
|
std::size_t | opId (const std::size_t node) const |
|
std::size_t | maxNodeRequiringArg (const std::size_t node) const |
|
std::size_t | constant (const double c) |
|
const std::map< double, std::size_t > & | constants () const |
|
bool | isConstant (const std::size_t node) const |
|
double | constantValue (const std::size_t node) const |
|
std::size_t | variable (const std::string &name, const VarDoesntExist v=VarDoesntExist::Throw) |
|
const std::map< std::string, std::size_t > & | variables () const |
|
void | setVariable (const std::string &name, const std::size_t node) |
|
void | enableLabels (const bool b=true) |
|
const std::map< std::size_t, std::set< std::string > > & | labels () const |
|
void | startRedBlock () |
|
void | endRedBlock () |
|
std::size_t | redBlockId (const std::size_t node) const |
|
const std::vector< std::pair< std::size_t, std::size_t > > & | redBlockRanges () const |
|
const std::set< std::size_t > & | redBlockDependencies () const |
|
- opId = 0 should refer to "no operation"