| Portability | portable |
|---|---|
| Stability | experimental |
| Maintainer | amy@nualeargais.ie |
| Safe Haskell | Safe-Inferred |
Codec.Gray
Description
Gray encoding schemes. A Gray code is a list of values such that two successive values differ in only one digit. Usually the term /Gray code/ refers to the Binary Reflected Gray code (BRGC), but non-binary Gray codes have also been discovered. Some Gray codes are also cyclic: the last and first values differ in only one digit.
- grayCodes :: Int -> [[Bool]]
- naryGrayCodes :: [a] -> Int -> [[a]]
Documentation
grayCodes :: Int -> [[Bool]]Source
generates the list of Binary Reflected Gray Code
(BRGC) numbers of length k. This code is cyclic.
grayCodes k
naryGrayCodes :: [a] -> Int -> [[a]]Source
generates a non-Boolean (or n-ary) Gray code
of length naryGrayCodes xs kk using the elements of x as digits. This code is
cyclic.
Ex: generates a ternary Gray code that
is four digits long.
naryGrayCodes "012" 4