10 #ifndef EIGEN_ARCH_GENERIC_PACKET_MATH_FUNCTIONS_FWD_H
11 #define EIGEN_ARCH_GENERIC_PACKET_MATH_FUNCTIONS_FWD_H
13 #include "../../InternalHeaderCheck.h"
45 template <
typename Packet>
50 template <
typename Packet>
55 template <
typename Packet>
60 template <
typename Packet>
65 template<
typename Packet>
69 template<
typename Packet>
73 template <
typename Packet>
78 template <
typename Packet>
83 template<
typename Packet>
88 template<
typename Packet>
93 template<
typename Packet>
98 template<
typename Packet>
103 template<
typename Packet>
108 template<
typename Packet>
113 template<
typename Packet>
118 template<
typename Packet>
123 template<
typename Packet>
127 template <
typename Packet,
int N>
struct ppolevl;
130 #define EIGEN_PACKET_FUNCTION(METHOD, SCALAR, PACKET) \
132 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_UNUSED PACKET p##METHOD<PACKET>(const PACKET& _x) { \
133 return p##METHOD##_##SCALAR(_x); \
136 #define EIGEN_FLOAT_PACKET_FUNCTION(METHOD, PACKET) EIGEN_PACKET_FUNCTION(METHOD, float, PACKET)
137 #define EIGEN_DOUBLE_PACKET_FUNCTION(METHOD, PACKET) EIGEN_PACKET_FUNCTION(METHOD, double, PACKET)
139 #define EIGEN_INSTANTIATE_GENERIC_MATH_FUNCS_FLOAT(PACKET) \
140 EIGEN_FLOAT_PACKET_FUNCTION(sin, PACKET) \
141 EIGEN_FLOAT_PACKET_FUNCTION(cos, PACKET) \
142 EIGEN_FLOAT_PACKET_FUNCTION(asin, PACKET) \
143 EIGEN_FLOAT_PACKET_FUNCTION(acos, PACKET) \
144 EIGEN_FLOAT_PACKET_FUNCTION(atan, PACKET) \
145 EIGEN_FLOAT_PACKET_FUNCTION(atanh, PACKET) \
146 EIGEN_FLOAT_PACKET_FUNCTION(log, PACKET) \
147 EIGEN_FLOAT_PACKET_FUNCTION(log2, PACKET) \
148 EIGEN_FLOAT_PACKET_FUNCTION(exp, PACKET) \
150 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_UNUSED PACKET pexpm1<PACKET>(const PACKET& _x) { \
151 return internal::generic_expm1(_x); \
154 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_UNUSED PACKET plog1p<PACKET>(const PACKET& _x) { \
155 return internal::generic_plog1p(_x); \
158 EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_UNUSED PACKET ptanh<PACKET>(const PACKET& _x) { \
159 return internal::generic_fast_tanh_float(_x); \
162 #define EIGEN_INSTANTIATE_GENERIC_MATH_FUNCS_DOUBLE(PACKET) \
163 EIGEN_DOUBLE_PACKET_FUNCTION(atan, PACKET) \
164 EIGEN_DOUBLE_PACKET_FUNCTION(log, PACKET) \
165 EIGEN_DOUBLE_PACKET_FUNCTION(log2, PACKET) \
166 EIGEN_DOUBLE_PACKET_FUNCTION(exp, PACKET)
#define EIGEN_DEVICE_FUNC
#define EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog2_double(const Packet _x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psin_float(const Packet &x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp_double(const Packet _x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pacos_float(const Packet &x_in)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patan_float(const Packet &x_in)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patanh_float(const Packet &x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patan_double(const Packet &x_in)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psqrt_complex(const Packet &a)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog2_float(const Packet _x)
Packet generic_plog1p(const Packet &x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcos_float(const Packet &x)
Packet4d pfrexp_generic_get_biased_exponent(const Packet4d &a)
Packet pfrexp_generic(const Packet &a, Packet &exponent)
Packet pldexp_generic(const Packet &a, const Packet &exponent)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pdiv_complex(const Packet &x, const Packet &y)
Packet generic_expm1(const Packet &x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp_float(const Packet _x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog_double(const Packet _x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog_float(const Packet _x)
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pasin_float(const Packet &x_in)