view README @ 0:422835bc1aca

*: checkin
author Paper <paper@tflc.us>
date Mon, 09 Feb 2026 01:15:00 -0500
parents
children 90cb48b87dcc
line wrap: on
line source

This code was mostly written as an experiment, to see just how much
could be done using only the C preprocessor (give or take). Turns out
you can do quite a lot.

In fact, *all* of the tables in this library are generated at compile-time.
The polynomial is #define'd in crc32i.h, and all of the tables are generated
through a combination of enums and preprocessor trickery. Note that this
may cause this code to compile slowly on some machines or compilers.

At the moment it is hardcoded for x86-64 and gcc, but it could be adapted to
other compilers if they also have features like e.g. alignas() or whatever.