diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-08-03 16:04:15 +0200 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-08-03 16:04:15 +0200 |
commit | 3cde9c0e35093b9fb8274ed0c88dbf5f4dd78699 (patch) | |
tree | 67ec27915b8ace56ecfa7190845afb60096ecb3e /Eigen/src/Core | |
parent | 18429156a145c1adddcb313512f9f1179a9141cf (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.h | 6 |
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; |