6 template<
typename OtherDerived>
9 operator*(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &
other)
const
18 template<
typename OtherDerived>
20 EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_quotient_op<Scalar,typename OtherDerived::Scalar>,
const Derived,
const OtherDerived>
23 return CwiseBinaryOp<internal::scalar_quotient_op<Scalar,typename OtherDerived::Scalar>,
const Derived,
const OtherDerived>(derived(),
other.derived());
40 EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar>,
const Derived,
41 const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
42 #ifdef EIGEN_PARSED_BY_DOXYGEN
66 EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar>,
const Derived,
67 const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
68 #ifdef EIGEN_PARSED_BY_DOXYGEN
92 EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_absolute_difference_op<Scalar,Scalar>,
const Derived,
93 const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
94 #ifdef EIGEN_PARSED_BY_DOXYGEN
101 return (absolute_difference)(Derived::PlainObject::Constant(
rows(),
cols(),
other));
113 #ifndef EIGEN_PARSED_BY_DOXYGEN
129 const CwiseBinaryOp<internal::scalar_pow_op<Scalar,T>,Derived,Constant<T> >
pow(
const T& exponent)
const;
134 #define EIGEN_MAKE_CWISE_COMP_OP(OP, COMPARATOR) \
135 template<typename OtherDerived> \
136 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_cmp_op<Scalar, typename OtherDerived::Scalar, internal::cmp_ ## COMPARATOR>, const Derived, const OtherDerived> \
137 OP(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const \
139 return CwiseBinaryOp<internal::scalar_cmp_op<Scalar, typename OtherDerived::Scalar, internal::cmp_ ## COMPARATOR>, const Derived, const OtherDerived>(derived(), other.derived()); \
141 typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar,Scalar, internal::cmp_ ## COMPARATOR>, const Derived, const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> > Cmp ## COMPARATOR ## ReturnType; \
142 typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar,Scalar, internal::cmp_ ## COMPARATOR>, const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject>, const Derived > RCmp ## COMPARATOR ## ReturnType; \
143 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Cmp ## COMPARATOR ## ReturnType \
144 OP(const Scalar& s) const { \
145 return this->OP(Derived::PlainObject::Constant(rows(), cols(), s)); \
147 EIGEN_DEVICE_FUNC friend EIGEN_STRONG_INLINE const RCmp ## COMPARATOR ## ReturnType \
148 OP(const Scalar& s, const EIGEN_CURRENT_STORAGE_BASE_CLASS<Derived>& d) { \
149 return Derived::PlainObject::Constant(d.rows(), d.cols(), s).OP(d); \
152 #define EIGEN_MAKE_CWISE_COMP_R_OP(OP, R_OP, RCOMPARATOR) \
153 template<typename OtherDerived> \
154 EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_cmp_op<typename OtherDerived::Scalar, Scalar, internal::cmp_##RCOMPARATOR>, const OtherDerived, const Derived> \
155 OP(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const \
157 return CwiseBinaryOp<internal::scalar_cmp_op<typename OtherDerived::Scalar, Scalar, internal::cmp_##RCOMPARATOR>, const OtherDerived, const Derived>(other.derived(), derived()); \
160 inline const RCmp ## RCOMPARATOR ## ReturnType \
161 OP(const Scalar& s) const { \
162 return Derived::PlainObject::Constant(rows(), cols(), s).R_OP(*this); \
164 friend inline const Cmp ## RCOMPARATOR ## ReturnType \
165 OP(const Scalar& s, const Derived& d) { \
166 return d.R_OP(Derived::PlainObject::Constant(d.rows(), d.cols(), s)); \
236 #undef EIGEN_MAKE_CWISE_COMP_OP
237 #undef EIGEN_MAKE_CWISE_COMP_R_OP
240 #ifndef EIGEN_PARSED_BY_DOXYGEN
253 const CwiseBinaryOp<internal::scalar_sum_op<Scalar,T>,Derived,Constant<T> >
operator+(
const T&
scalar)
const;
258 template<
typename T>
friend
259 const CwiseBinaryOp<internal::scalar_sum_op<T,Scalar>,Constant<T>,Derived>
operator+(
const T&
scalar,
const StorageBaseType& expr);
262 #ifndef EIGEN_PARSED_BY_DOXYGEN
275 const CwiseBinaryOp<internal::scalar_difference_op<Scalar,T>,Derived,Constant<T> >
operator-(
const T&
scalar)
const;
280 template<
typename T>
friend
281 const CwiseBinaryOp<internal::scalar_difference_op<T,Scalar>,Constant<T>,Derived>
operator-(
const T&
scalar,
const StorageBaseType& expr);
285 #ifndef EIGEN_PARSED_BY_DOXYGEN
293 template<
typename T>
friend
294 inline const CwiseBinaryOp<internal::scalar_quotient_op<T,Scalar>,Constant<T>,Derived>
307 template<
typename OtherDerived>
309 inline const CwiseBinaryOp<internal::scalar_boolean_xor_op, const Derived, const OtherDerived>
313 THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
314 return CwiseBinaryOp<internal::scalar_boolean_xor_op, const Derived, const OtherDerived>(derived(),
other.derived());
329 template<
typename DerivedN>
330 inline const CwiseBinaryOp<internal::scalar_polygamma_op<Scalar>,
const DerivedN,
const Derived>
331 polygamma(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<DerivedN> &
n)
const
333 return CwiseBinaryOp<internal::scalar_polygamma_op<Scalar>,
const DerivedN,
const Derived>(
n.derived(), this->derived());
353 template<
typename DerivedQ>
354 inline const CwiseBinaryOp<internal::scalar_zeta_op<Scalar>,
const Derived,
const DerivedQ>
355 zeta(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<DerivedQ> &
q)
const
357 return CwiseBinaryOp<internal::scalar_zeta_op<Scalar>,
const Derived,
const DerivedQ>(this->derived(),
q.derived());