17 #ifndef __deal2__numbers_h
18 #define __deal2__numbers_h
21 #include <deal.II/base/config.h>
22 #include <deal.II/base/types.h>
25 DEAL_II_NAMESPACE_OPEN
47 static const double E = 2.7182818284590452354;
52 static const double LOG2E = 1.4426950408889634074;
57 static const double LOG10E = 0.43429448190325182765;
62 static const double LN2 = 0.69314718055994530942;
67 static const double LN10 = 2.30258509299404568402;
72 static const double PI = 3.14159265358979323846;
77 static const double PI_2 = 1.57079632679489661923;
82 static const double PI_4 = 0.78539816339744830962;
87 static const double SQRT2 = 1.41421356237309504880;
92 static const double SQRT1_2 = 0.70710678118654752440;
120 bool is_finite (
const std::complex<double> &x);
127 bool is_finite (
const std::complex<float> &x);
141 bool is_finite (
const std::complex<long double> &x);
160 template <
typename number>
194 const number &
conjugate (
const number &x);
224 template <
typename number>
255 std::complex<number>
conjugate (
const std::complex<number> &x);
289 namespace deal_II_numbers = numbers;
296 template <
typename number>
305 template <
typename number>
314 template <
typename number>
323 template <
typename number>
332 template <
typename number>
341 template <
typename number>
345 return std::norm (x);
352 DEAL_II_NAMESPACE_CLOSE
static const number & conjugate(const number &x)
static const double SQRT2
static real_type abs(const number &x)
bool is_finite(const double x)
static real_type abs_square(const number &x)
static const bool is_complex
static const double LOG2E
static const double SQRT1_2
static const double LOG10E