Arithmetic operators

template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< Ldomain, Lvalue,
Lvalidator > 
boost::probabilities::operator+ (const likelihood< Ldomain, Lvalue, Lvalidator > &lhs, const likelihood< Rdomain, Rvalue, Rvalidator > &rhs)
 Addition of likelihoods.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< Ldomain, Lvalue,
Lvalidator > 
boost::probabilities::operator+ (const likelihood< Ldomain, Lvalue, Lvalidator > &lhs, const probability< Rdomain, Rvalue, Rvalidator > &rhs)
 Mixed addition of a likelihood and a probability.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< Ldomain, Lvalue,
Lvalidator > 
boost::probabilities::operator+ (const probability< Ldomain, Lvalue, Lvalidator > &lhs, const likelihood< Rdomain, Rvalue, Rvalidator > &rhs)
 Mixed addition of a probability and a likelihood.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< Ldomain, Lvalue,
Lvalidator > 
boost::probabilities::operator- (const likelihood< Ldomain, Lvalue, Lvalidator > &lhs, const likelihood< Rdomain, Rvalue, Rvalidator > &rhs)
 Subtraction of likelihoods.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< log_domain, Lvalue,
Lvalidator > 
boost::probabilities::operator * (const likelihood< Ldomain, Lvalue, Lvalidator > &lhs, const likelihood< Rdomain, Rvalue, Rvalidator > &rhs)
 Multiplication of likelihoods.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< log_domain, Lvalue,
Lvalidator > 
boost::probabilities::operator * (const likelihood< Ldomain, Lvalue, Lvalidator > &lhs, const probability< Rdomain, Rvalue, Rvalidator > &rhs)
 Mixed multiplication of a likelihood and a probability.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< log_domain, Lvalue,
Lvalidator > 
boost::probabilities::operator * (const probability< Ldomain, Lvalue, Lvalidator > &lhs, const likelihood< Rdomain, Rvalue, Rvalidator > &rhs)
 Mixed multiplication of a probability and a likelihood.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
likelihood< log_domain, Lvalue,
Lvalidator > 
boost::probabilities::operator/ (const likelihood< Ldomain, Lvalue, Lvalidator > &lhs, const likelihood< Rdomain, Rvalue, Rvalidator > &rhs)
 Division of likelihoods.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
probability< Ldomain, Lvalue,
Lvalidator > 
boost::probabilities::operator+ (const probability< Ldomain, Lvalue, Lvalidator > &lhs, const probability< Rdomain, Rvalue, Rvalidator > &rhs)
 Addition of probabilities.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
probability< Ldomain, Lvalue,
Lvalidator > 
boost::probabilities::operator- (const probability< Ldomain, Lvalue, Lvalidator > &lhs, const probability< Rdomain, Rvalue, Rvalidator > &rhs)
 Subtraction of probabilities.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
probability< log_domain, Lvalue,
Lvalidator > 
boost::probabilities::operator * (const probability< Ldomain, Lvalue, Lvalidator > &lhs, const probability< Rdomain, Rvalue, Rvalidator > &rhs)
 Multiplication of probabilities.
template<typename Ldomain, typename Lvalue, typename Lvalidator, typename Rdomain, typename Rvalue, typename Rvalidator>
probability< log_domain, Lvalue,
Lvalidator > 
boost::probabilities::operator/ (const probability< Ldomain, Lvalue, Lvalidator > &lhs, const probability< Rdomain, Rvalue, Rvalidator > &rhs)
 Division of probabilities.

Detailed Description

A complete series of arithmetic operators is provided for both the likelihood and probability classes. The semantics of each arithmetic operator corresponds to that for native (i.e., boost::probabilities::linear_domain) quantities. Within the boost::probabilities::log_domain, likelihood and probability values are represented internally as the logarithm of the quantity. Consequently, the implementation of the additive operators for the boost::probabilities::log_domain are in terms log(), exp(), and log1p(), while those for multiplicative operators are in terms of addition/subtraction of the logarithms.

Note that all arithmetic operators return values corresponding to the type of the left hand side operand. One consequence of this is that, with respect to the return type and (in the case of errors introduced by representing real numbers to finite precision) the return value, mixed type addition and multiplication are not strictly commutative.


Generated on Thu Oct 18 11:10:28 2007 for Boost.Probability: C++ Probability and Likelihood Library by  doxygen 1.4.5