FXT: a library of algorithms

Here you find

The FXT library

Download the latest FXT version: fxt-2021.02.06.tar.gz (approx. 1850kB), distributed under the GPL.

FXT is a library of low-level algorithms. Its main focus is on bit-manipulations, combinatorial generation, and fast transforms. The library is accompanied by the fxtbook. A strong emphasis is on performance and many of the routines are among the fastest available.
Much of the bit-magic is shown on the bit wizardry page, demo programs are listed here and the documentation is here. The routines about binary polynomials and arithmetic over GF(2^n) are documented in bpol-doc.txt and the demos are here.
The routines about combinatorial generation for combinations, subsets, compositions, integer partitions, set partitions, permutations, arrangements, mixed radix numbers, multi sets (subsets and permutations), Catalan objects and Dyck words, necklaces and Lyndon words, ascent sequences, Cayley permutations, Young tableaux, Motzkin paths, various restricted growths strings (RGS), and many other types of objects are documented here and the demos are here, Fred Lunnon's routine for n-dimensional Hilbert curves is documented here
The files documenting the fast transforms are as follows: fast Fourier transforms (FFTs), real valued FFTs, fast Hartley transforms, convolutions, correlations, cosine and sine transforms, Walsh transforms, Haar transforms, and number theoretic transforms (NTTs).

The complete list of demos contains about 500 programs, listed by topic.

For the combinatorial objects see The Combinatorial Object Server++.

Here is a short description, the Linux Software Map (LSM) file fxt.lsm

Complete list of generated documentation:
bits-doc.txt bit wizardry
bpol-doc.txt binary polynomials and arithmetic over GF(2**n)
comb-doc.txt combinatorics (combinations, partitions etc.)
ds-doc.txt data structures (FIFO, heap etc.)
fft-doc.txt fast Fourier transforms
realfft-doc.txt real valued FFTs
fht-doc.txt fast Hartley transforms
convolution-doc.txt convolution
correlation-doc.txt correlation
dctdst-doc.txt cosine and sine transforms
walsh-doc.txt Walsh transforms
haar-doc.txt Haar transforms
mod-doc.txt modular arithmetics and number theory
ntt-doc.txt number theoretic transforms
perm-doc.txt permutations
sort-doc.txt sorting and searching
aux0-doc.txt auxiliary routines
aux1-doc.txt auxiliary routines for 1-dim arrays
aux2-doc.txt auxiliary routines for 2-dim arrays
data-doc.txt tables of mathematical data. The tables can be accessed via the mathdata page.
An index of all docs

The fxtbook: "Matters Computational"

This is the book "Matters Computational" (formerly titled "Algorithms for Programmers"), published with Springer. The electronic version of this book is identical to the printed version. NOTE: It will always stay online for free anonymous download.

The table of contents as text file (generated from dvi): fxtbook-toc.txt.
Short table of contents, giving an quick overview: fxtbook-toc-short.txt.
The change log: fxtbook-changes.txt.
fxtbook.dvi.gz (dvi, about 1400kB).
fxtbook.ps.gz (postscript, about 2100kB).
fxtbook.pdf.gz (pdf, about 3200kB).
Last update: 2010-September-07 (17:53)
fxtbook.pdf (UNCOMPRESSED pdf, about 5200kB).

The list of errata: fxtbook-errata.txt.

The index as text file (generated from dvi): fxtbook-idx.txt.
List of referenced integer sequences from the On-Line Encyclopedia of Integer Sequences (OEIS) as text file (generated from dvi): fxtbook-oeisref.txt.

If you want to set a link to the fxtbook please use http://www.jjj.de/fxt/#fxtbook instead of directly linking to one of the files (e.g. fxtbook.pdf).

Your feedback is appreciated.
jj (Jörg Arndt)

Last modified 2021-February-06 (16:05)
Goto jj's ugly Homepage