Skip to content

Fixed undefined behavior and updated documentation

Compare
Choose a tag to compare
@Cydhra Cydhra released this 20 Oct 20:27
· 151 commits to master since this release
  • Due to the conservative use of unsafe, the library technically produced undefined behavior on target platforms that do not support POPCNT or BMI2. This has been fixed by failing compilation if either is not present
  • Documentation stated that some behavior was undefined when it was just unpredictable but well-defined. Those issues have been fixed
  • Fixed a bug that would lead to undefined behavior in release mode and crash in debug mode, where a shift operation with a modulus of 64 was possible

Technically, none of these changes should be breaking, since they only affect undefined behavior

Also, I added sucds as a new crate in comparison benchmarks, which is faster in general, but much worse in worst-cases.