123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- program crctest;
- {$mode objfpc}
- {$h+}
- uses
- sysutils,
- crc;
- const
- testseq1: string = 'MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGTVIRGATTSYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE';
- testseq2: string = 'MNIIQGNLVGTGLKIGIVVGRFNDFITSKLLSGAEDALLRHGVDTNDIDVAWVPGAFEIPFAAKKMAETKKYDAIITLGDVIRGATTHYDYVCNEAAKGIAQAANTTGVPVIFGIVTTENIEQAIERAGTKAGNKGVDCAVSAIEMANLNRSFE';
- test1_crc64: qword = 14444300186948028230;
- test2_crc64: qword = 3310614217963326015;
- test1_crc32: longword = 3319070459;
- test2_crc32: longword = 1148765760;
- procedure perform_crc32(const name, testcase: string; result: longword);
- var
- crc: longword;
- begin
- crc := crc32(0,nil,0);
- crc := crc32(crc,@testcase[1],length(testcase));
- write(name,'(size=',length(testcase),'): ');
- if crc=result then
- writeln('passed')
- else
- writeln('failed (got=',crc,',expected=',result,')');
- end;
- procedure perform_crc64(const name, testcase: string; result: qword);
- var
- crc: qword;
- begin
- crc := crc64(0,nil,0);
- crc := crc64(crc,@testcase[1],length(testcase));
- write(name,'(size=',length(testcase),'): ');
- if crc=result then
- writeln('passed')
- else
- writeln('failed (got=',crc,',expected=',result,')');
- end;
- begin
- perform_crc32('crc32', testseq1, test1_crc32);
- perform_crc32('crc32', testseq2, test2_crc32);
- perform_crc64('crc64', testseq1, test1_crc64);
- perform_crc64('crc64', testseq2, test2_crc64);
- end.
|