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});