Trait PowWrapped

Source
pub trait PowWrapped<Rhs = Self>
where Rhs: ?Sized,
{ type Output; // Required method fn pow_wrapped(&self, rhs: &Rhs) -> Self::Output; }
Expand description

Binary operator for exponentiating two values, wrapping the result if an overflow occurs.

Required Associated Types§

Required Methods§

Source

fn pow_wrapped(&self, rhs: &Rhs) -> Self::Output

Trait Implementations§

Source§

impl<E, I, M> Metrics<dyn PowWrapped<Integer<E, M>, Output = Integer<E, I>>> for Integer<E, I>

Source§

type Case = (Mode, Mode, bool, bool)

Source§

fn count( case: &<Integer<E, I> as Metrics<dyn PowWrapped<Integer<E, M>, Output = Integer<E, I>>>>::Case, ) -> Count

Returns the number of constants, public inputs, private inputs, and constraints.
Source§

impl<E, I, M> OutputMode<dyn PowWrapped<Integer<E, M>, Output = Integer<E, I>>> for Integer<E, I>

Source§

type Case = (Mode, CircuitType<Integer<E, M>>)

Source§

fn output_mode( case: &<Integer<E, I> as OutputMode<dyn PowWrapped<Integer<E, M>, Output = Integer<E, I>>>>::Case, ) -> Mode

Returns the mode of the output.

Implementations on Foreign Types§

Source§

impl<E, I, M> PowWrapped<Integer<E, M>> for Integer<E, I>

Source§

fn pow_wrapped( &self, other: &Integer<E, M>, ) -> <Integer<E, I> as PowWrapped<Integer<E, M>>>::Output

Returns the power of self to the power of other.

Source§

type Output = Integer<E, I>

Implementors§

Source§

impl<E, I, M> PowWrapped<Integer<E, M>> for snarkvm_circuit::modules::modules::integers::Integer<E, I>

Source§

type Output = Integer<E, I>