Trait ShlWrapped

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

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

Required Associated Types§

Required Methods§

Source

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

Trait Implementations§

Source§

impl<E, I, M> Metrics<dyn ShlWrapped<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 ShlWrapped<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 ShlWrapped<Integer<E, M>, Output = Integer<E, I>>> for Integer<E, I>

Source§

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

Source§

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

Returns the mode of the output.

Implementations on Foreign Types§

Source§

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

Source§

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

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

Source§

type Output = Integer<E, I>

Implementors§

Source§

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

Source§

type Output = Integer<E, I>