about summary refs log tree commit diff
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2017-04-14 02:58:54 +0200
committerest31 <MTest31@outlook.com>2017-04-14 03:39:03 +0200
commitbaeec7b8eb3ee0fd7a40bff409400903e5679ff5 (patch)
treeced64af14939559e7a3c338fac601061b1adcf2c
parent43ef63d5b4279ef97ed921338a69b0d62101ca83 (diff)
Avoid to use floating point match
Its going to be forbidden, see issue 41255.
-rw-r--r--src/librand/distributions/gamma.rs12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/librand/distributions/gamma.rs b/src/librand/distributions/gamma.rs
index e024b62adfb..9a42b82beff 100644
--- a/src/librand/distributions/gamma.rs
+++ b/src/librand/distributions/gamma.rs
@@ -103,12 +103,14 @@ impl Gamma {
         assert!(shape > 0.0, "Gamma::new called with shape <= 0");
         assert!(scale > 0.0, "Gamma::new called with scale <= 0");
 
-        let repr = match shape {
-            1.0 => One(Exp::new(1.0 / scale)),
-            0.0...1.0 => Small(GammaSmallShape::new_raw(shape, scale)),
-            _ => Large(GammaLargeShape::new_raw(shape, scale)),
+        let repr = if shape == 1.0 {
+            One(Exp::new(1.0 / scale))
+        } else if 0.0 <= shape && shape < 1.0 {
+            Small(GammaSmallShape::new_raw(shape, scale))
+        } else {
+            Large(GammaLargeShape::new_raw(shape, scale))
         };
-        Gamma { repr: repr }
+        Gamma { repr }
     }
 }