mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Files

C89 provided only double-precision mathematical functions (sin() etc), and so despite using single-precision elsewhere, those are what Puzzles has traditionally used. C99 introduced single-precision equivalents (sinf() etc), and I hope it's been long enough that we can safely use them. Maybe they'll even be faster. Rather than directly use the single-precision functions, though, we use the magic macros from <tgmath.h> that automatically choose the precision of mathematical functions based on their arguments. This has the advantage that we only need to change which header we include, and thus that we can switch back again if some platform has trouble with the new header.
This subdirectory contains puzzle implementations which are half-written, fundamentally flawed, or in other ways unready to be shipped as part of the polished Puzzles collection. The CMake build system will _build_ all of the source in this directory (to ensure it hasn't become unbuildable), but they won't be included in all-in-one puzzle binaries or installed by 'make install' targets. If you want to temporarily change that, you can reconfigure your build by defining the CMake variable PUZZLES_ENABLE_UNFINISHED. For example, cmake . -DPUZZLES_ENABLE_UNFINISHED="group;slide" will build as if both Group and Slide were fully official puzzles.