Struct sp_weights::FeePolynomial
source · 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: WeightToFeeCoefficients<Balance>) -> Self
fn from(coefficients: WeightToFeeCoefficients<Balance>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
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: UnwindSafe + RefUnwindSafe,
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
§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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
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<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 Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.