[][src]Trait sbitty::UnsetBit

pub trait UnsetBit {
    pub fn unset_bit(&self, idx: usize) -> Result<Self, IndexError>
    where
        Self: Sized
; }

performing _ & !(1 << idx) with n the index

Examples

unset bit for big int

Don't pay attention to my bigint implementation.

pub struct BigInt {
	hwb: i64,
	lwb: i64,
}
impl UnsetBit for BigInt {
	fn unset_bit(&self, idx: usize) -> Result<Self,IndexError> where Self: Sized {
		if idx >= 128 {
			Err(IndexError)
		} else if idx >= 64 {
			Ok(BigInt{
				hwb: self.hwb & !(1 << (idx - 64)),
				lwb: self.lwb
			})
		} else {
			Ok(BigInt{
				hwb: self.hwb,
				lwb: self.lwb & !(1 << (idx - 64))
			})
		}
	}
}

Required methods

pub fn unset_bit(&self, idx: usize) -> Result<Self, IndexError> where
    Self: Sized
[src]

Loading content...

Implementors

impl UnsetBit for i8[src]

impl UnsetBit for i16[src]

impl UnsetBit for i32[src]

impl UnsetBit for i64[src]

impl UnsetBit for isize[src]

impl UnsetBit for u8[src]

impl UnsetBit for u16[src]

impl UnsetBit for u32[src]

impl UnsetBit for u64[src]

impl UnsetBit for usize[src]

Loading content...