Skip to content

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

Merge request reports