# 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 reaches`targeted_sum`

.