mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-21 00:59:36 +08:00
Fix homogeneous() for 1x1 matrix: in this case, homogeneous follows the storage order guaranteeing that v.transpose().homogeneous() == v.homogeneous().transpose()
This commit is contained in:
parent
cbe3a1a83e
commit
274b1f5d7e
@ -410,7 +410,8 @@ template<typename Derived> class MatrixBase
|
|||||||
|
|
||||||
ScalarMultipleReturnType operator*(const UniformScaling<Scalar>& s) const;
|
ScalarMultipleReturnType operator*(const UniformScaling<Scalar>& s) const;
|
||||||
// put this as separate enum value to work around possible GCC 4.3 bug (?)
|
// put this as separate enum value to work around possible GCC 4.3 bug (?)
|
||||||
enum { HomogeneousReturnTypeDirection = ColsAtCompileTime==1?Vertical:Horizontal };
|
enum { HomogeneousReturnTypeDirection = ColsAtCompileTime==1&&RowsAtCompileTime==1 ? ((internal::traits<Derived>::Flags&RowMajorBit)==RowMajorBit ? Horizontal : Vertical)
|
||||||
|
: ColsAtCompileTime==1 ? Vertical : Horizontal };
|
||||||
typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> HomogeneousReturnType;
|
typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> HomogeneousReturnType;
|
||||||
HomogeneousReturnType homogeneous() const;
|
HomogeneousReturnType homogeneous() const;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user