Trait ShrWrapped

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

Binary operator for right shifting a value, safely continuing past the number of bits in self.

Required Associated Types§

Required Methods§

Source

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

Trait Implementations§

Source§

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

Source§

type Case = (Mode, Mode)

Source§

fn count( case: &<Integer<E, I> as Metrics<dyn ShrWrapped<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 ShrWrapped<Integer<E, M>, Output = Integer<E, I>>> for Integer<E, I>

Source§

type Case = (Mode, Mode)

Source§

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

Returns the mode of the output.

Implementations on Foreign Types§

Source§

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

Source§

fn shr_wrapped( &self, n: &Integer<E, M>, ) -> <Integer<E, I> as ShrWrapped<Integer<E, M>>>::Output

Shifts self to the right by n bits, continuing past the boundary.

Source§

type Output = Integer<E, I>

Implementors§

Source§

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

Source§

type Output = Integer<E, I>