18 #ifndef LIBMESH_FLOAT128_SHIMS_H 
   19 #define LIBMESH_FLOAT128_SHIMS_H 
   21 # include <boost/multiprecision/float128.hpp> 
   29 #define LIBMESH_FLOAT128_UNARY(funcname) \ 
   30 inline boost::multiprecision::float128 funcname \ 
   31   (const boost::multiprecision::float128 in) \ 
   33   return boost::multiprecision::funcname(in); \ 
   36 #define LIBMESH_FLOAT128_MATH_BOOL(funcname) \ 
   37 inline bool funcname \ 
   38   (const boost::multiprecision::float128 in) \ 
   40   return boost::math::funcname(in); \ 
   43 #define LIBMESH_FLOAT128_BINARY(funcname) \ 
   44 inline boost::multiprecision::float128 funcname \ 
   45   (const boost::multiprecision::float128 in1, \ 
   46    const boost::multiprecision::float128 in2) \ 
   48   return boost::multiprecision::funcname(in1, in2); \ 
   70 inline boost::multiprecision::float128 
norm 
   71   (
const boost::multiprecision::float128 in)
 
   76 inline boost::multiprecision::float128 
real 
   77   (
const boost::multiprecision::float128 in)
 
   82 inline boost::multiprecision::float128 
imag 
   83   (
const boost::multiprecision::float128 )
 
   89 struct plus<
boost::multiprecision::float128>
 
   91   boost::multiprecision::float128 operator ()
 
   92     (
const boost::multiprecision::float128 a,
 
   93      const boost::multiprecision::float128 b)
 
  100 struct multiplies<
boost::multiprecision::float128>
 
  102   boost::multiprecision::float128 operator ()
 
  103     (
const boost::multiprecision::float128 a,
 
  104      const boost::multiprecision::float128 b)
 
  116 inline boost::multiprecision::float128 modf
 
  117   (
const boost::multiprecision::float128 in,
 
  118    boost::multiprecision::float128 * intpart)
 
  120 #ifdef BOOST_MP_USE_QUAD 
  121   return __modfq(in.backend().value(), &intpart->backend().value());
 
  122 #elif defined(BOOST_MP_USE_FLOAT128) 
  123   return modfq(in.backend().value(), &intpart->backend().value());
 
  133 inline boost::multiprecision::float128 
pow 
  134   (
const boost::multiprecision::float128 in1,
 
  165 #endif // LIBMESH_FLOAT128_SHIMS_H