def crc.tab

bend-kit-hash@0.3.0.2 · hash.bend:154

import bend-kit-hash@0.3.0.2/hash.bend as Hash
import Base

154# CRC-32 (ISO-HDLC, as in gzip and zlib): reflected, polynomial 0xEDB88320.
155# The 256-entry table as a match, so no call rebuilds it.
156def crc.tab(+i: U32) -> U32:
157  match i:
158    case 0: 0
159    case 1: 1996959894
160    case 2: 3993919788
161    case 3: 2567524794
162    case 4: 124634137
163    case 5: 1886057615
164    case 6: 3915621685
165    case 7: 2657392035
166    case 8: 249268274
167    case 9: 2044508324
168    case 10: 3772115230
169    case 11: 2547177864
170    case 12: 162941995
171    case 13: 2125561021
172    case 14: 3887607047
173    case 15: 2428444049
174    case 16: 498536548
175    case 17: 1789927666
176    case 18: 4089016648
177    case 19: 2227061214
178    case 20: 450548861
179    case 21: 1843258603
180    case 22: 4107580753
181    case 23: 2211677639
182    case 24: 325883990
183    case 25: 1684777152
184    case 26: 4251122042
185    case 27: 2321926636
186    case 28: 335633487
187    case 29: 1661365465
188    case 30: 4195302755
189    case 31: 2366115317
190    case 32: 997073096
191    case 33: 1281953886
192    case 34: 3579855332
193    case 35: 2724688242
194    case 36: 1006888145
195    case 37: 1258607687
196    case 38: 3524101629
197    case 39: 2768942443
198    case 40: 901097722
199    case 41: 1119000684
200    case 42: 3686517206
201    case 43: 2898065728
202    case 44: 853044451
203    case 45: 1172266101
204    case 46: 3705015759
205    case 47: 2882616665
206    case 48: 651767980
207    case 49: 1373503546
208    case 50: 3369554304
209    case 51: 3218104598
210    case 52: 565507253
211    case 53: 1454621731
212    case 54: 3485111705
213    case 55: 3099436303
214    case 56: 671266974
215    case 57: 1594198024
216    case 58: 3322730930
217    case 59: 2970347812
218    case 60: 795835527
219    case 61: 1483230225
220    case 62: 3244367275
221    case 63: 3060149565
222    case 64: 1994146192
223    case 65: 31158534
224    case 66: 2563907772
225    case 67: 4023717930
226    case 68: 1907459465
227    case 69: 112637215
228    case 70: 2680153253
229    case 71: 3904427059
230    case 72: 2013776290
231    case 73: 251722036
232    case 74: 2517215374
233    case 75: 3775830040
234    case 76: 2137656763
235    case 77: 141376813
236    case 78: 2439277719
237    case 79: 3865271297
238    case 80: 1802195444
239    case 81: 476864866
240    case 82: 2238001368
241    case 83: 4066508878
242    case 84: 1812370925
243    case 85: 453092731
244    case 86: 2181625025
245    case 87: 4111451223
246    case 88: 1706088902
247    case 89: 314042704
248    case 90: 2344532202
249    case 91: 4240017532
250    case 92: 1658658271
251    case 93: 366619977
252    case 94: 2362670323
253    case 95: 4224994405
254    case 96: 1303535960
255    case 97: 984961486
256    case 98: 2747007092
257    case 99: 3569037538
258    case 100: 1256170817
259    case 101: 1037604311
260    case 102: 2765210733
261    case 103: 3554079995
262    case 104: 1131014506
263    case 105: 879679996
264    case 106: 2909243462
265    case 107: 3663771856
266    case 108: 1141124467
267    case 109: 855842277
268    case 110: 2852801631
269    case 111: 3708648649
270    case 112: 1342533948
271    case 113: 654459306
272    case 114: 3188396048
273    case 115: 3373015174
274    case 116: 1466479909
275    case 117: 544179635
276    case 118: 3110523913
277    case 119: 3462522015
278    case 120: 1591671054
279    case 121: 702138776
280    case 122: 2966460450
281    case 123: 3352799412
282    case 124: 1504918807
283    case 125: 783551873
284    case 126: 3082640443
285    case 127: 3233442989
286    case 128: 3988292384
287    case 129: 2596254646
288    case 130: 62317068
289    case 131: 1957810842
290    case 132: 3939845945
291    case 133: 2647816111
292    case 134: 81470997
293    case 135: 1943803523
294    case 136: 3814918930
295    case 137: 2489596804
296    case 138: 225274430
297    case 139: 2053790376
298    case 140: 3826175755
299    case 141: 2466906013
300    case 142: 167816743
301    case 143: 2097651377
302    case 144: 4027552580
303    case 145: 2265490386
304    case 146: 503444072
305    case 147: 1762050814
306    case 148: 4150417245
307    case 149: 2154129355
308    case 150: 426522225
309    case 151: 1852507879
310    case 152: 4275313526
311    case 153: 2312317920
312    case 154: 282753626
313    case 155: 1742555852
314    case 156: 4189708143
315    case 157: 2394877945
316    case 158: 397917763
317    case 159: 1622183637
318    case 160: 3604390888
319    case 161: 2714866558
320    case 162: 953729732
321    case 163: 1340076626
322    case 164: 3518719985
323    case 165: 2797360999
324    case 166: 1068828381
325    case 167: 1219638859
326    case 168: 3624741850
327    case 169: 2936675148
328    case 170: 906185462
329    case 171: 1090812512
330    case 172: 3747672003
331    case 173: 2825379669
332    case 174: 829329135
333    case 175: 1181335161
334    case 176: 3412177804
335    case 177: 3160834842
336    case 178: 628085408
337    case 179: 1382605366
338    case 180: 3423369109
339    case 181: 3138078467
340    case 182: 570562233
341    case 183: 1426400815
342    case 184: 3317316542
343    case 185: 2998733608
344    case 186: 733239954
345    case 187: 1555261956
346    case 188: 3268935591
347    case 189: 3050360625
348    case 190: 752459403
349    case 191: 1541320221
350    case 192: 2607071920
351    case 193: 3965973030
352    case 194: 1969922972
353    case 195: 40735498
354    case 196: 2617837225
355    case 197: 3943577151
356    case 198: 1913087877
357    case 199: 83908371
358    case 200: 2512341634
359    case 201: 3803740692
360    case 202: 2075208622
361    case 203: 213261112
362    case 204: 2463272603
363    case 205: 3855990285
364    case 206: 2094854071
365    case 207: 198958881
366    case 208: 2262029012
367    case 209: 4057260610
368    case 210: 1759359992
369    case 211: 534414190
370    case 212: 2176718541
371    case 213: 4139329115
372    case 214: 1873836001
373    case 215: 414664567
374    case 216: 2282248934
375    case 217: 4279200368
376    case 218: 1711684554
377    case 219: 285281116
378    case 220: 2405801727
379    case 221: 4167216745
380    case 222: 1634467795
381    case 223: 376229701
382    case 224: 2685067896
383    case 225: 3608007406
384    case 226: 1308918612
385    case 227: 956543938
386    case 228: 2808555105
387    case 229: 3495958263
388    case 230: 1231636301
389    case 231: 1047427035
390    case 232: 2932959818
391    case 233: 3654703836
392    case 234: 1088359270
393    case 235: 936918000
394    case 236: 2847714899
395    case 237: 3736837829
396    case 238: 1202900863
397    case 239: 817233897
398    case 240: 3183342108
399    case 241: 3401237130
400    case 242: 1404277552
401    case 243: 615818150
402    case 244: 3134207493
403    case 245: 3453421203
404    case 246: 1423857449
405    case 247: 601450431
406    case 248: 3009837614
407    case 249: 3294710456
408    case 250: 1567103746
409    case 251: 711928724
410    case 252: 3020668471
411    case 253: 3272380065
412    case 254: 1510334235
413    case _: 755167117

Uses (4)

Used by (1)