If document the polynomial for crc_hqx, maybe document it for crc32 and adler32? Wouldn't be better to write the formula as *x*\ :sup:`16` + *x*\ :sup:`12 + *x*\ :sup:`5` + 1 ?
It seems I can write it without the escaped spaces. Is there a problem with this: *x*:sup:`16` + *x*:sup:`12` + *x*:sup:`5` + 1 I’m happy to add the CRC-32 polynomial if you think it would be useful, although it is a lot longer (fifteen terms instead of four). And this CRC is already easily identified by the CRC-32 name. As well as the polynomial, there are other details that identify a CRC. The bits in CRC-32 are reversed and inverted compared to CRC-CCITT. >>> hex(crc32(b"\x80", 0xFFFFFFFF) ^ 0xFFFFFFFF) '0xedb88320' # 0xEDB88320 is the reversed polynomial representation; the x^0 term corresponds to bit 31 Adler32 is not a CRC, and I don’t think there are multiple versions of the algorithm, so I don’t think it would need any special explanation.