irox-tools v0.10.3
·
23 commits
to master
since this release
Chore
- fixing lints
- cleanup remaining misc lints
- cleanup bitmask order-of-operations
- elude all the lifetimes!
New Features
- better iteration for UnlimitedBuffer
- Add Murmur3_32 implementation and hashing benchmarks
This commit introduces the Murmur3_32 struct and its associated functionality. It also refactors parts of the Murmur3_128 implementation and integrates both into benchmarking tests. Additionally, new benchmarks were added to evaluate Murmur3 and SHA hashing performance. - Add
copy_subset
function for copying slices into statically sized arrays
Introducecopy_subset
, a utility function to copy elements from a slice into a fixed-size array. This function leveragescopy_from_slice
and enforces bounds, panicking if the slice is too short. - Add
take
method to FixedU8Buf to return and consume the inner buffer
The newtake
method allows users to retrieve the inner buffer while consuming the object. This provides a cleaner way to extract the buffer content when the object is no longer needed. - Add
try_from_hex_str
function to parse hex into static arrays
This new function attempts to parse a hex string into a fixed-size static array buffer, enhancing usability for scenarios requiring precise buffer fits. Updated imports and minor adjustments ensure compatibility and improved error handling. - Add
Zipping
andWindows
iterator utilities
Introduce flexibleZipping
for combining multiple iterators andWindows
for sliding window iteration over slices. These utilities enhance iterator capabilities with support for constant generic sizes and comprehensive test coverage. - Add iterator support to RoundBuffer and update iterators
Introduce anIter
struct and associated methods for iterating overRoundBuffer
. EnhanceFixedBufIterMut
andFixedU8BufIterMut
with updated lifetimes for iterator methods. These changes improve the usability and flexibility of buffer structures. - Refactor LendingIterator and add Moderator iterator
Updated the LendingIterator trait to simplify lifetimes, improving clarity and flexibility. Introduced a new Moderator iterator with modular arithmetic and optional limits, including tests to validate its functionality. - Add
array!
macro for array construction
This new macro simplifies the creation of arrays with repeated elements. It supports various sizes using recursive accumulation logic, improving code clarity and reducing repetitive boilerplate. - Add
cfg_docs!
macro for documentation-specific items
This macro simplifies conditional compilation for items only relevant during documentation generation. It ensures compatibility withdoc
anddocsrs
configurations, streamlining code targeting documentation builds.
Bug Fixes
- Fix type casting in zigzag_impl to ensure correct output
The type casting was moved to the final result of the computation to avoid unintended behavior. This ensures that the operation produces the correct type and improves overall code safety.
Commit Statistics
- 15 commits contributed to the release over the course of 14 calendar days.
- 17 days passed between releases.
- 15 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Better iteration for UnlimitedBuffer (47084c9)
- Add Murmur3_32 implementation and hashing benchmarks (2794f0f)
- Add
copy_subset
function for copying slices into statically sized arrays (cae124c) - Add
take
method to FixedU8Buf to return and consume the inner buffer (acff02b) - Add
try_from_hex_str
function to parse hex into static arrays (f9f5224) - Fixing lints (fef64a1)
- Add
Zipping
andWindows
iterator utilities (4a7a1aa) - Add iterator support to RoundBuffer and update iterators (f2dfce6)
- Refactor LendingIterator and add Moderator iterator (80f2823)
- Add
array!
macro for array construction (ed10f3e) - Cleanup remaining misc lints (dfe0100)
- Cleanup bitmask order-of-operations (1f48b70)
- Elude all the lifetimes! (de5e67f)
- Add
cfg_docs!
macro for documentation-specific items (f313e1a) - Fix type casting in zigzag_impl to ensure correct output (a0d60b0)