]> Cypherpunks repositories - gostls13.git/commitdiff
hash/crc32: clarify documentation
authorAamir Khan <syst3m.w0rm@gmail.com>
Wed, 22 Apr 2015 10:24:48 +0000 (19:24 +0900)
committerDavid Chase <drchase@google.com>
Fri, 24 Apr 2015 13:44:25 +0000 (13:44 +0000)
Explicitly specify that we represent polynomial in reversed notation

Fixes #8229

Change-Id: Idf094c01fd82f133cd0c1b50fa967d12c577bdb5
Reviewed-on: https://go-review.googlesource.com/9237
Reviewed-by: David Chase <drchase@google.com>
src/hash/crc32/crc32.go

index 6a6b9473bea45b9db127a5c03eb0809f061e9147..4b13c12d323fe7e1695dc7c0689bf1702b7f517f 100644 (file)
@@ -5,6 +5,18 @@
 // Package crc32 implements the 32-bit cyclic redundancy check, or CRC-32,
 // checksum. See http://en.wikipedia.org/wiki/Cyclic_redundancy_check for
 // information.
+//
+// Polynomials are represented in LSB-first form also known as reversed representation.
+//
+// LSB-first representation is a hexadecimal number with n bits, the most
+// significant bit represents the coefficient of x^0 and the least significant
+// bit represents the coefficient of x^(n-1).
+//
+// For example, x^5 + x^2 + x^0 is (binary:10100, hexadecimal:0x14) in 5-bit LSB-first form,
+// as opposed to (binary:00101, hexadecimal:0x05) in MSB-first (normal) form.
+//
+// See http://en.wikipedia.org/wiki/Mathematics_of_cyclic_redundancy_checks#Reversed_representations_and_reciprocal_polynomials
+// for information.
 package crc32
 
 import (