• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

patches/25-Apr-2025-1613

src/25-Apr-2025-2,4671,780

tests/25-Apr-2025-1,3141,181

.cargo-checksum.jsonD25-Apr-20251.2 KiB11

Android.bpD25-Apr-20251.3 KiB5853

Cargo.tomlD25-Apr-20251.1 KiB4640

LICENSED25-Apr-202510.6 KiB202169

LICENSE-APACHED25-Apr-202510.6 KiB202169

LICENSE-MITD25-Apr-20251 KiB2622

METADATAD25-Apr-2025392 1817

MODULE_LICENSE_APACHE2D25-Apr-20250

README.mdD25-Apr-20256.6 KiB126117

TEST_MAPPINGD25-Apr-202583 87

cargo_embargo.jsonD25-Apr-202520 43

README.md

1fixedbitset
2---
3
4A simple fixed size bitset container for Rust.
5
6Please read the [API documentation here](https://docs.rs/fixedbitset/)
7
8[![build\_status](https://github.com/petgraph/fixedbitset/workflows/Continuous%20integration/badge.svg?branch=master)](https://github.com/petgraph/fixedbitset/actions)
9[![crates](https://img.shields.io/crates/v/fixedbitset.svg)](https://crates.io/crates/fixedbitset)
10
11# Recent Changes
12
13-   0.5.7
14    - [#127](https://github.com/petgraph/fixedbitset/pull/127) and [#128](https://github.com/petgraph/fixedbitset/pull/128): Optimize `Clone::clone_from` to avoid
15      extra allocations and copies.
16-   0.5.6
17    - Fixed FixedBitset not implementing Send/Sync due to the stack size shrink.
18-   0.5.5 (yanked)
19    - [#116](https://github.com/petgraph/fixedbitset/pull/116): Add functions for counting the results of a set operation (`union_count`,
20       `intersection_count`, `difference_count`, `symmetric_difference_count`) by @james7132.
21    - [#118](https://github.com/petgraph/fixedbitset/pull/118): Shrink the stack size of FixedBitset. There should be zero stack size overhead
22      compared to a Vec.
23    - [#119](https://github.com/petgraph/fixedbitset/pull/119): Fix builds for wasm32.
24    - [#120](https://github.com/petgraph/fixedbitset/pull/119): Add more utility functions that were previously missing from the public interface:
25       `contains_any_in_range`, `contains_all_in_range`, `minimum`, `maximum`, `is_full`, `count_zeroes`, and `remove_range`.
26    - [#121](https://github.com/petgraph/fixedbitset/pull/121): Add support for SIMD acceleration for AVX builds.
27-   0.5.4
28    - [#112](https://github.com/petgraph/fixedbitset/pull/112): Fix undefined behavior in IntoOnes and setup testing with MIRI by @SkiFire13
29-   0.5.3 (yanked)
30    - [#109](https://github.com/petgraph/fixedbitset/pull/109): Fix non-x86(_64) builds by @james7132
31-   0.5.2 (yanked)
32    - [#86](https://github.com/petgraph/fixedbitset/pull/86): Explicit SIMD vectorization for set operations by @james7132.
33-   0.5.1
34    - [#102](https://github.com/petgraph/fixedbitset/pull/102): Added `contains_unchecked`, `insert_unchecked`, `put_unchecked`,
35      `set_unchecked`, `toggle_unchecked`, `removed_unchecked`, `copy_bit_unchecked` unsafe variants of the safe functions, by @james7132
36    - [#103](https://github.com/petgraph/fixedbitset/pull/103): Added `into_ones` which returns a owned iterator over the one
37      values from a bitset, by @james7132.
38    - [#104](https://github.com/petgraph/fixedbitset/pull/104): Implemented `DoubleEndedIterator` for `Union`, `Intersection`,
39      `Difference`, and `SymmetricDifference` , by @james7132.
40-   0.5.0
41    - [#74](https://github.com/petgraph/fixedbitset/pull/74): Accelerated set operations (union, intersection, difference,
42      symmetric difference) by using larger blocks internally, by @james7132.
43    - [#88](https://github.com/petgraph/fixedbitset/pull/88): Added `FixedBitSet::remove` by @james7132.
44    - [#89](https://github.com/petgraph/fixedbitset/pull/89): Added `FixedBitSet::zeros`  and the `Zeros` iterator by @james7132.
45    - [#92](https://github.com/petgraph/fixedbitset/pull/92): Added `FixedBitSet::grow_and_insert` function, a
46      non-panicking version of `insert` that grows the underlying storage as need, by @shuoli84.
47    - [#98](https://github.com/petgraph/fixedbitset/pull/98): `Ones` now implements `DoubleEndedIterator`, by @tikhu.
48    - [#99](https://github.com/petgraph/fixedbitset/pull/99): **Breaking change**: serde now serializes and deserializes from a little-endian encoded
49      raw byte buffer. Existing stored instances of the serialized bitsets will need to be
50      re-encoded.
51    - Bumped MSRV to 1.56.
52-   0.4.2
53    - [#79](https://github.com/petgraph/fixedbitset/pull/79): Add `is_clear`,
54    clarify `is_empty` and `len` documentation by \@nicopap.
55-   0.4.1
56    - Documentation and formatting fixes.
57-   0.4.0
58    -   [#61](https://github.com/petgraph/fixedbitset/pull/61): Require
59        Rust 1.39.
60    -   [#60](https://github.com/petgraph/fixedbitset/pull/60): Add
61        `const` `FixedBitSet::new` consructor
62        by \@jakobhellermann.
63    -   [#59](https://github.com/petgraph/fixedbitset/pull/59): Add
64        optional `serde` support by \@keshavsn.
65-   0.3.2
66    -   [#18](https://github.com/petgraph/fixedbitset/pull/18): Optimize
67        `ones` using `trailing_zeroes` by \@vks
68-   0.3.1
69    -   Add bit assign operators for references by \@flaghacker
70    -   Improve assertion error messages by \@lovasoa
71    -   Add documentation examples for `with_capacity_and_blocks`
72-   0.3.0
73    -   Add `with_capacity_and_blocks` by \@luizirber
74    -   Add `difference_with` by \@sunshowers
75    -   Implement `Binary` and `Display` traits by \@Dolphindalt
76    -   Add `toggle_range` by \@wirelyre
77-   0.2.0
78    -   Add assign operators for the bit operations by \@jrraymond
79    -   Add `symmetric_difference`, `union_with`, `intersection_with` by
80        \@jrraymond
81    -   Add `is_subset`, `is_superset`, `is_disjoint` by \@nwn
82    -   Add `.toggle(i)` method by \@ShiroUsagi-san
83    -   Add default feature \"std\" which can be disabled to make the
84        crate not link the std library. By \@jonimake and \@bluss
85    -   Require Rust 1.31.
86-   0.1.9
87    -   Add intersection, union, difference iterators by \@jrraymond
88    -   Add intersection: `&` and union: `|` operator implementations by
89        \@jrraymond
90    -   Add Extend and FromIterator implementations (from sequences of
91        bit indices) by \@jrraymond
92-   0.1.8
93    -   Add missing `#[inline]` on the ones iterator
94    -   Fix docs for `insert_range, set_range`
95-   0.1.7
96    -   Add fast methods `.insert_range`, `.set_range` by \@kennytm
97-   0.1.6
98    -   Add iterator `.ones()` by \@mneumann
99    -   Fix bug with `.count_ones()` where it would erronously have an
100        out-of-bounds panic for even block endpoints
101-   0.1.5
102    -   Add method `.count_ones(range)`.
103-   0.1.4
104    -   Remove an assertion in `.copy_bit(from, to)` so that it is in
105        line with the documentation. The `from` bit does not need to be
106        in bounds.
107    -   Improve `.grow()` to use `Vec::resize` internally.
108-   0.1.3
109    -   Add method `.put()` to enable a bit and return previous value
110-   0.1.2
111    -   Add method `.copy_bit()` (by fuine)
112    -   impl Default
113-   0.1.1
114    -   Update documentation URL
115-   0.1.0
116    -   Add method `.grow()`
117
118# License
119
120Dual-licensed to be compatible with the Rust project.
121
122Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)
123 or the [MIT license](https://opensource.org/licenses/MIT),
124 at your option. This file may not be copied, modified, or distributed except
125according to those terms.
126