Struct ux::i12
[−]
[src]
pub struct i12(_);
The 12-bit signed integer type.
Methods
impl i12[src]
The 12-bit signed integer type.
pub const MAX: Self
MAX: Self = i12(((1 as i16) << 12 - 1) - 1)
pub const MIN: Self
MIN: Self = i12(-((1 as i16) << 12 - 1))
impl i12[src]
pub fn min_value() -> i12[src]
Returns the smallest value that can be represented by this integer type.
pub fn max_value() -> i12[src]
Returns the largest value that can be represented by this integer type.
pub fn new(value: i16) -> i12[src]
Crates a new variable
This function mainly exists as there is currently not a better way to construct these types. May be deprecated or removed if a better way to construct these types becomes available.
Examples
Basic usage:
use ux::*; assert_eq!(u31::new(64), u31::from(64u8));
Panic
This function will panic if value is not representable by this type
pub fn wrapping_sub(self, rhs: Self) -> Self[src]
Wrapping (modular) subtraction. Computes self - other,
wrapping around at the boundary of the type.
Examples
Basic usage:
use ux::*; assert_eq!(i5::MIN.wrapping_sub(i5::new(1)), i5::MAX); assert_eq!(i5::new(-10).wrapping_sub(i5::new(5)), i5::new(-15)); assert_eq!(i5::new(-15).wrapping_sub(i5::new(5)), i5::new(12));
pub fn wrapping_add(self, rhs: Self) -> Self[src]
Wrapping (modular) addition. Computes self + other,
wrapping around at the boundary of the type.
Examples
Basic usage:
use ux::*; assert_eq!(i5::MAX.wrapping_add(i5::new(1)), i5::MIN); assert_eq!(i5::new(10).wrapping_add(i5::new(5)), i5::new(15)); assert_eq!(i5::new(15).wrapping_add(i5::new(5)), i5::new(-12));
Trait Implementations
impl From<i8> for i12[src]
impl From<i12> for i16[src]
impl From<i12> for i32[src]
impl From<i12> for i64[src]
impl From<i2> for i12[src]
impl From<i3> for i12[src]
impl From<i4> for i12[src]
impl From<i5> for i12[src]
impl From<i6> for i12[src]
impl From<i7> for i12[src]
impl From<i9> for i12[src]
impl From<i10> for i12[src]
impl From<i11> for i12[src]
impl From<i12> for i13[src]
impl From<i12> for i14[src]
impl From<i12> for i15[src]
impl From<i12> for i17[src]
impl From<i12> for i18[src]
impl From<i12> for i19[src]
impl From<i12> for i20[src]
impl From<i12> for i21[src]
impl From<i12> for i22[src]
impl From<i12> for i23[src]
impl From<i12> for i24[src]
impl From<i12> for i25[src]
impl From<i12> for i26[src]
impl From<i12> for i27[src]
impl From<i12> for i28[src]
impl From<i12> for i29[src]
impl From<i12> for i30[src]
impl From<i12> for i31[src]
impl From<i12> for i33[src]
impl From<i12> for i34[src]
impl From<i12> for i35[src]
impl From<i12> for i36[src]
impl From<i12> for i37[src]
impl From<i12> for i38[src]
impl From<i12> for i39[src]
impl From<i12> for i40[src]
impl From<i12> for i41[src]
impl From<i12> for i42[src]
impl From<i12> for i43[src]
impl From<i12> for i44[src]
impl From<i12> for i45[src]
impl From<i12> for i46[src]
impl From<i12> for i47[src]
impl From<i12> for i48[src]
impl From<i12> for i49[src]
impl From<i12> for i50[src]
impl From<i12> for i51[src]
impl From<i12> for i52[src]
impl From<i12> for i53[src]
impl From<i12> for i54[src]
impl From<i12> for i55[src]
impl From<i12> for i56[src]
impl From<i12> for i57[src]
impl From<i12> for i58[src]
impl From<i12> for i59[src]
impl From<i12> for i60[src]
impl From<i12> for i61[src]
impl From<i12> for i62[src]
impl From<i12> for i63[src]
impl Default for i12[src]
impl Clone for i12[src]
fn clone(&self) -> i12[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Copy for i12[src]
impl Debug for i12[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl PartialEq for i12[src]
fn eq(&self, other: &Self) -> bool[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Rhs) -> bool1.0.0[src]
This method tests for !=.
impl Eq for i12[src]
impl PartialOrd for i12[src]
fn partial_cmp(&self, other: &i12) -> Option<Ordering>[src]
This method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
fn gt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than (for self and other) and is used by the > operator. Read more
fn ge(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more
impl Ord for i12[src]
fn cmp(&self, other: &i12) -> Ordering[src]
This method returns an Ordering between self and other. Read more
fn max(self, other: Self) -> Self1.21.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self1.21.0[src]
Compares and returns the minimum of two values. Read more
impl Hash for i12[src]
fn hash<H: Hasher>(&self, h: &mut H)[src]
Feeds this value into the given [Hasher]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher]. Read more
impl Display for i12[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter. Read more
impl UpperHex for i12[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter.
impl LowerHex for i12[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter.
impl Octal for i12[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter.
impl Binary for i12[src]
fn fmt(&self, f: &mut Formatter) -> Result<(), Error>[src]
Formats the value using the given formatter.
impl<T> Shr<T> for i12 where
i16: Shr<T, Output = i16>, [src]
i16: Shr<T, Output = i16>,
type Output = i12
The resulting type after applying the >> operator.
fn shr(self, rhs: T) -> i12[src]
Performs the >> operation.
impl<T> Shl<T> for i12 where
i16: Shl<T, Output = i16>, [src]
i16: Shl<T, Output = i16>,
type Output = i12
The resulting type after applying the << operator.
fn shl(self, rhs: T) -> i12[src]
Performs the << operation.
impl<T> ShrAssign<T> for i12 where
i16: ShrAssign<T>, [src]
i16: ShrAssign<T>,
fn shr_assign(&mut self, rhs: T)[src]
Performs the >>= operation.
impl<T> ShlAssign<T> for i12 where
i16: ShlAssign<T>, [src]
i16: ShlAssign<T>,
fn shl_assign(&mut self, rhs: T)[src]
Performs the <<= operation.
impl BitOr<i12> for i12[src]
type Output = i12
The resulting type after applying the | operator.
fn bitor(self, rhs: i12) -> Self::Output[src]
Performs the | operation.
impl<'a> BitOr<&'a i12> for i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the | operator.
fn bitor(self, rhs: &'a i12) -> Self::Output[src]
Performs the | operation.
impl<'a> BitOr<i12> for &'a i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the | operator.
fn bitor(self, rhs: i12) -> Self::Output[src]
Performs the | operation.
impl<'a> BitOr<&'a i12> for &'a i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the | operator.
fn bitor(self, rhs: &'a i12) -> Self::Output[src]
Performs the | operation.
impl BitOrAssign<i12> for i12[src]
fn bitor_assign(&mut self, other: i12)[src]
Performs the |= operation.
impl BitXor<i12> for i12[src]
type Output = i12
The resulting type after applying the ^ operator.
fn bitxor(self, rhs: i12) -> Self::Output[src]
Performs the ^ operation.
impl<'a> BitXor<&'a i12> for i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the ^ operator.
fn bitxor(self, rhs: &'a i12) -> Self::Output[src]
Performs the ^ operation.
impl<'a> BitXor<i12> for &'a i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the ^ operator.
fn bitxor(self, rhs: i12) -> Self::Output[src]
Performs the ^ operation.
impl<'a> BitXor<&'a i12> for &'a i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the ^ operator.
fn bitxor(self, rhs: &'a i12) -> Self::Output[src]
Performs the ^ operation.
impl BitXorAssign<i12> for i12[src]
fn bitxor_assign(&mut self, other: i12)[src]
Performs the ^= operation.
impl Not for i12[src]
type Output = i12
The resulting type after applying the ! operator.
fn not(self) -> i12[src]
Performs the unary ! operation.
impl<'a> Not for &'a i12[src]
type Output = <i12 as Not>::Output
The resulting type after applying the ! operator.
fn not(self) -> i12[src]
Performs the unary ! operation.
impl BitAnd<i12> for i12[src]
type Output = i12
The resulting type after applying the & operator.
fn bitand(self, rhs: i12) -> Self::Output[src]
Performs the & operation.
impl<'a> BitAnd<&'a i12> for i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the & operator.
fn bitand(self, rhs: &'a i12) -> Self::Output[src]
Performs the & operation.
impl<'a> BitAnd<i12> for &'a i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the & operator.
fn bitand(self, rhs: i12) -> Self::Output[src]
Performs the & operation.
impl<'a> BitAnd<&'a i12> for &'a i12[src]
type Output = <i12 as BitOr<i12>>::Output
The resulting type after applying the & operator.
fn bitand(self, rhs: &'a i12) -> Self::Output[src]
Performs the & operation.
impl BitAndAssign<i12> for i12[src]
fn bitand_assign(&mut self, other: i12)[src]
Performs the &= operation.
impl Add<i12> for i12[src]
type Output = i12
The resulting type after applying the + operator.
fn add(self, other: i12) -> i12[src]
Performs the + operation.