Previously, I used a shell script to extract modification date ranges
from the Git history, but that was complicated and unreliable, so now
every file just gets the same year range in its copyright header. If
someone needs to know when a specific file was modified and by whom,
they can look at the Git history themselves; no need to include it
redundantly in the header.
Floats and doubles can now be read from strings, using the C standard library
functions for this purpose (strtof and strtod). The code also relies on
standard library functions to implement isNaN() and isInfinite()