C++20 modernization of mathematical utility functions
The header mathfns.h containing some inline mathematical utility functions is modernized:
- All uses of
std::enable_ifare eliminated. - The function
floorlog2()is reimplemented, resolving a TODO comment. - Duplicated, closely related code is moved to this header.
- Unused includes are cleaned up.
- A missing include of
iostreamheader is added topixelstreamer.cpp, since that file referencesstd::cerr.