All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Crate is now
#![no_std]
compatible get_bit_range
andset_bit_range
methods to deal with ranges of bits
- All methods no longer return
Result
and simply panic on failure - All
try_into
methods inBitVec
has been renamed tointo
, and now consumes the vector to follow conventions - All methods with
zeroes
in its name have been changed tozeros
to follow std conventions - Several methods have been optimized and turned into one-liners
- Removed methods that are redundant to existing methods
- For
BitManip
:bit_set
,bit_get
,bit_on
,bit_off
,bit_tog
: Simply use existing bitshift operatorsbit_rev
: Usereverse_bits()
instead, functions are completely equivalentbit_len
: Usetype::BITS
instead, works for all primitive integer types
- For
BitVec
:set
,set_on
,set_off
,toggle
: Simply use manual assigning
- For
dotbits::Error
no longer exists - functions will now simply panic on failure
signed_left_shift
andsigned_right_shift
methods as helpers for signed shifting
bit_first_one
andbit_first_zero
method - redundant to existingtrailing_zeros
andtrailing_ones
methods respectively
bit_first_one
andbit_first_zero
methods to reduce excessive vec creation
bit_ones
andbit_zeroes
methods to shortcut getting on/off bits of a number
BitManip
trait that adds various direct bit manipulation functionsBitVec
trait to add helpers for manipulating aVec<bool>
Error
enum to handle all possible errors from this library