pub trait CheckedPow: Sized + Mul<Self> {
// Required method
fn checked_pow(self, exp: u32) -> Option<<Self as Mul<Self>>::Output>;
}Expand description
Performs exponentiation, returning None if overflow occurred.
Required Methods§
Sourcefn checked_pow(self, exp: u32) -> Option<<Self as Mul<Self>>::Output>
fn checked_pow(self, exp: u32) -> Option<<Self as Mul<Self>>::Output>
Checked exponentiation. Computes self.pow(exp), returning None if
overflow occurred.
Note that 0⁰ returns Some(1), matching the inherent
checked_pow on the primitive integer types.
§Examples
use const_num_traits::CheckedPow;
assert_eq!(CheckedPow::checked_pow(2i8, 4), Some(16));
assert_eq!(CheckedPow::checked_pow(7i8, 8), None);
assert_eq!(CheckedPow::checked_pow(0u32, 0), Some(1));Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".