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