Update Eigen to commit:77a073aaa821300fc129ef24b3b052be2e670a3e
CHANGELOG
=========
77a073aaa - fix checkformat ci stage
41e46ed24 - fix IOFormat alignment
a0d32e40d - fix map fill logic
PiperOrigin-RevId: 702977029
Change-Id: I04f6b6f1391e7005165977b32535f9d8b691e8fe
diff --git a/Eigen/src/Core/Fill.h b/Eigen/src/Core/Fill.h
index e7ddf7f..30b3645 100644
--- a/Eigen/src/Core/Fill.h
+++ b/Eigen/src/Core/Fill.h
@@ -34,10 +34,25 @@
: std::integral_constant<bool, eigen_fill_helper<Xpr>::value &&
(Xpr::IsRowMajor ? (BlockRows == 1) : (BlockCols == 1))> {};
-template <typename Xpr, int Options, typename StrideType>
-struct eigen_fill_helper<Map<Xpr, Options, StrideType>>
+template <typename Xpr, int Options>
+struct eigen_fill_helper<Map<Xpr, Options, Stride<0, 0>>> : eigen_fill_helper<Xpr> {};
+
+template <typename Xpr, int Options, int OuterStride_>
+struct eigen_fill_helper<Map<Xpr, Options, Stride<OuterStride_, 0>>>
: std::integral_constant<bool, eigen_fill_helper<Xpr>::value &&
- (evaluator<Map<Xpr, Options, StrideType>>::Flags & LinearAccessBit)> {};
+ enum_eq_not_dynamic(OuterStride_, Xpr::InnerSizeAtCompileTime)> {};
+
+template <typename Xpr, int Options, int OuterStride_>
+struct eigen_fill_helper<Map<Xpr, Options, Stride<OuterStride_, 1>>>
+ : eigen_fill_helper<Map<Xpr, Options, Stride<OuterStride_, 0>>> {};
+
+template <typename Xpr, int Options, int InnerStride_>
+struct eigen_fill_helper<Map<Xpr, Options, InnerStride<InnerStride_>>>
+ : eigen_fill_helper<Map<Xpr, Options, Stride<0, InnerStride_>>> {};
+
+template <typename Xpr, int Options, int OuterStride_>
+struct eigen_fill_helper<Map<Xpr, Options, OuterStride<OuterStride_>>>
+ : eigen_fill_helper<Map<Xpr, Options, Stride<OuterStride_, 0>>> {};
template <typename Xpr, bool use_fill = eigen_fill_helper<Xpr>::value>
struct eigen_fill_impl {
diff --git a/Eigen/src/Core/IO.h b/Eigen/src/Core/IO.h
index ca5f247..0a1b583 100644
--- a/Eigen/src/Core/IO.h
+++ b/Eigen/src/Core/IO.h
@@ -68,8 +68,8 @@
// TODO check if rowPrefix, rowSuffix or rowSeparator contains a newline
// don't add rowSpacer if columns are not to be aligned
if ((flags & DontAlignCols)) return;
- int i = int(matSuffix.length()) - 1;
- while (i >= 0 && matSuffix[i] != '\n') {
+ int i = int(matPrefix.length()) - 1;
+ while (i >= 0 && matPrefix[i] != '\n') {
rowSpacer += ' ';
i--;
}