diff --git a/src/mis.rs b/src/mis.rs index 1a92dd5..609be2b 100644 --- a/src/mis.rs +++ b/src/mis.rs @@ -1,13 +1,21 @@ #![allow(dead_code)] pub fn balance_heuristic(a: f32, b: f32) -> f32 { - let mis_fac = a / (a + b); - a / mis_fac + if a.is_infinite() { + a + } else { + let mis_fac = a / (a + b); + a / mis_fac + } } pub fn power_heuristic(a: f32, b: f32) -> f32 { - let a2 = a * a; - let b2 = b * b; - let mis_fac = a2 / (a2 + b2); - a / mis_fac + if a.is_infinite() { + a + } else { + let a2 = a * a; + let b2 = b * b; + let mis_fac = a2 / (a2 + b2); + a / mis_fac + } }