Go to the documentation of this file.
33# include <itpp/config.h>
35# include <itpp/config_msvc.h>
43# define finite(x) _finite(x)
44# define isfinite(x) _finite(x)
45# define isnan(x) _isnan(x)
46# define fpclass(x) _fpclass(x)
47# define FP_NINF _FPCLASS_NINF
48# define FP_PINF _FPCLASS_PINF
49# define jn(a, b) _jn(a, b)
50# define yn(a, b) _yn(a, b)
57#if defined(HAVE_IEEEFP_H)
76#if (HAVE_DECL_ISINF == 1) || defined(HAVE_ISINF)
77inline int isinf(
double x) { return ::isinf(x); }
79inline int isinf(
double x)
81 if (::fpclass(a) == FP_NINF)
return -1;
82 else if (::fpclass(a) == FP_PINF)
return 1;
86inline int isinf(
double x)
88 if ((x == x) && ((x - x) != 0.0))
return (x < 0.0 ? -1 : 1);
95#if (HAVE_DECL_ISNAN == 1) || defined(HAVE_ISNAN)
96inline int isnan(
double x) { return ::isnan(x); }
98inline int isnan(
double x) {
return ((x != x) ? 1 : 0); }
102#ifndef HAVE_STD_ISFINITE
103#if (HAVE_DECL_ISFINITE == 1) || defined(HAVE_ISFINITE)
104inline int isfinite(
double x) { return ::isfinite(x); }
105#elif defined(HAVE_FINITE)
106inline int isfinite(
double x) { return ::finite(x); }
108inline int isfinite(
double x)
110 return ((!std::isnan(x) && !std::isinf(x)) ? 1 : 0);
120double tgamma(
double x);
123#if !defined(HAVE_LGAMMA) || (HAVE_DECL_SIGNGAM != 1)
125double lgamma(
double x);
132double cbrt(
double x);
138inline double log1p(
double x) {
return std::log(1.0 + x); }
143inline double log2(
double x)
145 static const double one_over_log2 = 1.0 / std::log(2.0);
146 return std::log(x) * one_over_log2;
153double expm1(
double x);
159double erfc(
double x);
164inline double erf(
double x) {
return (1.0 - ::erfc(x)); }
170double asinh(
double x);
175double acosh(
double x);
180double atanh(
double x);
185double rint(
double x);
190#define GCC_VERSION (__GNUC__ * 10000 \
191 + __GNUC_MINOR__ * 100 \
192 + __GNUC_PATCHLEVEL__)
std::complex< double > erf(const std::complex< double > &z)
Error function for complex argument.
vec erfc(const vec &x)
Complementary error function.
vec asinh(const vec &x)
Inverse sine hyperbolic function.
vec acosh(const vec &x)
Inverse cosine hyperbolic function.
vec atanh(const vec &x)
Inverse tan hyperbolic function.
vec log2(const vec &x)
log-2 of the elements
Generated on Mon Apr 7 2025 07:53:18 for IT++ by Doxygen 1.11.0