Improvement of Float128
AddQuadMathFlags.cmake, clean up the implementation of
numeric_limits, and add a specialization of the
pow() function with integer exponents.
Addresses some issues of #127, e.g. the missing
add_quadmath_flags cmake function. Additionally the
numeric_limits are cleaned up, following now some the boost::multiprecision implementation.
While benchmarking some quadrature rules with
Float128 I found out, that the
pow(Float128, int) implementation is very slow, since it calls the
powq(Float128, Float128) function. There was no specialization for integer exponents. This is added now and is much faster. The implementation is derived from boost::multiprecision library.
Although the code for
pow() is adapted to the
Float128 type and the original implementation is modified, it is very similar to the original
boost implementation. It has to be checked whether it is fine to use this code in the current form from boost and whether the reference must be extended.