pub struct WinningProbability(/* private fields */);Expand description
Represents a ticket winning probability.
It holds the modified IEEE-754 but behaves like a reduced precision float.
It intentionally does not implement Ord or Eq, as
it can be only approximately 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.
Trait Implementations§
Source§impl AsRef<[u8]> for WinningProbability
 
impl AsRef<[u8]> 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 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> PolicyExt for Twhere
    T: ?Sized,
 
impl<T> PolicyExt for Twhere
    T: ?Sized,
Source§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)§impl<T> ToHex for T
 
impl<T> ToHex for T
§fn encode_hex<U>(&self) -> Uwhere
    U: FromIterator<char>,
 
fn encode_hex<U>(&self) -> Uwhere
    U: FromIterator<char>,
👎Deprecated: use 
ToHexExt insteadEncode the hex strict representing 
self into the result.
Lower case letters are used (e.g. f9b4ca).§fn encode_hex_upper<U>(&self) -> Uwhere
    U: FromIterator<char>,
 
fn encode_hex_upper<U>(&self) -> Uwhere
    U: FromIterator<char>,
👎Deprecated: use 
ToHexExt insteadEncode the hex strict representing 
self into the result.
Upper case letters are used (e.g. F9B4CA).§impl<T> ToHexExt for T
 
impl<T> ToHexExt for T
§fn encode_hex(&self) -> String
 
fn encode_hex(&self) -> String
Encode the hex strict representing 
self into the result.
Lower case letters are used (e.g. f9b4ca).§fn encode_hex_upper(&self) -> String
 
fn encode_hex_upper(&self) -> String
Encode the hex strict representing 
self into the result.
Upper case letters are used (e.g. F9B4CA).§fn encode_hex_with_prefix(&self) -> String
 
fn encode_hex_with_prefix(&self) -> String
Encode the hex strict representing 
self into the result with prefix 0x.
Lower case letters are used (e.g. 0xf9b4ca).§fn encode_hex_upper_with_prefix(&self) -> String
 
fn encode_hex_upper_with_prefix(&self) -> String
Encode the hex strict representing 
self into the result with prefix 0X.
Upper case letters are used (e.g. 0xF9B4CA).§impl<T> ToStringFallible for Twhere
    T: Display,
 
impl<T> ToStringFallible for Twhere
    T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
 
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.