aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core
diff options
context:
space:
mode:
authorGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-08-03 16:04:15 +0200
committerGravatar Benoit Jacob <jacob.benoit.1@gmail.com>2009-08-03 16:04:15 +0200
commit3cde9c0e35093b9fb8274ed0c88dbf5f4dd78699 (patch)
tree67ec27915b8ace56ecfa7190845afb60096ecb3e /Eigen/src/Core
parent18429156a145c1adddcb313512f9f1179a9141cf (diff)
apply Gael's idea for auto transpose in mixed fixed/dynamic case
Diffstat (limited to 'Eigen/src/Core')
-rw-r--r--Eigen/src/Core/Assign.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/Eigen/src/Core/Assign.h b/Eigen/src/Core/Assign.h
index 87e7a1337..f3521d3dd 100644
--- a/Eigen/src/Core/Assign.h
+++ b/Eigen/src/Core/Assign.h
@@ -412,8 +412,10 @@ template<typename Derived, typename OtherDerived,
bool EvalBeforeAssigning = (int(OtherDerived::Flags) & EvalBeforeAssigningBit) != 0,
bool NeedToTranspose = Derived::IsVectorAtCompileTime
&& OtherDerived::IsVectorAtCompileTime
- && int(Derived::RowsAtCompileTime) == int(OtherDerived::ColsAtCompileTime)
- && int(Derived::ColsAtCompileTime) == int(OtherDerived::RowsAtCompileTime)
+ && ((int(Derived::RowsAtCompileTime) == 1 && int(OtherDerived::ColsAtCompileTime) == 1)
+ | // FIXME | instead of || to please GCC 4.4.0 stupid warning "suggest parentheses around &&".
+ // revert to || as soon as not needed anymore.
+ (int(Derived::ColsAtCompileTime) == 1 && int(OtherDerived::RowsAtCompileTime) == 1))
&& int(Derived::SizeAtCompileTime) != 1>
struct ei_assign_selector;