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), internal::min_size_prefer_dynamic(MatrixType::RowsAtCompileTime, MatrixType::ColsAtCompileTime),
MaxDiagSizeAtCompileTime = MaxDiagSizeAtCompileTime =
internal::min_size_prefer_dynamic(MatrixType::MaxRowsAtCompileTime, MatrixType::MaxColsAtCompileTime), internal::min_size_prefer_dynamic(MatrixType::MaxRowsAtCompileTime, MatrixType::MaxColsAtCompileTime),
MatrixUColsAtCompileTime = ShouldComputeFullU ? MatrixType::RowsAtCompileTime MatrixUColsAtCompileTime = ShouldComputeThinU ? DiagSizeAtCompileTime
: ShouldComputeThinU ? DiagSizeAtCompileTime : MatrixType::RowsAtCompileTime,
: Dynamic, MatrixVColsAtCompileTime = ShouldComputeThinV ? DiagSizeAtCompileTime
MatrixVColsAtCompileTime = ShouldComputeFullV ? MatrixType::ColsAtCompileTime : MatrixType::ColsAtCompileTime,
: ShouldComputeThinV ? DiagSizeAtCompileTime MatrixUMaxColsAtCompileTime = ShouldComputeThinU ? MaxDiagSizeAtCompileTime
: Dynamic, : MatrixType::MaxRowsAtCompileTime,
MatrixUMaxColsAtCompileTime = ShouldComputeFullU ? MatrixType::MaxRowsAtCompileTime MatrixVMaxColsAtCompileTime = ShouldComputeThinV ? MaxDiagSizeAtCompileTime
: ShouldComputeThinU ? MaxDiagSizeAtCompileTime : MatrixType::MaxColsAtCompileTime
: Dynamic,
MatrixVMaxColsAtCompileTime = ShouldComputeFullV ? MatrixType::MaxColsAtCompileTime
: ShouldComputeThinV ? MaxDiagSizeAtCompileTime
: Dynamic
}; };
}; };
} }