10#ifndef EIGEN_UNARY_FUNCTORS_H
11#define EIGEN_UNARY_FUNCTORS_H
25 template<
typename Packet>
26 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const Packet packetOp(
const Packet& a)
const
27 {
return internal::pnegate(a); }
29template<
typename Scalar>
43 typedef typename NumTraits<Scalar>::Real
result_type;
45 template<
typename Packet>
46 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const Packet packetOp(
const Packet& a)
const
47 {
return internal::pabs(a); }
49template<
typename Scalar>
67template<
typename Scalar>
74 typedef typename NumTraits<Scalar>::Real
result_type;
75 template<
typename Score>
81 typedef typename NumTraits<Scalar>::Real
result_type;
82 template<
typename Scal>
93 typedef typename NumTraits<Scalar>::Real
result_type;
96 template<
typename Packet>
97 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const Packet packetOp(
const Packet& a)
const
98 {
return internal::pmul(a,a); }
100template<
typename Scalar>
112 EIGEN_STRONG_INLINE
const Scalar
operator() (
const Scalar& a)
const {
using numext::conj;
return conj(a); }
113 template<
typename Packet>
114 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const Packet packetOp(
const Packet& a)
const {
return internal::pconj(a); }
116template<
typename Scalar>
132 typedef typename NumTraits<Scalar>::Real
result_type;
134 template<
typename Packet>
135 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const Packet packetOp(
const Packet& a)
const
136 {
return internal::parg(a); }
138template<
typename Scalar>
151template<
typename Scalar,
typename NewType>
157template<
typename Scalar,
typename NewType>
166template<
typename Scalar>
169 typedef typename NumTraits<Scalar>::Real
result_type;
173template<
typename Scalar>
175{
enum { Cost = 0, PacketAccess =
false }; };
182template<
typename Scalar>
185 typedef typename NumTraits<Scalar>::Real
result_type;
189template<
typename Scalar>
191{
enum { Cost = 0, PacketAccess =
false }; };
198template<
typename Scalar>
201 typedef typename NumTraits<Scalar>::Real
result_type;
203 EIGEN_STRONG_INLINE
result_type&
operator() (
const Scalar& a)
const {
return numext::real_ref(*
const_cast<Scalar*
>(&a)); }
205template<
typename Scalar>
207{
enum { Cost = 0, PacketAccess =
false }; };
214template<
typename Scalar>
217 typedef typename NumTraits<Scalar>::Real
result_type;
219 EIGEN_STRONG_INLINE
result_type&
operator() (
const Scalar& a)
const {
return numext::imag_ref(*
const_cast<Scalar*
>(&a)); }
221template<
typename Scalar>
223{
enum { Cost = 0, PacketAccess =
false }; };
234 template <
typename Packet>
235 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pexp(a); }
237template<
typename Scalar>
250 template <
typename Packet>
251 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::plog(a); }
253template<
typename Scalar>
266 template <
typename Packet>
267 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::plog10(a); }
269template<
typename Scalar>
280 template <
typename Packet>
281 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::psqrt(a); }
283template<
typename Scalar>
298 template <
typename Packet>
299 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::prsqrt(a); }
302template<
typename Scalar>
317 template <
typename Packet>
318 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pcos(a); }
320template<
typename Scalar>
336 template <
typename Packet>
337 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::psin(a); }
339template<
typename Scalar>
356 template <
typename Packet>
357 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::ptan(a); }
359template<
typename Scalar>
375 template <
typename Packet>
376 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pacos(a); }
378template<
typename Scalar>
394 template <
typename Packet>
395 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pasin(a); }
397template<
typename Scalar>
415 using numext::lgamma;
return lgamma(a);
417 typedef typename packet_traits<Scalar>::type Packet;
418 inline Packet packetOp(
const Packet& a)
const {
return internal::plgamma(a); }
420template<
typename Scalar>
438 using numext::erf;
return erf(a);
440 typedef typename packet_traits<Scalar>::type Packet;
441 inline Packet packetOp(
const Packet& a)
const {
return internal::perf(a); }
443template<
typename Scalar>
461 using numext::erfc;
return erfc(a);
463 typedef typename packet_traits<Scalar>::type Packet;
464 inline Packet packetOp(
const Packet& a)
const {
return internal::perfc(a); }
466template<
typename Scalar>
484 template <
typename Packet>
485 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::patan(a); }
487template<
typename Scalar>
504 template <
typename Packet>
505 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::ptanh(a); }
507template<
typename Scalar>
523 template <
typename Packet>
524 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::psinh(a); }
526template<
typename Scalar>
542 template <
typename Packet>
543 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pcosh(a); }
545template<
typename Scalar>
558template<
typename Scalar>
562 template<
typename Packet>
566template<
typename Scalar>
574template<
typename Scalar>
578 template<
typename Packet>
580 {
return internal::pmul(a,a); }
582template<
typename Scalar>
590template<
typename Scalar>
594 template<
typename Packet>
596 {
return internal::pmul(a,pmul(a,a)); }
598template<
typename Scalar>
609 template <
typename Packet>
610 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pround(a); }
612template<
typename Scalar>
628 template <
typename Packet>
629 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pfloor(a); }
631template<
typename Scalar>
647 typedef typename packet_traits<Scalar>::type Packet;
648 EIGEN_DEVICE_FUNC inline Packet packetOp(
const Packet& a)
const {
return internal::pceil(a); }
650template<
typename Scalar>
665 typedef bool result_type;
668template<
typename Scalar>
683 typedef bool result_type;
686template<
typename Scalar>
701 typedef bool result_type;
704template<
typename Scalar>
722template<
typename Scalar>
734template<
typename Scalar,
bool iscpx=(NumTraits<Scalar>::IsComplex!=0) >
struct scalar_sign_op;
735template<
typename Scalar>
740 return Scalar( (a>Scalar(0)) - (a<Scalar(0)) );
746template<
typename Scalar>
752 typedef typename NumTraits<Scalar>::Real
real_type;
757 return Scalar(real(a)*
aa, imag(a)*
aa );
763template<
typename Scalar>
Pseudo expression representing a solving operation.
Definition Solve.h:63
Holds information about the various numeric (i.e.
Definition NumTraits.h:108
Definition UnaryFunctors.h:72
Definition XprHelper.h:107
Definition GenericPacketMath.h:90
Definition UnaryFunctors.h:91
Definition UnaryFunctors.h:41
Definition UnaryFunctors.h:372
Definition UnaryFunctors.h:130
Definition UnaryFunctors.h:391
Definition UnaryFunctors.h:481
Definition UnaryFunctors.h:718
Definition UnaryFunctors.h:152
Definition UnaryFunctors.h:644
Definition UnaryFunctors.h:109
Definition UnaryFunctors.h:314
Definition UnaryFunctors.h:539
Definition UnaryFunctors.h:591
Definition UnaryFunctors.h:435
Definition UnaryFunctors.h:458
Definition UnaryFunctors.h:231
Definition UnaryFunctors.h:625
Definition UnaryFunctors.h:183
Definition UnaryFunctors.h:215
Definition UnaryFunctors.h:559
Definition UnaryFunctors.h:699
Definition UnaryFunctors.h:681
Definition UnaryFunctors.h:663
Definition UnaryFunctors.h:412
Definition UnaryFunctors.h:263
Definition UnaryFunctors.h:247
Definition UnaryFunctors.h:22
Definition UnaryFunctors.h:167
Definition UnaryFunctors.h:199
Definition UnaryFunctors.h:606
Definition UnaryFunctors.h:295
Definition UnaryFunctors.h:64
Definition UnaryFunctors.h:734
Definition UnaryFunctors.h:333
Definition UnaryFunctors.h:520
Definition UnaryFunctors.h:277
Definition UnaryFunctors.h:575
Definition UnaryFunctors.h:353
Definition UnaryFunctors.h:501