-
Notifications
You must be signed in to change notification settings - Fork 0
An ANSI C implementation of Hamming codes
License
LGPL-3.0, GPL-3.0 licenses found
Licenses found
LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
MichaelDipperstein/hamming
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DESCRIPTION ----------- This archive contains an ANSI C library of functions implementing [7, 4] Hamming encode and decode operations. These implementations attempt to strike a reasonable comprise between readability, adaptability speed, and memory usage. There are two implementations for Hamming encoding, one that uses matrix multiplication and one that uses a lookup table. The lookup table version is smaller and faster, but I used the matrix version to come up with the table for the table version. There are three implementations for Hamming decoding, one that uses matrix multiplication, one that uses a lookup table and one that uses a packed lookup table. The packed table version is smaller, but slower than the table version, and both versions are smaller and faster than the matrix version, but I used the matrix version to come up with the tables for the table versions. More information on Hamming encoding and decoding may be found at: https://michaeldipperstein.github.io/hamming.html FILES ----- COPYING - Rules for copying and distributing GPL software COPYING.LESSER - Rules for copying and distributing LGPL software hamming.c - Hamming encode and decode functions hamming.h - Prototypes for encode and decode functions LICENSE - GNU Lesser General Public License (LGPL) Makefile - makefile for this project (assumes gcc compiler and GNU make) README - this file testall.c - Source for verifying routines and generating encode and decode lookup tables. BUILDING -------- To build these files with GNU make and gcc: 1. Windows users should define the environment variable OS to be Windows or Windows_NT. This is often already done. 2. Enter the command "make" from the command line. USAGE ----- Usage: testall <options> options: D : Generate decode tables E : Generate encode table Default usages with no options tests all functions. HISTORY ------- 12/29/04 - Initial release 10/24/05 - Corrected errors in decode matrices pointed out by Ivan Piasini <[email protected]> - Added test that verifies all single bit errors are correctly decoded. 08/29/07 - Licensed explicitly under LGPL version 3. TODO ---- - Add code to build code (C) and parity check (H) matrices from a definition of parity bits. - Generalize for schemes other than (7, 4). AUTHOR ------ Michael Dipperstein ([email protected]) https://michaeldipperstein.github.io
About
An ANSI C implementation of Hamming codes
Resources
License
LGPL-3.0, GPL-3.0 licenses found
Licenses found
LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published