MC++
mc::FFOp Class Reference

Class defining operations in a factorable function. More...

#include <ffunc.hpp>

Collaboration diagram for mc::FFOp:
enum  TYPE
 Enumeration type for unary and binary operations.
 
TYPE type
 Type of operation.
 
FFVarpres
 Pointer to operation result.
 
FFVarplop
 Pointer to left operand.
 
FFVarprop
 Pointer to right operand.
 
 FFOp (TYPE top, FFVar *lop=0, FFVar *rop=0, FFVar *res=0)
 Constructor.
 
 ~FFOp ()
 Destructor.
 
void propagate_subgraph (std::list< const FFOp * > &Ops) const
 Propagate subset of operations participating in subgraph.
 
template<typename U >
void reset_val_subgraph (const U &U_dum) const
 Reset mc::FFVar::_val field in subgraph.
 
template<typename U >
void reset_val_subgraph (const U &U_dum, const std::vector< const FFVar * > &vDep, const std::vector< const FFVar * > &vIndep) const
 Reset mc::FFVar::_val field in subgraph.
 
void generate_dot_script (std::ostream &os) const
 Propagate script for DAG using DOT and display to os
 
void append_dot_script (std::ostream &os) const
 Append script for current operation using DOT to os
 
void append_dot_script_factor (std::ostream &os, const std::string &fname, const bool unary, const unsigned int fontsize, const bool dotted=false) const
 Append script for factor fname using DOT to os
 
void append_dot_script_variable (std::ostream &os, const bool constant, const unsigned int fontsize) const
 Append script for variable/contant using DOT to os
 
template<typename U >
void evaluate (const U &U_dum) const
 Evaluate operation in U arithmetic, dynamically allocating the result.
 
template<typename U >
void evaluate (U *pUres) const
 Evaluate operation in U arithmetic, putting the result in pUres
 
void flag (const bool visited=true) const
 Flag operation as visited or not.
 
const bool stat () const
 Retreive operation status (visited or not)
 
const bool & stat ()
 Retreive/set operation status (visited or not)
 
bool is_univariate () const
 Return whether or not operation is univariate.
 

Detailed Description

mc::FFOp is a C++ class defining operations in the factored form of a factorable function.


The documentation for this class was generated from the following file: