aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/CwiseBinaryOp.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-07-01 17:51:53 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-07-01 17:51:53 +0200
commit6f846ef9c6ef3e838d1361a30dc11f65ddff967d (patch)
tree4f78d3c7d1ba7b959229342b68125053e1daf51f /Eigen/src/Core/CwiseBinaryOp.h
parent3c63446507dbbc891e44b58af07f12f6ef58a175 (diff)
Split StorageKind promotion into two helpers: one for products, and one for coefficient-wise operations.
Diffstat (limited to 'Eigen/src/Core/CwiseBinaryOp.h')
-rw-r--r--Eigen/src/Core/CwiseBinaryOp.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/Eigen/src/Core/CwiseBinaryOp.h b/Eigen/src/Core/CwiseBinaryOp.h
index 355f3bdc8..b4662907e 100644
--- a/Eigen/src/Core/CwiseBinaryOp.h
+++ b/Eigen/src/Core/CwiseBinaryOp.h
@@ -56,8 +56,9 @@ struct traits<CwiseBinaryOp<BinaryOp, Lhs, Rhs> >
typename Rhs::Scalar
)
>::type Scalar;
- typedef typename promote_storage_type<typename traits<Lhs>::StorageKind,
- typename traits<Rhs>::StorageKind>::ret StorageKind;
+ typedef typename cwise_promote_storage_type<typename traits<Lhs>::StorageKind,
+ typename traits<Rhs>::StorageKind,
+ BinaryOp>::ret StorageKind;
typedef typename promote_index_type<typename traits<Lhs>::Index,
typename traits<Rhs>::Index>::type Index;
typedef typename Lhs::Nested LhsNested;
@@ -98,8 +99,9 @@ template<typename BinaryOp, typename LhsType, typename RhsType>
class CwiseBinaryOp : internal::no_assignment_operator,
public CwiseBinaryOpImpl<
BinaryOp, LhsType, RhsType,
- typename internal::promote_storage_type<typename internal::traits<LhsType>::StorageKind,
- typename internal::traits<RhsType>::StorageKind>::ret>
+ typename internal::cwise_promote_storage_type<typename internal::traits<LhsType>::StorageKind,
+ typename internal::traits<RhsType>::StorageKind,
+ BinaryOp>::ret>
{
public:
@@ -108,8 +110,9 @@ class CwiseBinaryOp : internal::no_assignment_operator,
typedef typename CwiseBinaryOpImpl<
BinaryOp, LhsType, RhsType,
- typename internal::promote_storage_type<typename internal::traits<LhsType>::StorageKind,
- typename internal::traits<Rhs>::StorageKind>::ret>::Base Base;
+ typename internal::cwise_promote_storage_type<typename internal::traits<LhsType>::StorageKind,
+ typename internal::traits<Rhs>::StorageKind,
+ BinaryOp>::ret>::Base Base;
EIGEN_GENERIC_PUBLIC_INTERFACE(CwiseBinaryOp)
typedef typename internal::nested<LhsType>::type LhsNested;