(no commit message)
authorlkcl <lkcl@web>
Tue, 22 Mar 2022 13:09:31 +0000 (13:09 +0000)
committerIkiWiki <ikiwiki.info>
Tue, 22 Mar 2022 13:09:31 +0000 (13:09 +0000)
openpower/sv/bitmanip.mdwn

index 22b5ded2749fb847d4f38c018ded9a293803be93..8a9f75b4c1bdf0b2d292125b6261417f7e070c23 100644 (file)
@@ -559,36 +559,30 @@ is followed by more accurate descriptions:
 
 further detailed and more precise explanations are provided below
 
-## Polynomials with coefficients in `GF(2)`
-
-(aka. Carry-less arithmetic -- the `cl*` instructions).
-
-This isn't actually a Galois Field, but its coefficients are. This is
-basically binary integer addition, subtraction, and multiplication like
-usual, except that carries aren't propagated at all, effectively turning
-both addition and subtraction into the bitwise xor operation. Division and
-remainder are defined to match how addition and multiplication works.
-
-## Galois Fields with a prime size
-
-aka. `GF(p)` or Prime Galois Fields (the `gfp*` instructions).
-This is basically just the integers mod `p`.
-
-## Galois Fields with a power-of-a-prime size
-
-aka. `GF(p^n)` or `GF(q)` where `q == p^n` for prime `p` and integer `n > 0`.
-
-We only implement these for `p == 2`, called Binary Galois Fields
-(`GF(2^n)` -- the `gfb*` instructions).
-For any prime `p`, `GF(p^n)` is implemented as polynomials with
-coefficients in `GF(p)` and degree `< n`, where the polynomials are the
-remainders of dividing by a specificly chosen polynomial in `GF(p)` called
-the Reducing Polynomial (we will denote that by `red_poly`). The Reducing
-Polynomial must be an irreducable polynomial (like primes, but for
-polynomials), as well as have degree `n`. All `GF(p^n)` for the same `p`
-and `n` are isomorphic to each other -- the choice of `red_poly` doesn't
-affect `GF(p^n)`'s mathematical shape, all that changes is the specific
-polynomials used to implement `GF(p^n)`.
+* **Polynomials with coefficients in `GF(2)`**
+  (aka. Carry-less arithmetic -- the `cl*` instructions).
+  This isn't actually a Galois Field, but its coefficients are. This is
+  basically binary integer addition, subtraction, and multiplication like
+  usual, except that carries aren't propagated at all, effectively turning
+  both addition and subtraction into the bitwise xor operation. Division and
+  remainder are defined to match how addition and multiplication works.
+* **Galois Fields with a prime size**
+  (aka. `GF(p)` or Prime Galois Fields -- the `gfp*` instructions).
+  This is basically just the integers mod `p`.
+* **Galois Fields with a power-of-a-prime size**
+  (aka. `GF(p^n)` or `GF(q)` where `q == p^n` for prime `p` and
+  integer `n > 0`).
+  We only implement these for `p == 2`, called Binary Galois Fields
+  (`GF(2^n)` -- the `gfb*` instructions).
+  For any prime `p`, `GF(p^n)` is implemented as polynomials with
+  coefficients in `GF(p)` and degree `< n`, where the polynomials are the
+  remainders of dividing by a specificly chosen polynomial in `GF(p)` called
+  the Reducing Polynomial (we will denote that by `red_poly`). The Reducing
+  Polynomial must be an irreducable polynomial (like primes, but for
+  polynomials), as well as have degree `n`. All `GF(p^n)` for the same `p`
+  and `n` are isomorphic to each other -- the choice of `red_poly` doesn't
+  affect `GF(p^n)`'s mathematical shape, all that changes is the specific
+  polynomials used to implement `GF(p^n)`.
 
 # Instructions for Carry-less Operations