autoppl  v0.8
A C++ template library for probabilistic programming
ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > > Struct Template Reference

#include <program.hpp>

Inheritance diagram for ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >:
ppl::util::ProgramExprBase< ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > > > ppl::expr::prog::ProgramNodeBase< ModelExpr > ppl::util::BaseCRTP< ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > > >

Public Types

using base_t = ProgramNodeBase< ModelExpr >
 
using tp_expr_t = TPExpr
 
using model_t = ModelExpr
 
- Public Types inherited from ppl::expr::prog::ProgramNodeBase< ModelExpr >
using model_t = ModelExpr
 

Public Member Functions

 ProgramNode (const tp_expr_t &tp_expr, const model_t &model)
 
auto log_pdf ()
 
template<class PtrPackType >
auto ad_log_pdf (const PtrPackType &pack) const
 
auto activate () const
 
template<class PtrPackType >
void bind (const PtrPackType &pack)
 
template<class GenType >
void init_params (GenType &gen, bool prune=true, double radius=2.)
 
- Public Member Functions inherited from ppl::util::BaseCRTP< ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > > >
ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > > & self ()
 
const ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > > & self () const
 
- Public Member Functions inherited from ppl::expr::prog::ProgramNodeBase< ModelExpr >
 ProgramNodeBase (const model_t &model)
 
auto & get_model ()
 
const auto & get_model () const
 

Public Attributes

model_t model_
 

Additional Inherited Members

- Protected Attributes inherited from ppl::expr::prog::ProgramNodeBase< ModelExpr >
model_t model_
 

Member Typedef Documentation

◆ base_t

template<class TPExpr , class ModelExpr >
using ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::base_t = ProgramNodeBase<ModelExpr>

◆ model_t

template<class TPExpr , class ModelExpr >
using ppl::expr::prog::ProgramNodeBase< ModelExpr >::model_t = ModelExpr

◆ tp_expr_t

template<class TPExpr , class ModelExpr >
using ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::tp_expr_t = TPExpr

Constructor & Destructor Documentation

◆ ProgramNode()

template<class TPExpr , class ModelExpr >
ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::ProgramNode ( const tp_expr_t tp_expr,
const model_t model 
)
inline

Member Function Documentation

◆ activate()

template<class TPExpr , class ModelExpr >
auto ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::activate ( ) const
inline

◆ ad_log_pdf()

template<class TPExpr , class ModelExpr >
template<class PtrPackType >
auto ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::ad_log_pdf ( const PtrPackType &  pack) const
inline

◆ bind()

template<class TPExpr , class ModelExpr >
template<class PtrPackType >
void ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::bind ( const PtrPackType &  pack)
inline

◆ init_params()

template<class TPExpr , class ModelExpr >
template<class GenType >
void ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::init_params ( GenType &  gen,
bool  prune = true,
double  radius = 2. 
)
inline

◆ log_pdf()

template<class TPExpr , class ModelExpr >
auto ppl::expr::prog::ProgramNode< std::tuple< TPExpr, ModelExpr >, std::enable_if_t< util::is_var_expr_v< TPExpr > &&util::is_model_expr_v< ModelExpr > > >::log_pdf ( )
inline

Member Data Documentation

◆ model_

template<class TPExpr , class ModelExpr >
model_t ppl::expr::prog::ProgramNodeBase< ModelExpr >::model_

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