Trait typenum::Pow
[−]
[src]
pub trait Pow<Rhs = Self> { type Output; }
A type operator that provides exponentiation by repeated squaring.
Example
use typenum::Pow; use typenum::int::Integer; use typenum::consts::{N3, P3}; assert_eq!(<N3 as Pow<P3>>::Output::to_i32(), -27);
Associated Types
type Output
Implementors
impl<X: Unsigned, N: Unsigned> Pow<N> for X where X: PrivatePow<U1, N>
impl Pow<Z0> for Z0
impl<U: Unsigned + NonZero> Pow<PInt<U>> for Z0
impl<U: Unsigned + NonZero> Pow<NInt<U>> for Z0
impl<U: Unsigned + NonZero> Pow<NInt<U>> for P1
impl<U: Unsigned> Pow<NInt<UInt<U, B0>>> for N1
impl<U: Unsigned> Pow<NInt<UInt<U, B1>>> for N1
impl<U: Unsigned + NonZero> Pow<Z0> for PInt<U>
impl<U: Unsigned + NonZero> Pow<Z0> for NInt<U>
impl<Ul: Unsigned + NonZero, Ur: Unsigned + NonZero> Pow<PInt<Ur>> for PInt<Ul> where Ul: Pow<Ur>, Ul::Output: Unsigned + NonZero
impl<Ul: Unsigned + NonZero, Ur: Unsigned> Pow<PInt<UInt<Ur, B0>>> for NInt<Ul> where Ul: Pow<UInt<Ur, B0>>, Ul::Output: Unsigned + NonZero
impl<Ul: Unsigned + NonZero, Ur: Unsigned> Pow<PInt<UInt<Ur, B1>>> for NInt<Ul> where Ul: Pow<UInt<Ur, B1>>, Ul::Output: Unsigned + NonZero