Crate sp_arithmetic

Source
Expand description

Minimal fixed point arithmetic primitives and types for runtime.

Re-exports§

pub use fixed_point::FixedI128;
pub use fixed_point::FixedI64;
pub use fixed_point::FixedPointNumber;
pub use fixed_point::FixedPointOperand;
pub use fixed_point::FixedU128;
pub use fixed_point::FixedU64;
pub use per_things::InnerOf;
pub use per_things::MultiplyArg;
pub use per_things::PerThing;
pub use per_things::PerU16;
pub use per_things::Perbill;
pub use per_things::Percent;
pub use per_things::Permill;
pub use per_things::Perquintill;
pub use per_things::RationalArg;
pub use per_things::ReciprocalArg;
pub use per_things::Rounding;
pub use per_things::SignedRounding;
pub use per_things::UpperOf;
pub use rational::MultiplyRational;
pub use rational::Rational128;
pub use rational::RationalInfinite;

Modules§

biguint
Infinite precision unsigned integer for substrate runtime.
fixed_point
Decimal Fixed Point implementations for Substrate runtime. Similar to types that implement PerThing, these are also fixed-point types, however, they are able to represent larger fractions:
helpers_128bit
Some helper functions to work with 128bit numbers. Note that the functionality provided here is only sensible to use with 128bit numbers because for smaller sizes, you can always rely on assumptions of a bigger type (u128) being available, or simply create a per-thing and use the multiplication implementation provided there.
per_things
Types that implement PerThing can be used as a floating-point alternative for numbers that operate within the realm of [0, 1]. The primary types may you encounter in Substrate would be the following:
rational
traits
Primitive traits for the runtime arithmetic.

Macros§

assert_eq_error_rate
Copied from sp-runtime and documented there.

Enums§

ArithmeticError
Arithmetic errors.

Traits§

Normalizable
A collection-like object that is made of values of type T and can normalize its individual values around a centric point.
ThresholdOrd
Trait for comparing two numbers with an threshold.

Functions§

normalize
Normalize input so that the sum of all elements reaches targeted_sum.