checked_pow in num_traits::pow - Rust
Description: Raises a value to the power of exp, returning `None` if an overflow occurred.
Keywords: rust, rustlang, rust-lang, checked_pow

# Function num_traits::pow::checked_pow

source ·

    pub fn checked_pow<T: Clone + One + CheckedMul>(base: T, exp: usize) -> Option<T>

Expand description

Raises a value to the power of exp, returning `None` if an overflow occurred.

Note that `0⁰` (`checked_pow(0, 0)`) returns `Some(1)`. Mathematically this is undefined.

Otherwise same as the `pow` function.

## Example

    use num_traits::checked_pow;

    assert_eq!(checked_pow(2i8, 4), Some(16));
    assert_eq!(checked_pow(7i8, 8), None);
    assert_eq!(checked_pow(7u32, 8), Some(5_764_801));
    assert_eq!(checked_pow(0u32, 0), Some(1)); // Be aware if this case affect you