libMesh
Loading...
Searching...
No Matches
Classes | Functions
std Namespace Reference

Classes

struct  hash< libMesh::FEType >
 
struct  hash< libMesh::Point >
 
struct  multiplies< boost::multiprecision::float128 >
 
struct  plus< boost::multiprecision::float128 >
 

Functions

 LIBMESH_FLOAT128_UNARY (sqrt) LIBMESH_FLOAT128_UNARY(exp) LIBMESH_FLOAT128_UNARY(log) LIBMESH_FLOAT128_UNARY(log10) LIBMESH_FLOAT128_UNARY(sin) LIBMESH_FLOAT128_UNARY(cos) LIBMESH_FLOAT128_UNARY(tan) LIBMESH_FLOAT128_UNARY(asin) LIBMESH_FLOAT128_UNARY(acos) LIBMESH_FLOAT128_UNARY(atan) LIBMESH_FLOAT128_UNARY(sinh) LIBMESH_FLOAT128_UNARY(cosh) LIBMESH_FLOAT128_UNARY(tanh) LIBMESH_FLOAT128_UNARY(abs) LIBMESH_FLOAT128_UNARY(fabs) LIBMESH_FLOAT128_UNARY(ceil) LIBMESH_FLOAT128_UNARY(floor) inline boost
 
boost::multiprecision::float128 real (const boost::multiprecision::float128 in)
 
boost::multiprecision::float128 imag (const boost::multiprecision::float128)
 
 LIBMESH_FLOAT128_MATH_BOOL (isinf) LIBMESH_FLOAT128_MATH_BOOL(isnan) inline boost
 
 LIBMESH_FLOAT128_BINARY (pow) LIBMESH_FLOAT128_BINARY(atan2) LIBMESH_FLOAT128_BINARY(fmod) inline boost
 
 LIBMESH_FLOAT128_UNARY (trunc) LIBMESH_FLOAT128_UNARY(round) LIBMESH_FLOAT128_UNARY(log1p) inline long long llround(const boost
 
 LIBMESH_DEFINE_BOTH_MAX_MIN (long double, double) LIBMESH_DEFINE_BOTH_MAX_MIN(long double
 
float LIBMESH_DEFINE_BOTH_MAX_MIN (double, float) LIBMESH_DEFINE_BOTH_MAX_MIN(libMesh
 
std::ostream & operator<< (std::ostream &os, const PetscScalar in)
 
template<typename T >
auto norm (const libMesh::TypeVector< T > &vector) -> decltype(std::norm(T()))
 

Function Documentation

◆ imag()

boost::multiprecision::float128 std::imag ( const boost::multiprecision::float128  )
inline

◆ LIBMESH_DEFINE_BOTH_MAX_MIN() [1/2]

float std::LIBMESH_DEFINE_BOTH_MAX_MIN ( double  ,
float   
)

Definition at line 41 of file libmesh_augment_std_namespace.h.

52{ return ::fabs(a); }

◆ LIBMESH_DEFINE_BOTH_MAX_MIN() [2/2]

std::LIBMESH_DEFINE_BOTH_MAX_MIN ( long double  ,
double   
)

◆ LIBMESH_FLOAT128_BINARY()

std::LIBMESH_FLOAT128_BINARY ( pow  )

Definition at line 132 of file float128_shims.h.

141{
142 return boost::multiprecision::pow(in1, in2);
143}

◆ LIBMESH_FLOAT128_MATH_BOOL()

std::LIBMESH_FLOAT128_MATH_BOOL ( isinf  )

Definition at line 116 of file float128_shims.h.

124{
125#ifdef BOOST_MP_USE_QUAD
126 return __modfq(in.backend().value(), &intpart->backend().value());
127#elif defined(BOOST_MP_USE_FLOAT128)
128 return modfq(in.backend().value(), &intpart->backend().value());
129#endif
130}

◆ LIBMESH_FLOAT128_UNARY() [1/2]

std::LIBMESH_FLOAT128_UNARY ( sqrt  )

Definition at line 56 of file float128_shims.h.

77{
78 return in * in;
79}

◆ LIBMESH_FLOAT128_UNARY() [2/2]

std::LIBMESH_FLOAT128_UNARY ( trunc  ) const

Definition at line 150 of file float128_shims.h.

161{
162 return boost::multiprecision::llround(in);
163}

◆ norm()

template<typename T >
auto std::norm ( const libMesh::TypeVector< T > &  vector) -> decltype(std::norm(T()))

Definition at line 1301 of file type_vector.h.

1302{
1303 // Yea I agree it's dumb that the standard returns the square of the Euclidean norm
1304 return vector.norm_sq();
1305}
auto norm_sq() const

Referenced by libMesh::TensorTools::norm_sq(), libMesh::TensorTools::norm_sq(), and libMesh::SmoothnessEstimator::EstimateSmoothness::operator()().

◆ operator<<()

std::ostream & std::operator<< ( std::ostream &  os,
const PetscScalar  in 
)
inline

Definition at line 124 of file petsc_macro.h.

125{
126 os << (boost::multiprecision::float128(in));
127 return os;
128}

◆ real()

boost::multiprecision::float128 std::real ( const boost::multiprecision::float128  in)
inline