5 template<
typename OtherDerived>
6 EIGEN_STRONG_INLINE
const EIGEN_CWISE_PRODUCT_RETURN_TYPE(Derived,OtherDerived)
7 operator*(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
9 return EIGEN_CWISE_PRODUCT_RETURN_TYPE(Derived,OtherDerived)(derived(), other.derived());
16 template<
typename OtherDerived>
17 EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
const Derived,
const OtherDerived>
18 operator/(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
20 return CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
const Derived,
const OtherDerived>(derived(), other.derived());
30 EIGEN_MAKE_CWISE_BINARY_OP(min,internal::scalar_min_op)
36 EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_min_op<Scalar>, const Derived,
37 const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
38 (min)(const Scalar &other)
const
40 return (min)(Derived::PlainObject::Constant(rows(), cols(), other));
50 EIGEN_MAKE_CWISE_BINARY_OP(max,internal::scalar_max_op)
56 EIGEN_STRONG_INLINE const CwiseBinaryOp<internal::scalar_max_op<Scalar>, const Derived,
57 const CwiseNullaryOp<internal::scalar_constant_op<Scalar>, PlainObject> >
58 (max)(const Scalar &other)
const
60 return (max)(Derived::PlainObject::Constant(rows(), cols(), other));
70 EIGEN_MAKE_CWISE_BINARY_OP(
operator<,std::less)
79 EIGEN_MAKE_CWISE_BINARY_OP(operator<=,std::less_equal)
88 EIGEN_MAKE_CWISE_BINARY_OP(operator>,std::greater)
97 EIGEN_MAKE_CWISE_BINARY_OP(operator>=,std::greater_equal)
111 EIGEN_MAKE_CWISE_BINARY_OP(operator==,std::equal_to)
125 EIGEN_MAKE_CWISE_BINARY_OP(operator!=,std::not_equal_to)
136 inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>, const Derived>
137 operator+(const Scalar& scalar)
const
139 return CwiseUnaryOp<internal::scalar_add_op<Scalar>,
const Derived>(derived(), internal::scalar_add_op<Scalar>(scalar));
142 friend inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>,
const Derived>
143 operator+(
const Scalar& scalar,
const EIGEN_CURRENT_STORAGE_BASE_CLASS<Derived>& other)
145 return other + scalar;
155 inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>,
const Derived>
156 operator-(
const Scalar& scalar)
const
158 return *
this + (-scalar);
161 friend inline const CwiseUnaryOp<internal::scalar_add_op<Scalar>,
const CwiseUnaryOp<internal::scalar_opposite_op<Scalar>,
const Derived> >
162 operator-(
const Scalar& scalar,
const EIGEN_CURRENT_STORAGE_BASE_CLASS<Derived>& other)
164 return (-other) + scalar;
176 template<
typename OtherDerived>
177 inline const CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>
178 operator&&(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
180 EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value && internal::is_same<bool,typename OtherDerived::Scalar>::value),
181 THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
182 return CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>(derived(),other.derived());
194 template<
typename OtherDerived>
195 inline const CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>
196 operator||(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
198 EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value && internal::is_same<bool,typename OtherDerived::Scalar>::value),
199 THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
200 return CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>(derived(),other.derived());