[−][src]Struct sp_runtime::Fixed128
Re-export top-level arithmetic stuff. A signed fixed-point number. Can hold any value in the range [-170_141_183_460_469_231_731, 170_141_183_460_469_231_731] with fixed-point accuracy of 10 ** 18.
Methods
impl Fixed128
[src]
Re-export top-level arithmetic stuff.
pub fn from_natural(int: i128) -> Fixed128
[src]
Create self from a natural number.
Note that this might be lossy.
pub const fn accuracy() -> i128
[src]
Accuracy of Fixed128
.
pub const fn from_parts(parts: i128) -> Fixed128
[src]
Raw constructor. Equal to parts / DIV
.
pub fn from_rational<N>(n: N, d: NonZeroI128) -> Fixed128 where
N: UniqueSaturatedInto<i128>,
[src]
N: UniqueSaturatedInto<i128>,
Creates self from a rational number. Equal to n/d
.
Note that this might be lossy. Only use this if you are sure that n * DIV
can fit into an
i128.
pub fn deconstruct(self) -> i128
[src]
Consume self and return the inner raw i128
value.
Note this is a low level function, as the returned value is represented with accuracy.
pub fn recip(&self) -> Option<Fixed128>
[src]
Takes the reciprocal(inverse) of Fixed128, 1/x
pub fn checked_add(&self, rhs: &Fixed128) -> Option<Fixed128>
[src]
Checked add. Same semantic to num_traits::CheckedAdd
.
pub fn checked_sub(&self, rhs: &Fixed128) -> Option<Fixed128>
[src]
Checked sub. Same semantic to num_traits::CheckedSub
.
pub fn checked_mul(&self, rhs: &Fixed128) -> Option<Fixed128>
[src]
Checked mul. Same semantic to num_traits::CheckedMul
.
pub fn checked_div(&self, rhs: &Fixed128) -> Option<Fixed128>
[src]
Checked div. Same semantic to num_traits::CheckedDiv
.
pub fn checked_mul_int<N>(&self, other: &N) -> Option<N> where
N: Copy + TryFrom<i128> + TryInto<i128>,
[src]
N: Copy + TryFrom<i128> + TryInto<i128>,
Checked mul for int type N
.
pub fn saturating_mul_int<N>(&self, other: &N) -> N where
N: Copy + TryFrom<i128> + TryInto<i128> + Bounded,
[src]
N: Copy + TryFrom<i128> + TryInto<i128> + Bounded,
Checked mul for int type N
.
pub fn checked_div_int<N>(&self, other: &N) -> Option<N> where
N: Copy + TryFrom<i128> + TryInto<i128>,
[src]
N: Copy + TryFrom<i128> + TryInto<i128>,
Checked div for int type N
.
pub fn zero() -> Fixed128
[src]
pub fn is_zero(&self) -> bool
[src]
pub fn saturating_abs(&self) -> Fixed128
[src]
Saturating absolute value. Returning MAX if parts
== i128::MIN instead of overflowing.
pub fn is_positive(&self) -> bool
[src]
pub fn is_negative(&self) -> bool
[src]
pub fn saturated_multiply_accumulate<N>(self, int: N) -> N where
N: TryFrom<u128> + From<u64> + UniqueSaturatedInto<u64> + Bounded + Clone + Saturating + Rem<N, Output = N> + Div<N, Output = N> + Mul<N, Output = N> + Add<N, Output = N>,
[src]
N: TryFrom<u128> + From<u64> + UniqueSaturatedInto<u64> + Bounded + Clone + Saturating + Rem<N, Output = N> + Div<N, Output = N> + Mul<N, Output = N> + Add<N, Output = N>,
Performs a saturated multiply and accumulate by unsigned number.
Returns a saturated int + (self * int)
.
Trait Implementations
impl Add<Fixed128> for Fixed128
[src]
Note that this is a standard, potentially-panicking, implementation. Use Saturating
trait
for safe addition.
type Output = Fixed128
The resulting type after applying the +
operator.
fn add(self, rhs: Fixed128) -> <Fixed128 as Add<Fixed128>>::Output
[src]
impl Bounded for Fixed128
[src]
impl Clone for Fixed128
[src]
impl Copy for Fixed128
[src]
impl Debug for Fixed128
[src]
impl Decode for Fixed128
[src]
impl Default for Fixed128
[src]
impl<'de> Deserialize<'de> for Fixed128
[src]
fn deserialize<D>(
deserializer: D
) -> Result<Fixed128, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
[src]
deserializer: D
) -> Result<Fixed128, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl Encode for Fixed128
[src]
fn encode_to<EncOut>(&self, dest: &mut EncOut) where
EncOut: Output,
[src]
EncOut: Output,
fn encode(&self) -> Vec<u8>
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
fn size_hint(&self) -> usize
[src]
impl EncodeLike<Fixed128> for Fixed128
[src]
impl Eq for Fixed128
[src]
impl<P> From<P> for Fixed128 where
P: PerThing,
[src]
P: PerThing,
impl Ord for Fixed128
[src]
fn cmp(&self, other: &Fixed128) -> Ordering
[src]
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl PartialEq<Fixed128> for Fixed128
[src]
impl PartialOrd<Fixed128> for Fixed128
[src]
fn partial_cmp(&self, other: &Fixed128) -> Option<Ordering>
[src]
fn lt(&self, other: &Fixed128) -> bool
[src]
fn le(&self, other: &Fixed128) -> bool
[src]
fn gt(&self, other: &Fixed128) -> bool
[src]
fn ge(&self, other: &Fixed128) -> bool
[src]
impl Saturating for Fixed128
[src]
fn saturating_add(self, rhs: Fixed128) -> Fixed128
[src]
fn saturating_sub(self, rhs: Fixed128) -> Fixed128
[src]
fn saturating_mul(self, rhs: Fixed128) -> Fixed128
[src]
fn saturating_pow(self, exp: usize) -> Fixed128
[src]
impl Serialize for Fixed128
[src]
fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl StructuralEq for Fixed128
[src]
impl StructuralPartialEq for Fixed128
[src]
impl Sub<Fixed128> for Fixed128
[src]
Note that this is a standard, potentially-panicking, implementation. Use Saturating
trait
for safe subtraction.
Auto Trait Implementations
impl RefUnwindSafe for Fixed128
impl Send for Fixed128
impl Sync for Fixed128
impl Unpin for Fixed128
impl UnwindSafe for Fixed128
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> Clear for T where
T: PartialEq<T> + Eq + Default,
[src]
T: PartialEq<T> + Eq + Default,
impl<T> Clear for T where
T: InitializableFromZeroed + ?Sized,
T: InitializableFromZeroed + ?Sized,
fn clear(&mut self)
impl<S> Codec for S where
S: Encode + Decode,
[src]
S: Encode + Decode,
impl<T, X> Decode for X where
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
[src]
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T, X> Encode for X where
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
[src]
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
fn size_hint(&self) -> usize
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
fn encode(&self) -> Vec<u8>
[src]
fn encode_to<W>(&self, dest: &mut W) where
W: Output,
[src]
W: Output,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned,
[src]
T: Encode + ToOwned,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> From<T> for T
[src]
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T> InitializableFromZeroed for T where
T: Default,
T: Default,
unsafe fn initialize(place: *mut T)
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> KeyedVec for T where
T: Codec,
[src]
T: Codec,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> MaybeSerialize for T where
T: Serialize,
[src]
T: Serialize,
impl<T> MaybeSerializeDeserialize for T where
T: DeserializeOwned + Serialize,
[src]
T: DeserializeOwned + Serialize,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
[src]
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<T> Saturating for T where
T: Clone + Bounded + One + CheckedMul + Saturating,
[src]
T: Clone + Bounded + One + CheckedMul + Saturating,
fn saturating_add(self, o: T) -> T
[src]
fn saturating_sub(self, o: T) -> T
[src]
fn saturating_mul(self, o: T) -> T
[src]
fn saturating_pow(self, exp: usize) -> T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedFrom<T> for S where
S: TryFrom<T> + Bounded,
[src]
S: TryFrom<T> + Bounded,
fn unique_saturated_from(t: T) -> S
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
[src]
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,