24 #ifndef _UTILS_MATH_PROBDIST_H_ 25 #define _UTILS_MATH_PROBDIST_H_ 37 gauss(
const float diff,
const float sigma = 1.0)
40 ? (diff == 0.0 ? 1.0 : 0.0)
41 : (1.0 / sqrtf(2.0 * M_PI)) * 1 / sigma * expf(-0.5 * ((diff * diff) / (sigma * sigma)));
55 float begin = std::max(mu1 - 3 * sigma1, mu2 - 3 * sigma2);
56 float end = std::min(mu1 + 3 * sigma1, mu2 + 3 * sigma2);
58 for (
float i = begin; i < end; i += step) {
59 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.