pub struct FiniteFloat<T>(/* private fields */)
where
T: PartialOrd + Copy;Expand description
A finite float (no NaN or infinity).
§Example
use rusdantic_types::FiniteFloat;
let f = FiniteFloat::<f64>::new(3.14).unwrap();
assert_eq!(*f, 3.14);
assert!(FiniteFloat::<f64>::new(f64::NAN).is_err());
assert!(FiniteFloat::<f64>::new(f64::INFINITY).is_err());Implementations§
Source§impl FiniteFloat<f64>
impl FiniteFloat<f64>
Sourcepub fn new(value: f64) -> Result<FiniteFloat<f64>, String>
pub fn new(value: f64) -> Result<FiniteFloat<f64>, String>
Create a new finite f64, rejecting NaN and infinity.
Sourcepub fn into_inner(self) -> f64
pub fn into_inner(self) -> f64
Get the inner value.
Source§impl FiniteFloat<f32>
impl FiniteFloat<f32>
Sourcepub fn new(value: f32) -> Result<FiniteFloat<f32>, String>
pub fn new(value: f32) -> Result<FiniteFloat<f32>, String>
Create a new finite f32, rejecting NaN and infinity.
Sourcepub fn into_inner(self) -> f32
pub fn into_inner(self) -> f32
Get the inner value.
Trait Implementations§
Source§impl<T> Clone for FiniteFloat<T>
impl<T> Clone for FiniteFloat<T>
Source§fn clone(&self) -> FiniteFloat<T>
fn clone(&self) -> FiniteFloat<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<T> Debug for FiniteFloat<T>
impl<T> Debug for FiniteFloat<T>
Source§impl<T> Deref for FiniteFloat<T>where
T: PartialOrd + Copy,
impl<T> Deref for FiniteFloat<T>where
T: PartialOrd + Copy,
Source§impl<'de> Deserialize<'de> for FiniteFloat<f32>
impl<'de> Deserialize<'de> for FiniteFloat<f32>
Source§fn deserialize<D>(
deserializer: D,
) -> Result<FiniteFloat<f32>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<FiniteFloat<f32>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'de> Deserialize<'de> for FiniteFloat<f64>
impl<'de> Deserialize<'de> for FiniteFloat<f64>
Source§fn deserialize<D>(
deserializer: D,
) -> Result<FiniteFloat<f64>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<FiniteFloat<f64>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> Display for FiniteFloat<T>
impl<T> Display for FiniteFloat<T>
Source§impl<T> PartialEq for FiniteFloat<T>
impl<T> PartialEq for FiniteFloat<T>
Source§impl<T> PartialOrd for FiniteFloat<T>where
T: PartialOrd + Copy,
impl<T> PartialOrd for FiniteFloat<T>where
T: PartialOrd + Copy,
Source§impl<T> Serialize for FiniteFloat<T>
impl<T> Serialize for FiniteFloat<T>
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl<T> Copy for FiniteFloat<T>where
T: Copy + PartialOrd,
impl<T> StructuralPartialEq for FiniteFloat<T>where
T: PartialOrd + Copy,
Auto Trait Implementations§
impl<T> Freeze for FiniteFloat<T>where
T: Freeze,
impl<T> RefUnwindSafe for FiniteFloat<T>where
T: RefUnwindSafe,
impl<T> Send for FiniteFloat<T>where
T: Send,
impl<T> Sync for FiniteFloat<T>where
T: Sync,
impl<T> Unpin for FiniteFloat<T>where
T: Unpin,
impl<T> UnsafeUnpin for FiniteFloat<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for FiniteFloat<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Dump for Twhere
T: Serialize,
impl<T> Dump for Twhere
T: Serialize,
Source§fn dump_with(&self, options: &DumpOptions) -> Result<Value, Error>
fn dump_with(&self, options: &DumpOptions) -> Result<Value, Error>
Serialize to a
serde_json::Value with custom options.Source§fn dump_json_with(&self, options: &DumpOptions) -> Result<String, Error>
fn dump_json_with(&self, options: &DumpOptions) -> Result<String, Error>
Serialize to a JSON string with custom options.