Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions approx/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,24 +20,25 @@ keywords = [
]

[package.metadata.docs.rs]
features = ["std", "num-complex", "array_impl", "tuple_impl", "ordered-float"]
features = ["num_complex", "array_impl", "tuple_impl", "ordered_float"]

[lib]
name = "approx"

[features]
default = ["std", "derive"]
std = []
default = ["array_impl", "tuple_impl"]
array_impl = []
tuple_impl = ["paste"]
vec_impl = []
indexmap_impl = ["dep:indexmap"]
derive = []
derive = ["dep:approx-derive"]
ordered_float = ["dep:ordered-float"]
num_complex = ["dep:num-complex"]

[dependencies]
num-traits = { version = "0.2.19", default-features = false }
num-complex = { version = "0.4.6", optional = true }
ordered-float = { version = "5.0", optional = true }
approx-derive = { path = "../approx-derive/", version = "0.6.0-rc1" }
approx-derive = { path = "../approx-derive/", version = "0.6.0-rc1", optional = true }
paste = { version = "1.0.15", optional = true }
indexmap = { version = "2.12.1", optional = true, default-features = false }
26 changes: 13 additions & 13 deletions approx/src/abs_diff_eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ use core::cell;
use core::hash::{BuildHasher, Hash};
#[cfg(feature = "indexmap_impl")]
use indexmap::IndexMap;
#[cfg(feature = "num-complex")]
#[cfg(feature = "num_complex")]
use num_complex::Complex;
#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
use num_traits::Float;
#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
use ordered_float::{NotNan, OrderedFloat};

/// Equality that is defined using the absolute difference of two numbers.
Expand Down Expand Up @@ -326,8 +326,8 @@ where
}
}

#[cfg(feature = "num-complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num-complex")))]
#[cfg(feature = "num_complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num_complex")))]
impl<T: AbsDiffEq> AbsDiffEq for Complex<T>
where
T::Epsilon: Clone,
Expand All @@ -346,8 +346,8 @@ where
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: AbsDiffEq + Copy> AbsDiffEq for NotNan<T> {
type Epsilon = T::Epsilon;

Expand All @@ -362,8 +362,8 @@ impl<T: AbsDiffEq + Copy> AbsDiffEq for NotNan<T> {
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: AbsDiffEq + Float + ordered_float::FloatCore> AbsDiffEq<T> for NotNan<T> {
type Epsilon = T::Epsilon;

Expand All @@ -378,8 +378,8 @@ impl<T: AbsDiffEq + Float + ordered_float::FloatCore> AbsDiffEq<T> for NotNan<T>
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: AbsDiffEq + Float + ordered_float::FloatCore> AbsDiffEq for OrderedFloat<T> {
type Epsilon = T::Epsilon;

Expand All @@ -394,8 +394,8 @@ impl<T: AbsDiffEq + Float + ordered_float::FloatCore> AbsDiffEq for OrderedFloat
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: AbsDiffEq + Float + ordered_float::FloatCore> AbsDiffEq<T> for OrderedFloat<T> {
type Epsilon = T::Epsilon;

Expand Down
8 changes: 4 additions & 4 deletions approx/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,12 +164,12 @@
#![allow(clippy::transmute_float_to_int)]
#![cfg_attr(docsrs, feature(doc_cfg))]

#[cfg(feature = "num-complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num-complex")))]
#[cfg(feature = "num_complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num_complex")))]
extern crate num_complex;
extern crate num_traits;
#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
extern crate ordered_float;

#[cfg(any(feature = "vec_impl", feature = "indexmap_impl"))]
Expand Down
26 changes: 13 additions & 13 deletions approx/src/relative_eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ use core::hash::{BuildHasher, Hash};
use core::{cell, f32, f64};
#[cfg(feature = "indexmap_impl")]
use indexmap::IndexMap;
#[cfg(feature = "num-complex")]
#[cfg(feature = "num_complex")]
use num_complex::Complex;

#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
use num_traits::Float;
#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
use ordered_float::{NotNan, OrderedFloat};

/// Equality comparisons between two numbers using both the absolute difference and
Expand Down Expand Up @@ -342,8 +342,8 @@ mod relative_eq_tuple_impls {
impl_relative_eq!(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
}

#[cfg(feature = "num-complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num-complex")))]
#[cfg(feature = "num_complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num_complex")))]
impl<T: RelativeEq> RelativeEq for Complex<T>
where
T::Epsilon: Clone,
Expand All @@ -365,8 +365,8 @@ where
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: RelativeEq + Copy> RelativeEq for NotNan<T> {
#[inline]
fn default_max_relative() -> Self::Epsilon {
Expand All @@ -389,8 +389,8 @@ impl<T: RelativeEq + Copy> RelativeEq for NotNan<T> {
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: RelativeEq + Float + ordered_float::FloatCore> RelativeEq<T> for NotNan<T> {
#[inline]
fn default_max_relative() -> Self::Epsilon {
Expand All @@ -403,8 +403,8 @@ impl<T: RelativeEq + Float + ordered_float::FloatCore> RelativeEq<T> for NotNan<
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: RelativeEq + Float + ordered_float::FloatCore> RelativeEq for OrderedFloat<T> {
#[inline]
fn default_max_relative() -> Self::Epsilon {
Expand All @@ -427,8 +427,8 @@ impl<T: RelativeEq + Float + ordered_float::FloatCore> RelativeEq for OrderedFlo
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: RelativeEq + Float + ordered_float::FloatCore> RelativeEq<T> for OrderedFloat<T> {
#[inline]
fn default_max_relative() -> Self::Epsilon {
Expand Down
26 changes: 13 additions & 13 deletions approx/src/ulps_eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ use core::cell;
use core::hash::{BuildHasher, Hash};
#[cfg(feature = "indexmap_impl")]
use indexmap::IndexMap;
#[cfg(feature = "num-complex")]
#[cfg(feature = "num_complex")]
use num_complex::Complex;
#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
use num_traits::Float;
use num_traits::Signed;
#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
use ordered_float::{NotNan, OrderedFloat};

use crate::AbsDiffEq;
Expand Down Expand Up @@ -290,8 +290,8 @@ mod ulps_eq_tuple_impls {
impl_ulps_eq!(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
}

#[cfg(feature = "num-complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num-complex")))]
#[cfg(feature = "num_complex")]
#[cfg_attr(docsrs, doc(cfg(feature = "num_complex")))]
impl<T: UlpsEq> UlpsEq for Complex<T>
where
T::Epsilon: Clone,
Expand All @@ -308,8 +308,8 @@ where
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: UlpsEq + Copy> UlpsEq for NotNan<T> {
#[inline]
fn default_max_ulps() -> u32 {
Expand All @@ -322,8 +322,8 @@ impl<T: UlpsEq + Copy> UlpsEq for NotNan<T> {
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: UlpsEq + Float + ordered_float::FloatCore> UlpsEq<T> for NotNan<T> {
#[inline]
fn default_max_ulps() -> u32 {
Expand All @@ -336,8 +336,8 @@ impl<T: UlpsEq + Float + ordered_float::FloatCore> UlpsEq<T> for NotNan<T> {
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: UlpsEq + Float + ordered_float::FloatCore> UlpsEq for OrderedFloat<T> {
#[inline]
fn default_max_ulps() -> u32 {
Expand All @@ -350,8 +350,8 @@ impl<T: UlpsEq + Float + ordered_float::FloatCore> UlpsEq for OrderedFloat<T> {
}
}

#[cfg(feature = "ordered-float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered-float")))]
#[cfg(feature = "ordered_float")]
#[cfg_attr(docsrs, doc(cfg(feature = "ordered_float")))]
impl<T: UlpsEq + Float + ordered_float::FloatCore> UlpsEq<T> for OrderedFloat<T> {
#[inline]
fn default_max_ulps() -> u32 {
Expand Down
4 changes: 2 additions & 2 deletions approx/tests/abs_diff_eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ mod test_tuple {
}
}

#[cfg(feature = "num-complex")]
#[cfg(feature = "num_complex")]
mod test_complex {
extern crate num_complex;
pub use self::num_complex::Complex;
Expand Down Expand Up @@ -607,7 +607,7 @@ mod test_complex {
}
}

#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
mod test_ordered_float {
extern crate ordered_float;
pub use self::ordered_float::OrderedFloat;
Expand Down
4 changes: 2 additions & 2 deletions approx/tests/relative_eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ mod test_tuple {
}
}

#[cfg(feature = "num-complex")]
#[cfg(feature = "num_complex")]
mod test_complex {
extern crate num_complex;
pub use self::num_complex::Complex;
Expand Down Expand Up @@ -629,7 +629,7 @@ mod test_complex {
}
}

#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
mod test_ordered_float {
extern crate ordered_float;
pub use self::ordered_float::OrderedFloat;
Expand Down
4 changes: 2 additions & 2 deletions approx/tests/ulps_eq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,7 @@ mod test_tuple {
}
}

#[cfg(feature = "num-complex")]
#[cfg(feature = "num_complex")]
mod test_complex {
extern crate num_complex;
pub use self::num_complex::Complex;
Expand Down Expand Up @@ -584,7 +584,7 @@ mod test_complex {
}
}

#[cfg(feature = "ordered-float")]
#[cfg(feature = "ordered_float")]
mod test_ordered_float {
extern crate ordered_float;
pub use self::ordered_float::OrderedFloat;
Expand Down