24 #ifndef __UTILS_MATH_PROBDIST_H_ 25 #define __UTILS_MATH_PROBDIST_H_ 40 inline float gauss(
const float diff,
41 const float sigma = 1.0 )
43 return sigma==0.0 ? (diff==0.0? 1.0 : 0.0) : (1.0 / sqrtf(2.0 * M_PI)) * 1/sigma * expf( -0.5 * ( (diff*diff) / (sigma*sigma))) ;
57 float begin=std::max(mu1-3*sigma1, mu2-3*sigma2);
58 float end=std::min(mu1+3*sigma1, mu2+3*sigma2);
60 for (
float i=begin;i<end; i+=step){
61 integral+=std::min(
gauss(mu1-i,sigma1),
gauss(mu2-i,sigma2));
Fawkes library namespace.
float gauss(const float diff, const float sigma=1.0)
The normal distribution.
float intersection_integral_oftwo_gaussians(float mu1, float sigma1, float mu2, float sigma2, float step)
Computes the intersection integral of two gaussians given.