about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBrendan Zabarauskas <bjzaba@yahoo.com.au>2013-05-06 16:10:26 +1000
committerBrendan Zabarauskas <bjzaba@yahoo.com.au>2013-05-06 21:51:07 +1000
commit02118330084539fdc87533d46aabeef2257ee835 (patch)
treeeb518dc22f21ed58165b43acada47e6d8fca7955 /src/libstd
parent6e6a4be19d8e6a2cedc66be6cc602db8a1e71acd (diff)
downloadrust-02118330084539fdc87533d46aabeef2257ee835.tar.gz
rust-02118330084539fdc87533d46aabeef2257ee835.zip
Move FuzzyEq trait into core::cmp and rename it to 'ApproxEq'
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/cmp.rs102
-rw-r--r--src/libstd/std.rc1
2 files changed, 0 insertions, 103 deletions
diff --git a/src/libstd/cmp.rs b/src/libstd/cmp.rs
deleted file mode 100644
index ea3793c1374..00000000000
--- a/src/libstd/cmp.rs
+++ /dev/null
@@ -1,102 +0,0 @@
-// Copyright 2012-2013 The Rust Project Developers. See the
-// COPYRIGHT file at the top-level directory of this distribution and at
-// http://rust-lang.org/COPYRIGHT.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Additional general-purpose comparison functionality.
-
-use core::f32;
-use core::f64;
-use core::float;
-
-pub static FUZZY_EPSILON: float = 1.0e-6;
-
-pub trait FuzzyEq<Eps> {
-    fn fuzzy_eq(&self, other: &Self) -> bool;
-    fn fuzzy_eq_eps(&self, other: &Self, epsilon: &Eps) -> bool;
-}
-
-impl FuzzyEq<float> for float {
-    fn fuzzy_eq(&self, other: &float) -> bool {
-        self.fuzzy_eq_eps(other, &FUZZY_EPSILON)
-    }
-
-    fn fuzzy_eq_eps(&self, other: &float, epsilon: &float) -> bool {
-        float::abs(*self - *other) < *epsilon
-    }
-}
-
-impl FuzzyEq<f32> for f32 {
-    fn fuzzy_eq(&self, other: &f32) -> bool {
-        self.fuzzy_eq_eps(other, &(FUZZY_EPSILON as f32))
-    }
-
-    fn fuzzy_eq_eps(&self, other: &f32, epsilon: &f32) -> bool {
-        f32::abs(*self - *other) < *epsilon
-    }
-}
-
-impl FuzzyEq<f64> for f64 {
-    fn fuzzy_eq(&self, other: &f64) -> bool {
-        self.fuzzy_eq_eps(other, &(FUZZY_EPSILON as f64))
-    }
-
-    fn fuzzy_eq_eps(&self, other: &f64, epsilon: &f64) -> bool {
-        f64::abs(*self - *other) < *epsilon
-    }
-}
-
-#[test]
-fn test_fuzzy_equals() {
-    assert!((&1.0f).fuzzy_eq(&1.0));
-    assert!((&1.0f32).fuzzy_eq(&1.0f32));
-    assert!((&1.0f64).fuzzy_eq(&1.0f64));
-}
-
-#[test]
-fn test_fuzzy_eq_eps() {
-    assert!((&1.2f).fuzzy_eq_eps(&0.9, &0.5));
-    assert!(!(&1.5f).fuzzy_eq_eps(&0.9, &0.5));
-}
-
-#[cfg(test)]
-mod test_complex{
-    use cmp::*;
-
-    struct Complex { r: float, i: float }
-
-    impl FuzzyEq<float> for Complex {
-        fn fuzzy_eq(&self, other: &Complex) -> bool {
-            self.fuzzy_eq_eps(other, &FUZZY_EPSILON)
-        }
-
-        fn fuzzy_eq_eps(&self, other: &Complex,
-                             epsilon: &float) -> bool {
-            self.r.fuzzy_eq_eps(&other.r, epsilon) &&
-            self.i.fuzzy_eq_eps(&other.i, epsilon)
-        }
-    }
-
-    #[test]
-    fn test_fuzzy_equals() {
-        let a = Complex {r: 0.9, i: 0.9};
-        let b = Complex {r: 0.9, i: 0.9};
-
-        assert!((a.fuzzy_eq(&b)));
-    }
-
-    #[test]
-    fn test_fuzzy_eq_eps() {
-        let other = Complex {r: 0.9, i: 0.9};
-
-        assert!((&Complex {r: 0.9, i: 1.2}).fuzzy_eq_eps(&other, &0.5));
-        assert!((&Complex {r: 1.2, i: 0.9}).fuzzy_eq_eps(&other, &0.5));
-        assert!(!(&Complex {r: 0.9, i: 1.5}).fuzzy_eq_eps(&other, &0.5));
-        assert!(!(&Complex {r: 1.5, i: 0.9}).fuzzy_eq_eps(&other, &0.5));
-    }
-}
diff --git a/src/libstd/std.rc b/src/libstd/std.rc
index 4f9de29e726..32c7c82a312 100644
--- a/src/libstd/std.rc
+++ b/src/libstd/std.rc
@@ -86,7 +86,6 @@ pub mod term;
 pub mod time;
 pub mod arena;
 pub mod par;
-pub mod cmp;
 pub mod base64;
 pub mod rl;
 pub mod workcache;