3typedef CwiseUnaryOp<internal::scalar_abs_op<Scalar>,
const Derived> AbsReturnType;
4typedef CwiseUnaryOp<internal::scalar_arg_op<Scalar>,
const Derived> ArgReturnType;
5typedef CwiseUnaryOp<internal::scalar_carg_op<Scalar>,
const Derived> CArgReturnType;
6typedef CwiseUnaryOp<internal::scalar_abs2_op<Scalar>,
const Derived> Abs2ReturnType;
7typedef CwiseUnaryOp<internal::scalar_sqrt_op<Scalar>,
const Derived> SqrtReturnType;
8typedef CwiseUnaryOp<internal::scalar_cbrt_op<Scalar>,
const Derived> CbrtReturnType;
9typedef CwiseUnaryOp<internal::scalar_rsqrt_op<Scalar>,
const Derived> RsqrtReturnType;
10typedef CwiseUnaryOp<internal::scalar_sign_op<Scalar>,
const Derived> SignReturnType;
11typedef CwiseUnaryOp<internal::scalar_inverse_op<Scalar>,
const Derived> InverseReturnType;
12typedef CwiseUnaryOp<internal::scalar_boolean_not_op<Scalar>,
const Derived> BooleanNotReturnType;
13typedef CwiseUnaryOp<internal::scalar_bitwise_not_op<Scalar>,
const Derived> BitwiseNotReturnType;
15typedef CwiseUnaryOp<internal::scalar_exp_op<Scalar>,
const Derived> ExpReturnType;
16typedef CwiseUnaryOp<internal::scalar_expm1_op<Scalar>,
const Derived> Expm1ReturnType;
17typedef CwiseUnaryOp<internal::scalar_log_op<Scalar>,
const Derived> LogReturnType;
18typedef CwiseUnaryOp<internal::scalar_log1p_op<Scalar>,
const Derived> Log1pReturnType;
19typedef CwiseUnaryOp<internal::scalar_log10_op<Scalar>,
const Derived> Log10ReturnType;
20typedef CwiseUnaryOp<internal::scalar_log2_op<Scalar>,
const Derived> Log2ReturnType;
21typedef CwiseUnaryOp<internal::scalar_cos_op<Scalar>,
const Derived> CosReturnType;
22typedef CwiseUnaryOp<internal::scalar_sin_op<Scalar>,
const Derived> SinReturnType;
23typedef CwiseUnaryOp<internal::scalar_tan_op<Scalar>,
const Derived> TanReturnType;
24typedef CwiseUnaryOp<internal::scalar_acos_op<Scalar>,
const Derived> AcosReturnType;
25typedef CwiseUnaryOp<internal::scalar_asin_op<Scalar>,
const Derived> AsinReturnType;
26typedef CwiseUnaryOp<internal::scalar_atan_op<Scalar>,
const Derived> AtanReturnType;
27typedef CwiseUnaryOp<internal::scalar_tanh_op<Scalar>,
const Derived> TanhReturnType;
28typedef CwiseUnaryOp<internal::scalar_logistic_op<Scalar>,
const Derived> LogisticReturnType;
29typedef CwiseUnaryOp<internal::scalar_sinh_op<Scalar>,
const Derived> SinhReturnType;
30typedef CwiseUnaryOp<internal::scalar_atanh_op<Scalar>,
const Derived> AtanhReturnType;
31typedef CwiseUnaryOp<internal::scalar_asinh_op<Scalar>,
const Derived> AsinhReturnType;
32typedef CwiseUnaryOp<internal::scalar_acosh_op<Scalar>,
const Derived> AcoshReturnType;
33typedef CwiseUnaryOp<internal::scalar_cosh_op<Scalar>,
const Derived> CoshReturnType;
34typedef CwiseUnaryOp<internal::scalar_square_op<Scalar>,
const Derived> SquareReturnType;
35typedef CwiseUnaryOp<internal::scalar_cube_op<Scalar>,
const Derived> CubeReturnType;
36typedef CwiseUnaryOp<internal::scalar_round_op<Scalar>,
const Derived> RoundReturnType;
37typedef CwiseUnaryOp<internal::scalar_rint_op<Scalar>,
const Derived> RintReturnType;
38typedef CwiseUnaryOp<internal::scalar_floor_op<Scalar>,
const Derived> FloorReturnType;
39typedef CwiseUnaryOp<internal::scalar_ceil_op<Scalar>,
const Derived> CeilReturnType;
40typedef CwiseUnaryOp<internal::scalar_trunc_op<Scalar>,
const Derived> TruncReturnType;
41typedef CwiseUnaryOp<internal::scalar_isnan_op<Scalar>,
const Derived> IsNaNReturnType;
42typedef CwiseUnaryOp<internal::scalar_isinf_op<Scalar>,
const Derived> IsInfReturnType;
43typedef CwiseUnaryOp<internal::scalar_isfinite_op<Scalar>,
const Derived> IsFiniteReturnType;
52EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const AbsReturnType abs()
const {
return AbsReturnType(derived()); }
61EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const ArgReturnType
arg()
const {
return ArgReturnType(derived()); }
63EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const CArgReturnType
carg()
const {
return CArgReturnType(derived()); }
72EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const Abs2ReturnType
abs2()
const {
return Abs2ReturnType(derived()); }
84EIGEN_DEVICE_FUNC
inline const ExpReturnType exp()
const {
return ExpReturnType(derived()); }
93EIGEN_DEVICE_FUNC
inline const Expm1ReturnType expm1()
const {
return Expm1ReturnType(derived()); }
105EIGEN_DEVICE_FUNC
inline const LogReturnType log()
const {
return LogReturnType(derived()); }
114EIGEN_DEVICE_FUNC
inline const Log1pReturnType log1p()
const {
return Log1pReturnType(derived()); }
125EIGEN_DEVICE_FUNC
inline const Log10ReturnType log10()
const {
return Log10ReturnType(derived()); }
132EIGEN_DEVICE_FUNC
inline const Log2ReturnType log2()
const {
return Log2ReturnType(derived()); }
144EIGEN_DEVICE_FUNC
inline const SqrtReturnType sqrt()
const {
return SqrtReturnType(derived()); }
155EIGEN_DEVICE_FUNC
inline const CbrtReturnType
cbrt()
const {
return CbrtReturnType(derived()); }
166EIGEN_DEVICE_FUNC
inline const RsqrtReturnType
rsqrt()
const {
return RsqrtReturnType(derived()); }
177EIGEN_DEVICE_FUNC
inline const SignReturnType
sign()
const {
return SignReturnType(derived()); }
189EIGEN_DEVICE_FUNC
inline const CosReturnType cos()
const {
return CosReturnType(derived()); }
201EIGEN_DEVICE_FUNC
inline const SinReturnType sin()
const {
return SinReturnType(derived()); }
210EIGEN_DEVICE_FUNC
inline const TanReturnType tan()
const {
return TanReturnType(derived()); }
219EIGEN_DEVICE_FUNC
inline const AtanReturnType atan()
const {
return AtanReturnType(derived()); }
228EIGEN_DEVICE_FUNC
inline const AcosReturnType acos()
const {
return AcosReturnType(derived()); }
237EIGEN_DEVICE_FUNC
inline const AsinReturnType asin()
const {
return AsinReturnType(derived()); }
246EIGEN_DEVICE_FUNC
inline const TanhReturnType tanh()
const {
return TanhReturnType(derived()); }
255EIGEN_DEVICE_FUNC
inline const SinhReturnType sinh()
const {
return SinhReturnType(derived()); }
264EIGEN_DEVICE_FUNC
inline const CoshReturnType cosh()
const {
return CoshReturnType(derived()); }
270EIGEN_DEVICE_FUNC
inline const AtanhReturnType atanh()
const {
return AtanhReturnType(derived()); }
276EIGEN_DEVICE_FUNC
inline const AsinhReturnType asinh()
const {
return AsinhReturnType(derived()); }
282EIGEN_DEVICE_FUNC
inline const AcoshReturnType acosh()
const {
return AcoshReturnType(derived()); }
286EIGEN_DEVICE_FUNC
inline const LogisticReturnType
logistic()
const {
return LogisticReturnType(derived()); }
295EIGEN_DEVICE_FUNC
inline const InverseReturnType
inverse()
const {
return InverseReturnType(derived()); }
304EIGEN_DEVICE_FUNC
inline const SquareReturnType
square()
const {
return SquareReturnType(derived()); }
313EIGEN_DEVICE_FUNC
inline const CubeReturnType
cube()
const {
return CubeReturnType(derived()); }
322EIGEN_DEVICE_FUNC
inline const RintReturnType rint()
const {
return RintReturnType(derived()); }
331EIGEN_DEVICE_FUNC
inline const RoundReturnType round()
const {
return RoundReturnType(derived()); }
340EIGEN_DEVICE_FUNC
inline const FloorReturnType floor()
const {
return FloorReturnType(derived()); }
349EIGEN_DEVICE_FUNC
inline const CeilReturnType ceil()
const {
return CeilReturnType(derived()); }
358EIGEN_DEVICE_FUNC
inline const TruncReturnType trunc()
const {
return TruncReturnType(derived()); }
361struct ShiftRightXpr {
362 typedef CwiseUnaryOp<internal::scalar_shift_right_op<Scalar, N>,
const Derived> Type;
373EIGEN_DEVICE_FUNC
typename ShiftRightXpr<N>::Type shiftRight()
const {
374 return typename ShiftRightXpr<N>::Type(derived());
379 typedef CwiseUnaryOp<internal::scalar_shift_left_op<Scalar, N>,
const Derived> Type;
390EIGEN_DEVICE_FUNC
typename ShiftLeftXpr<N>::Type shiftLeft()
const {
391 return typename ShiftLeftXpr<N>::Type(derived());
401EIGEN_DEVICE_FUNC
inline const IsNaNReturnType isNaN()
const {
return IsNaNReturnType(derived()); }
410EIGEN_DEVICE_FUNC
inline const IsInfReturnType isInf()
const {
return IsInfReturnType(derived()); }
419EIGEN_DEVICE_FUNC
inline const IsFiniteReturnType isFinite()
const {
return IsFiniteReturnType(derived()); }
428EIGEN_DEVICE_FUNC
inline const BooleanNotReturnType operator!()
const {
return BooleanNotReturnType(derived()); }
432EIGEN_DEVICE_FUNC
inline const BitwiseNotReturnType operator~()
const {
return BitwiseNotReturnType(derived()); }
436typedef CwiseUnaryOp<internal::scalar_lgamma_op<Scalar>,
const Derived> LgammaReturnType;
437typedef CwiseUnaryOp<internal::scalar_digamma_op<Scalar>,
const Derived> DigammaReturnType;
438typedef CwiseUnaryOp<internal::scalar_erf_op<Scalar>,
const Derived> ErfReturnType;
439typedef CwiseUnaryOp<internal::scalar_erfc_op<Scalar>,
const Derived> ErfcReturnType;
440typedef CwiseUnaryOp<internal::scalar_ndtri_op<Scalar>,
const Derived> NdtriReturnType;
452EIGEN_DEVICE_FUNC
inline const LgammaReturnType
lgamma()
const {
return LgammaReturnType(derived()); }
465EIGEN_DEVICE_FUNC
inline const DigammaReturnType
digamma()
const {
return DigammaReturnType(derived()); }
478EIGEN_DEVICE_FUNC
inline const ErfReturnType
erf()
const {
return ErfReturnType(derived()); }
491EIGEN_DEVICE_FUNC
inline const ErfcReturnType
erfc()
const {
return ErfcReturnType(derived()); }
506EIGEN_DEVICE_FUNC
inline const NdtriReturnType
ndtri()
const {
return NdtriReturnType(derived()); }
508template <
typename ScalarExponent>
509using UnaryPowReturnType =
510 std::enable_if_t<internal::is_arithmetic<typename NumTraits<ScalarExponent>::Real>::value,
511 CwiseUnaryOp<internal::scalar_unary_pow_op<Scalar, ScalarExponent>,
const Derived>>;
513#ifndef EIGEN_PARSED_BY_DOXYGEN
514template <
typename ScalarExponent>
515EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const UnaryPowReturnType<ScalarExponent> pow(
516 const ScalarExponent& exponent)
const {
517 return UnaryPowReturnType<ScalarExponent>(derived(), internal::scalar_unary_pow_op<Scalar, ScalarExponent>(exponent));
531template <
typename ScalarExponent>
532EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
const UnaryPowReturnType<ScalarExponent> pow(
533 const ScalarExponent& exponent)
const;
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_inverse_op< typename Derived::Scalar >, const Derived > inverse(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_rsqrt_op< typename Derived::Scalar >, const Derived > rsqrt(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_cube_op< typename Derived::Scalar >, const Derived > cube(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_square_op< typename Derived::Scalar >, const Derived > square(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_sign_op< typename Derived::Scalar >, const Derived > sign(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_logistic_op< typename Derived::Scalar >, const Derived > logistic(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_lgamma_op< typename Derived::Scalar >, const Derived > lgamma(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_abs2_op< typename Derived::Scalar >, const Derived > abs2(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_erf_op< typename Derived::Scalar >, const Derived > erf(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_carg_op< typename Derived::Scalar >, const Derived > carg(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_erfc_op< typename Derived::Scalar >, const Derived > erfc(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_ndtri_op< typename Derived::Scalar >, const Derived > ndtri(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_arg_op< typename Derived::Scalar >, const Derived > arg(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_digamma_op< typename Derived::Scalar >, const Derived > digamma(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_cbrt_op< typename Derived::Scalar >, const Derived > cbrt(const Eigen::ArrayBase< Derived > &x)