9std::enable_if_t<not std::numeric_limits<T>::is_integer,
bool>
fpeq(
T,
T, std::size_t n=10);
21 operator double()
const;
26 requires std::convertible_to<T, std::complex<double>>
32 requires std::convertible_to<T, std::complex<double>>
36 requires std::convertible_to<T, std::complex<double>>
40 requires std::convertible_to<T, std::complex<double>>
46 requires std::convertible_to<T, std::complex<double>>
50 requires std::convertible_to<T, std::complex<double>>
54 requires std::convertible_to<T, std::complex<double>>
76 requires std::convertible_to<T, std::complex<double>>
80 requires std::convertible_to<T, std::complex<double>>
84 requires std::convertible_to<T, std::complex<double>>
90 requires std::convertible_to<T, std::complex<double>>
94 requires std::convertible_to<T, std::complex<double>>
99#define DEFINE_MATH_FUNCTION(func) \
100inline scalar_t func(const scalar_t& x) { \
101 return scalar_t(std::func(static_cast<complex_t>(x))); \
128requires std::is_integral_v<T>
std::complex< double > complex_t
Convenience alias for std::complex<double>.
friend scalar_t operator+(scalar_t lhs, const T &rhs)
scalar_t(scalar_t &&k)=default
friend scalar_t operator/(T lhs, const scalar_t &rhs)
scalar_t operator-() const
scalar_t & operator+=(const T &rhs)
friend scalar_t operator*(scalar_t lhs, const T &rhs)
friend scalar_t operator-(T lhs, const scalar_t &rhs)
scalar_t & operator/=(const T &rhs)
friend scalar_t operator*(T lhs, const scalar_t &rhs)
scalar_t & operator=(const scalar_t &k)
scalar_t & operator-=(const T &rhs)
friend scalar_t operator/(scalar_t lhs, const T &rhs)
friend scalar_t operator-(scalar_t lhs, const T &rhs)
friend scalar_t operator+(scalar_t lhs, const scalar_t &rhs)
scalar_t & operator*=(const T &rhs)
friend scalar_t operator/(scalar_t lhs, const scalar_t &rhs)
constexpr scalar_t(double re=0.0, double im=0.0)
friend scalar_t operator+(T lhs, const scalar_t &rhs)
friend scalar_t operator*(scalar_t lhs, const scalar_t &rhs)
scalar_t & operator=(scalar_t &&k)=default
double imag(const scalar_t &z)
scalar_t pow(const scalar_t &base, const scalar_t &exp)
double real(const scalar_t &z)
#define DEFINE_MATH_FUNCTION(func)
std::enable_if_t< not std::numeric_limits< T >::is_integer, bool > fpeq(T, T, std::size_t n=10)
Compares two floating point numbers with a given precision.
double T(double x)
Wilson coefficient T(x).