Trait float_eq::FloatEqDebugUlpsDiff[][src]

pub trait FloatEqDebugUlpsDiff {
    type DebugUlpsDiff;
}

Per-field results of ULPs based diff calculations.

This trait establishes a one-to-one relation between an IEEE floating point type and a type whose fields are expected to be structurally identical but specified as the result of calculating a diff in ULPs. It is used by testing and debugging tools to show the difference between two values on a per-field basis and is built for clarity, not runtime efficiency. The DebugUlpsDiff type alias exists to simplify usage, for example DebugUlpsDiff<f32> is Option<u32>. Usually, this type is named FooDebugUlpsDiff for a given type Foo.

To implement this trait over a new type, see How to compare custom types.

Associated Types

type DebugUlpsDiff[src]

A structurally identical type to Self, with fields recursively wrapped by DebugUlpsDiff.

Loading content...

Implementations on Foreign Types

impl<T: FloatEqDebugUlpsDiff, const N: usize> FloatEqDebugUlpsDiff for [T; N][src]

impl<T: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for Option<T>[src]

impl FloatEqDebugUlpsDiff for f32[src]

impl FloatEqDebugUlpsDiff for f64[src]

impl FloatEqDebugUlpsDiff for ()[src]

impl<A: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A,)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff, G: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F, G)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff, G: FloatEqDebugUlpsDiff, H: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F, G, H)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff, G: FloatEqDebugUlpsDiff, H: FloatEqDebugUlpsDiff, I: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F, G, H, I)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff, G: FloatEqDebugUlpsDiff, H: FloatEqDebugUlpsDiff, I: FloatEqDebugUlpsDiff, J: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F, G, H, I, J)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff, G: FloatEqDebugUlpsDiff, H: FloatEqDebugUlpsDiff, I: FloatEqDebugUlpsDiff, J: FloatEqDebugUlpsDiff, K: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F, G, H, I, J, K)[src]

impl<A: FloatEqDebugUlpsDiff, B: FloatEqDebugUlpsDiff, C: FloatEqDebugUlpsDiff, D: FloatEqDebugUlpsDiff, E: FloatEqDebugUlpsDiff, F: FloatEqDebugUlpsDiff, G: FloatEqDebugUlpsDiff, H: FloatEqDebugUlpsDiff, I: FloatEqDebugUlpsDiff, J: FloatEqDebugUlpsDiff, K: FloatEqDebugUlpsDiff, L: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for (A, B, C, D, E, F, G, H, I, J, K, L)[src]

impl<T: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for Vec<T>[src]

impl<T: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for VecDeque<T>[src]

impl<T: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for LinkedList<T>[src]

impl<K, V, S> FloatEqDebugUlpsDiff for HashMap<K, V, S> where
    V: FloatEqDebugUlpsDiff
[src]

impl<K, V> FloatEqDebugUlpsDiff for BTreeMap<K, V> where
    V: FloatEqDebugUlpsDiff
[src]

impl<T: FloatEqDebugUlpsDiff> FloatEqDebugUlpsDiff for Complex<T>[src]

Loading content...

Implementors

Loading content...