lppl  v2.0.0

◆ operator()() [2/3]

template<template< typename, typename, typename, template< class, class, class... > class, typename... > class A, typename I , typename O , typename V , template< class, class, class... > class Q, typename... Ts>
template<template< typename, typename, typename, template< class, class, class... > class, typename... > class G = A>
std::enable_if_t<std::is_same_v<typename has_proposal<G>::type, Endog>, V> Inference< A, I, O, V, Q, Ts >::operator() ( I &  input,
endog_proposal_t< Ts... > &  proposal 
)
inline

Runs the specified inference algorithm with the specified queryer using the specified proposal distribution.

This operator exists only for inference algorithms that require a endogenous proposal distribution (e.g., generic metropolis-hastings)

Parameters
inputthe input data to the probabilistic program
proposalthe proposal distribution
Returns
V The return value of the queryer