Struct secret_integers::U16
source · pub struct U16(pub u16);
Tuple Fields§
§0: u16
Implementations§
source§impl U16
impl U16
pub fn classify<T: Into<u16>>(x: T) -> Self
sourcepub fn declassify(self) -> u16
pub fn declassify(self) -> u16
Warning: use with caution, breaks the constant-time guarantee.
pub fn zero() -> Self
pub fn one() -> Self
pub fn ones() -> Self
pub fn from_le_bytes(bytes: &[U8]) -> Vec<U16>
pub fn to_le_bytes(ints: &[U16]) -> Vec<U8>
pub fn from_be_bytes(bytes: &[U8]) -> Vec<U16>
pub fn to_be_bytes(ints: &[U16]) -> Vec<U8>
pub fn max_value() -> U16
source§impl U16
impl U16
sourcepub fn checked_add(self, rhs: Self) -> Self
pub fn checked_add(self, rhs: Self) -> Self
Warning: panics when overflow.
source§impl U16
impl U16
sourcepub fn checked_sub(self, rhs: Self) -> Self
pub fn checked_sub(self, rhs: Self) -> Self
Warning: panics when overflow.
source§impl U16
impl U16
sourcepub fn checked_mul(self, rhs: Self) -> Self
pub fn checked_mul(self, rhs: Self) -> Self
Warning: panics when overflow.
source§impl U16
impl U16
pub fn rotate_left(self, rotval: usize) -> Self
pub fn rotate_right(self, rotval: usize) -> Self
source§impl U16
impl U16
sourcepub fn comp_eq(self, rhs: Self) -> Self
pub fn comp_eq(self, rhs: Self) -> Self
Produces a new integer which is all ones if the two arguments are equal and all zeroes otherwise. With inspiration from Wireguard.
sourcepub fn comp_ne(self, rhs: Self) -> Self
pub fn comp_ne(self, rhs: Self) -> Self
Produces a new integer which is all ones if the first argument is different from the second argument, and all zeroes otherwise.
sourcepub fn comp_gte(self, rhs: Self) -> Self
pub fn comp_gte(self, rhs: Self) -> Self
Produces a new integer which is all ones if the first argument is greater than or equal to the second argument, and all zeroes otherwise. With inspiration from WireGuard.
sourcepub fn comp_gt(self, rhs: Self) -> Self
pub fn comp_gt(self, rhs: Self) -> Self
Produces a new integer which is all ones if the first argument is strictly greater than the second argument, and all zeroes otherwise.
Trait Implementations§
source§impl AddAssign<U16> for U16
impl AddAssign<U16> for U16
Warning: has wrapping semantics.
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+=
operation. Read moresource§impl BitAndAssign<U16> for U16
impl BitAndAssign<U16> for U16
source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
&=
operation. Read moresource§impl BitOrAssign<U16> for U16
impl BitOrAssign<U16> for U16
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
|=
operation. Read moresource§impl BitXorAssign<U16> for U16
impl BitXorAssign<U16> for U16
source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
^=
operation. Read moresource§impl MulAssign<U16> for U16
impl MulAssign<U16> for U16
Warning: has wrapping semantics.
source§fn mul_assign(&mut self, rhs: Self)
fn mul_assign(&mut self, rhs: Self)
*=
operation. Read moresource§impl ShlAssign<usize> for U16
impl ShlAssign<usize> for U16
source§fn shl_assign(&mut self, rhs: usize)
fn shl_assign(&mut self, rhs: usize)
<<=
operation. Read moresource§impl ShrAssign<usize> for U16
impl ShrAssign<usize> for U16
source§fn shr_assign(&mut self, rhs: usize)
fn shr_assign(&mut self, rhs: usize)
>>=
operation. Read moresource§impl SubAssign<U16> for U16
impl SubAssign<U16> for U16
Warning: has wrapping semantics.
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
-=
operation. Read more