Function sp_runtime::helpers_128bit::multiply_by_rational[][src]

pub fn multiply_by_rational(
    a: u128,
    b: u128,
    c: u128
) -> Result<u128, &'static str>
Expand description

Safely and accurately compute a * b / c. The approach is:

  • Simply try a * b / c.
  • Else, convert them both into big numbers and re-try. Err is returned if the result cannot be safely casted back to u128.

Invariant: c must be greater than or equal to 1.