Use fixed-sized U/V for fixed-sized inputs.

This commit is contained in:
Antonio Sánchez 2022-02-16 18:31:47 +00:00 committed by Rasmus Munk Larsen
parent c367ed26a8
commit 58a90c7463

View File

@ -71,18 +71,14 @@ struct svd_traits : traits<MatrixType> {
internal::min_size_prefer_dynamic(MatrixType::RowsAtCompileTime, MatrixType::ColsAtCompileTime),
MaxDiagSizeAtCompileTime =
internal::min_size_prefer_dynamic(MatrixType::MaxRowsAtCompileTime, MatrixType::MaxColsAtCompileTime),
MatrixUColsAtCompileTime = ShouldComputeFullU ? MatrixType::RowsAtCompileTime
: ShouldComputeThinU ? DiagSizeAtCompileTime
: Dynamic,
MatrixVColsAtCompileTime = ShouldComputeFullV ? MatrixType::ColsAtCompileTime
: ShouldComputeThinV ? DiagSizeAtCompileTime
: Dynamic,
MatrixUMaxColsAtCompileTime = ShouldComputeFullU ? MatrixType::MaxRowsAtCompileTime
: ShouldComputeThinU ? MaxDiagSizeAtCompileTime
: Dynamic,
MatrixVMaxColsAtCompileTime = ShouldComputeFullV ? MatrixType::MaxColsAtCompileTime
: ShouldComputeThinV ? MaxDiagSizeAtCompileTime
: Dynamic
MatrixUColsAtCompileTime = ShouldComputeThinU ? DiagSizeAtCompileTime
: MatrixType::RowsAtCompileTime,
MatrixVColsAtCompileTime = ShouldComputeThinV ? DiagSizeAtCompileTime
: MatrixType::ColsAtCompileTime,
MatrixUMaxColsAtCompileTime = ShouldComputeThinU ? MaxDiagSizeAtCompileTime
: MatrixType::MaxRowsAtCompileTime,
MatrixVMaxColsAtCompileTime = ShouldComputeThinV ? MaxDiagSizeAtCompileTime
: MatrixType::MaxColsAtCompileTime
};
};
}