diff --git a/Cargo.toml b/Cargo.toml index 8f782d8..72d93ca 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "fixedbitset" -version = "0.5.4" +version = "0.5.5" authors = ["bluss"] license = "MIT OR Apache-2.0" readme = "README.md" diff --git a/README.md b/README.md index 21a749f..d71e2e8 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,13 @@ Please read the [API documentation here](https://docs.rs/fixedbitset/) # Recent Changes +- 0.5.5 + - [#116](https://github.com/petgraph/fixedbitset/pull/116): Add functions for counting the results of a set operation (`union_count`, + `intersection_count`, `difference_count`, `symmetric_difference_count`) by @james7132. + - [#118](https://github.com/petgraph/fixedbitset/pull/118): Shrink the stack size of FixedBitset. There should be zero stack size overhead + compared to a Vec. + - [#119](https://github.com/petgraph/fixedbitset/pull/119): Fix builds for wasm32. + - [#121](https://github.com/petgraph/fixedbitset/pull/121): Add support for SIMD acceleration for AVX builds. - 0.5.4 - [#112](https://github.com/petgraph/fixedbitset/pull/112): Fix undefined behavior in IntoOnes and setup testing with MIRI by @SkiFire13 - 0.5.3 (yanked) diff --git a/src/block/avx.rs b/src/block/avx.rs index 88c2704..33ba100 100644 --- a/src/block/avx.rs +++ b/src/block/avx.rs @@ -12,7 +12,7 @@ impl Block { #[inline] pub fn is_empty(self) -> bool { unsafe { - let value = core::mem::transmute(self); + let value = _mm256_castpd_si256(self.0); _mm256_testz_si256(value, value) == 1 } } @@ -85,7 +85,7 @@ impl PartialEq for Block { fn eq(&self, other: &Self) -> bool { unsafe { let new = _mm256_xor_pd(self.0, other.0); - let neq = core::mem::transmute(new); + let neq = _mm256_castpd_si256(new); _mm256_testz_si256(neq, neq) == 1 } }