5#ifndef DUNE_GMPFIELD_HH
6#define DUNE_GMPFIELD_HH
16#if HAVE_GMP || DOXYGEN
30 template<
unsigned int precision >
34 typedef mpf_class Base;
59 typename EnableIf =
typename std::enable_if<
60 std::is_convertible<T, mpf_class>::value>::type
67 operator double ()
const
74 template <
unsigned int precision>
76 :
public std::integral_constant<bool, true> {
79 template<
unsigned int precision1,
unsigned int precision2 >
85 template<
unsigned int precision >
91 template<
unsigned int precision,
class T >
97 template<
class T,
unsigned int precision >
Compute type of the result of an arithmetic operation involving two different number types.
Traits for type conversions and type information.
Dune namespace.
Definition alignedallocator.hh:13
Whether this type acts as a scalar in the context of (hierarchically blocked) containers.
Definition typetraits.hh:194
Number class for high precision floating point number using the GMP library mpf_class implementation.
Definition gmpfield.hh:33
GMPField(const T &v)
initialize from a compatible scalar type
Definition gmpfield.hh:62
GMPField()
Definition gmpfield.hh:38
GMPField(const std::string &str)
initialize from a string
Definition gmpfield.hh:52
GMPField(const char *str)
initialize from a string
Definition gmpfield.hh:45
GMPField< precision > PromotedType
Definition gmpfield.hh:88
GMPField< precision > PromotedType
Definition gmpfield.hh:94
GMPField< precision > PromotedType
Definition gmpfield.hh:100
Compute type of the result of an arithmetic operation involving two different number types.
Definition promotiontraits.hh:27