lib/base/Math.hpp should be math only
In lib/base/Math.hpp, there is a lot of stuff not related at all to math:
-
#include <...>std and boost files using std::...-
#defineFOREACH, pointer casting
most of it should be in a separate file, like lib/base/base.hpp