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§
- Infinite precision unsigned integer for substrate runtime.
- 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: - 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.
- 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: - Primitive traits for the runtime arithmetic.
Macros§
- Copied from
sp-runtime
and documented there.
Enums§
- Arithmetic errors.
Traits§
- A collection-like object that is made of values of type
T
and can normalize its individual values around a centric point. - Trait for comparing two numbers with an threshold.
Functions§
- Normalize
input
so that the sum of all elements reachestargeted_sum
.