Re:Spotify Codes – Part 2
by superjan on Sunday November 14, 2021 @04:59AM
(#29216320)
The code has a CRC code embedded. Why is it that every article mentioning CRC codes brings up that you can write them as polynomials? AFAICT it never makes a difference in implementation. What am I missing?
[ Parent
| on HN ]
Re:Spotify Codes – Part 2
by mananaysiempre on Sunday November 14, 2021 @11:23AM
(#29218126)
That bitwise XOR is polynomial addition (and subtraction) in F_2[x] (polynomials with coefficients mod 2)?
More immediately, it’s about the only way to unambiguously write which polynomial you mean, independent of endianness and similar notational issues. (The error correction properties don’t care about the way you arranged the bitstream into bytes or words.)
But I find the knowledge that I am just implementing long division helpful, too. I did transcribe the beast mindlessly from a reference book a couple of times before I got it, but debugging it that way is pure hell.
Re:Spotify Codes – Part 2
by lifthrasiir on Sunday November 14, 2021 @07:58AM
(#29216940)
I think it is easier to extend a polynomial multiplication (known concept) with a finite field than to directly introduce a carryless multiplication. Also there are multiple different bitwise representations for the same polynomial, so separating them might avoid some confusion.