ref: 2e48ce132e011e83517a9fc4905edcc8f9a5ef58
parent: 4fcc1ea6012dbb25aeb94397d81f364fab81a58d
author: Ben Harris <bjh21@bjh21.me.uk>
date: Tue Apr 4 17:43:25 EDT 2023
Replace <math.h> with <tgmath.h> throughout 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.