master
  1//! This file is auto-generated by tools/update_crc_catalog.zig.
  2
  3const impl = @import("crc/impl.zig");
  4
  5pub const Crc = impl.Crc;
  6pub const Polynomial = impl.Polynomial;
  7pub const Crc32WithPoly = impl.Crc32WithPoly;
  8pub const Crc32SmallWithPoly = impl.Crc32SmallWithPoly;
  9
 10pub const Crc32 = Crc32IsoHdlc;
 11
 12test {
 13    _ = @import("crc/test.zig");
 14}
 15
 16pub const Crc3Gsm = Crc(u3, .{
 17    .polynomial = 0x3,
 18    .initial = 0x0,
 19    .reflect_input = false,
 20    .reflect_output = false,
 21    .xor_output = 0x7,
 22});
 23
 24pub const Crc3Rohc = Crc(u3, .{
 25    .polynomial = 0x3,
 26    .initial = 0x7,
 27    .reflect_input = true,
 28    .reflect_output = true,
 29    .xor_output = 0x0,
 30});
 31
 32pub const Crc4G704 = Crc(u4, .{
 33    .polynomial = 0x3,
 34    .initial = 0x0,
 35    .reflect_input = true,
 36    .reflect_output = true,
 37    .xor_output = 0x0,
 38});
 39
 40pub const Crc4Interlaken = Crc(u4, .{
 41    .polynomial = 0x3,
 42    .initial = 0xf,
 43    .reflect_input = false,
 44    .reflect_output = false,
 45    .xor_output = 0xf,
 46});
 47
 48pub const Crc5EpcC1g2 = Crc(u5, .{
 49    .polynomial = 0x09,
 50    .initial = 0x09,
 51    .reflect_input = false,
 52    .reflect_output = false,
 53    .xor_output = 0x00,
 54});
 55
 56pub const Crc5G704 = Crc(u5, .{
 57    .polynomial = 0x15,
 58    .initial = 0x00,
 59    .reflect_input = true,
 60    .reflect_output = true,
 61    .xor_output = 0x00,
 62});
 63
 64pub const Crc5Usb = Crc(u5, .{
 65    .polynomial = 0x05,
 66    .initial = 0x1f,
 67    .reflect_input = true,
 68    .reflect_output = true,
 69    .xor_output = 0x1f,
 70});
 71
 72pub const Crc6Cdma2000A = Crc(u6, .{
 73    .polynomial = 0x27,
 74    .initial = 0x3f,
 75    .reflect_input = false,
 76    .reflect_output = false,
 77    .xor_output = 0x00,
 78});
 79
 80pub const Crc6Cdma2000B = Crc(u6, .{
 81    .polynomial = 0x07,
 82    .initial = 0x3f,
 83    .reflect_input = false,
 84    .reflect_output = false,
 85    .xor_output = 0x00,
 86});
 87
 88pub const Crc6Darc = Crc(u6, .{
 89    .polynomial = 0x19,
 90    .initial = 0x00,
 91    .reflect_input = true,
 92    .reflect_output = true,
 93    .xor_output = 0x00,
 94});
 95
 96pub const Crc6G704 = Crc(u6, .{
 97    .polynomial = 0x03,
 98    .initial = 0x00,
 99    .reflect_input = true,
100    .reflect_output = true,
101    .xor_output = 0x00,
102});
103
104pub const Crc6Gsm = Crc(u6, .{
105    .polynomial = 0x2f,
106    .initial = 0x00,
107    .reflect_input = false,
108    .reflect_output = false,
109    .xor_output = 0x3f,
110});
111
112pub const Crc7Mmc = Crc(u7, .{
113    .polynomial = 0x09,
114    .initial = 0x00,
115    .reflect_input = false,
116    .reflect_output = false,
117    .xor_output = 0x00,
118});
119
120pub const Crc7Rohc = Crc(u7, .{
121    .polynomial = 0x4f,
122    .initial = 0x7f,
123    .reflect_input = true,
124    .reflect_output = true,
125    .xor_output = 0x00,
126});
127
128pub const Crc7Umts = Crc(u7, .{
129    .polynomial = 0x45,
130    .initial = 0x00,
131    .reflect_input = false,
132    .reflect_output = false,
133    .xor_output = 0x00,
134});
135
136pub const Crc8Autosar = Crc(u8, .{
137    .polynomial = 0x2f,
138    .initial = 0xff,
139    .reflect_input = false,
140    .reflect_output = false,
141    .xor_output = 0xff,
142});
143
144pub const Crc8Bluetooth = Crc(u8, .{
145    .polynomial = 0xa7,
146    .initial = 0x00,
147    .reflect_input = true,
148    .reflect_output = true,
149    .xor_output = 0x00,
150});
151
152pub const Crc8Cdma2000 = Crc(u8, .{
153    .polynomial = 0x9b,
154    .initial = 0xff,
155    .reflect_input = false,
156    .reflect_output = false,
157    .xor_output = 0x00,
158});
159
160pub const Crc8Darc = Crc(u8, .{
161    .polynomial = 0x39,
162    .initial = 0x00,
163    .reflect_input = true,
164    .reflect_output = true,
165    .xor_output = 0x00,
166});
167
168pub const Crc8DvbS2 = Crc(u8, .{
169    .polynomial = 0xd5,
170    .initial = 0x00,
171    .reflect_input = false,
172    .reflect_output = false,
173    .xor_output = 0x00,
174});
175
176pub const Crc8GsmA = Crc(u8, .{
177    .polynomial = 0x1d,
178    .initial = 0x00,
179    .reflect_input = false,
180    .reflect_output = false,
181    .xor_output = 0x00,
182});
183
184pub const Crc8GsmB = Crc(u8, .{
185    .polynomial = 0x49,
186    .initial = 0x00,
187    .reflect_input = false,
188    .reflect_output = false,
189    .xor_output = 0xff,
190});
191
192pub const Crc8Hitag = Crc(u8, .{
193    .polynomial = 0x1d,
194    .initial = 0xff,
195    .reflect_input = false,
196    .reflect_output = false,
197    .xor_output = 0x00,
198});
199
200pub const Crc8I4321 = Crc(u8, .{
201    .polynomial = 0x07,
202    .initial = 0x00,
203    .reflect_input = false,
204    .reflect_output = false,
205    .xor_output = 0x55,
206});
207
208pub const Crc8ICode = Crc(u8, .{
209    .polynomial = 0x1d,
210    .initial = 0xfd,
211    .reflect_input = false,
212    .reflect_output = false,
213    .xor_output = 0x00,
214});
215
216pub const Crc8Lte = Crc(u8, .{
217    .polynomial = 0x9b,
218    .initial = 0x00,
219    .reflect_input = false,
220    .reflect_output = false,
221    .xor_output = 0x00,
222});
223
224pub const Crc8MaximDow = Crc(u8, .{
225    .polynomial = 0x31,
226    .initial = 0x00,
227    .reflect_input = true,
228    .reflect_output = true,
229    .xor_output = 0x00,
230});
231
232pub const Crc8MifareMad = Crc(u8, .{
233    .polynomial = 0x1d,
234    .initial = 0xc7,
235    .reflect_input = false,
236    .reflect_output = false,
237    .xor_output = 0x00,
238});
239
240pub const Crc8Nrsc5 = Crc(u8, .{
241    .polynomial = 0x31,
242    .initial = 0xff,
243    .reflect_input = false,
244    .reflect_output = false,
245    .xor_output = 0x00,
246});
247
248pub const Crc8Opensafety = Crc(u8, .{
249    .polynomial = 0x2f,
250    .initial = 0x00,
251    .reflect_input = false,
252    .reflect_output = false,
253    .xor_output = 0x00,
254});
255
256pub const Crc8Rohc = Crc(u8, .{
257    .polynomial = 0x07,
258    .initial = 0xff,
259    .reflect_input = true,
260    .reflect_output = true,
261    .xor_output = 0x00,
262});
263
264pub const Crc8SaeJ1850 = Crc(u8, .{
265    .polynomial = 0x1d,
266    .initial = 0xff,
267    .reflect_input = false,
268    .reflect_output = false,
269    .xor_output = 0xff,
270});
271
272pub const Crc8Smbus = Crc(u8, .{
273    .polynomial = 0x07,
274    .initial = 0x00,
275    .reflect_input = false,
276    .reflect_output = false,
277    .xor_output = 0x00,
278});
279
280pub const Crc8Tech3250 = Crc(u8, .{
281    .polynomial = 0x1d,
282    .initial = 0xff,
283    .reflect_input = true,
284    .reflect_output = true,
285    .xor_output = 0x00,
286});
287
288pub const Crc8Wcdma = Crc(u8, .{
289    .polynomial = 0x9b,
290    .initial = 0x00,
291    .reflect_input = true,
292    .reflect_output = true,
293    .xor_output = 0x00,
294});
295
296pub const Crc10Atm = Crc(u10, .{
297    .polynomial = 0x233,
298    .initial = 0x000,
299    .reflect_input = false,
300    .reflect_output = false,
301    .xor_output = 0x000,
302});
303
304pub const Crc10Cdma2000 = Crc(u10, .{
305    .polynomial = 0x3d9,
306    .initial = 0x3ff,
307    .reflect_input = false,
308    .reflect_output = false,
309    .xor_output = 0x000,
310});
311
312pub const Crc10Gsm = Crc(u10, .{
313    .polynomial = 0x175,
314    .initial = 0x000,
315    .reflect_input = false,
316    .reflect_output = false,
317    .xor_output = 0x3ff,
318});
319
320pub const Crc11Flexray = Crc(u11, .{
321    .polynomial = 0x385,
322    .initial = 0x01a,
323    .reflect_input = false,
324    .reflect_output = false,
325    .xor_output = 0x000,
326});
327
328pub const Crc11Umts = Crc(u11, .{
329    .polynomial = 0x307,
330    .initial = 0x000,
331    .reflect_input = false,
332    .reflect_output = false,
333    .xor_output = 0x000,
334});
335
336pub const Crc12Cdma2000 = Crc(u12, .{
337    .polynomial = 0xf13,
338    .initial = 0xfff,
339    .reflect_input = false,
340    .reflect_output = false,
341    .xor_output = 0x000,
342});
343
344pub const Crc12Dect = Crc(u12, .{
345    .polynomial = 0x80f,
346    .initial = 0x000,
347    .reflect_input = false,
348    .reflect_output = false,
349    .xor_output = 0x000,
350});
351
352pub const Crc12Gsm = Crc(u12, .{
353    .polynomial = 0xd31,
354    .initial = 0x000,
355    .reflect_input = false,
356    .reflect_output = false,
357    .xor_output = 0xfff,
358});
359
360pub const Crc12Umts = Crc(u12, .{
361    .polynomial = 0x80f,
362    .initial = 0x000,
363    .reflect_input = false,
364    .reflect_output = true,
365    .xor_output = 0x000,
366});
367
368pub const Crc13Bbc = Crc(u13, .{
369    .polynomial = 0x1cf5,
370    .initial = 0x0000,
371    .reflect_input = false,
372    .reflect_output = false,
373    .xor_output = 0x0000,
374});
375
376pub const Crc14Darc = Crc(u14, .{
377    .polynomial = 0x0805,
378    .initial = 0x0000,
379    .reflect_input = true,
380    .reflect_output = true,
381    .xor_output = 0x0000,
382});
383
384pub const Crc14Gsm = Crc(u14, .{
385    .polynomial = 0x202d,
386    .initial = 0x0000,
387    .reflect_input = false,
388    .reflect_output = false,
389    .xor_output = 0x3fff,
390});
391
392pub const Crc15Can = Crc(u15, .{
393    .polynomial = 0x4599,
394    .initial = 0x0000,
395    .reflect_input = false,
396    .reflect_output = false,
397    .xor_output = 0x0000,
398});
399
400pub const Crc15Mpt1327 = Crc(u15, .{
401    .polynomial = 0x6815,
402    .initial = 0x0000,
403    .reflect_input = false,
404    .reflect_output = false,
405    .xor_output = 0x0001,
406});
407
408pub const Crc16Arc = Crc(u16, .{
409    .polynomial = 0x8005,
410    .initial = 0x0000,
411    .reflect_input = true,
412    .reflect_output = true,
413    .xor_output = 0x0000,
414});
415
416pub const Crc16Cdma2000 = Crc(u16, .{
417    .polynomial = 0xc867,
418    .initial = 0xffff,
419    .reflect_input = false,
420    .reflect_output = false,
421    .xor_output = 0x0000,
422});
423
424pub const Crc16Cms = Crc(u16, .{
425    .polynomial = 0x8005,
426    .initial = 0xffff,
427    .reflect_input = false,
428    .reflect_output = false,
429    .xor_output = 0x0000,
430});
431
432pub const Crc16Dds110 = Crc(u16, .{
433    .polynomial = 0x8005,
434    .initial = 0x800d,
435    .reflect_input = false,
436    .reflect_output = false,
437    .xor_output = 0x0000,
438});
439
440pub const Crc16DectR = Crc(u16, .{
441    .polynomial = 0x0589,
442    .initial = 0x0000,
443    .reflect_input = false,
444    .reflect_output = false,
445    .xor_output = 0x0001,
446});
447
448pub const Crc16DectX = Crc(u16, .{
449    .polynomial = 0x0589,
450    .initial = 0x0000,
451    .reflect_input = false,
452    .reflect_output = false,
453    .xor_output = 0x0000,
454});
455
456pub const Crc16Dnp = Crc(u16, .{
457    .polynomial = 0x3d65,
458    .initial = 0x0000,
459    .reflect_input = true,
460    .reflect_output = true,
461    .xor_output = 0xffff,
462});
463
464pub const Crc16En13757 = Crc(u16, .{
465    .polynomial = 0x3d65,
466    .initial = 0x0000,
467    .reflect_input = false,
468    .reflect_output = false,
469    .xor_output = 0xffff,
470});
471
472pub const Crc16Genibus = Crc(u16, .{
473    .polynomial = 0x1021,
474    .initial = 0xffff,
475    .reflect_input = false,
476    .reflect_output = false,
477    .xor_output = 0xffff,
478});
479
480pub const Crc16Gsm = Crc(u16, .{
481    .polynomial = 0x1021,
482    .initial = 0x0000,
483    .reflect_input = false,
484    .reflect_output = false,
485    .xor_output = 0xffff,
486});
487
488pub const Crc16Ibm3740 = Crc(u16, .{
489    .polynomial = 0x1021,
490    .initial = 0xffff,
491    .reflect_input = false,
492    .reflect_output = false,
493    .xor_output = 0x0000,
494});
495
496pub const Crc16IbmSdlc = Crc(u16, .{
497    .polynomial = 0x1021,
498    .initial = 0xffff,
499    .reflect_input = true,
500    .reflect_output = true,
501    .xor_output = 0xffff,
502});
503
504pub const Crc16IsoIec144433A = Crc(u16, .{
505    .polynomial = 0x1021,
506    .initial = 0xc6c6,
507    .reflect_input = true,
508    .reflect_output = true,
509    .xor_output = 0x0000,
510});
511
512pub const Crc16Kermit = Crc(u16, .{
513    .polynomial = 0x1021,
514    .initial = 0x0000,
515    .reflect_input = true,
516    .reflect_output = true,
517    .xor_output = 0x0000,
518});
519
520pub const Crc16Lj1200 = Crc(u16, .{
521    .polynomial = 0x6f63,
522    .initial = 0x0000,
523    .reflect_input = false,
524    .reflect_output = false,
525    .xor_output = 0x0000,
526});
527
528pub const Crc16M17 = Crc(u16, .{
529    .polynomial = 0x5935,
530    .initial = 0xffff,
531    .reflect_input = false,
532    .reflect_output = false,
533    .xor_output = 0x0000,
534});
535
536pub const Crc16MaximDow = Crc(u16, .{
537    .polynomial = 0x8005,
538    .initial = 0x0000,
539    .reflect_input = true,
540    .reflect_output = true,
541    .xor_output = 0xffff,
542});
543
544pub const Crc16Mcrf4xx = Crc(u16, .{
545    .polynomial = 0x1021,
546    .initial = 0xffff,
547    .reflect_input = true,
548    .reflect_output = true,
549    .xor_output = 0x0000,
550});
551
552pub const Crc16Modbus = Crc(u16, .{
553    .polynomial = 0x8005,
554    .initial = 0xffff,
555    .reflect_input = true,
556    .reflect_output = true,
557    .xor_output = 0x0000,
558});
559
560pub const Crc16Nrsc5 = Crc(u16, .{
561    .polynomial = 0x080b,
562    .initial = 0xffff,
563    .reflect_input = true,
564    .reflect_output = true,
565    .xor_output = 0x0000,
566});
567
568pub const Crc16OpensafetyA = Crc(u16, .{
569    .polynomial = 0x5935,
570    .initial = 0x0000,
571    .reflect_input = false,
572    .reflect_output = false,
573    .xor_output = 0x0000,
574});
575
576pub const Crc16OpensafetyB = Crc(u16, .{
577    .polynomial = 0x755b,
578    .initial = 0x0000,
579    .reflect_input = false,
580    .reflect_output = false,
581    .xor_output = 0x0000,
582});
583
584pub const Crc16Profibus = Crc(u16, .{
585    .polynomial = 0x1dcf,
586    .initial = 0xffff,
587    .reflect_input = false,
588    .reflect_output = false,
589    .xor_output = 0xffff,
590});
591
592pub const Crc16Riello = Crc(u16, .{
593    .polynomial = 0x1021,
594    .initial = 0xb2aa,
595    .reflect_input = true,
596    .reflect_output = true,
597    .xor_output = 0x0000,
598});
599
600pub const Crc16SpiFujitsu = Crc(u16, .{
601    .polynomial = 0x1021,
602    .initial = 0x1d0f,
603    .reflect_input = false,
604    .reflect_output = false,
605    .xor_output = 0x0000,
606});
607
608pub const Crc16T10Dif = Crc(u16, .{
609    .polynomial = 0x8bb7,
610    .initial = 0x0000,
611    .reflect_input = false,
612    .reflect_output = false,
613    .xor_output = 0x0000,
614});
615
616pub const Crc16Teledisk = Crc(u16, .{
617    .polynomial = 0xa097,
618    .initial = 0x0000,
619    .reflect_input = false,
620    .reflect_output = false,
621    .xor_output = 0x0000,
622});
623
624pub const Crc16Tms37157 = Crc(u16, .{
625    .polynomial = 0x1021,
626    .initial = 0x89ec,
627    .reflect_input = true,
628    .reflect_output = true,
629    .xor_output = 0x0000,
630});
631
632pub const Crc16Umts = Crc(u16, .{
633    .polynomial = 0x8005,
634    .initial = 0x0000,
635    .reflect_input = false,
636    .reflect_output = false,
637    .xor_output = 0x0000,
638});
639
640pub const Crc16Usb = Crc(u16, .{
641    .polynomial = 0x8005,
642    .initial = 0xffff,
643    .reflect_input = true,
644    .reflect_output = true,
645    .xor_output = 0xffff,
646});
647
648pub const Crc16Xmodem = Crc(u16, .{
649    .polynomial = 0x1021,
650    .initial = 0x0000,
651    .reflect_input = false,
652    .reflect_output = false,
653    .xor_output = 0x0000,
654});
655
656pub const Crc17CanFd = Crc(u17, .{
657    .polynomial = 0x1685b,
658    .initial = 0x00000,
659    .reflect_input = false,
660    .reflect_output = false,
661    .xor_output = 0x00000,
662});
663
664pub const Crc21CanFd = Crc(u21, .{
665    .polynomial = 0x102899,
666    .initial = 0x000000,
667    .reflect_input = false,
668    .reflect_output = false,
669    .xor_output = 0x000000,
670});
671
672pub const Crc24Ble = Crc(u24, .{
673    .polynomial = 0x00065b,
674    .initial = 0x555555,
675    .reflect_input = true,
676    .reflect_output = true,
677    .xor_output = 0x000000,
678});
679
680pub const Crc24FlexrayA = Crc(u24, .{
681    .polynomial = 0x5d6dcb,
682    .initial = 0xfedcba,
683    .reflect_input = false,
684    .reflect_output = false,
685    .xor_output = 0x000000,
686});
687
688pub const Crc24FlexrayB = Crc(u24, .{
689    .polynomial = 0x5d6dcb,
690    .initial = 0xabcdef,
691    .reflect_input = false,
692    .reflect_output = false,
693    .xor_output = 0x000000,
694});
695
696pub const Crc24Interlaken = Crc(u24, .{
697    .polynomial = 0x328b63,
698    .initial = 0xffffff,
699    .reflect_input = false,
700    .reflect_output = false,
701    .xor_output = 0xffffff,
702});
703
704pub const Crc24LteA = Crc(u24, .{
705    .polynomial = 0x864cfb,
706    .initial = 0x000000,
707    .reflect_input = false,
708    .reflect_output = false,
709    .xor_output = 0x000000,
710});
711
712pub const Crc24LteB = Crc(u24, .{
713    .polynomial = 0x800063,
714    .initial = 0x000000,
715    .reflect_input = false,
716    .reflect_output = false,
717    .xor_output = 0x000000,
718});
719
720pub const Crc24Openpgp = Crc(u24, .{
721    .polynomial = 0x864cfb,
722    .initial = 0xb704ce,
723    .reflect_input = false,
724    .reflect_output = false,
725    .xor_output = 0x000000,
726});
727
728pub const Crc24Os9 = Crc(u24, .{
729    .polynomial = 0x800063,
730    .initial = 0xffffff,
731    .reflect_input = false,
732    .reflect_output = false,
733    .xor_output = 0xffffff,
734});
735
736pub const Crc30Cdma = Crc(u30, .{
737    .polynomial = 0x2030b9c7,
738    .initial = 0x3fffffff,
739    .reflect_input = false,
740    .reflect_output = false,
741    .xor_output = 0x3fffffff,
742});
743
744pub const Crc31Philips = Crc(u31, .{
745    .polynomial = 0x04c11db7,
746    .initial = 0x7fffffff,
747    .reflect_input = false,
748    .reflect_output = false,
749    .xor_output = 0x7fffffff,
750});
751
752pub const Crc32Aixm = Crc(u32, .{
753    .polynomial = 0x814141ab,
754    .initial = 0x00000000,
755    .reflect_input = false,
756    .reflect_output = false,
757    .xor_output = 0x00000000,
758});
759
760pub const Crc32Autosar = Crc(u32, .{
761    .polynomial = 0xf4acfb13,
762    .initial = 0xffffffff,
763    .reflect_input = true,
764    .reflect_output = true,
765    .xor_output = 0xffffffff,
766});
767
768pub const Crc32Base91D = Crc(u32, .{
769    .polynomial = 0xa833982b,
770    .initial = 0xffffffff,
771    .reflect_input = true,
772    .reflect_output = true,
773    .xor_output = 0xffffffff,
774});
775
776pub const Crc32Bzip2 = Crc(u32, .{
777    .polynomial = 0x04c11db7,
778    .initial = 0xffffffff,
779    .reflect_input = false,
780    .reflect_output = false,
781    .xor_output = 0xffffffff,
782});
783
784pub const Crc32CdRomEdc = Crc(u32, .{
785    .polynomial = 0x8001801b,
786    .initial = 0x00000000,
787    .reflect_input = true,
788    .reflect_output = true,
789    .xor_output = 0x00000000,
790});
791
792pub const Crc32Cksum = Crc(u32, .{
793    .polynomial = 0x04c11db7,
794    .initial = 0x00000000,
795    .reflect_input = false,
796    .reflect_output = false,
797    .xor_output = 0xffffffff,
798});
799
800pub const Crc32Iscsi = Crc(u32, .{
801    .polynomial = 0x1edc6f41,
802    .initial = 0xffffffff,
803    .reflect_input = true,
804    .reflect_output = true,
805    .xor_output = 0xffffffff,
806});
807
808pub const Crc32IsoHdlc = Crc(u32, .{
809    .polynomial = 0x04c11db7,
810    .initial = 0xffffffff,
811    .reflect_input = true,
812    .reflect_output = true,
813    .xor_output = 0xffffffff,
814});
815
816pub const Crc32Jamcrc = Crc(u32, .{
817    .polynomial = 0x04c11db7,
818    .initial = 0xffffffff,
819    .reflect_input = true,
820    .reflect_output = true,
821    .xor_output = 0x00000000,
822});
823
824pub const Crc32Koopman = Crc(u32, .{
825    .polynomial = 0x741b8cd7,
826    .initial = 0xffffffff,
827    .reflect_input = true,
828    .reflect_output = true,
829    .xor_output = 0xffffffff,
830});
831
832pub const Crc32Mef = Crc(u32, .{
833    .polynomial = 0x741b8cd7,
834    .initial = 0xffffffff,
835    .reflect_input = true,
836    .reflect_output = true,
837    .xor_output = 0x00000000,
838});
839
840pub const Crc32Mpeg2 = Crc(u32, .{
841    .polynomial = 0x04c11db7,
842    .initial = 0xffffffff,
843    .reflect_input = false,
844    .reflect_output = false,
845    .xor_output = 0x00000000,
846});
847
848pub const Crc32Xfer = Crc(u32, .{
849    .polynomial = 0x000000af,
850    .initial = 0x00000000,
851    .reflect_input = false,
852    .reflect_output = false,
853    .xor_output = 0x00000000,
854});
855
856pub const Crc40Gsm = Crc(u40, .{
857    .polynomial = 0x0004820009,
858    .initial = 0x0000000000,
859    .reflect_input = false,
860    .reflect_output = false,
861    .xor_output = 0xffffffffff,
862});
863
864pub const Crc64Ecma182 = Crc(u64, .{
865    .polynomial = 0x42f0e1eba9ea3693,
866    .initial = 0x0000000000000000,
867    .reflect_input = false,
868    .reflect_output = false,
869    .xor_output = 0x0000000000000000,
870});
871
872pub const Crc64GoIso = Crc(u64, .{
873    .polynomial = 0x000000000000001b,
874    .initial = 0xffffffffffffffff,
875    .reflect_input = true,
876    .reflect_output = true,
877    .xor_output = 0xffffffffffffffff,
878});
879
880pub const Crc64Ms = Crc(u64, .{
881    .polynomial = 0x259c84cba6426349,
882    .initial = 0xffffffffffffffff,
883    .reflect_input = true,
884    .reflect_output = true,
885    .xor_output = 0x0000000000000000,
886});
887
888pub const Crc64Redis = Crc(u64, .{
889    .polynomial = 0xad93d23594c935a9,
890    .initial = 0x0000000000000000,
891    .reflect_input = true,
892    .reflect_output = true,
893    .xor_output = 0x0000000000000000,
894});
895
896pub const Crc64We = Crc(u64, .{
897    .polynomial = 0x42f0e1eba9ea3693,
898    .initial = 0xffffffffffffffff,
899    .reflect_input = false,
900    .reflect_output = false,
901    .xor_output = 0xffffffffffffffff,
902});
903
904pub const Crc64Xz = Crc(u64, .{
905    .polynomial = 0x42f0e1eba9ea3693,
906    .initial = 0xffffffffffffffff,
907    .reflect_input = true,
908    .reflect_output = true,
909    .xor_output = 0xffffffffffffffff,
910});
911
912pub const Crc82Darc = Crc(u82, .{
913    .polynomial = 0x0308c0111011401440411,
914    .initial = 0x000000000000000000000,
915    .reflect_input = true,
916    .reflect_output = true,
917    .xor_output = 0x000000000000000000000,
918});