pub struct WinningProbability(/* private fields */);Expand description
Represents a ticket-winning probability.
It holds the modified IEEE-754 representation but behaves like a reduced precision float.
It intentionally does not implement Ord or Eq, as
it can be either approximately compared or
lexicographically compared.
Implementations§
Source§impl WinningProbability
impl WinningProbability
pub const EPSILON: f64 = 1.0E-8f64
Sourcepub fn as_encoded(&self) -> EncodedWinProb
pub fn as_encoded(&self) -> EncodedWinProb
Convenience function to convert to internal probability representation.
Sourcepub fn try_from_f64(win_prob: f64) -> Result<Self>
pub fn try_from_f64(win_prob: f64) -> Result<Self>
Tries to get probability from a float.
Sourcepub fn approx_cmp(&self, other: &Self) -> Ordering
pub fn approx_cmp(&self, other: &Self) -> Ordering
Performs approximate comparison up to Self::EPSILON.
Sourcepub fn approx_eq(&self, other: &Self) -> bool
pub fn approx_eq(&self, other: &Self) -> bool
Performs approximate equality comparison up to Self::EPSILON.
Sourcepub fn lex_cmp(&self, other: &Self) -> Ordering
pub fn lex_cmp(&self, other: &Self) -> Ordering
Performs lexicographical comparison of the luck values.
Sourcepub fn lex_eq(&self, other: &Self) -> bool
pub fn lex_eq(&self, other: &Self) -> bool
Performs lexicographical equality comparison of the luck values.
Trait Implementations§
Source§impl AsRef<[u8]> for WinningProbability
impl AsRef<[u8]> for WinningProbability
Source§impl BytesRepresentable for WinningProbability
impl BytesRepresentable for WinningProbability
Source§impl Clone for WinningProbability
impl Clone for WinningProbability
Source§fn clone(&self) -> WinningProbability
fn clone(&self) -> WinningProbability
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 Debug for WinningProbability
impl Debug for WinningProbability
Source§impl Default for WinningProbability
impl Default for WinningProbability
Source§impl<'de> Deserialize<'de> for WinningProbability
impl<'de> Deserialize<'de> for WinningProbability
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for WinningProbability
impl Display for WinningProbability
Source§impl<'a> From<&'a [u8; 7]> for WinningProbability
impl<'a> From<&'a [u8; 7]> for WinningProbability
Source§fn from(value: &'a EncodedWinProb) -> Self
fn from(value: &'a EncodedWinProb) -> Self
Converts to this type from the input type.
Source§impl From<[u8; 7]> for WinningProbability
impl From<[u8; 7]> for WinningProbability
Source§fn from(value: EncodedWinProb) -> Self
fn from(value: EncodedWinProb) -> Self
Converts to this type from the input type.
Source§impl From<WinningProbability> for EncodedWinProb
impl From<WinningProbability> for EncodedWinProb
Source§fn from(value: WinningProbability) -> Self
fn from(value: WinningProbability) -> Self
Converts to this type from the input type.
Source§impl From<WinningProbability> for f64
impl From<WinningProbability> for f64
Source§fn from(value: WinningProbability) -> Self
fn from(value: WinningProbability) -> Self
Converts to this type from the input type.
Source§impl From<u64> for WinningProbability
impl From<u64> for WinningProbability
Source§impl FromStr for WinningProbability
impl FromStr for WinningProbability
Source§impl Hash for WinningProbability
impl Hash for WinningProbability
Source§impl PartialEq<WinningProbability> for f64
impl PartialEq<WinningProbability> for f64
Source§impl PartialEq<f64> for WinningProbability
impl PartialEq<f64> for WinningProbability
Source§impl Serialize for WinningProbability
impl Serialize for WinningProbability
Source§impl<'a> TryFrom<&'a [u8]> for WinningProbability
impl<'a> TryFrom<&'a [u8]> for WinningProbability
Source§impl TryFrom<f64> for WinningProbability
impl TryFrom<f64> for WinningProbability
impl Copy for WinningProbability
Auto Trait Implementations§
impl Freeze for WinningProbability
impl RefUnwindSafe for WinningProbability
impl Send for WinningProbability
impl Sync for WinningProbability
impl Unpin for WinningProbability
impl UnwindSafe for WinningProbability
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ToHex for Twhere
T: BytesRepresentable,
impl<T> ToHex for Twhere
T: BytesRepresentable,
Source§impl<T> ToHex for T
impl<T> ToHex for T
Source§fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self into the result. Lower case
letters are used (e.g. f9b4ca)Source§fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
fn encode_hex_upper<U>(&self) -> Uwhere
U: FromIterator<char>,
Encode the hex strict representing
self into the result. Upper case
letters are used (e.g. F9B4CA)