From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Tyler Veness Date: Sat, 8 Feb 2025 13:42:36 -0800 Subject: [PATCH 5/8] Replace std::views::zip() --- include/sleipnir/autodiff/adjoint_expression_graph.hpp | 5 ++++- src/optimization/problem.cpp | 9 +++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/include/sleipnir/autodiff/adjoint_expression_graph.hpp b/include/sleipnir/autodiff/adjoint_expression_graph.hpp index 4b4f3303faed766d3ac39829870514f50d9a582f..4576e19c9695caf4407fbbb592afe32d8252a0db 100644 --- a/include/sleipnir/autodiff/adjoint_expression_graph.hpp +++ b/include/sleipnir/autodiff/adjoint_expression_graph.hpp @@ -155,7 +155,10 @@ class AdjointExpressionGraph { } } } else { - for (const auto& [col, node] : std::views::zip(m_col_list, m_top_list)) { + for (size_t i = 0; i < m_top_list.size(); ++i) { + const auto& col = m_col_list[i]; + const auto& node = m_top_list[i]; + // Append adjoints of wrt to sparse matrix triplets if (col != -1 && node->adjoint != 0.0) { triplets.emplace_back(row, col, node->adjoint); diff --git a/src/optimization/problem.cpp b/src/optimization/problem.cpp index c3319fc0a927cf452871a2db08d5edff87ac8eea..5532b3962409e2140132e79241da4fba0f36bc78 100644 --- a/src/optimization/problem.cpp +++ b/src/optimization/problem.cpp @@ -6,7 +6,6 @@ #include #include #include -#include #include #include @@ -363,9 +362,11 @@ void Problem::print_problem_analysis() { for (const auto& constraint : constraints) { ++counts[static_cast(constraint.type())]; } - for (const auto& [count, name] : - std::views::zip(counts, std::array{"empty", "constant", "linear", - "quadratic", "nonlinear"})) { + for (size_t i = 0; i < counts.size(); ++i) { + constexpr std::array names{"empty", "constant", "linear", "quadratic", + "nonlinear"}; + const auto& count = counts[i]; + const auto& name = names[i]; if (count > 0) { slp::println(" ↳ {} {}", count, name); }