autoppl  v0.8
A C++ template library for probabilistic programming
ppl::expr::model::BarEqNode< VarType, DistType > Struct Template Reference

#include <bar_eq.hpp>

Inheritance diagram for ppl::expr::model::BarEqNode< VarType, DistType >:
ppl::util::ModelExprBase< BarEqNode< VarType, DistType > > ppl::util::BaseCRTP< BarEqNode< VarType, DistType > >

Public Types

using var_t = VarType
 
using dist_t = DistType
 
using dist_value_t = typename util::dist_expr_traits< dist_t >::dist_value_t
 

Public Member Functions

 BarEqNode (const var_t &var, const dist_t &dist) noexcept
 
template<class BarEqNodeFunc >
void traverse (BarEqNodeFunc &&eq_f)
 
template<class BarEqNodeFunc >
void traverse (BarEqNodeFunc &&eq_f) const
 
auto pdf ()
 
auto log_pdf ()
 
template<class PtrPackType >
auto ad_log_pdf (const PtrPackType &pack) const
 
template<class PtrPackType >
void bind (const PtrPackType &pack)
 
void activate_refcnt () const
 
var_tget_variable ()
 
const var_tget_variable () const
 
dist_tget_distribution ()
 
const dist_tget_distribution () const
 
- Public Member Functions inherited from ppl::util::BaseCRTP< BarEqNode< VarType, DistType > >
BarEqNode< VarType, DistType > & self ()
 
const BarEqNode< VarType, DistType > & self () const
 

Detailed Description

template<class VarType, class DistType>
struct ppl::expr::model::BarEqNode< VarType, DistType >

This class represents a node in the model expression that relates a variable with a distribution. It cannot relate a variable expression in general to a distribution.

Member Typedef Documentation

◆ dist_t

template<class VarType , class DistType >
using ppl::expr::model::BarEqNode< VarType, DistType >::dist_t = DistType

◆ dist_value_t

template<class VarType , class DistType >
using ppl::expr::model::BarEqNode< VarType, DistType >::dist_value_t = typename util::dist_expr_traits<dist_t>::dist_value_t

◆ var_t

template<class VarType , class DistType >
using ppl::expr::model::BarEqNode< VarType, DistType >::var_t = VarType

Constructor & Destructor Documentation

◆ BarEqNode()

template<class VarType , class DistType >
ppl::expr::model::BarEqNode< VarType, DistType >::BarEqNode ( const var_t var,
const dist_t dist 
)
inlinenoexcept

Member Function Documentation

◆ activate_refcnt()

template<class VarType , class DistType >
void ppl::expr::model::BarEqNode< VarType, DistType >::activate_refcnt ( ) const
inline

◆ ad_log_pdf()

template<class VarType , class DistType >
template<class PtrPackType >
auto ppl::expr::model::BarEqNode< VarType, DistType >::ad_log_pdf ( const PtrPackType &  pack) const
inline

◆ bind()

template<class VarType , class DistType >
template<class PtrPackType >
void ppl::expr::model::BarEqNode< VarType, DistType >::bind ( const PtrPackType &  pack)
inline

◆ get_distribution() [1/2]

template<class VarType , class DistType >
dist_t& ppl::expr::model::BarEqNode< VarType, DistType >::get_distribution ( )
inline

◆ get_distribution() [2/2]

template<class VarType , class DistType >
const dist_t& ppl::expr::model::BarEqNode< VarType, DistType >::get_distribution ( ) const
inline

◆ get_variable() [1/2]

template<class VarType , class DistType >
var_t& ppl::expr::model::BarEqNode< VarType, DistType >::get_variable ( )
inline

◆ get_variable() [2/2]

template<class VarType , class DistType >
const var_t& ppl::expr::model::BarEqNode< VarType, DistType >::get_variable ( ) const
inline

◆ log_pdf()

template<class VarType , class DistType >
auto ppl::expr::model::BarEqNode< VarType, DistType >::log_pdf ( )
inline

◆ pdf()

template<class VarType , class DistType >
auto ppl::expr::model::BarEqNode< VarType, DistType >::pdf ( )
inline

◆ traverse() [1/2]

template<class VarType , class DistType >
template<class BarEqNodeFunc >
void ppl::expr::model::BarEqNode< VarType, DistType >::traverse ( BarEqNodeFunc &&  eq_f)
inline

Generic traversal function. Assumes that eq_f is a function that takes in 1 parameter, which is simply the current object.

◆ traverse() [2/2]

template<class VarType , class DistType >
template<class BarEqNodeFunc >
void ppl::expr::model::BarEqNode< VarType, DistType >::traverse ( BarEqNodeFunc &&  eq_f) const
inline

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