10 #ifndef EIGEN_UNARY_FUNCTORS_H 11 #define EIGEN_UNARY_FUNCTORS_H 25 template<
typename Packet>
29 template<
typename Scalar>
45 template<
typename Packet>
49 template<
typename Scalar>
67 template<
typename Scalar>
75 template<typename Score>
82 template<typename Scal>
96 template<
typename Packet>
100 template<
typename Scalar>
113 template<
typename Packet>
116 template<
typename Scalar>
142 template<
typename Packet>
146 template<
typename Scalar>
159 template<
typename Scalar,
typename NewType>
165 template<
typename Scalar,
typename NewType>
174 template<
typename Scalar,
int N>
180 template<
typename Packet>
182 {
return internal::parithmetic_shift_right<N>(
a); }
184 template<
typename Scalar,
int N>
193 template<
typename Scalar,
int N>
199 template<
typename Packet>
201 {
return internal::plogical_shift_left<N>(
a); }
203 template<
typename Scalar,
int N>
212 template<
typename Scalar>
219 template<
typename Scalar>
221 {
enum { Cost = 0, PacketAccess =
false }; };
228 template<
typename Scalar>
235 template<
typename Scalar>
237 {
enum { Cost = 0, PacketAccess =
false }; };
244 template<
typename Scalar>
251 template<
typename Scalar>
253 {
enum { Cost = 0, PacketAccess =
false }; };
260 template<
typename Scalar>
267 template<
typename Scalar>
269 {
enum { Cost = 0, PacketAccess =
false }; };
280 template <
typename Packet>
283 template <
typename Scalar>
288 #ifdef EIGEN_VECTORIZE_FMA 320 template <
typename Packet>
323 template <
typename Scalar>
340 template <
typename Packet>
343 template <
typename Scalar>
350 #ifdef EIGEN_VECTORIZE_FMA 358 :
sizeof(
Scalar)==4 ? 40 : 85)
371 template <
typename Packet>
374 template <
typename Scalar>
391 template <
typename Packet>
394 template<
typename Scalar>
407 template <
typename Packet>
410 template<
typename Scalar>
421 template <
typename Packet>
424 template <
typename Scalar>
429 Cost = (
sizeof(
Scalar) == 8 ? 28
435 Cost = (
sizeof(Scalar) == 8 ? 28 : 14),
445 template <
typename Packet>
460 template <
typename Packet>
464 template<
typename Scalar>
479 template <
typename Packet>
482 template<
typename Scalar>
498 template <
typename Packet>
501 template<
typename Scalar>
518 template <
typename Packet>
521 template<
typename Scalar>
537 template <
typename Packet>
540 template<
typename Scalar>
556 template <
typename Packet>
559 template<
typename Scalar>
576 template <
typename Packet>
579 template<
typename Scalar>
592 template <
typename Scalar>
596 template <
typename Packet>
600 template <
typename Scalar>
606 #ifdef EIGEN_VECTORIZE_FMA
625 #if EIGEN_HAS_CXX11_MATH 630 template <
typename Scalar>
631 struct scalar_atanh_op {
636 template <
typename Scalar>
649 template <
typename Packet>
652 template<
typename Scalar>
661 #if EIGEN_HAS_CXX11_MATH 666 template <
typename Scalar>
667 struct scalar_asinh_op {
672 template <
typename Scalar>
685 template <
typename Packet>
688 template<
typename Scalar>
697 #if EIGEN_HAS_CXX11_MATH 702 template <
typename Scalar>
703 struct scalar_acosh_op {
708 template <
typename Scalar>
718 template<
typename Scalar>
722 template<
typename Packet>
726 template <
typename Scalar>
738 template<
typename Scalar>
742 template<
typename Packet>
746 template<
typename Scalar>
755 template<
typename Packet>
767 template<
typename Scalar>
771 template<
typename Packet>
775 template<
typename Scalar>
784 template<
typename Packet>
799 template <
typename Packet>
802 template<
typename Scalar>
818 template <
typename Packet>
821 template<
typename Scalar>
837 template <
typename Packet>
840 template<
typename Scalar>
856 template <
typename Packet>
859 template<
typename Scalar>
876 #if defined(SYCL_DEVICE_ONLY) 883 template<
typename Scalar>
900 #if defined(SYCL_DEVICE_ONLY) 907 template<
typename Scalar>
924 #if defined(SYCL_DEVICE_ONLY) 931 template<
typename Scalar>
949 template<
typename Scalar>
962 template<
typename Scalar>
974 template<
typename Scalar>
986 template<
typename Scalar,
bool is_
integer>
993 if (aa==real_type(0))
995 aa = real_type(1)/aa;
996 return Scalar(a.real()*aa, a.imag()*aa );
1002 template<
typename Scalar>
1017 template <
typename T>
1026 const Packet one = pset1<Packet>(
T(1));
1031 #ifndef EIGEN_GPU_COMPILE_PHASE 1052 const Packet cutoff_lower = pset1<Packet>(-9.f);
1053 const Packet lt_mask = pcmp_lt<Packet>(_x, cutoff_lower);
1058 #ifdef EIGEN_VECTORIZE_FMA 1059 const Packet cutoff_upper = pset1<Packet>(15.7243833541870117f);
1061 const Packet cutoff_upper = pset1<Packet>(15.6437711715698242f);
1066 const Packet alpha_1 = pset1<Packet>(2.48287947061529e-01
f);
1067 const Packet alpha_3 = pset1<Packet>(8.51377133304701e-03
f);
1068 const Packet alpha_5 = pset1<Packet>(6.08574864600143e-05
f);
1069 const Packet alpha_7 = pset1<Packet>(1.15627324459942e-07
f);
1070 const Packet alpha_9 = pset1<Packet>(4.37031012579801e-11
f);
1073 const Packet beta_0 = pset1<Packet>(9.93151921023180e-01
f);
1074 const Packet beta_2 = pset1<Packet>(1.16817656904453e-01
f);
1075 const Packet beta_4 = pset1<Packet>(1.70198817374094e-03
f);
1076 const Packet beta_6 = pset1<Packet>(6.29106785017040e-06
f);
1077 const Packet beta_8 = pset1<Packet>(5.76102136993427e-09
f);
1078 const Packet beta_10 = pset1<Packet>(6.10247389755681e-13
f);
1085 p =
pmadd(x2, p, alpha_5);
1086 p =
pmadd(x2, p, alpha_3);
1087 p =
pmadd(x2, p, alpha_1);
1092 q =
pmadd(x2, q, beta_6);
1093 q =
pmadd(x2, q, beta_4);
1094 q =
pmadd(x2, q, beta_2);
1095 q =
pmadd(x2, q, beta_0);
1100 return pselect(lt_mask, exponential, logistic);
1106 #endif // #ifndef EIGEN_GPU_COMPILE_PHASE 1108 template <
typename T>
1131 #endif // EIGEN_FUNCTORS_H EIGEN_DEVICE_FUNC const Log1pReturnType log1p() const
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
#define EIGEN_STRONG_INLINE
#define EIGEN_EMPTY_STRUCT_CTOR(X)
EIGEN_STRONG_INLINE bool predux_any(const Packet4f &x)
EIGEN_DEVICE_FUNC internal::add_const_on_value_type< EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) >::type real_ref(const Scalar &x)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pasin(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog2(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T exp(const T &x)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet patan(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T rsqrt(const T &x)
NumTraits< Scalar >::Real result_type
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &x) const
NumTraits< Scalar >::Real result_type
NumTraits< Scalar >::Real result_type
Namespace containing all symbols from the Eigen library.
NumTraits< Scalar >::Real result_type
Pose3 x2(Rot3::Ypr(0.0, 0.0, 0.0), l2)
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
EIGEN_STRONG_INLINE Packet4f print(const Packet4f &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptanh(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T cos(const T &x)
EIGEN_DEVICE_FUNC const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psinh(const Packet &a)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
AnnoyingScalar conj(const AnnoyingScalar &x)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar &a) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T atan(const T &x)
EIGEN_DEVICE_FUNC const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet padd(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC T() ceil(const T &x)
EIGEN_DEVICE_FUNC Packet pmin(const Packet &a, const Packet &b)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexp(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pceil(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet ptan(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &x) const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog1p(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE internal::enable_if< NumTraits< T >::IsSigned||NumTraits< T >::IsComplex, typename NumTraits< T >::Real >::type abs(const T &x)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC const Expm1ReturnType expm1() const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
NumTraits< Scalar >::Real result_type
EIGEN_DEVICE_FUNC Packet parg(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T tanh(const T &x)
EIGEN_DEVICE_FUNC const RintReturnType rint() const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pacos(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T tan(const T &x)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isfinite(const Eigen::bfloat16 &h)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const ArgReturnType arg() const
Eigen::Triplet< double > T
EIGEN_DEVICE_FUNC T() floor(const T &x)
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
EIGEN_DEVICE_FUNC internal::add_const_on_value_type< EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) >::type imag_ref(const Scalar &x)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC const Scalar & q
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T sin(const T &x)
EIGEN_STRONG_INLINE Packet2cf pconj(const Packet2cf &a)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isinf(const Eigen::bfloat16 &h)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
NumTraits< Scalar >::Real result_type
EIGEN_DEPRECATED EIGEN_DEVICE_FUNC const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
#define EIGEN_DEVICE_FUNC
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T asin(const T &x)
mp::number< mp::cpp_dec_float< 100 >, mp::et_on > Real
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet &_x) const
EIGEN_DEVICE_FUNC const Packet packetOp(const Packet &a) const
EIGEN_STRONG_INLINE Packet2cf pnegate(const Packet2cf &a)
EIGEN_DEVICE_FUNC Packet pdiv(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC const Log10ReturnType log10() const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog10(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pfloor(const Packet &a)
#define EIGEN_USING_STD(FUNC)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet plog(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isnan(const Eigen::bfloat16 &h)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pround(const Packet &a)
EIGEN_STRONG_INLINE Packet4f pmadd(const Packet4f &a, const Packet4f &b, const Packet4f &c)
#define EIGEN_PREDICT_FALSE(x)
EIGEN_STRONG_INLINE Packet4f pselect(const Packet4f &mask, const Packet4f &a, const Packet4f &b)
EIGEN_DEVICE_FUNC const ImagReturnType imag() const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T cosh(const T &x)
NumTraits< Scalar >::Real result_type
EIGEN_STRONG_INLINE Packet4f psqrt(const Packet4f &a)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcos(const Packet &a)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T sinh(const T &x)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pexpm1(const Packet &a)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet psin(const Packet &a)
EIGEN_STRONG_INLINE Packet4f prsqrt(const Packet4f &a)
EIGEN_DEVICE_FUNC const LogisticReturnType logistic() const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T acos(const T &x)
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE T log(const T &x)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE float sqrt(const float &x)
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
NumTraits< Scalar >::Real result_type
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet &a) const
EIGEN_DEVICE_FUNC bool abs2(bool x)
EIGEN_DECLARE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS Packet pcosh(const Packet &a)
EIGEN_DEVICE_FUNC Packet pmul(const Packet &a, const Packet &b)
EIGEN_DEVICE_FUNC Packet packetOp(const Packet &a) const
EIGEN_STRONG_INLINE Packet4f pabs(const Packet4f &a)
EIGEN_DEVICE_FUNC const RoundReturnType round() const
NumTraits< Scalar >::Real result_type