FXT: a library of algorithms

Here you find

The FXT library

Download the latest FXT version: fxt-2024.03.14.tar.gz (approx. 1600kB), 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, mixed radix numbers, multi sets (subsets and permutations), Catalan objects and Dyck words, necklaces and Lyndon words, and many other types of objects are documented here, and the demos are here. For the combinatorial objects see The Combinatorial Object Server++.

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.

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
An index of all docs

Download the tables of mathematical data as data-fxt.tar.gz (they used to be part of FXT). An overview what is in the archive is the text file 00data-doc.txt.

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 book: fxtbook.pdf (uncompressed pdf, about 5200kB).
The change log: fxtbook-changes.txt.
fxtbook.dvi.gz (compressed dvi, about 1400kB).
fxtbook.ps.gz (compressed postscript, about 2100kB).
fxtbook.pdf.gz (compressed pdf, about 3200kB).
Last update: 2010-September-07 (17:53)

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 2024-March-14 (11:26)
Goto jj's ugly Homepage