### 5 unstable releases

Uses old Rust 2015

0.3.0 | Nov 17, 2021 |
---|---|

0.2.0 | Nov 14, 2021 |

0.1.2 | Nov 14, 2021 |

0.1.1 | Nov 14, 2021 |

0.1.0 | Nov 12, 2021 |

#**910** in Math

**MIT/Apache**

14KB

213 lines

# dotbits

unsigned int <-> Vec<bool>, plus helper functions

dotbits is a rust library that simplifies bit manipulation. Its primary feature is the

function, which converts any unsigned integer type (`.``bits``(``)`

, `u8`

, `u16`

, `u32`

, `u64`

, `u128`

) into a `usize`

. It also adds certain helper functions over `Vec``<``bool``>`

.`Vec``<``bool``>`

**WARNING:** This crate is currently in the rapid iteration phase, and **should not be considered stable.** Certain methods may get added or removed very quickly between versions - use this crate at your own risk!

## Usage

Add the following to your

:`Cargo.toml`

`[``dependencies``]`
`dotbits ``=` `"`0.3`"`

## Examples

Bit shifts using negative numbers:

`use` `dotbits``::`BitManip`;`
`assert_eq!``(``24``u32``.``signed_left_shift``(``2``)``,` `24``u32` `<``<` `2``)``;`
`assert_eq!``(``24``u32``.``signed_left_shift``(``-``2``)``,` `24``u32` `>``>` `2``)``;`
`assert_eq!``(``24``u32``.``signed_right_shift``(``2``)``,` `24``u32` `>``>` `2``)``;`
`assert_eq!``(``24``u32``.``signed_right_shift``(``-``2``)``,` `24``u32` `<``<` `2``)``;`

## License

dotbits is distributed under the terms of both the MIT license and the Apache License (Version 2.0).