## Usage
Add `bitsvec` to `Cargo.toml`:
```toml
bitsvec = "x.y.z"
```
Write some code like this:
```rust
let mut bitvec = BitVec::ones(1000); // create a bitvec contains 0 ..= 999
bitvec.set(900, false); // delete 900 from bitvec
bitvec.set(1200, true); // add 1200 to bitvec (and expand bitvec to length 1201)
let bitvec2 = BitVec::ones(1000);
let new_bitvec = bitvec.and_cloned(&bitvec2); // and operation, without consume
let new_bitvec2 = bitvec & bitvec2; // and operation, consume both bitvec
// Operation Supported:
// and, or, xor, not, eq, eq_left
assert_eq!(new_bitvec, new_bitvec2);
```
## Performance
Compared on AMD Ryzen 9 5900hs, aginst:
* [bit_vec 0.6.3](https://docs.rs/bit-vec/0.6.3/bit_vec/index.html)
* [bitvec 1.0.0](https://docs.rs/bitvec/1.0.0/bitvec/index.html)
* [bitvec_simd 0.15.0](https://docs.rs/bitvec_simd/0.15.0/bitvec_simd/index.html)
* [bitvector_simd 0.2.2](https://docs.rs/bitvector_simd/0.2.2/bitvector_simd/index.html)