Extend PerThing + Saturating (#5281)
* Extend PerThing + Saturating * Add saturating_pow to Saturating * Add saturating_truncating_mul to PerThing (rounding-down mul) * Add saturating_reciprocal_mul to PerThing (divide x by perthing) * Provide default methods where possible * Restore const functions * Fix test * Update primitives/arithmetic/src/per_things.rs Co-Authored-By:Kian Paimani <5588131+kianenigma@users.noreply.github.com> * Add comment and test verifying no overflow * Formatting * Fix possible overflow and change type constraint * Use overflow pruning for all mul * Formatting and comments * Improve comments and names * Comments in `rational_mul_correction` explain overflow aversion. * Test rational_mul_correction * Formatting * Docs and formatting * Add new trait methods to Perthing type impl * Fix signature * saturating_pow for Delegations * Add missing trait method to impl Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Showing
- substrate/frame/democracy/src/types.rs 7 additions, 0 deletionssubstrate/frame/democracy/src/types.rs
- substrate/primitives/arithmetic/src/fixed64.rs 6 additions, 0 deletionssubstrate/primitives/arithmetic/src/fixed64.rs
- substrate/primitives/arithmetic/src/per_things.rs 501 additions, 141 deletionssubstrate/primitives/arithmetic/src/per_things.rs
- substrate/primitives/arithmetic/src/traits.rs 24 additions, 12 deletionssubstrate/primitives/arithmetic/src/traits.rs
This diff is collapsed.
Please register or sign in to comment