autoppl  v0.8
A C++ template library for probabilistic programming
op_overloads.hpp File Reference

Go to the source code of this file.

Namespaces

 ppl
 

Functions

template<class LHSType , class RHSType , class = std::enable_if_t< util::is_not_both_arithmetic_v<LHSType, RHSType> && util::is_valid_op_param_v<LHSType> && util::is_valid_op_param_v<RHSType> >>
constexpr auto ppl::operator+ (const LHSType &lhs, const RHSType &rhs)
 
template<class LHSType , class RHSType , class = std::enable_if_t< util::is_not_both_arithmetic_v<LHSType, RHSType> && util::is_valid_op_param_v<LHSType> && util::is_valid_op_param_v<RHSType> >>
constexpr auto ppl::operator- (const LHSType &lhs, const RHSType &rhs)
 
template<class LHSType , class RHSType , class = std::enable_if_t< util::is_not_both_arithmetic_v<LHSType, RHSType> && util::is_valid_op_param_v<LHSType> && util::is_valid_op_param_v<RHSType> >>
constexpr auto ppl::operator* (const LHSType &lhs, const RHSType &rhs)
 
template<class LHSType , class RHSType , class = std::enable_if_t< util::is_not_both_arithmetic_v<LHSType, RHSType> && util::is_valid_op_param_v<LHSType> && util::is_valid_op_param_v<RHSType> >>
constexpr auto ppl::operator/ (const LHSType &lhs, const RHSType &rhs)
 
template<class TParamViewType , class VarExprType , class = std::enable_if_t< util::is_tparam_v<TParamViewType> && util::is_valid_op_param_v<VarExprType> >>
constexpr auto ppl::operator+= (const TParamViewType &tp_view, const VarExprType &expr)
 
template<class TParamViewType , class VarExprType , class = std::enable_if_t< util::is_tparam_v<TParamViewType> && util::is_valid_op_param_v<VarExprType> >>
constexpr auto ppl::operator-= (const TParamViewType &tp_view, const VarExprType &expr)
 
template<class TParamViewType , class VarExprType , class = std::enable_if_t< util::is_tparam_v<TParamViewType> && util::is_valid_op_param_v<VarExprType> >>
constexpr auto ppl::operator*= (const TParamViewType &tp_view, const VarExprType &expr)
 
template<class TParamViewType , class VarExprType , class = std::enable_if_t< util::is_tparam_v<TParamViewType> && util::is_valid_op_param_v<VarExprType> >>
constexpr auto ppl::operator/= (const TParamViewType &tp_view, const VarExprType &expr)
 
template<class LHSExprType , class RHSExprType , class = std::enable_if_t< (util::is_var_expr_v<LHSExprType> || util::is_model_expr_v<LHSExprType>) && (util::is_var_expr_v<RHSExprType> || util::is_model_expr_v<RHSExprType>) >>
constexpr auto ppl::operator, (const LHSExprType &lhs, const RHSExprType &rhs)
 
template<class VarType , class DistType , class = std::enable_if_t< util::is_var_v<VarType> && util::is_dist_assignable_v<VarType> && util::is_dist_expr_v<DistType> >>
constexpr auto ppl::operator|= (const VarType &var, const DistType &dist)
 
template<class TPExpr , class ModelExpr , class = std::enable_if_t< util::is_var_expr_v<TPExpr> && util::is_model_expr_v<ModelExpr> >>
constexpr auto ppl::operator| (const TPExpr &tp, const ModelExpr &model)