An ==interleaver== is used to reorder a sequence of typically distinct items.
For example: 1, 2, 3, 4, 5 -> 3, 2, 1, 5, 4. In other words, it permutes the items. Often,
a pseudo-random permutation is sufficient. In C++ you may use std::shuffle() to get a pseudo-random
permutation of items. However, sometimes permutations with properties other than random are desirable.
Contains perl and python scripts for the generation of takeshita-costello interleavers.
These interleavers are can be found in the communications toolbox of MATLAB ®️. and in the Encyclopedia of Integer Sequences
C++ program for the generation of s-random interleavers.
S. Dolinar and D. Divsalar, "Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations,"
NASA Code 315-91-20-20-53