Download Latest Version CRC-20191103.tar.bz2 (450.7 kB)
Email in envelope

Get an email when there's a new version of CRC

Home / Separate files
Name Modified Size InfoDownloads / Week
Parent folder
README 2019-10-30 2.8 kB
testcrc.scala 2019-10-30 30.4 kB
testcrc.kt 2019-10-14 32.2 kB
testcrc.swift 2019-10-06 31.8 kB
testcrc.icn 2019-10-03 25.0 kB
testcrc-Eiffel.tar.bz2 2019-09-22 4.2 kB
testcrc.go 2019-09-02 28.1 kB
testcrc.rs 2019-07-06 28.7 kB
testcrc.awk 2019-07-06 22.6 kB
testcrc.php 2019-07-05 43.1 kB
testcrc.tcl 2019-07-04 30.3 kB
testcrc.pl 2019-07-04 26.1 kB
testcrc.java 2012-08-09 36.5 kB
testcrc.m 2012-08-06 29.8 kB
testcrc.m4 2012-08-02 22.3 kB
testcrc.erl 2012-08-01 18.6 kB
testcrc.vala 2012-07-29 37.4 kB
testcrc.mythryl 2012-07-28 21.1 kB
trs80-M3_crc_asm.tar.bz2 2012-07-25 203.8 kB
testcrc.hs 2012-07-24 21.3 kB
testcrc.cs 2012-07-14 36.9 kB
testcrc.ml 2012-07-14 24.0 kB
testcrc.fs 2012-07-14 24.4 kB
ada.tar.bz2 2012-07-08 4.9 kB
testcrc.f95 2012-07-02 38.9 kB
CRC-Gambas.tar.bz2 2012-06-30 23.1 kB
testcrc.c 2012-06-30 29.8 kB
crc.inc 2012-06-29 138.6 kB
libcrc_z80.asm 2012-06-29 18.8 kB
C-sharp-VS Express solution-CRC library.zip 2012-06-29 156.0 kB
Copyrights.txt 2012-06-29 3.8 kB
crctables.tar.bz2 2012-06-29 68.4 kB
testcrc.rex 2012-06-29 23.6 kB
testcrc.rb 2012-06-29 21.6 kB
testcrc.py 2012-06-29 21.8 kB
testcrc.pas 2012-06-29 41.1 kB
testcrc.d 2012-06-29 27.6 kB
Totals: 37 Items   1.4 MB 0
This folder contain several versions of the CRC library, ported to other languages.
Some files can be compiled separately, some needs an IDE.

Help welcome.


Support up to 64-bit CRC
------------------------
testcrc.pas		Pascal		Free Pascal Compiler
testcrc.d		D		Digital Mars D compiler or GNU D compiler
testcrc.py		Python
testcrc.rb		Ruby
testcrc.cs		C#		MonoDevelop
testcrc.c		C
testcrc.m		Objective-C	Almost same as C
testcrc.f95		fortran
testcrc.ml		OCaml
testcrc.fs		F#
testcrc.hs		Haskell		GHC
testcrc.vala            Vala            valac
testcrc.erl		Erlang
testcrc.java		Java
testcrc.pl		Perl		script
testcrc.tcl		TCL
testcrc.php		PHP
testcrc.awk		Awk		Gnu awk
testcrc.rs		Rust
testcrc.go		Go
testcrc.icn		Unicon
testcrc.swift	Swift
testcrc.kt		Kotlin
testcrc.scala	Scala

testcrc-Eiffel.tar.bz2	Eiffel		Eiffel Studio
CRC-Gambas.tar.bz2	Basic		Gambas
ada.tar.bz2		Ada		Gnat
C-sharp-VS Express solution-CRC library.zip
		   	C# 		Visual Studio Express

libcrc_z80.asm		asm		SDCC
crc.inc

trs80-M3_crc_asm.tar.bz2
			asm		Radio Shack/Tandy TRS80 Model 3

40 and 64-bit not supported or not working
------------------------------------------
testcrc.m4		M4
testcrc.mythryl		Mythryl		Some info still missing for using the 32-bit and 64-bits unsigned integers

Compiles but doesn't work
-------------------------

Doesn't compile, doesn't work
-----------------------------
testcrc.rex

Future implementations
----------------------
scheme
slate
v		reptilian language :)

No way, link with C instead
---------------------------
Cobol		no binary ops, no hex support
Prolog		logic only

Compiler/interpreter issues
---------------------------
Ocaml takes 1 bit off each variable (In a 32-bit integer, only 31 bits are available)
  modules are available to support 32-bit and 64-bit integers.

Java doesn't support unsigned integers.
Mythryl doesn't have Unsigned 16-bit integers

Precalculated CRC tables
------------------------
crctables.tar.bz2

Here are the CRC algorithms and their result for the string "123456789" (0x31..0x39)
ITU:		A1
ATM:		F4
CCITT:		D2
Maxim:		A1
CRC8:		BC
Icode:		7E
J1850:		4B
WCDMA:		25
ROHC:		D0
Darc:		15

Buypass:	FEE8
DDS 110:	9ECF
EN13757:	C2B7
Teledisk:	0FB3
CRC16:		BB3D
Modbus:		4B37
Maxim:		44C2
USB:		B4C8
T10 Dif:	D0DB
Dect X:		007F
Dect R:		007E
Sick:		56A6
DNP:		82EA
CCITT Xmodem:	31C3
CCITT FFFF:	29B1
CCITT 1D0F:	E5CC
Genibus:	D64E
Kermit:		8921
X25:		906E
MCRF4XX:	6F91
Riello:		63D0
Fletcher:	15DD

Flexray A:	7979BD
Flexray B:	1F23B8
R64:		21CF02

CRC32:		CBF43926
C:		E3069283
D:		87315576
JamCRC:		340BC6D9
Bzip2:		FC891918
Posix:		765E7680
Mpeg2:		0376E6E7
K:		085A3197
Q:		3010BF7F
Xfer:		BD0BE338

GSM:		2BE9B039B9

CRC64:		6C40DF5F0B497347
WE:		62EC59E3F1A4F00A
1B:		46A5A9388A5BEFFE
Jones:		CAA717168609F281
Source: README, updated 2019-10-30