Add crc32()
This commit is contained in:
parent
9f39cddc24
commit
42e2508766
18
src/fart/crc32.d
Normal file
18
src/fart/crc32.d
Normal file
@ -0,0 +1,18 @@
|
||||
module fart.crc32;
|
||||
|
||||
import std.digest.crc;
|
||||
|
||||
/**
|
||||
* Calculate the CRC32 across the given chunk(s) of data.
|
||||
*/
|
||||
public uint crc32(Args...)(Args data)
|
||||
{
|
||||
CRC32 crc32;
|
||||
crc32.start();
|
||||
static foreach (arg; data)
|
||||
{
|
||||
crc32.put(cast(const(ubyte)[])arg);
|
||||
}
|
||||
auto crc = crc32.finish();
|
||||
return crc[0] | (crc[1] << 8) | (crc[2] << 16) | (crc[3] << 24);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user