Logo
Reference manual - version qle_version
Public Types | Public Member Functions | Static Public Attributes | List of all members
ComputationGraph Class Reference

#include <qle/ad/computationgraph.hpp>

Public Types

enum class  VarDoesntExist { Nan , Create , Throw }
 

Public Member Functions

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
 

Static Public Attributes

static std::size_t nan
 

Detailed Description