module Rosegold::CRC32C

Overview

CRC32C implementation to match Minecraft's hashedslot hashing

Defined in:

rosegold/crc32c.cr

Constant Summary

CRC32C_TABLE = [0_u32, 4067132163_u32, 3778769143_u32, 324072436_u32, 3348797215_u32, 904991772_u32, 648144872_u32, 3570033899_u32, 2329499855_u32, 2024987596_u32, 1809983544_u32, 2575936315_u32, 1296289744_u32, 3207089363_u32, 2893594407_u32, 1578318884_u32, 274646895_u32, 3795141740_u32, 4049975192_u32, 51262619_u32, 3619967088_u32, 632279923_u32, 922689671_u32, 3298075524_u32, 2592579488_u32, 1760304291_u32, 2075979607_u32, 2312596564_u32, 1562183871_u32, 2943781820_u32, 3156637768_u32, 1313733451_u32, 549293790_u32, 3537243613_u32, 3246849577_u32, 871202090_u32, 3878099393_u32, 357341890_u32, 102525238_u32, 4101499445_u32, 2858735121_u32, 1477399826_u32, 1264559846_u32, 3107202533_u32, 1845379342_u32, 2677391885_u32, 2361733625_u32, 2125378298_u32, 820201905_u32, 3263744690_u32, 3520608582_u32, 598981189_u32, 4151959214_u32, 85089709_u32, 373468761_u32, 3827903834_u32, 3124367742_u32, 1213305469_u32, 1526817161_u32, 2842354314_u32, 2107672161_u32, 2412447074_u32, 2627466902_u32, 1861252501_u32, 1098587580_u32, 3004210879_u32, 2688576843_u32, 1378610760_u32, 2262928035_u32, 1955203488_u32, 1742404180_u32, 2511436119_u32, 3416409459_u32, 969524848_u32, 714683780_u32, 3639785095_u32, 205050476_u32, 4266873199_u32, 3976438427_u32, 526918040_u32, 1361435347_u32, 2739821008_u32, 2954799652_u32, 1114974503_u32, 2529119692_u32, 1691668175_u32, 2005155131_u32, 2247081528_u32, 3690758684_u32, 697762079_u32, 986182379_u32, 3366744552_u32, 476452099_u32, 3993867776_u32, 4250756596_u32, 255256311_u32, 1640403810_u32, 2477592673_u32, 2164122517_u32, 1922457750_u32, 2791048317_u32, 1412925310_u32, 1197962378_u32, 3037525897_u32, 3944729517_u32, 427051182_u32, 170179418_u32, 4165941337_u32, 746937522_u32, 3740196785_u32, 3451792453_u32, 1070968646_u32, 1905808397_u32, 2213795598_u32, 2426610938_u32, 1657317369_u32, 3053634322_u32, 1147748369_u32, 1463399397_u32, 2773627110_u32, 4215344322_u32, 153784257_u32, 444234805_u32, 3893493558_u32, 1021025245_u32, 3467647198_u32, 3722505002_u32, 797665321_u32, 2197175160_u32, 1889384571_u32, 1674398607_u32, 2443626636_u32, 1164749927_u32, 3070701412_u32, 2757221520_u32, 1446797203_u32, 137323447_u32, 4198817972_u32, 3910406976_u32, 461344835_u32, 3484808360_u32, 1037989803_u32, 781091935_u32, 3705997148_u32, 2460548119_u32, 1623424788_u32, 1939049696_u32, 2180517859_u32, 1429367560_u32, 2807687179_u32, 3020495871_u32, 1180866812_u32, 410100952_u32, 3927582683_u32, 4182430767_u32, 186734380_u32, 3756733383_u32, 763408580_u32, 1053836080_u32, 3434856499_u32, 2722870694_u32, 1344288421_u32, 1131464017_u32, 2971354706_u32, 1708204729_u32, 2545590714_u32, 2229949006_u32, 1988219213_u32, 680717673_u32, 3673779818_u32, 3383336350_u32, 1002577565_u32, 4010310262_u32, 493091189_u32, 238226049_u32, 4233660802_u32, 2987750089_u32, 1082061258_u32, 1395524158_u32, 2705686845_u32, 1972364758_u32, 2279892693_u32, 2494862625_u32, 1725896226_u32, 952904198_u32, 3399985413_u32, 3656866545_u32, 731699698_u32, 4283874585_u32, 222117402_u32, 510512622_u32, 3959836397_u32, 3280807620_u32, 837199303_u32, 582374963_u32, 3504198960_u32, 68661723_u32, 4135334616_u32, 3844915500_u32, 390545967_u32, 1230274059_u32, 3141532936_u32, 2825850620_u32, 1510247935_u32, 2395924756_u32, 2091215383_u32, 1878366691_u32, 2644384480_u32, 3553878443_u32, 565732008_u32, 854102364_u32, 3229815391_u32, 340358836_u32, 3861050807_u32, 4117890627_u32, 119113024_u32, 1493875044_u32, 2875275879_u32, 3090270611_u32, 1247431312_u32, 2660249211_u32, 1828433272_u32, 2141937292_u32, 2378227087_u32, 3811616794_u32, 291187481_u32, 34330861_u32, 4032846830_u32, 615137029_u32, 3603020806_u32, 3314634738_u32, 939183345_u32, 1776939221_u32, 2609017814_u32, 2295496738_u32, 2058945313_u32, 2926798794_u32, 1545135305_u32, 1330124605_u32, 3173225534_u32, 4084100981_u32, 17165430_u32, 307568514_u32, 3762199681_u32, 888469610_u32, 3332340585_u32, 3587147933_u32, 665062302_u32, 2042050490_u32, 2346497209_u32, 2559330125_u32, 1793573966_u32, 3190661285_u32, 1279665062_u32, 1595330642_u32, 2910671697_u32]

CRC32C polynomial (Castagnoli)

Class Method Summary

Class Method Detail

def self.checksum(data : Bytes) : UInt32 #

[View source]