BitmapTrait
Fully qualified path: alexandria_math::bitmap::BitmapTrait
#![allow(unused)] fn main() { pub trait BitmapTrait< T, +Add<T>, +Sub<T>, +Mul<T>, +Div<T>, +DivAssign<T, T>, +Rem<T>, +BitAnd<T>, +BitOr<T>, +BitNot<T>, +PartialEq<T>, +PartialOrd<T>, +Into<u8, T>, +Into<T, u256>, +TryInto<u256, T>, +Drop<T>, +Copy<T>, > }
Trait functions
get_bit_at
The bit value at the provided index of a number.
Arguments
x
- The value for which to extract the bit value.i
- The index.
Returns
- The value at index.
Fully qualified path: alexandria_math::bitmap::BitmapTrait::get_bit_at
#![allow(unused)] fn main() { fn get_bit_at(x: T, i: u8) -> bool }
set_bit_at
Set the bit to value at the provided index of a number.
Arguments
x
- The value for which to extract the bit value.i
- The index.value
- The value to set the bit to.
Returns
- The value with the bit set to value.
Fully qualified path: alexandria_math::bitmap::BitmapTrait::set_bit_at
#![allow(unused)] fn main() { fn set_bit_at(x: T, i: u8, value: bool) -> T }
most_significant_bit
The index of the most significant bit of the number, where the least significant bit is at index 0 and the most significant bit is at index 255
Arguments
x
- The value for which to compute the most significant bit, must be greater than 0.
Returns
- The index of the most significant bit
Fully qualified path: alexandria_math::bitmap::BitmapTrait::most_significant_bit
#![allow(unused)] fn main() { fn most_significant_bit(x: T) -> Option<u8> }
least_significant_bit
The index of the least significant bit of the number, where the least significant bit is at index 0 and the most significant bit is at index 255
Arguments
x
- The value for which to compute the least significant bit, must be greater than 0.
Returns
- The index of the least significant bit
Fully qualified path: alexandria_math::bitmap::BitmapTrait::least_significant_bit
#![allow(unused)] fn main() { fn least_significant_bit(x: T) -> Option<u8> }
nearest_left_significant_bit
The index of the nearest left significant bit to the index of a number.
Arguments
x
- The value for which to compute the most significant bit.i
- The index for which to start the search.
Returns
- The index of the nearest left significant bit, None is returned if no significant bit is found.
Fully qualified path: alexandria_math::bitmap::BitmapTrait::nearest_left_significant_bit
#![allow(unused)] fn main() { fn nearest_left_significant_bit(x: T, i: u8) -> Option<u8> }
nearest_right_significant_bit
The index of the nearest right significant bit to the index of a number.
Arguments
x
- The value for which to compute the most significant bit.i
- The index for which to start the search.
Returns
- The index of the nearest right significant bit, None is returned if no significant bit is found.
Fully qualified path: alexandria_math::bitmap::BitmapTrait::nearest_right_significant_bit
#![allow(unused)] fn main() { fn nearest_right_significant_bit(x: T, i: u8) -> Option<u8> }
nearest_significant_bit
The index of the nearest significant bit to the index of a number, where the least significant bit is at index 0 and the most significant bit is at index 255
Arguments
x
- The value for which to compute the most significant bit, must be greater than 0.i
- The index for which to start the search.priority
- if priority is set to true then right is prioritized over left, left over right otherwise.
Returns
- The index of the nearest significant bit, None is returned if no significant bit is found.
Fully qualified path: alexandria_math::bitmap::BitmapTrait::nearest_significant_bit
#![allow(unused)] fn main() { fn nearest_significant_bit(x: T, i: u8, priority: bool) -> Option<u8> }