Improvement of Float128
Summary
Add missing AddQuadMathFlags.cmake
, clean up the implementation of numeric_limits
, and add a specialization of the pow()
function with integer exponents.
Motivation
Addresses some issues of #127 (closed), 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.
TODO
-
Add reference to boost implementation
Closes #127 (closed) Closes #129 (closed)
Edited by Simon Praetorius