[−]Struct ckb_types::U256
Fixed non-negative integer type.
Implementations
impl U256
pub const fn zero() -> U256
Create a new fixed uint and value is zero.
pub const fn one() -> U256
Create a new fixed uint and value is one.
pub fn is_zero(&self) -> bool
Test if a fixed uint is zero.
pub fn is_max(&self) -> bool
Test if a fixed uint is the max value.
pub const fn count_bits() -> u64
Return the count of bits.
pub fn bit(&self, index: usize) -> Option<bool>
Return a specific bit, or return None when overlows.
pub fn set_bit(&mut self, index: usize, value: bool) -> bool
Set a specific bit. Return false when overflows.
pub fn highest_one(&self) -> Option<usize>
Return the highest bit which is one.
pub fn lowest_one(&self) -> Option<usize>
Return the lowest bit which is one.
pub const fn count_bytes() -> u64
Return the count of bytes.
pub fn byte(&self, index: usize) -> Option<u8>
Return a specific byte, or return None when overlows.
pub fn set_byte(&mut self, index: usize, byte: u8) -> bool
Set a specific byte. Return false when overflows;
pub fn highest_nonzero_byte(&self) -> Option<usize>
Return the highest byte which is nonzero.
pub fn lowest_nonzero_byte(&self) -> Option<usize>
Return the lowest byte which is nonzero.
pub fn complete_mul(&self, other: &U256) -> (U256, U256)
Calculates the multiplication of self
and other
.
Returns a tuple: (low, high)
,
low
is the low part of the multiplication,
high
is the low part of the multiplication.
The multiplication is equal to (high << Self::count_bits()) + low
.
pub fn complete_div(&self, other: &U256) -> (U256, U256)
Calculates both the quotient and the remainder when self
is divided by other
.
Returns a tuple: (quotient, remainder)
.
The self
is equal to quotient * other + remainder
.
pub const fn size_of() -> usize
Return the size used by this type in bytes, actually.
This size is greater than or equal to the bytes of this fixed type.
pub fn gcd(&self, other: &U256) -> U256
Calculates the Greatest Common Divisor (GCD).
pub fn from_little_endian(input: &[u8]) -> Result<U256, FixedUintError>
Convert from little-endian slice.
pub fn from_big_endian(input: &[u8]) -> Result<U256, FixedUintError>
Convert from big-endian slice.
pub fn into_little_endian(
&self,
output: &mut [u8]
) -> Result<(), FixedUintError>
&self,
output: &mut [u8]
) -> Result<(), FixedUintError>
Convert into little-endian slice.
pub fn into_big_endian(&self, output: &mut [u8]) -> Result<(), FixedUintError>
Convert into big-endian slice.
pub fn from_bin_str(input: &str) -> Result<U256, FixedUintError>
Convert from a binary string.
pub fn from_oct_str(input: &str) -> Result<U256, FixedUintError>
Convert from a octal string.
pub fn from_hex_str(input: &str) -> Result<U256, FixedUintError>
Convert from a hexadecimal string.
pub fn from_dec_str(input: &str) -> Result<U256, FixedUintError>
Convert from a decimal string.
pub const fn min_value() -> U256
Returns the smallest value that can be represented by this integer type.
pub const fn max_value() -> U256
Returns the largest value that can be represented by this integer type.
pub fn count_ones(&self) -> u32
Returns the number of ones in the binary representation of self.
pub fn count_zeros(&self) -> u32
Returns the number of zeros in the binary representation of self.
pub fn leading_zeros(&self) -> u32
Returns the number of leading zeros in the binary representation of self.
pub fn trailing_zeros(&self) -> u32
Returns the number of trailing zeros in the binary representation of self.
pub fn rotate_left(&self, n: u32) -> U256
Shifts the bits to the left by a specified amount, n, wrapping the truncated bits to the end of the resulting integer.
Please note this isn't the same operation as <<
!
pub fn rotate_right(&self, n: u32) -> U256
Shifts the bits to the right by a specified amount, n, wrapping the truncated bits to the beginning of the resulting integer.
Please note this isn't the same operation as >>
!
pub fn swap_bytes(self) -> U256
Reverses the byte order of the integer.
pub fn to_be_bytes(&self) -> [u8; 32]
Return the memory representation of this integer as a byte array in big-endian (network) byte order.
pub fn to_le_bytes(&self) -> [u8; 32]
Return the memory representation of this integer as a byte array in little-endian byte order.
pub fn to_ne_bytes(&self) -> [u8; 32]
Return the memory representation of this integer as a byte array in native byte order.
As the target platform's native endianness is used, portable code should use to_be_bytes or to_le_bytes, as appropriate, instead.
pub fn from_be_bytes(bytes: &[u8; 32]) -> U256
Create an integer value from its representation as a byte array in big endian.
pub fn from_le_bytes(bytes: &[u8; 32]) -> U256
Create an integer value from its representation as a byte array in little endian.
pub fn from_ne_bytes(bytes: &[u8; 32]) -> U256
Create an integer value from its memory representation as a byte array in native endianness.
As the target platform's native endianness is used, portable code likely wants to use from_be_bytes or from_le_bytes, as appropriate instead.
pub fn pow(&self, exp: u32) -> U256
Raises self to the power of exp
, using exponentiation by squaring.
pub fn is_power_of_two(&self) -> bool
Returns true
if and only if self == 2^k
for some k
.
pub fn next_power_of_two(&self) -> U256
Returns the smallest power of two greater than or equal to self
.
When return value overflows (i.e., self > (1 << (N-1))
for type uN
), it panics
in debug mode and return value is wrapped to 0 in release mode (the only situation
in which method can return 0).
pub fn checked_add(&self, rhs: &U256) -> Option<U256>
Checked integer addition. Computes self + rhs
,
returning None
if overflow occurred.
pub fn checked_sub(&self, rhs: &U256) -> Option<U256>
Checked integer subtraction. Computes self - rhs
,
returning None
if overflow occurred.
pub fn checked_mul(&self, rhs: &U256) -> Option<U256>
Checked integer multiplication. Computes self * rhs
,
returning None
if overflow occurred.
pub fn checked_div(&self, rhs: &U256) -> Option<U256>
Checked integer division. Computes self / rhs
, returning None
if rhs == 0
.
pub fn checked_rem(&self, rhs: &U256) -> Option<U256>
Checked integer remainder. Computes self % rhs
, returning None
if rhs == 0
.
pub fn checked_next_power_of_two(&self) -> Option<U256>
Returns the smallest power of two greater than or equal to n
.
If the next power of two is greater than the type's maximum value, None is returned,
otherwise the power of two is wrapped in Some
.
pub fn checked_pow(&self, exp: u32) -> Option<U256>
Checked exponentiation.
Computes self.pow(exp)
, returning None
if overflow occurred.
pub fn checked_shl(&self, rhs: u128) -> Option<U256>
Checked shift left. Computes self << rhs
,
returning None
if rhs
is larger than or equal to the number of bits in self
.
pub fn checked_shr(&self, rhs: u128) -> Option<U256>
Checked shift right. Computes self >> rhs
,
returning None
if rhs
is larger than or equal to the number of bits in self
.
pub fn checked_neg(&self) -> Option<U256>
Checked negation. Computes -self
, returning None
unless self == 0
.
Note that negating any positive integer will overflow.
pub fn saturating_add(&self, rhs: &U256) -> U256
Saturating integer addition. Computes self + rhs
,
saturating at the numeric bounds instead of overflowing.
pub fn saturating_sub(&self, rhs: &U256) -> U256
Checked integer subtraction. Computes self - rhs
,
returning None
if overflow occurred.
pub fn saturating_mul(&self, rhs: &U256) -> U256
Checked integer multiplication. Computes self * rhs
,
returning None
if overflow occurred.
pub fn saturating_pow(&self, exp: u32) -> U256
Saturating integer exponentiation.
Computes self.pow(exp)
, saturating at the numeric bounds instead of overflowing.
pub fn overflowing_add(&self, rhs: &U256) -> (U256, bool)
Calculates self + rhs
.
Returns a tuple of the addition along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub fn overflowing_sub(&self, rhs: &U256) -> (U256, bool)
Calculates self - rhs
.
Returns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub fn overflowing_mul(&self, rhs: &U256) -> (U256, bool)
Calculates the multiplication of self
and rhs
.
Returns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
pub fn overflowing_div(&self, rhs: &U256) -> (U256, bool)
Calculates the divisor when self
is divided by rhs
.
Returns a tuple of the divisor along with a boolean indicating
whether an arithmetic overflow would occur.
Note that for unsigned integers overflow never occurs,
so the second value is always false
.
Panics
This function will panic if rhs
is 0
.
pub fn overflowing_rem(&self, rhs: &U256) -> (U256, bool)
Calculates the remainder when self
is divided by rhs
.
Returns a tuple of the remainder after dividing along with a boolean indicating
whether an arithmetic overflow would occur.
Note that for unsigned integers overflow never occurs,
so the second value is always false
.
Panics
This function will panic if rhs
is 0
.
pub fn overflowing_pow(&self, exp: u32) -> (U256, bool)
Raises self to the power of exp
, using exponentiation by squaring.
Returns a tuple of the exponentiation along with a bool indicating whether an
overflow happened.
pub fn overflowing_shl(&self, rhs: u128) -> (U256, bool)
Shifts self
left by rhs
bits.
Returns a tuple of the shifted version of self
along with a boolean indicating
whether the shift value was larger than or equal to the number of bits.
If the shift value is too large, then value is masked (N-1) where N is the number
of bits, and this value is then used to perform the shift.
pub fn overflowing_shr(&self, rhs: u128) -> (U256, bool)
Shifts self
right by rhs
bits.
Returns a tuple of the shifted version of self
along with a boolean indicating
whether the shift value was larger than or equal to the number of bits.
If the shift value is too large, then value is masked (N-1) where N is the number
of bits, and this value is then used to perform the shift.
pub fn overflowing_neg(&self) -> (U256, bool)
Negates self
in an overflowing fashion.
Returns !self + 1
using wrapping operations to return the value that represents
the negation of this unsigned value.
Note that for positive unsigned values overflow always occurs,
but negating 0
does not overflow.
pub fn random<R>(rng: &mut R) -> U256 where
R: RngCore,
R: RngCore,
Create a random fixed uint with a input random core.
pub fn thread_random() -> U256
Create a random fixed uint.
Trait Implementations
impl<'a> Add<&'a U256> for U256
type Output = U256
The resulting type after applying the +
operator.
pub fn add(self, other: &'a U256) -> <U256 as Add<&'a U256>>::Output
impl<'a, 'b> Add<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the +
operator.
pub fn add(self, other: &U256) -> <&'a U256 as Add<&'b U256>>::Output
impl<Rhs> Add<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the +
operator.
pub fn add(self, other: Rhs) -> <U256 as Add<Rhs>>::Output
impl<'a, Rhs> Add<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the +
operator.
pub fn add(self, other: Rhs) -> <&'a U256 as Add<Rhs>>::Output
impl<'a> AddAssign<&'a U256> for U256
pub fn add_assign(&mut self, other: &U256)
impl<Rhs> AddAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn add_assign(&mut self, other: Rhs)
impl AsByteSliceMut for U256
pub fn as_byte_slice_mut(&mut self) -> &mut [u8]
pub fn to_le(&mut self)
impl Binary for U256
impl<'a> BitAnd<&'a U256> for U256
type Output = U256
The resulting type after applying the &
operator.
pub fn bitand(self, other: &U256) -> <U256 as BitAnd<&'a U256>>::Output
impl<'a, 'b> BitAnd<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the &
operator.
pub fn bitand(self, other: &U256) -> <&'a U256 as BitAnd<&'b U256>>::Output
impl<Rhs> BitAnd<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the &
operator.
pub fn bitand(self, other: Rhs) -> <U256 as BitAnd<Rhs>>::Output
impl<'a, Rhs> BitAnd<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the &
operator.
pub fn bitand(self, other: Rhs) -> <&'a U256 as BitAnd<Rhs>>::Output
impl<'a> BitAndAssign<&'a U256> for U256
pub fn bitand_assign(&mut self, other: &U256)
impl<Rhs> BitAndAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn bitand_assign(&mut self, other: Rhs)
impl<'a> BitOr<&'a U256> for U256
type Output = U256
The resulting type after applying the |
operator.
pub fn bitor(self, other: &U256) -> <U256 as BitOr<&'a U256>>::Output
impl<'a, 'b> BitOr<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the |
operator.
pub fn bitor(self, other: &U256) -> <&'a U256 as BitOr<&'b U256>>::Output
impl<'a, Rhs> BitOr<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the |
operator.
pub fn bitor(self, other: Rhs) -> <&'a U256 as BitOr<Rhs>>::Output
impl<Rhs> BitOr<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the |
operator.
pub fn bitor(self, other: Rhs) -> <U256 as BitOr<Rhs>>::Output
impl<'a> BitOrAssign<&'a U256> for U256
pub fn bitor_assign(&mut self, other: &U256)
impl<Rhs> BitOrAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn bitor_assign(&mut self, other: Rhs)
impl<'a> BitXor<&'a U256> for U256
type Output = U256
The resulting type after applying the ^
operator.
pub fn bitxor(self, other: &U256) -> <U256 as BitXor<&'a U256>>::Output
impl<'a, 'b> BitXor<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the ^
operator.
pub fn bitxor(self, other: &U256) -> <&'a U256 as BitXor<&'b U256>>::Output
impl<'a, Rhs> BitXor<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the ^
operator.
pub fn bitxor(self, other: Rhs) -> <&'a U256 as BitXor<Rhs>>::Output
impl<Rhs> BitXor<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the ^
operator.
pub fn bitxor(self, other: Rhs) -> <U256 as BitXor<Rhs>>::Output
impl<'a> BitXorAssign<&'a U256> for U256
pub fn bitxor_assign(&mut self, other: &U256)
impl<Rhs> BitXorAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn bitxor_assign(&mut self, other: Rhs)
impl Clone for U256
pub fn clone(&self) -> U256
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for U256
impl Default for U256
impl<'de> Deserialize<'de> for U256
pub fn deserialize<D>(
deserializer: D
) -> Result<U256, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
deserializer: D
) -> Result<U256, <D as Deserializer<'de>>::Error> where
D: Deserializer<'de>,
impl Display for U256
impl<'a> Div<&'a U256> for U256
type Output = U256
The resulting type after applying the /
operator.
pub fn div(self, other: &'a U256) -> <U256 as Div<&'a U256>>::Output
impl<'a, 'b> Div<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the /
operator.
pub fn div(self, other: &U256) -> <&'a U256 as Div<&'b U256>>::Output
impl<Rhs> Div<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the /
operator.
pub fn div(self, other: Rhs) -> <U256 as Div<Rhs>>::Output
impl<'a, Rhs> Div<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the /
operator.
pub fn div(self, other: Rhs) -> <&'a U256 as Div<Rhs>>::Output
impl<'a> DivAssign<&'a U256> for U256
pub fn div_assign(&mut self, other: &U256)
impl<Rhs> DivAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn div_assign(&mut self, other: Rhs)
impl Eq for U256
impl<'a> From<&'a u128> for U256
impl<'a> From<&'a u16> for U256
impl<'a> From<&'a u32> for U256
impl<'a> From<&'a u64> for U256
impl<'a> From<&'a u8> for U256
impl From<bool> for U256
impl From<u128> for U256
impl From<u16> for U256
impl From<u32> for U256
impl From<u64> for U256
impl From<u8> for U256
impl Hash for U256
pub fn hash<H>(&self, state: &mut H) where
H: Hasher,
H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl HeapSizeOf for U256
pub fn heap_size_of_children(&self) -> usize
impl LowerHex for U256
impl<'a> Mul<&'a U256> for U256
type Output = U256
The resulting type after applying the *
operator.
pub fn mul(self, other: &'a U256) -> <U256 as Mul<&'a U256>>::Output
impl<'a, 'b> Mul<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the *
operator.
pub fn mul(self, other: &U256) -> <&'a U256 as Mul<&'b U256>>::Output
impl<'a, Rhs> Mul<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the *
operator.
pub fn mul(self, other: Rhs) -> <&'a U256 as Mul<Rhs>>::Output
impl<Rhs> Mul<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the *
operator.
pub fn mul(self, other: Rhs) -> <U256 as Mul<Rhs>>::Output
impl<'a> MulAssign<&'a U256> for U256
pub fn mul_assign(&mut self, other: &U256)
impl<Rhs> MulAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn mul_assign(&mut self, other: Rhs)
impl Not for U256
type Output = U256
The resulting type after applying the !
operator.
pub fn not(self) -> <U256 as Not>::Output
impl<'a> Not for &'a U256
type Output = U256
The resulting type after applying the !
operator.
pub fn not(self) -> <&'a U256 as Not>::Output
impl Octal for U256
impl Ord for U256
pub fn cmp(&self, other: &U256) -> Ordering
#[must_use]fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self
[src]
impl Pack<Uint256> for U256
[src]
impl PartialEq<U256> for U256
impl PartialOrd<U256> for U256
pub fn partial_cmp(&self, other: &U256) -> Option<Ordering>
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl<'a> Product<&'a U256> for U256
impl Product<U256> for U256
impl<'a> Rem<&'a U256> for U256
type Output = U256
The resulting type after applying the %
operator.
pub fn rem(self, other: &'a U256) -> <U256 as Rem<&'a U256>>::Output
impl<'a, 'b> Rem<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the %
operator.
pub fn rem(self, other: &U256) -> <&'a U256 as Rem<&'b U256>>::Output
impl<Rhs> Rem<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the %
operator.
pub fn rem(self, other: Rhs) -> <U256 as Rem<Rhs>>::Output
impl<'a, Rhs> Rem<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the %
operator.
pub fn rem(self, other: Rhs) -> <&'a U256 as Rem<Rhs>>::Output
impl<'a> RemAssign<&'a U256> for U256
pub fn rem_assign(&mut self, other: &U256)
impl<Rhs> RemAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn rem_assign(&mut self, other: Rhs)
impl Serialize for U256
pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl<'a, 'b> Shl<&'a i128> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i128) -> <&'b U256 as Shl<&'a i128>>::Output
impl<'a> Shl<&'a i128> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i128) -> <U256 as Shl<&'a i128>>::Output
impl<'a, 'b> Shl<&'a i16> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i16) -> <&'b U256 as Shl<&'a i16>>::Output
impl<'a> Shl<&'a i16> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i16) -> <U256 as Shl<&'a i16>>::Output
impl<'a> Shl<&'a i32> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i32) -> <U256 as Shl<&'a i32>>::Output
impl<'a, 'b> Shl<&'a i32> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i32) -> <&'b U256 as Shl<&'a i32>>::Output
impl<'a, 'b> Shl<&'a i64> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i64) -> <&'b U256 as Shl<&'a i64>>::Output
impl<'a> Shl<&'a i64> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i64) -> <U256 as Shl<&'a i64>>::Output
impl<'a, 'b> Shl<&'a i8> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i8) -> <&'b U256 as Shl<&'a i8>>::Output
impl<'a> Shl<&'a i8> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &i8) -> <U256 as Shl<&'a i8>>::Output
impl<'a, 'b> Shl<&'a isize> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &isize) -> <&'b U256 as Shl<&'a isize>>::Output
impl<'a> Shl<&'a isize> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &isize) -> <U256 as Shl<&'a isize>>::Output
impl<'a> Shl<&'a u128> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u128) -> <U256 as Shl<&'a u128>>::Output
impl<'a, 'b> Shl<&'a u128> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u128) -> <&'b U256 as Shl<&'a u128>>::Output
impl<'a, 'b> Shl<&'a u16> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u16) -> <&'b U256 as Shl<&'a u16>>::Output
impl<'a> Shl<&'a u16> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u16) -> <U256 as Shl<&'a u16>>::Output
impl<'a, 'b> Shl<&'a u32> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u32) -> <&'b U256 as Shl<&'a u32>>::Output
impl<'a> Shl<&'a u32> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u32) -> <U256 as Shl<&'a u32>>::Output
impl<'a, 'b> Shl<&'a u64> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u64) -> <&'b U256 as Shl<&'a u64>>::Output
impl<'a> Shl<&'a u64> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u64) -> <U256 as Shl<&'a u64>>::Output
impl<'a> Shl<&'a u8> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u8) -> <U256 as Shl<&'a u8>>::Output
impl<'a, 'b> Shl<&'a u8> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &u8) -> <&'b U256 as Shl<&'a u8>>::Output
impl<'a, 'b> Shl<&'a usize> for &'b U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &usize) -> <&'b U256 as Shl<&'a usize>>::Output
impl<'a> Shl<&'a usize> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: &usize) -> <U256 as Shl<&'a usize>>::Output
impl Shl<i128> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i128) -> <U256 as Shl<i128>>::Output
impl<'a> Shl<i128> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i128) -> <&'a U256 as Shl<i128>>::Output
impl Shl<i16> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i16) -> <U256 as Shl<i16>>::Output
impl<'a> Shl<i16> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i16) -> <&'a U256 as Shl<i16>>::Output
impl Shl<i32> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i32) -> <U256 as Shl<i32>>::Output
impl<'a> Shl<i32> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i32) -> <&'a U256 as Shl<i32>>::Output
impl Shl<i64> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i64) -> <U256 as Shl<i64>>::Output
impl<'a> Shl<i64> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i64) -> <&'a U256 as Shl<i64>>::Output
impl<'a> Shl<i8> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i8) -> <&'a U256 as Shl<i8>>::Output
impl Shl<i8> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: i8) -> <U256 as Shl<i8>>::Output
impl Shl<isize> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: isize) -> <U256 as Shl<isize>>::Output
impl<'a> Shl<isize> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: isize) -> <&'a U256 as Shl<isize>>::Output
impl Shl<u128> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u128) -> <U256 as Shl<u128>>::Output
impl<'a> Shl<u128> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u128) -> <&'a U256 as Shl<u128>>::Output
impl Shl<u16> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u16) -> <U256 as Shl<u16>>::Output
impl<'a> Shl<u16> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u16) -> <&'a U256 as Shl<u16>>::Output
impl<'a> Shl<u32> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u32) -> <&'a U256 as Shl<u32>>::Output
impl Shl<u32> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u32) -> <U256 as Shl<u32>>::Output
impl Shl<u64> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u64) -> <U256 as Shl<u64>>::Output
impl<'a> Shl<u64> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u64) -> <&'a U256 as Shl<u64>>::Output
impl Shl<u8> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u8) -> <U256 as Shl<u8>>::Output
impl<'a> Shl<u8> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: u8) -> <&'a U256 as Shl<u8>>::Output
impl<'a> Shl<usize> for &'a U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: usize) -> <&'a U256 as Shl<usize>>::Output
impl Shl<usize> for U256
type Output = U256
The resulting type after applying the <<
operator.
pub fn shl(self, other: usize) -> <U256 as Shl<usize>>::Output
impl<'a> ShlAssign<&'a i128> for U256
pub fn shl_assign(&mut self, other: &i128)
impl<'a> ShlAssign<&'a i16> for U256
pub fn shl_assign(&mut self, other: &i16)
impl<'a> ShlAssign<&'a i32> for U256
pub fn shl_assign(&mut self, other: &i32)
impl<'a> ShlAssign<&'a i64> for U256
pub fn shl_assign(&mut self, other: &i64)
impl<'a> ShlAssign<&'a i8> for U256
pub fn shl_assign(&mut self, other: &i8)
impl<'a> ShlAssign<&'a isize> for U256
pub fn shl_assign(&mut self, other: &isize)
impl<'a> ShlAssign<&'a u128> for U256
pub fn shl_assign(&mut self, other: &u128)
impl<'a> ShlAssign<&'a u16> for U256
pub fn shl_assign(&mut self, other: &u16)
impl<'a> ShlAssign<&'a u32> for U256
pub fn shl_assign(&mut self, other: &u32)
impl<'a> ShlAssign<&'a u64> for U256
pub fn shl_assign(&mut self, other: &u64)
impl<'a> ShlAssign<&'a u8> for U256
pub fn shl_assign(&mut self, other: &u8)
impl<'a> ShlAssign<&'a usize> for U256
pub fn shl_assign(&mut self, other: &usize)
impl ShlAssign<i128> for U256
pub fn shl_assign(&mut self, other: i128)
impl ShlAssign<i16> for U256
pub fn shl_assign(&mut self, other: i16)
impl ShlAssign<i32> for U256
pub fn shl_assign(&mut self, other: i32)
impl ShlAssign<i64> for U256
pub fn shl_assign(&mut self, other: i64)
impl ShlAssign<i8> for U256
pub fn shl_assign(&mut self, other: i8)
impl ShlAssign<isize> for U256
pub fn shl_assign(&mut self, other: isize)
impl ShlAssign<u128> for U256
pub fn shl_assign(&mut self, other: u128)
impl ShlAssign<u16> for U256
pub fn shl_assign(&mut self, other: u16)
impl ShlAssign<u32> for U256
pub fn shl_assign(&mut self, other: u32)
impl ShlAssign<u64> for U256
pub fn shl_assign(&mut self, other: u64)
impl ShlAssign<u8> for U256
pub fn shl_assign(&mut self, other: u8)
impl ShlAssign<usize> for U256
pub fn shl_assign(&mut self, other: usize)
impl<'a, 'b> Shr<&'a i128> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i128) -> <&'b U256 as Shr<&'a i128>>::Output
impl<'a> Shr<&'a i128> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i128) -> <U256 as Shr<&'a i128>>::Output
impl<'a> Shr<&'a i16> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i16) -> <U256 as Shr<&'a i16>>::Output
impl<'a, 'b> Shr<&'a i16> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i16) -> <&'b U256 as Shr<&'a i16>>::Output
impl<'a, 'b> Shr<&'a i32> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i32) -> <&'b U256 as Shr<&'a i32>>::Output
impl<'a> Shr<&'a i32> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i32) -> <U256 as Shr<&'a i32>>::Output
impl<'a> Shr<&'a i64> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i64) -> <U256 as Shr<&'a i64>>::Output
impl<'a, 'b> Shr<&'a i64> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i64) -> <&'b U256 as Shr<&'a i64>>::Output
impl<'a, 'b> Shr<&'a i8> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i8) -> <&'b U256 as Shr<&'a i8>>::Output
impl<'a> Shr<&'a i8> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &i8) -> <U256 as Shr<&'a i8>>::Output
impl<'a, 'b> Shr<&'a isize> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &isize) -> <&'b U256 as Shr<&'a isize>>::Output
impl<'a> Shr<&'a isize> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &isize) -> <U256 as Shr<&'a isize>>::Output
impl<'a> Shr<&'a u128> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u128) -> <U256 as Shr<&'a u128>>::Output
impl<'a, 'b> Shr<&'a u128> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u128) -> <&'b U256 as Shr<&'a u128>>::Output
impl<'a> Shr<&'a u16> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u16) -> <U256 as Shr<&'a u16>>::Output
impl<'a, 'b> Shr<&'a u16> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u16) -> <&'b U256 as Shr<&'a u16>>::Output
impl<'a> Shr<&'a u32> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u32) -> <U256 as Shr<&'a u32>>::Output
impl<'a, 'b> Shr<&'a u32> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u32) -> <&'b U256 as Shr<&'a u32>>::Output
impl<'a, 'b> Shr<&'a u64> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u64) -> <&'b U256 as Shr<&'a u64>>::Output
impl<'a> Shr<&'a u64> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u64) -> <U256 as Shr<&'a u64>>::Output
impl<'a, 'b> Shr<&'a u8> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u8) -> <&'b U256 as Shr<&'a u8>>::Output
impl<'a> Shr<&'a u8> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &u8) -> <U256 as Shr<&'a u8>>::Output
impl<'a, 'b> Shr<&'a usize> for &'b U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &usize) -> <&'b U256 as Shr<&'a usize>>::Output
impl<'a> Shr<&'a usize> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: &usize) -> <U256 as Shr<&'a usize>>::Output
impl Shr<i128> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i128) -> <U256 as Shr<i128>>::Output
impl<'a> Shr<i128> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i128) -> <&'a U256 as Shr<i128>>::Output
impl<'a> Shr<i16> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i16) -> <&'a U256 as Shr<i16>>::Output
impl Shr<i16> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i16) -> <U256 as Shr<i16>>::Output
impl Shr<i32> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i32) -> <U256 as Shr<i32>>::Output
impl<'a> Shr<i32> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i32) -> <&'a U256 as Shr<i32>>::Output
impl Shr<i64> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i64) -> <U256 as Shr<i64>>::Output
impl<'a> Shr<i64> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i64) -> <&'a U256 as Shr<i64>>::Output
impl<'a> Shr<i8> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i8) -> <&'a U256 as Shr<i8>>::Output
impl Shr<i8> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: i8) -> <U256 as Shr<i8>>::Output
impl Shr<isize> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: isize) -> <U256 as Shr<isize>>::Output
impl<'a> Shr<isize> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: isize) -> <&'a U256 as Shr<isize>>::Output
impl Shr<u128> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u128) -> <U256 as Shr<u128>>::Output
impl<'a> Shr<u128> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u128) -> <&'a U256 as Shr<u128>>::Output
impl<'a> Shr<u16> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u16) -> <&'a U256 as Shr<u16>>::Output
impl Shr<u16> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u16) -> <U256 as Shr<u16>>::Output
impl Shr<u32> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u32) -> <U256 as Shr<u32>>::Output
impl<'a> Shr<u32> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u32) -> <&'a U256 as Shr<u32>>::Output
impl<'a> Shr<u64> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u64) -> <&'a U256 as Shr<u64>>::Output
impl Shr<u64> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u64) -> <U256 as Shr<u64>>::Output
impl Shr<u8> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u8) -> <U256 as Shr<u8>>::Output
impl<'a> Shr<u8> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: u8) -> <&'a U256 as Shr<u8>>::Output
impl Shr<usize> for U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: usize) -> <U256 as Shr<usize>>::Output
impl<'a> Shr<usize> for &'a U256
type Output = U256
The resulting type after applying the >>
operator.
pub fn shr(self, other: usize) -> <&'a U256 as Shr<usize>>::Output
impl<'a> ShrAssign<&'a i128> for U256
pub fn shr_assign(&mut self, other: &i128)
impl<'a> ShrAssign<&'a i16> for U256
pub fn shr_assign(&mut self, other: &i16)
impl<'a> ShrAssign<&'a i32> for U256
pub fn shr_assign(&mut self, other: &i32)
impl<'a> ShrAssign<&'a i64> for U256
pub fn shr_assign(&mut self, other: &i64)
impl<'a> ShrAssign<&'a i8> for U256
pub fn shr_assign(&mut self, other: &i8)
impl<'a> ShrAssign<&'a isize> for U256
pub fn shr_assign(&mut self, other: &isize)
impl<'a> ShrAssign<&'a u128> for U256
pub fn shr_assign(&mut self, other: &u128)
impl<'a> ShrAssign<&'a u16> for U256
pub fn shr_assign(&mut self, other: &u16)
impl<'a> ShrAssign<&'a u32> for U256
pub fn shr_assign(&mut self, other: &u32)
impl<'a> ShrAssign<&'a u64> for U256
pub fn shr_assign(&mut self, other: &u64)
impl<'a> ShrAssign<&'a u8> for U256
pub fn shr_assign(&mut self, other: &u8)
impl<'a> ShrAssign<&'a usize> for U256
pub fn shr_assign(&mut self, other: &usize)
impl ShrAssign<i128> for U256
pub fn shr_assign(&mut self, other: i128)
impl ShrAssign<i16> for U256
pub fn shr_assign(&mut self, other: i16)
impl ShrAssign<i32> for U256
pub fn shr_assign(&mut self, other: i32)
impl ShrAssign<i64> for U256
pub fn shr_assign(&mut self, other: i64)
impl ShrAssign<i8> for U256
pub fn shr_assign(&mut self, other: i8)
impl ShrAssign<isize> for U256
pub fn shr_assign(&mut self, other: isize)
impl ShrAssign<u128> for U256
pub fn shr_assign(&mut self, other: u128)
impl ShrAssign<u16> for U256
pub fn shr_assign(&mut self, other: u16)
impl ShrAssign<u32> for U256
pub fn shr_assign(&mut self, other: u32)
impl ShrAssign<u64> for U256
pub fn shr_assign(&mut self, other: u64)
impl ShrAssign<u8> for U256
pub fn shr_assign(&mut self, other: u8)
impl ShrAssign<usize> for U256
pub fn shr_assign(&mut self, other: usize)
impl<'a> Sub<&'a U256> for U256
type Output = U256
The resulting type after applying the -
operator.
pub fn sub(self, other: &'a U256) -> <U256 as Sub<&'a U256>>::Output
impl<'a, 'b> Sub<&'b U256> for &'a U256
type Output = U256
The resulting type after applying the -
operator.
pub fn sub(self, other: &U256) -> <&'a U256 as Sub<&'b U256>>::Output
impl<Rhs> Sub<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the -
operator.
pub fn sub(self, other: Rhs) -> <U256 as Sub<Rhs>>::Output
impl<'a, Rhs> Sub<Rhs> for &'a U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
type Output = U256
The resulting type after applying the -
operator.
pub fn sub(self, other: Rhs) -> <&'a U256 as Sub<Rhs>>::Output
impl<'a> SubAssign<&'a U256> for U256
pub fn sub_assign(&mut self, other: &U256)
impl<Rhs> SubAssign<Rhs> for U256 where
Rhs: Into<U256>,
Rhs: Into<U256>,
pub fn sub_assign(&mut self, other: Rhs)
impl<'a> Sum<&'a U256> for U256
impl Sum<U256> for U256
impl UintConvert<U1024> for U256
pub fn convert_into(&self) -> (U1024, bool)
impl UintConvert<U128> for U256
pub fn convert_into(&self) -> (U128, bool)
impl UintConvert<U160> for U256
pub fn convert_into(&self) -> (U160, bool)
impl UintConvert<U2048> for U256
pub fn convert_into(&self) -> (U2048, bool)
impl UintConvert<U224> for U256
pub fn convert_into(&self) -> (U224, bool)
impl UintConvert<U256> for U128
pub fn convert_into(&self) -> (U256, bool)
impl UintConvert<U384> for U256
pub fn convert_into(&self) -> (U384, bool)
impl UintConvert<U4096> for U256
pub fn convert_into(&self) -> (U4096, bool)
impl UintConvert<U512> for U256
pub fn convert_into(&self) -> (U512, bool)
impl UintConvert<U520> for U256
pub fn convert_into(&self) -> (U520, bool)
impl<'r> Unpack<U256> for Uint256Reader<'r>
[src]
impl Unpack<U256> for Uint256
[src]
impl UpperHex for U256
Auto Trait Implementations
impl RefUnwindSafe for U256
impl Send for U256
impl Sync for U256
impl Unpin for U256
impl UnwindSafe for U256
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,