File indexing completed on 2025-01-18 09:56:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 EIGEN_MAKE_CWISE_BINARY_OP(operator-,difference)
0020
0021
0022
0023
0024
0025
0026
0027 EIGEN_MAKE_CWISE_BINARY_OP(operator+,sum)
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 template<typename CustomBinaryOp, typename OtherDerived>
0041 EIGEN_DEVICE_FUNC
0042 EIGEN_STRONG_INLINE const CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>
0043 binaryExpr(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other, const CustomBinaryOp& func = CustomBinaryOp()) const
0044 {
0045 return CwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>(derived(), other.derived(), func);
0046 }
0047
0048
0049 #ifndef EIGEN_PARSED_BY_DOXYGEN
0050 EIGEN_MAKE_SCALAR_BINARY_OP(operator*,product)
0051 #else
0052
0053
0054
0055
0056 template<typename T>
0057 const CwiseBinaryOp<internal::scalar_product_op<Scalar,T>,Derived,Constant<T> > operator*(const T& scalar) const;
0058
0059
0060
0061
0062 template<typename T> friend
0063 const CwiseBinaryOp<internal::scalar_product_op<T,Scalar>,Constant<T>,Derived> operator*(const T& scalar, const StorageBaseType& expr);
0064 #endif
0065
0066
0067
0068 #ifndef EIGEN_PARSED_BY_DOXYGEN
0069 EIGEN_MAKE_SCALAR_BINARY_OP_ONTHERIGHT(operator/,quotient)
0070 #else
0071
0072
0073
0074
0075 template<typename T>
0076 const CwiseBinaryOp<internal::scalar_quotient_op<Scalar,T>,Derived,Constant<T> > operator/(const T& scalar) const;
0077 #endif
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088 template<typename OtherDerived>
0089 EIGEN_DEVICE_FUNC
0090 inline const CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>
0091 operator&&(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
0092 {
0093 EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value && internal::is_same<bool,typename OtherDerived::Scalar>::value),
0094 THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
0095 return CwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>(derived(),other.derived());
0096 }
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107 template<typename OtherDerived>
0108 EIGEN_DEVICE_FUNC
0109 inline const CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>
0110 operator||(const EIGEN_CURRENT_STORAGE_BASE_CLASS<OtherDerived> &other) const
0111 {
0112 EIGEN_STATIC_ASSERT((internal::is_same<bool,Scalar>::value && internal::is_same<bool,typename OtherDerived::Scalar>::value),
0113 THIS_METHOD_IS_ONLY_FOR_EXPRESSIONS_OF_BOOL);
0114 return CwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>(derived(),other.derived());
0115 }