mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
Add #no_bounds_check to crc procedures
This commit is contained in:
+2
-2
@@ -1,13 +1,13 @@
|
|||||||
package hash
|
package hash
|
||||||
|
|
||||||
crc32 :: proc(data: []byte) -> u32 {
|
crc32 :: proc(data: []byte) -> u32 #no_bounds_check {
|
||||||
result := ~u32(0);
|
result := ~u32(0);
|
||||||
for b in data {
|
for b in data {
|
||||||
result = result>>8 ~ _crc32_table[(result ~ u32(b)) & 0xff];
|
result = result>>8 ~ _crc32_table[(result ~ u32(b)) & 0xff];
|
||||||
}
|
}
|
||||||
return ~result;
|
return ~result;
|
||||||
}
|
}
|
||||||
crc64 :: proc(data: []byte) -> u64 {
|
crc64 :: proc(data: []byte) -> u64 #no_bounds_check {
|
||||||
result := ~u64(0);
|
result := ~u64(0);
|
||||||
for b in data {
|
for b in data {
|
||||||
result = result>>8 ~ _crc64_table[(result ~ u64(b)) & 0xff];
|
result = result>>8 ~ _crc64_table[(result ~ u64(b)) & 0xff];
|
||||||
|
|||||||
Reference in New Issue
Block a user