[−][src]Trait xor_distance_exercise::bitops::BitOps
Bit operations trait for any Integer
type.
Provided methods
fn is_flag(&self) -> bool
Returns whether this number only has one bit set.
Examples
extern crate xor_distance_exercise; use xor_distance_exercise::bitops::BitOps; // Flag must have exactly one bit set to "1". assert!(0b0010.is_flag()); assert!(!0b0101.is_flag());
fn is_flag_set(&self, flag: Self) -> bool
Returns whether the given flag is set.
It doesn't check if the provided flag is really flag.
Examples
extern crate xor_distance_exercise; use xor_distance_exercise::bitops::BitOps; let x = 0b1101; let flag = 0b0001; assert!(x.is_flag_set(flag));
fn set_flag(&mut self, flag: Self)
Set flag.
It doesn't check if the provided flag is really flag.
Examples
extern crate xor_distance_exercise; use xor_distance_exercise::bitops::BitOps; let mut x = 0b1101; let flag = 0b0010; x.set_flag(flag); assert_eq!(0b1111, x);
fn is_bit_set(&self, bit_index: usize) -> bool
Returns whether the bit on specified bit index is set to "1".
Panics
Panics if bit
is greater than the number of bits in this Integer.
Examples
extern crate xor_distance_exercise; use xor_distance_exercise::bitops::BitOps; assert!(0b1000.is_bit_set(3));
fn set_bit(&mut self, bit_index: usize)
Set bit to "1" for specified bit index. Indexed from zero.
Panics
Panics if bit
is greater than the number of bits in this Integer.
Examples
extern crate xor_distance_exercise; use xor_distance_exercise::bitops::BitOps; let mut x = 0b1000; x.set_bit(1); // The second bit should be added/set now. assert_eq!(0b1010, x);