20template<
typename OtherDerived>
22EIGEN_STRONG_INLINE
const EIGEN_CWISE_BINARY_RETURN_TYPE(Derived,OtherDerived,product)
23cwiseProduct(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
25 return EIGEN_CWISE_BINARY_RETURN_TYPE(Derived,OtherDerived,product)(derived(), other.derived());
40template<
typename OtherDerived>
42inline const CwiseBinaryOp<numext::equal_to<Scalar>,
const Derived,
const OtherDerived>
43cwiseEqual(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
45 return CwiseBinaryOp<numext::equal_to<Scalar>,
const Derived,
const OtherDerived>(derived(), other.derived());
60template<
typename OtherDerived>
62inline const CwiseBinaryOp<numext::not_equal_to<Scalar>,
const Derived,
const OtherDerived>
63cwiseNotEqual(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
65 return CwiseBinaryOp<numext::not_equal_to<Scalar>,
const Derived,
const OtherDerived>(derived(), other.derived());
75template<
int NaNPropagation,
typename OtherDerived>
77EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar,NaNPropagation>,
const Derived,
const OtherDerived>
78cwiseMin(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
80 return CwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar,NaNPropagation>,
const Derived,
const OtherDerived>(derived(), other.derived());
83template<
typename OtherDerived>
85EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar,PropagateFast>,
const Derived,
const OtherDerived>
86cwiseMin(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
88 return cwiseMin<PropagateFast>(other);
95template<
int NaNPropagation>
97EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar,NaNPropagation>,
const Derived,
const ConstantReturnType>
98cwiseMin(
const Scalar &other)
const
100 return cwiseMin<NaNPropagation>(Derived::Constant(rows(), cols(), other));
104EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar,PropagateFast>,
const Derived,
const ConstantReturnType>
105cwiseMin(
const Scalar &other)
const
107 return cwiseMin<PropagateFast>(Derived::Constant(rows(), cols(), other));
117template<
int NaNPropagation,
typename OtherDerived>
119EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar,NaNPropagation>,
const Derived,
const OtherDerived>
120cwiseMax(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
122 return CwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar,NaNPropagation>,
const Derived,
const OtherDerived>(derived(), other.derived());
125template<
typename OtherDerived>
127EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar,PropagateFast>,
const Derived,
const OtherDerived>
128cwiseMax(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
130 return cwiseMax<PropagateFast>(other);
137template<
int NaNPropagation>
139EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar,NaNPropagation>,
const Derived,
const ConstantReturnType>
140cwiseMax(
const Scalar &other)
const
142 return cwiseMax<NaNPropagation>(Derived::Constant(rows(), cols(), other));
146EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar,PropagateFast>,
const Derived,
const ConstantReturnType>
147cwiseMax(
const Scalar &other)
const
149 return cwiseMax<PropagateFast>(Derived::Constant(rows(), cols(), other));
160template<
typename OtherDerived>
162EIGEN_STRONG_INLINE
const CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
const Derived,
const OtherDerived>
163cwiseQuotient(
const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other)
const
165 return CwiseBinaryOp<internal::scalar_quotient_op<Scalar>,
const Derived,
const OtherDerived>(derived(), other.derived());
168typedef CwiseBinaryOp<internal::scalar_cmp_op<Scalar,Scalar,internal::cmp_EQ>,
const Derived,
const ConstantReturnType> CwiseScalarEqualReturnType;
180inline const CwiseScalarEqualReturnType
181cwiseEqual(
const Scalar& s)
const
183 return CwiseScalarEqualReturnType(derived(), Derived::Constant(rows(), cols(), s), internal::scalar_cmp_op<Scalar,Scalar,internal::cmp_EQ>());