Struct sp_weights::Weight
source · pub struct Weight { /* private fields */ }
Implementations§
source§impl Weight
impl Weight
sourcepub const fn set_ref_time(self, c: u64) -> Self
pub const fn set_ref_time(self, c: u64) -> Self
Set the reference time part of the weight.
sourcepub const fn set_proof_size(self, c: u64) -> Self
pub const fn set_proof_size(self, c: u64) -> Self
Set the storage size part of the weight.
sourcepub const fn proof_size(&self) -> u64
pub const fn proof_size(&self) -> u64
Return the storage size part of the weight.
sourcepub fn ref_time_mut(&mut self) -> &mut u64
pub fn ref_time_mut(&mut self) -> &mut u64
Return a mutable reference to the reference time part of the weight.
sourcepub fn proof_size_mut(&mut self) -> &mut u64
pub fn proof_size_mut(&mut self) -> &mut u64
Return a mutable reference to the storage size part of the weight.
sourcepub fn try_add(&self, other: &Self, limit: &Self) -> Option<Self>
pub fn try_add(&self, other: &Self, limit: &Self) -> Option<Self>
Try to add some other
weight while upholding the limit
.
sourcepub const fn from_parts(ref_time: u64, proof_size: u64) -> Self
pub const fn from_parts(ref_time: u64, proof_size: u64) -> Self
Construct Weight
from weight parts, namely reference time and proof size weights.
sourcepub const fn saturating_add(self, rhs: Self) -> Self
pub const fn saturating_add(self, rhs: Self) -> Self
Saturating Weight
addition. Computes self + rhs
, saturating at the numeric bounds of
all fields instead of overflowing.
sourcepub const fn saturating_sub(self, rhs: Self) -> Self
pub const fn saturating_sub(self, rhs: Self) -> Self
Saturating Weight
subtraction. Computes self - rhs
, saturating at the numeric bounds
of all fields instead of overflowing.
sourcepub const fn saturating_mul(self, scalar: u64) -> Self
pub const fn saturating_mul(self, scalar: u64) -> Self
Saturating Weight
scalar multiplication. Computes self.field * scalar
for all fields,
saturating at the numeric bounds of all fields instead of overflowing.
sourcepub const fn saturating_div(self, scalar: u64) -> Self
pub const fn saturating_div(self, scalar: u64) -> Self
Saturating Weight
scalar division. Computes self.field / scalar
for all fields,
saturating at the numeric bounds of all fields instead of overflowing.
sourcepub const fn saturating_pow(self, exp: u32) -> Self
pub const fn saturating_pow(self, exp: u32) -> Self
Saturating Weight
scalar exponentiation. Computes self.field.pow(exp)
for all fields,
saturating at the numeric bounds of all fields instead of overflowing.
sourcepub fn saturating_accrue(&mut self, amount: Self)
pub fn saturating_accrue(&mut self, amount: Self)
Increment Weight
by amount
via saturating addition.
sourcepub fn saturating_reduce(&mut self, amount: Self)
pub fn saturating_reduce(&mut self, amount: Self)
Reduce Weight
by amount
via saturating subtraction.
sourcepub const fn checked_add(&self, rhs: &Self) -> Option<Self>
pub const fn checked_add(&self, rhs: &Self) -> Option<Self>
Checked Weight
addition. Computes self + rhs
, returning None
if overflow occurred.
sourcepub const fn checked_sub(&self, rhs: &Self) -> Option<Self>
pub const fn checked_sub(&self, rhs: &Self) -> Option<Self>
Checked Weight
subtraction. Computes self - rhs
, returning None
if overflow
occurred.
sourcepub const fn checked_mul(self, scalar: u64) -> Option<Self>
pub const fn checked_mul(self, scalar: u64) -> Option<Self>
Checked Weight
scalar multiplication. Computes self.field * scalar
for each field,
returning None
if overflow occurred.
sourcepub const fn checked_div(self, scalar: u64) -> Option<Self>
pub const fn checked_div(self, scalar: u64) -> Option<Self>
Checked Weight
scalar division. Computes self.field / scalar
for each field, returning
None
if overflow occurred.
sourcepub const fn checked_div_per_component(self, other: &Self) -> Option<u64>
pub const fn checked_div_per_component(self, other: &Self) -> Option<u64>
Calculates how many other
fit into self
.
Divides each component of self
against the same component of other
. Returns the minimum
of all those divisions. Returns None
in case all components of other
are zero.
This returns Some
even if some components of other
are zero as long as there is at least
one non-zero component in other
. The division for this particular component will then
yield the maximum value (e.g u64::MAX). This is because we assume not every operation and
hence each Weight
will necessarily use each resource.
sourcepub fn checked_accrue(&mut self, amount: Self) -> Option<()>
pub fn checked_accrue(&mut self, amount: Self) -> Option<()>
Try to increase self
by amount
via checked addition.
sourcepub fn checked_reduce(&mut self, amount: Self) -> Option<()>
pub fn checked_reduce(&mut self, amount: Self) -> Option<()>
Try to reduce self
by amount
via checked subtraction.
sourcepub const fn add_ref_time(self, scalar: u64) -> Self
pub const fn add_ref_time(self, scalar: u64) -> Self
Constant version of Add for ref_time
component with u64.
Is only overflow safe when evaluated at compile-time.
sourcepub const fn add_proof_size(self, scalar: u64) -> Self
pub const fn add_proof_size(self, scalar: u64) -> Self
Constant version of Add for proof_size
component with u64.
Is only overflow safe when evaluated at compile-time.
sourcepub const fn sub_ref_time(self, scalar: u64) -> Self
pub const fn sub_ref_time(self, scalar: u64) -> Self
Constant version of Sub for ref_time
component with u64.
Is only overflow safe when evaluated at compile-time.
sourcepub const fn sub_proof_size(self, scalar: u64) -> Self
pub const fn sub_proof_size(self, scalar: u64) -> Self
Constant version of Sub for proof_size
component with u64.
Is only overflow safe when evaluated at compile-time.
sourcepub const fn div(self, scalar: u64) -> Self
pub const fn div(self, scalar: u64) -> Self
Constant version of Div with u64.
Is only overflow safe when evaluated at compile-time.
sourcepub const fn mul(self, scalar: u64) -> Self
pub const fn mul(self, scalar: u64) -> Self
Constant version of Mul with u64.
Is only overflow safe when evaluated at compile-time.
sourcepub const fn any_gt(self, other: Self) -> bool
pub const fn any_gt(self, other: Self) -> bool
Returns true if any of self
’s constituent weights is strictly greater than that of the
other
’s, otherwise returns false.
sourcepub const fn all_gt(self, other: Self) -> bool
pub const fn all_gt(self, other: Self) -> bool
Returns true if all of self
’s constituent weights is strictly greater than that of the
other
’s, otherwise returns false.
sourcepub const fn any_lt(self, other: Self) -> bool
pub const fn any_lt(self, other: Self) -> bool
Returns true if any of self
’s constituent weights is strictly less than that of the
other
’s, otherwise returns false.
sourcepub const fn all_lt(self, other: Self) -> bool
pub const fn all_lt(self, other: Self) -> bool
Returns true if all of self
’s constituent weights is strictly less than that of the
other
’s, otherwise returns false.
sourcepub const fn any_gte(self, other: Self) -> bool
pub const fn any_gte(self, other: Self) -> bool
Returns true if any of self
’s constituent weights is greater than or equal to that of the
other
’s, otherwise returns false.
sourcepub const fn all_gte(self, other: Self) -> bool
pub const fn all_gte(self, other: Self) -> bool
Returns true if all of self
’s constituent weights is greater than or equal to that of the
other
’s, otherwise returns false.
sourcepub const fn any_lte(self, other: Self) -> bool
pub const fn any_lte(self, other: Self) -> bool
Returns true if any of self
’s constituent weights is less than or equal to that of the
other
’s, otherwise returns false.
Trait Implementations§
source§impl AddAssign for Weight
impl AddAssign for Weight
source§fn add_assign(&mut self, other: Self)
fn add_assign(&mut self, other: Self)
+=
operation. Read moresource§impl CheckedAdd for Weight
impl CheckedAdd for Weight
source§fn checked_add(&self, rhs: &Self) -> Option<Self>
fn checked_add(&self, rhs: &Self) -> Option<Self>
None
is
returned.source§impl CheckedSub for Weight
impl CheckedSub for Weight
source§fn checked_sub(&self, rhs: &Self) -> Option<Self>
fn checked_sub(&self, rhs: &Self) -> Option<Self>
None
is returned.source§impl Decode for Weight
impl Decode for Weight
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
source§impl<'de> Deserialize<'de> for Weight
impl<'de> Deserialize<'de> for Weight
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>,
source§impl Encode for Weight
impl Encode for Weight
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl MaxEncodedLen for Weight
impl MaxEncodedLen for Weight
source§fn max_encoded_len() -> usize
fn max_encoded_len() -> usize
source§impl Mul<Weight> for Perquintill
impl Mul<Weight> for Perquintill
source§impl PartialEq for Weight
impl PartialEq for Weight
source§impl SubAssign for Weight
impl SubAssign for Weight
source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
-=
operation. Read moreimpl Copy for Weight
impl EncodeLike for Weight
impl Eq for Weight
impl StructuralPartialEq for Weight
Auto Trait Implementations§
impl Freeze for Weight
impl RefUnwindSafe for Weight
impl Send for Weight
impl Sync for Weight
impl Unpin for Weight
impl UnwindSafe for Weight
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
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.source§impl<T, S> UniqueSaturatedFrom<T> for S
impl<T, S> UniqueSaturatedFrom<T> for S
source§fn unique_saturated_from(t: T) -> S
fn unique_saturated_from(t: T) -> S
T
into an equivalent instance of Self
.source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.