mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-11 11:19:02 +08:00
Propagate functor to ScalarBinaryOpTraits
This commit is contained in:
parent
c55035b9c0
commit
4794834397
@ -103,7 +103,7 @@ namespace Eigen
|
||||
#else
|
||||
template<typename Derived,typename ScalarExponent>
|
||||
inline typename internal::enable_if< !(internal::is_same<typename Derived::Scalar,ScalarExponent>::value)
|
||||
&& ScalarBinaryOpTraits<typename Derived::Scalar,ScalarExponent>::Defined,
|
||||
&& ScalarBinaryOpTraits<typename Derived::Scalar,ScalarExponent,internal::scalar_pow_op<typename Derived::Scalar,ScalarExponent> >::Defined,
|
||||
const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,ScalarExponent,pow) >::type
|
||||
pow(const Eigen::ArrayBase<Derived>& x, const ScalarExponent& exponent) {
|
||||
return x.derived().pow(exponent);
|
||||
@ -157,7 +157,7 @@ namespace Eigen
|
||||
#else
|
||||
template<typename Scalar, typename Derived>
|
||||
inline typename internal::enable_if< !(internal::is_same<typename Derived::Scalar,Scalar>::value)
|
||||
&& ScalarBinaryOpTraits<Scalar,typename Derived::Scalar>::Defined,
|
||||
&& ScalarBinaryOpTraits<Scalar,typename Derived::Scalar,internal::scalar_pow_op<Scalar,typename Derived::Scalar> >::Defined,
|
||||
const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar,Derived,pow) >::type
|
||||
pow(const Scalar& x, const Eigen::ArrayBase<Derived>& exponents)
|
||||
{
|
||||
@ -188,7 +188,7 @@ namespace Eigen
|
||||
#else
|
||||
template<typename Scalar, typename Derived>
|
||||
inline typename internal::enable_if< !(internal::is_same<typename Derived::Scalar,Scalar>::value)
|
||||
&& ScalarBinaryOpTraits<Scalar,typename Derived::Scalar>::Defined,
|
||||
&& ScalarBinaryOpTraits<Scalar,typename Derived::Scalar,internal::scalar_pow_op<Scalar,typename Derived::Scalar> >::Defined,
|
||||
const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(Scalar,Derived,quotient) >::type
|
||||
operator/(const Scalar& s, const Eigen::ArrayBase<Derived>& a)
|
||||
{
|
||||
|
@ -914,7 +914,7 @@ namespace Eigen {
|
||||
} \
|
||||
\
|
||||
template <typename T> EIGEN_DEVICE_FUNC inline \
|
||||
typename internal::enable_if<ScalarBinaryOpTraits<Scalar,T>::Defined, \
|
||||
typename internal::enable_if<ScalarBinaryOpTraits<Scalar,T,EIGEN_CAT(EIGEN_CAT(internal::scalar_,OPNAME),_op)<Scalar,T> >::Defined, \
|
||||
const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,T,OPNAME) >::type \
|
||||
(METHOD)(const T& scalar) const { \
|
||||
return EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(Derived,T,OPNAME)(derived(), \
|
||||
@ -930,7 +930,7 @@ namespace Eigen {
|
||||
} \
|
||||
\
|
||||
template <typename T> EIGEN_DEVICE_FUNC inline friend \
|
||||
typename internal::enable_if<ScalarBinaryOpTraits<T,Scalar>::Defined, \
|
||||
typename internal::enable_if<ScalarBinaryOpTraits<T,Scalar,EIGEN_CAT(EIGEN_CAT(internal::scalar_,OPNAME),_op)<T,Scalar> >::Defined, \
|
||||
const EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(T,Derived,OPNAME) >::type \
|
||||
(METHOD)(const T& scalar, const StorageBaseType& matrix) { \
|
||||
return EIGEN_SCALAR_BINARYOP_EXPR_RETURN_TYPE(T,Derived,OPNAME)( \
|
||||
|
Loading…
x
Reference in New Issue
Block a user