Function mod_exp::mod_exp [−][src]
pub fn mod_exp<T>(base: T, exponent: T, modulus: T) -> T where
T: Num + PartialOrd + Shr<T, Output = T> + Copy + Bounded,
Performs the exponentiation
All parameters are generic, provided they implement the following traits:
- Num
- PartialOrd
- Shr<T, Output=T>
- Copy
- Bounded
You can find the Num
and Bounded
traits in the num crate.
Examples
use mod_exp::mod_exp; assert_eq!(mod_exp(5, 3, 13), 8);
Panics
The function does an assert!
to verify that the data type of base
is
large enough that the result won't overflow during the computation