Closed KillingSpark closed 1 year ago
Thanks for submitting the PR! I'm a bit swamped this week, but I'll try to review this over the next couple days.
Don't worry if it takes longer. I know how it can be sometimes :)
Overall, the changes LGTM. Just have some minor nitpicks.
Apart from the crc32.rs -> mod.rs rename this LGTM.
Introduce an implementation that calculates the crc32 without using a lookup table
would probably be a good squashed commit message
I'll make some more PRs for the other widths. Do you prefer the same separation for slice16/notable impls or should I do one PR per width that adds both slice16/notable at once?
I'll make some more PRs for the other widths. Do you prefer the same separation for slice16/notable impls or should I do one PR per width that adds both slice16/notable at once?
Up to you, whatever's easier.
This PR introduces an implementation for the Crc width 32, that calculates the crc without using a lookup table.
It also adds an explicit choice for the Bytewise implementation, which is the current default behaviour for
Crc<u32>
Additionally it reorganizes the modules a little more neatly for the crc32 instead of having
crc32, crc32_fast, ...
it's now:This will allow easily and (invisibly to users) changing the default implementation.
This should also be used as the template for providing
Nolookup<>
andBytewise<>
for the other widths.Benches