13 #ifndef EIGEN_PARSED_BY_DOXYGEN 16 typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
17 const CwiseUnaryOp<internal::scalar_conjugate_op<Scalar>,
const Derived>,
19 >::type ConjugateReturnType;
21 typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
22 const CwiseUnaryOp<internal::scalar_real_op<Scalar>,
const Derived>,
24 >::type RealReturnType;
26 typedef typename internal::conditional<NumTraits<Scalar>::IsComplex,
27 CwiseUnaryView<internal::scalar_real_ref_op<Scalar>, Derived>,
29 >::type NonConstRealReturnType;
31 typedef CwiseUnaryOp<internal::scalar_imag_op<Scalar>,
const Derived> ImagReturnType;
33 typedef CwiseUnaryView<internal::scalar_imag_ref_op<Scalar>, Derived> NonConstImagReturnType;
35 typedef CwiseUnaryOp<internal::scalar_opposite_op<Scalar>,
const Derived> NegativeReturnType;
37 #endif // not EIGEN_PARSED_BY_DOXYGEN 42 inline const NegativeReturnType
43 operator-()
const {
return NegativeReturnType(derived()); }
46 template<
class NewType>
struct CastXpr {
typedef typename internal::cast_return_type<Derived,const CwiseUnaryOp<internal::scalar_cast_op<Scalar, NewType>,
const Derived> >::type Type; };
55 template<
typename NewType>
57 typename CastXpr<NewType>::Type
60 return typename CastXpr<NewType>::Type(derived());
67 inline ConjugateReturnType
70 return ConjugateReturnType(derived());
78 real()
const {
return RealReturnType(derived()); }
84 inline const ImagReturnType
85 imag()
const {
return ImagReturnType(derived()); }
106 template<
typename CustomUnaryOp>
108 inline const CwiseUnaryOp<CustomUnaryOp, const Derived>
109 unaryExpr(
const CustomUnaryOp& func = CustomUnaryOp())
const 111 return CwiseUnaryOp<CustomUnaryOp, const Derived>(derived(), func);
125 template<
typename CustomViewOp>
127 inline const CwiseUnaryView<CustomViewOp, const Derived>
128 unaryViewExpr(
const CustomViewOp& func = CustomViewOp())
const 130 return CwiseUnaryView<CustomViewOp, const Derived>(derived(), func);
137 inline NonConstRealReturnType
138 real() {
return NonConstRealReturnType(derived()); }
144 inline NonConstImagReturnType
145 imag() {
return NonConstImagReturnType(derived()); }
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_imag_op< typename Derived::Scalar >, const Derived > imag(const Eigen::ArrayBase< Derived > &x)
const Eigen::CwiseUnaryOp< Eigen::internal::scalar_real_op< typename Derived::Scalar >, const Derived > real(const Eigen::ArrayBase< Derived > &x)