This crate helps you to ensure the kind of floats you are using.

zero overhead: everything is checked at compile time. (only try_from adds a little overhead at runtime)

NaN is rejected by all types.

The types provided by this crate are: - [NonNaN],[NonNaNFinite], [NonZeroNonNaN], [NonZeroNonNaNFinite]

And their positive and negative counterparts: - [Positive],[PositiveFinite], [StrictlyPositive], [StrictlyPositiveFinite] - [Negative],[NegativeFinite], [StrictlyNegative], [StrictlyNegativeFinite]

By default all types are [f64] but all can use [f32] (e.g. like [Positive<f32>]).

The following conversions are implemented: - Between all the types of this crate - From [f64] - From integers types (exept u128 and i128) - From NonZero*