--- a/src/kernels/gaussian.rs Wed Mar 22 20:37:49 2023 +0200 +++ b/src/kernels/gaussian.rs Tue Aug 01 10:25:09 2023 +0300 @@ -188,12 +188,11 @@ let a = cut.r.value(); let b = ind.r.value(); let σ = gaussian.variance.value().sqrt(); - let π = F::PI; let t = F::SQRT_2 * σ; - let c = σ * (8.0/π).sqrt(); + let c = 0.5; // 1/(σ√(2π) * σ√(π/2) = 1/2 // This is just a product of one-dimensional versions - let unscaled = y.product_map(|x| { + y.product_map(|x| { let c1 = -(a.min(b + x)); //(-a).max(-x-b); let c2 = a.min(b - x); if c1 >= c2 { @@ -204,9 +203,7 @@ debug_assert!(e2 >= e1); c * (e2 - e1) } - }); - - unscaled / gaussian.scale() + }) } }