pub struct FeePolynomial<Balance> { /* private fields */ }
Expand description
A list of coefficients that represent a polynomial.
Can be evaluated at a specific u64
to get the fee. The evaluations happens by
summing up all term results. The order of the
coefficients matters since it uses saturating arithmetic. This struct does therefore not model a
polynomial in the mathematical sense (polynomial ring).
For visualization purposes, the formulas of the unsigned terms look like:
ⓘ
(c[0].frac * x^(c[0].degree) + c[0].integer * x^(c[0].degree))
(c[1].frac * x^(c[1].degree) + c[1].integer * x^(c[1].degree))
...
Depending on the value of c[i].negative
, each term is added or subtracted from the result.
The result is initialized as zero.
Implementations§
Trait Implementations§
Source§impl<Balance> From<SmallVec<[WeightToFeeCoefficient<Balance>; 4]>> for FeePolynomial<Balance>
impl<Balance> From<SmallVec<[WeightToFeeCoefficient<Balance>; 4]>> for FeePolynomial<Balance>
Source§fn from(
coefficients: SmallVec<[WeightToFeeCoefficient<Balance>; 4]>,
) -> FeePolynomial<Balance>
fn from( coefficients: SmallVec<[WeightToFeeCoefficient<Balance>; 4]>, ) -> FeePolynomial<Balance>
Converts to this type from the input type.
Auto Trait Implementations§
impl<Balance> Freeze for FeePolynomial<Balance>where
Balance: Freeze,
impl<Balance> RefUnwindSafe for FeePolynomial<Balance>where
Balance: RefUnwindSafe,
impl<Balance> Send for FeePolynomial<Balance>where
Balance: Send,
impl<Balance> Sync for FeePolynomial<Balance>where
Balance: Sync,
impl<Balance> Unpin for FeePolynomial<Balance>where
Balance: Unpin,
impl<Balance> UnwindSafe for FeePolynomial<Balance>where
Balance: RefUnwindSafe + UnwindSafe,
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> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Defensively truncate a value and convert it into its bounded form.
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 moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
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>,
Consume self to return an equivalent value of
T
. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.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
Consume self to return an equivalent value of
T
.