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
Sourcepub const ALWAYS: WinningProbability
pub const ALWAYS: WinningProbability
100% winning probability
pub const EPSILON: f64 = 1.0E-8f64
Sourcepub const NEVER: WinningProbability
pub const NEVER: WinningProbability
0% winning probability.
Sourcepub fn as_encoded(&self) -> [u8; 7]
pub fn as_encoded(&self) -> [u8; 7]
Convenience function to convert to internal probability representation.
Sourcepub fn try_from_f64(win_prob: f64) -> Result<WinningProbability, CoreTypesError>
pub fn try_from_f64(win_prob: f64) -> Result<WinningProbability, CoreTypesError>
Tries to get probability from a float.
Sourcepub fn approx_cmp(&self, other: &WinningProbability) -> Ordering
pub fn approx_cmp(&self, other: &WinningProbability) -> Ordering
Performs approximate comparison up to Self::EPSILON.
Sourcepub fn approx_eq(&self, other: &WinningProbability) -> bool
pub fn approx_eq(&self, other: &WinningProbability) -> bool
Performs approximate equality comparison up to Self::EPSILON.
Sourcepub fn min(&self, other: &WinningProbability) -> WinningProbability
pub fn min(&self, other: &WinningProbability) -> WinningProbability
Gets the minimum of two winning probabilities.
Sourcepub fn max(&self, other: &WinningProbability) -> WinningProbability
pub fn max(&self, other: &WinningProbability) -> WinningProbability
Gets the maximum of two winning probabilities.
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§fn default() -> WinningProbability
fn default() -> WinningProbability
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for WinningProbability
impl<'de> Deserialize<'de> for WinningProbability
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<WinningProbability, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<WinningProbability, <__D as Deserializer<'de>>::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 From<u64> for WinningProbability
impl From<u64> for WinningProbability
Source§fn from(value: u64) -> WinningProbability
fn from(value: u64) -> WinningProbability
Converts to this type from the input type.
Source§impl PartialEq<f64> for WinningProbability
impl PartialEq<f64> for WinningProbability
Source§impl Serialize for WinningProbability
impl Serialize for WinningProbability
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
Source§impl<'a> TryFrom<&'a [u8]> for WinningProbability
impl<'a> TryFrom<&'a [u8]> for WinningProbability
Source§type Error = GeneralError
type Error = GeneralError
The type returned in the event of a conversion error.
Source§fn try_from(
value: &'a [u8],
) -> Result<WinningProbability, <WinningProbability as TryFrom<&'a [u8]>>::Error>
fn try_from( value: &'a [u8], ) -> Result<WinningProbability, <WinningProbability as TryFrom<&'a [u8]>>::Error>
Performs the conversion.
Source§impl TryFrom<f64> for WinningProbability
impl TryFrom<f64> for WinningProbability
Source§type Error = CoreTypesError
type Error = CoreTypesError
The type returned in the event of a conversion error.
Source§fn try_from(
value: f64,
) -> Result<WinningProbability, <WinningProbability as TryFrom<f64>>::Error>
fn try_from( value: f64, ) -> Result<WinningProbability, <WinningProbability as TryFrom<f64>>::Error>
Performs the conversion.
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> 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.