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 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 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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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,
§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.