Skip to content

Feature/float128

Summary

Add support for __float128 floating point type to dune. Since the gnu quad-precision library provides only a C interface and only very limited support in C++ standard library, some cmath and type_traits utilities are added to allow for a usage of quad precision types in FieldVector and FieldMatrix. Since a discussion in !515 (closed) a wrapper Dune::Float128 around the intrinsic type is provided to have better control about overload resolution.

Motivation

Quad precision floating point types are currently not supported natively by all compilers or even in hardware, but some compilers provide a library implementation that might be sufficient already. The GNU multiprecision library adds this feature and is supported in GCC and clang >= 3.9. Also in intel icc compiler a quad precision type can be enabled.

Intent to merge: 2018-05-25 2018-06-25

Edited by Jö Fahlke

Merge request reports