10#ifndef EIGEN_SPECIAL_FUNCTIONS_H
11#define EIGEN_SPECIAL_FUNCTIONS_H
44template <
typename Scalar>
49 THIS_TYPE_IS_NOT_SUPPORTED);
54template <
typename Scalar>
61#if defined(__GLIBC__) && ((__GLIBC__>=2 && __GLIBC_MINOR__ >= 19) || __GLIBC__>2) \
62 && (defined(_DEFAULT_SOURCE) || defined(_BSD_SOURCE) || defined(_SVID_SOURCE))
63#define EIGEN_HAS_LGAMMA_R
67#if defined(__GLIBC__) && ((__GLIBC__==2 && __GLIBC_MINOR__ < 19) || __GLIBC__<2) \
68 && (defined(_BSD_SOURCE) || defined(_SVID_SOURCE))
69#define EIGEN_HAS_LGAMMA_R
76#if !defined(EIGEN_GPU_COMPILE_PHASE) && defined (EIGEN_HAS_LGAMMA_R) && !defined(__APPLE__)
78 return ::lgammaf_r(
x, &dummy);
79#elif defined(SYCL_DEVICE_ONLY)
80 return cl::sycl::lgamma(
x);
88struct lgamma_impl<double> {
91#if !defined(EIGEN_GPU_COMPILE_PHASE) && defined(EIGEN_HAS_LGAMMA_R) && !defined(__APPLE__)
93 return ::lgamma_r(
x, &dummy);
94#elif defined(SYCL_DEVICE_ONLY)
95 return cl::sycl::lgamma(
x);
102#undef EIGEN_HAS_LGAMMA_R
109template <
typename Scalar>
127template <
typename Scalar>
132 THIS_TYPE_IS_NOT_SUPPORTED);
143 -4.16666666666666666667E-3f,
144 3.96825396825396825397E-3f,
145 -8.33333333333333333333E-3f,
146 8.33333333333333333333E-2f
162 8.33333333333333333333E-2,
163 -2.10927960927960927961E-2,
164 7.57575757575757575758E-3,
165 -4.16666666666666666667E-3,
166 3.96825396825396825397E-3,
167 -8.33333333333333333333E-3,
168 8.33333333333333333333E-2
180template <
typename Scalar>
356template <
typename Scalar>
361#if EIGEN_HAS_C99_MATH
366#if defined(SYCL_DEVICE_ONLY)
367 return cl::sycl::erf(
x);
375struct erf_impl<double> {
378#if defined(SYCL_DEVICE_ONLY)
379 return cl::sycl::erf(
x);
391template <
typename Scalar>
396 THIS_TYPE_IS_NOT_SUPPORTED);
401template <
typename Scalar>
406#if EIGEN_HAS_C99_MATH
411#if defined(SYCL_DEVICE_ONLY)
412 return cl::sycl::erfc(
x);
420struct erfc_impl<double> {
423#if defined(SYCL_DEVICE_ONLY)
424 return cl::sycl::erfc(
x);
515template <
typename T,
typename ScalarType>
548template <
typename T,
typename ScalarType>
619template <
typename T,
typename ScalarType>
644template <
typename Scalar>
649#if !EIGEN_HAS_C99_MATH
651template <
typename Scalar>
656 THIS_TYPE_IS_NOT_SUPPORTED);
663template <
typename Scalar>
667 return generic_ndtri<Scalar, Scalar>(
x);
678template <
typename Scalar>
684template <
typename Scalar>
731template <
typename Scalar>
744template <
typename Scalar, IgammaComputationMode mode>
762template <
typename Scalar, IgammaComputationMode mode>
880template <
typename Scalar, IgammaComputationMode mode>
926 if (
c <= machep *
ans) {
951#if !EIGEN_HAS_C99_MATH
953template <
typename Scalar>
958 THIS_TYPE_IS_NOT_SUPPORTED);
965template <
typename Scalar>
1036 if ((
x < one) || (
x <
a)) {
1050#if !EIGEN_HAS_C99_MATH
1052template <
typename Scalar, IgammaComputationMode mode>
1057 THIS_TYPE_IS_NOT_SUPPORTED);
1064template <
typename Scalar, IgammaComputationMode mode>
1065struct igamma_generic_impl {
1090 if ((
x > one) && (
x >
a)) {
1092 if (mode ==
VALUE) {
1105template <
typename Scalar>
1110template <
typename Scalar>
1181template <
typename Scalar>
1184template <
typename Scalar>
1202template <
typename Scalar>
1205template <
typename Scalar>
1251template <
typename Scalar>
1256template <
typename Scalar>
1261 THIS_TYPE_IS_NOT_SUPPORTED);
1291 while( (
i < 9) || (
a <= 9.0) )
1306template <
typename Scalar>
1380 Scalar(-1.8924375803183791606e9),
1382 Scalar(-2.950130727918164224e12),
1383 Scalar(1.1646782814350067249e14),
1384 Scalar(-4.5979787224074726105e15),
1385 Scalar(1.8152105401943546773e17),
1386 Scalar(-7.1661652561756670113e18)
1437 for(
i=0;
i<12;
i++ )
1460template <
typename Scalar>
1465#if !EIGEN_HAS_C99_MATH
1467template <
typename Scalar>
1472 THIS_TYPE_IS_NOT_SUPPORTED);
1479template <
typename Scalar>
1480struct polygamma_impl {
1492 else if (
n ==
zero) {
1509template <
typename Scalar>
1514#if !EIGEN_HAS_C99_MATH
1516template <
typename Scalar>
1521 THIS_TYPE_IS_NOT_SUPPORTED);
1528template <
typename Scalar>
1529struct betainc_impl {
1602 THIS_TYPE_IS_NOT_SUPPORTED);
1610template <
typename Scalar>
1616 THIS_TYPE_IS_NOT_SUPPORTED);
1625 Scalar xk, pk, pkm1, pkm2, qk, qkm1, qkm2;
1626 Scalar k1, k2, k3, k4, k5, k6, k7, k8, k26update;
1666 xk = -(
x * k1 * k2) / (k3 * k4);
1667 pk = pkm1 + pkm2 * xk;
1668 qk = qkm1 + qkm2 * xk;
1674 xk = (
x * k5 * k6) / (k7 * k8);
1675 pk = pkm1 + pkm2 * xk;
1676 qk = qkm1 + qkm2 * xk;
1711 }
while (++
n < num_iters);
1718template <
typename Scalar>
1719struct betainc_helper {};
1722struct betainc_helper<float> {
1726 float ans,
a,
b, t,
x, onemx;
1727 bool reversed_a_b =
false;
1732 if (xx > (aa / (aa + bb))) {
1733 reversed_a_b =
true;
1748 t = betainc_helper<float>::incbps(
a,
b,
x);
1749 if (reversed_a_b) t = 1.0f - t;
1754 ans =
x * (
a +
b - 2.0f) / (
a - 1.0f);
1756 ans = incbeta_cfe<float>::run(
a,
b,
x,
true );
1759 ans = incbeta_cfe<float>::run(
a,
b,
x,
false );
1768 if (reversed_a_b) t = 1.0f - t;
1799struct betainc_impl<float> {
1801 static float run(
float a,
float b,
float x) {
1802 const float nan = NumTraits<float>::quiet_NaN();
1805 if (
a <= 0.0f)
return nan;
1806 if (
b <= 0.0f)
return nan;
1807 if ((
x <= 0.0f) || (
x >= 1.0f)) {
1808 if (
x == 0.0f)
return 0.0f;
1809 if (
x == 1.0f)
return 1.0f;
1816 ans = betainc_helper<float>::incbsa(
a + 1.0f,
b,
x);
1822 return betainc_helper<float>::incbsa(
a,
b,
x);
1828struct betainc_helper<double> {
1833 double s, t, u,
v,
n, t1, z, ai;
1844 u = (
n -
b) *
x /
n;
1868struct betainc_impl<double> {
1870 static double run(
double aa,
double bb,
double xx) {
1871 const double nan = NumTraits<double>::quiet_NaN();
1875 double a,
b, t,
x, xc,
w,
y;
1876 bool reversed_a_b =
false;
1878 if (aa <= 0.0 || bb <= 0.0) {
1882 if ((xx <= 0.0) || (xx >= 1.0)) {
1883 if (xx == 0.0)
return (0.0);
1884 if (xx == 1.0)
return (1.0);
1889 if ((bb * xx) <= 1.0 && xx <= 0.95) {
1890 return betainc_helper<double>::incbps(aa, bb, xx);
1896 if (xx > (aa / (aa + bb))) {
1897 reversed_a_b =
true;
1909 if (reversed_a_b && (
b *
x) <= 1.0 &&
x <= 0.95) {
1910 t = betainc_helper<double>::incbps(
a,
b,
x);
1920 y =
x * (
a +
b - 2.0) - (
a - 1.0);
1922 w = incbeta_cfe<double>::run(
a,
b,
x,
true );
1924 w = incbeta_cfe<double>::run(
a,
b,
x,
false ) / xc;
1970template <
typename Scalar>
1976template <
typename Scalar>
1982template <
typename Scalar>
1988template <
typename Scalar>
1994template <
typename Scalar>
2000template <
typename Scalar>
2006template <
typename Scalar>
2012template <
typename Scalar>
2018template <
typename Scalar>
2024template <
typename Scalar>
2030template <
typename Scalar>
2036template <
typename Scalar>
EIGEN_DEVICE_FUNC const LgammaReturnType lgamma() const
Definition ArrayCwiseUnaryOps.h:620
EIGEN_DEVICE_FUNC const NdtriReturnType ndtri() const
Definition ArrayCwiseUnaryOps.h:693
EIGEN_DEVICE_FUNC const DigammaReturnType digamma() const
Definition ArrayCwiseUnaryOps.h:637
EIGEN_DEVICE_FUNC const ErfcReturnType erfc() const
Definition ArrayCwiseUnaryOps.h:673
EIGEN_DEVICE_FUNC const ErfReturnType erf() const
Definition ArrayCwiseUnaryOps.h:655
ArrayXXi a
Definition Array_initializer_list_23_cxx11.cpp:1
Array< int, Dynamic, 1 > v
Definition Array_initializer_list_vector_cxx11.cpp:1
int n
Definition BiCGSTAB_simple.cpp:1
int i
Definition BiCGSTAB_step_by_step.cpp:9
#define EIGEN_MATHFUNC_IMPL(func, scalar)
Definition MathFunctions.h:70
#define EIGEN_MATHFUNC_RETVAL(func, scalar)
Definition MathFunctions.h:71
#define EIGEN_PI
Definition MathFunctions.h:16
#define EIGEN_ALWAYS_INLINE
Definition Macros.h:932
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
Vector3f p0
Definition MatrixBase_all.cpp:2
Vector3f p1
Definition MatrixBase_all.cpp:2
RowVector3d w
Definition Matrix_resize_int.cpp:3
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition StaticAssert.h:127
float * p
Definition Tutorial_Map_using.cpp:9
Scalar Scalar * c
Definition benchVecAdd.cpp:17
Scalar * b
Definition benchVecAdd.cpp:17
SCALAR Scalar
Definition bench_gemm.cpp:46
The matrix class, also used for vectors and row-vectors.
Definition Matrix.h:180
set noclip points set clip one set noclip two set bar set border lt lw set xdata set ydata set zdata set x2data set y2data set boxwidth set dummy x
Definition gnuplot_common_settings.hh:12
RealScalar s
Definition level1_cplx_impl.h:126
DenseIndex ret
Definition level1_cplx_impl.h:44
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_gt_exp_neg_two(const T &b)
Definition SpecialFunctionsImpl.h:516
const Scalar & y
Definition MathFunctions.h:821
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet &a)
Definition GenericPacketMath.h:796
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:244
IgammaComputationMode
Definition SpecialFunctionsImpl.h:729
@ SAMPLE_DERIVATIVE
Definition SpecialFunctionsImpl.h:729
@ VALUE
Definition SpecialFunctionsImpl.h:729
@ DERIVATIVE
Definition SpecialFunctionsImpl.h:729
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float flipsign< float >(const float &should_flipsign, const float &x)
Definition SpecialFunctionsImpl.h:506
EIGEN_DEVICE_FUNC Packet pmax(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:524
EIGEN_STRONG_INLINE Packet4f pcmp_le(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:867
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
Definition PacketMath.h:827
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:237
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:512
EIGEN_STRONG_INLINE Packet4f pcmp_lt(const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:868
EIGEN_STRONG_INLINE Packet4f pselect(const Packet4f &mask, const Packet4f &a, const Packet4f &b)
Definition PacketMath.h:917
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double flipsign< double >(const double &should_flipsign, const double &x)
Definition SpecialFunctionsImpl.h:500
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_fast_erf_float(const T &a_x)
Definition SpecialFunctionsImpl.h:304
EIGEN_DEVICE_FUNC int igamma_num_iterations()
Definition SpecialFunctionsImpl.h:746
EIGEN_STRONG_INLINE Packet4f psqrt(const Packet4f &a)
Definition PacketMath.h:723
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T generic_ndtri(const T &a)
Definition SpecialFunctionsImpl.h:621
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_lt_exp_neg_two(const T &b, const T &should_flipsign)
Definition SpecialFunctionsImpl.h:549
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T flipsign(const T &should_flipsign, const T &x)
Definition SpecialFunctionsImpl.h:491
EIGEN_DEVICE_FUNC Packet psub(const Packet &a, const Packet &b)
Definition GenericPacketMath.h:222
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T log(const T &x)
Definition MathFunctions.h:1489
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isinf(const Eigen::bfloat16 &h)
Definition BFloat16.h:665
EIGEN_DEVICE_FUNC T() floor(const T &x)
Definition MathFunctions.h:1400
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isnan(const Eigen::bfloat16 &h)
Definition BFloat16.h:659
EIGEN_DEVICE_FUNC const Scalar & q
Definition SpecialFunctionsImpl.h:1984
EIGEN_DEVICE_FUNC internal::pow_impl< ScalarX, ScalarY >::result_type pow(const ScalarX &x, const ScalarY &y)
Definition MathFunctions.h:1361
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T exp(const T &x)
Definition MathFunctions.h:1546
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T tan(const T &x)
Definition MathFunctions.h:1638
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE internal::enable_if< NumTraits< T >::IsSigned||NumTraits< T >::IsComplex, typenameNumTraits< T >::Real >::type abs(const T &x)
Definition MathFunctions.h:1509
EIGEN_DEVICE_FUNC const Scalar & x
Definition SpecialFunctionsImpl.h:1990
EIGEN_DEVICE_FUNC const Scalar & b
Definition SpecialFunctionsImpl.h:2038
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_polygamma_op< typename DerivedX::Scalar >, const DerivedN, const DerivedX > polygamma(const Eigen::ArrayBase< DerivedN > &n, const Eigen::ArrayBase< DerivedX > &x)
Definition SpecialFunctionsArrayAPI.h:112
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_igamma_der_a_op< typename Derived::Scalar >, const Derived, const ExponentDerived > igamma_der_a(const Eigen::ArrayBase< Derived > &a, const Eigen::ArrayBase< ExponentDerived > &x)
Definition SpecialFunctionsArrayAPI.h:51
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_igamma_op< typename Derived::Scalar >, const Derived, const ExponentDerived > igamma(const Eigen::ArrayBase< Derived > &a, const Eigen::ArrayBase< ExponentDerived > &x)
Definition SpecialFunctionsArrayAPI.h:28
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const TensorCwiseTernaryOp< internal::scalar_betainc_op< typename XDerived::Scalar >, const ADerived, const BDerived, const XDerived > betainc(const ADerived &a, const BDerived &b, const XDerived &x)
Definition TensorGlobalFunctions.h:24
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_gamma_sample_der_alpha_op< typename AlphaDerived::Scalar >, const AlphaDerived, const SampleDerived > gamma_sample_der_alpha(const Eigen::ArrayBase< AlphaDerived > &alpha, const Eigen::ArrayBase< SampleDerived > &sample)
Definition SpecialFunctionsArrayAPI.h:72
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_zeta_op< typename DerivedX::Scalar >, const DerivedX, const DerivedQ > zeta(const Eigen::ArrayBase< DerivedX > &x, const Eigen::ArrayBase< DerivedQ > &q)
Definition SpecialFunctionsArrayAPI.h:156
EIGEN_STRONG_INLINE const Eigen::CwiseBinaryOp< Eigen::internal::scalar_igammac_op< typename Derived::Scalar >, const Derived, const ExponentDerived > igammac(const Eigen::ArrayBase< Derived > &a, const Eigen::ArrayBase< ExponentDerived > &x)
Definition SpecialFunctionsArrayAPI.h:90
Definition BandTriangularSolver.h:13
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition NumTraits.h:233
Definition SpecialFunctionsImpl.h:1517
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(Scalar a, Scalar b, Scalar x)
Definition SpecialFunctionsImpl.h:1519
Definition SpecialFunctionsImpl.h:1510
Scalar type
Definition SpecialFunctionsImpl.h:1511
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double big()
Definition SpecialFunctionsImpl.h:719
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double machep()
Definition SpecialFunctionsImpl.h:715
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double biginv()
Definition SpecialFunctionsImpl.h:723
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float big()
Definition SpecialFunctionsImpl.h:701
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float machep()
Definition SpecialFunctionsImpl.h:697
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float biginv()
Definition SpecialFunctionsImpl.h:706
Definition SpecialFunctionsImpl.h:685
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar big()
Definition SpecialFunctionsImpl.h:689
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar biginv()
Definition SpecialFunctionsImpl.h:691
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar machep()
Definition SpecialFunctionsImpl.h:687
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE double run(const double s)
Definition SpecialFunctionsImpl.h:160
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE float run(const float s)
Definition SpecialFunctionsImpl.h:141
Definition SpecialFunctionsImpl.h:128
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(const Scalar)
Definition SpecialFunctionsImpl.h:130
Definition SpecialFunctionsImpl.h:181
static EIGEN_DEVICE_FUNC Scalar run(Scalar x)
Definition SpecialFunctionsImpl.h:183
Definition SpecialFunctionsImpl.h:110
Scalar type
Definition SpecialFunctionsImpl.h:111
Definition SpecialFunctionsImpl.h:349
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T run(const T &x)
Definition SpecialFunctionsImpl.h:351
Definition SpecialFunctionsImpl.h:357
Scalar type
Definition SpecialFunctionsImpl.h:358
Definition SpecialFunctionsImpl.h:392
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(const Scalar)
Definition SpecialFunctionsImpl.h:394
Definition SpecialFunctionsImpl.h:402
Scalar type
Definition SpecialFunctionsImpl.h:403
Definition SpecialFunctionsImpl.h:1207
Definition SpecialFunctionsImpl.h:1203
Definition SpecialFunctionsImpl.h:1185
Definition SpecialFunctionsImpl.h:1182
Definition SpecialFunctionsImpl.h:1053
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(Scalar a, Scalar x)
Definition SpecialFunctionsImpl.h:1055
Definition SpecialFunctionsImpl.h:1111
Definition SpecialFunctionsImpl.h:1106
Scalar type
Definition SpecialFunctionsImpl.h:1107
Definition SpecialFunctionsImpl.h:881
static EIGEN_DEVICE_FUNC Scalar run(Scalar a, Scalar x)
Definition SpecialFunctionsImpl.h:891
Definition SpecialFunctionsImpl.h:763
static EIGEN_DEVICE_FUNC Scalar run(Scalar a, Scalar x)
Definition SpecialFunctionsImpl.h:774
Definition SpecialFunctionsImpl.h:954
static EIGEN_DEVICE_FUNC Scalar run(Scalar a, Scalar x)
Definition SpecialFunctionsImpl.h:956
Definition SpecialFunctionsImpl.h:679
Scalar type
Definition SpecialFunctionsImpl.h:680
@ value
Definition Meta.h:148
Definition SpecialFunctionsImpl.h:45
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(const Scalar)
Definition SpecialFunctionsImpl.h:47
Definition SpecialFunctionsImpl.h:55
Scalar type
Definition SpecialFunctionsImpl.h:56
Definition SpecialFunctionsImpl.h:652
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(const Scalar)
Definition SpecialFunctionsImpl.h:654
Definition SpecialFunctionsImpl.h:645
Scalar type
Definition SpecialFunctionsImpl.h:646
Definition SpecialFunctionsImpl.h:1468
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(Scalar n, Scalar x)
Definition SpecialFunctionsImpl.h:1470
Definition SpecialFunctionsImpl.h:1461
Scalar type
Definition SpecialFunctionsImpl.h:1462
Definition GenericPacketMathFunctions.h:1560
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet run(const Packet &x, const typename unpacket_traits< Packet >::type coeff[])
Definition GenericPacketMathFunctions.h:1561
Definition ForwardDeclarations.h:17
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool run(double &a, double &b, double &s, const double x, const double machep)
Definition SpecialFunctionsImpl.h:1289
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE bool run(float &a, float &b, float &s, const float x, const float machep)
Definition SpecialFunctionsImpl.h:1269
Definition SpecialFunctionsImpl.h:1257
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar run(const Scalar)
Definition SpecialFunctionsImpl.h:1259
Definition SpecialFunctionsImpl.h:1307
static EIGEN_DEVICE_FUNC Scalar run(Scalar x, Scalar q)
Definition SpecialFunctionsImpl.h:1309
Definition SpecialFunctionsImpl.h:1252
Scalar type
Definition SpecialFunctionsImpl.h:1253
EIGEN_DONT_INLINE Scalar zero()
Definition svd_common.h:296