add the usual standard implementation to compare floating point numbers based on the machine epsilon and the magnitude of the involved numbers
...no need to keep them in util.hpp, as they are used rather occasionally, while util.hpp is used pervasively.