diff --git a/examples/CurrentManager/include/CurrentManager.hpp b/examples/CurrentManager/include/CurrentManager.hpp index 12e757805..e3d274f1d 100644 --- a/examples/CurrentManager/include/CurrentManager.hpp +++ b/examples/CurrentManager/include/CurrentManager.hpp @@ -5,7 +5,6 @@ #include #include -#include #include #include @@ -15,7 +14,7 @@ * which subsystem gets less current if the current budget is exceeded. * Subsystems with a smaller tolerance are given higher priority. */ -class SLEIPNIR_DLLEXPORT CurrentManager { +class CurrentManager { public: /** * Constructs a CurrentManager. diff --git a/include/sleipnir/autodiff/Expression.hpp b/include/sleipnir/autodiff/Expression.hpp index cd1d475e4..2d8363531 100644 --- a/include/sleipnir/autodiff/Expression.hpp +++ b/include/sleipnir/autodiff/Expression.hpp @@ -9,10 +9,10 @@ #include #include -#include "sleipnir/IntrusiveSharedPtr.hpp" -#include "sleipnir/Pool.hpp" -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/ExpressionType.hpp" +#include "sleipnir/util/IntrusiveSharedPtr.hpp" +#include "sleipnir/util/Pool.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir::detail { diff --git a/include/sleipnir/autodiff/ExpressionGraph.hpp b/include/sleipnir/autodiff/ExpressionGraph.hpp index 6c517edbc..346cefd48 100644 --- a/include/sleipnir/autodiff/ExpressionGraph.hpp +++ b/include/sleipnir/autodiff/ExpressionGraph.hpp @@ -4,9 +4,9 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Expression.hpp" #include "sleipnir/autodiff/Variable.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir::detail { diff --git a/include/sleipnir/autodiff/ExpressionType.hpp b/include/sleipnir/autodiff/ExpressionType.hpp index 2f8297989..2c3c03593 100644 --- a/include/sleipnir/autodiff/ExpressionType.hpp +++ b/include/sleipnir/autodiff/ExpressionType.hpp @@ -4,7 +4,7 @@ #include -#include "sleipnir/SymbolExports.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/Gradient.hpp b/include/sleipnir/autodiff/Gradient.hpp index 744f6fc5d..e4e0b5095 100644 --- a/include/sleipnir/autodiff/Gradient.hpp +++ b/include/sleipnir/autodiff/Gradient.hpp @@ -6,10 +6,10 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Jacobian.hpp" #include "sleipnir/autodiff/Profiler.hpp" #include "sleipnir/autodiff/Variable.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/Hessian.hpp b/include/sleipnir/autodiff/Hessian.hpp index 89b9dfccc..ee487f6e4 100644 --- a/include/sleipnir/autodiff/Hessian.hpp +++ b/include/sleipnir/autodiff/Hessian.hpp @@ -5,10 +5,10 @@ #include #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Jacobian.hpp" #include "sleipnir/autodiff/Profiler.hpp" #include "sleipnir/autodiff/Variable.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/Jacobian.hpp b/include/sleipnir/autodiff/Jacobian.hpp index 79341dc02..6a4dcc5b5 100644 --- a/include/sleipnir/autodiff/Jacobian.hpp +++ b/include/sleipnir/autodiff/Jacobian.hpp @@ -6,11 +6,11 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Expression.hpp" #include "sleipnir/autodiff/ExpressionGraph.hpp" #include "sleipnir/autodiff/Profiler.hpp" #include "sleipnir/autodiff/Variable.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/Profiler.hpp b/include/sleipnir/autodiff/Profiler.hpp index 7296402de..1f36026a6 100644 --- a/include/sleipnir/autodiff/Profiler.hpp +++ b/include/sleipnir/autodiff/Profiler.hpp @@ -4,7 +4,7 @@ #include -#include "sleipnir/SymbolExports.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/Variable.hpp b/include/sleipnir/autodiff/Variable.hpp index b00ebcfd5..f924f2e34 100644 --- a/include/sleipnir/autodiff/Variable.hpp +++ b/include/sleipnir/autodiff/Variable.hpp @@ -7,8 +7,8 @@ #include #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Expression.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/VariableBlock.hpp b/include/sleipnir/autodiff/VariableBlock.hpp index 1171a43c3..a5fe43ffe 100644 --- a/include/sleipnir/autodiff/VariableBlock.hpp +++ b/include/sleipnir/autodiff/VariableBlock.hpp @@ -9,8 +9,8 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Variable.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/autodiff/VariableMatrix.hpp b/include/sleipnir/autodiff/VariableMatrix.hpp index fd09c612f..05a623759 100644 --- a/include/sleipnir/autodiff/VariableMatrix.hpp +++ b/include/sleipnir/autodiff/VariableMatrix.hpp @@ -11,9 +11,9 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Variable.hpp" #include "sleipnir/autodiff/VariableBlock.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/control/OCPSolver.hpp b/include/sleipnir/control/OCPSolver.hpp index fb7fd42f3..b866c34f6 100644 --- a/include/sleipnir/control/OCPSolver.hpp +++ b/include/sleipnir/control/OCPSolver.hpp @@ -7,9 +7,9 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/VariableMatrix.hpp" #include "sleipnir/optimization/OptimizationProblem.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/optimization/Constraints.hpp b/include/sleipnir/optimization/Constraints.hpp index 111cebbcc..d7f65515d 100644 --- a/include/sleipnir/optimization/Constraints.hpp +++ b/include/sleipnir/optimization/Constraints.hpp @@ -4,9 +4,9 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Variable.hpp" #include "sleipnir/autodiff/VariableMatrix.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/optimization/OptimizationProblem.hpp b/include/sleipnir/optimization/OptimizationProblem.hpp index f54fb2cf5..20897ad64 100644 --- a/include/sleipnir/optimization/OptimizationProblem.hpp +++ b/include/sleipnir/optimization/OptimizationProblem.hpp @@ -13,7 +13,6 @@ #include #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Variable.hpp" #include "sleipnir/autodiff/VariableMatrix.hpp" #include "sleipnir/optimization/Constraints.hpp" @@ -21,6 +20,7 @@ #include "sleipnir/optimization/SolverExitCondition.hpp" #include "sleipnir/optimization/SolverIterationInfo.hpp" #include "sleipnir/optimization/SolverStatus.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/optimization/SolverConfig.hpp b/include/sleipnir/optimization/SolverConfig.hpp index beea42d3c..fcdb97272 100644 --- a/include/sleipnir/optimization/SolverConfig.hpp +++ b/include/sleipnir/optimization/SolverConfig.hpp @@ -5,7 +5,7 @@ #include #include -#include "sleipnir/SymbolExports.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/optimization/SolverExitCondition.hpp b/include/sleipnir/optimization/SolverExitCondition.hpp index 5c2ed6e46..865996164 100644 --- a/include/sleipnir/optimization/SolverExitCondition.hpp +++ b/include/sleipnir/optimization/SolverExitCondition.hpp @@ -4,7 +4,7 @@ #include -#include "sleipnir/SymbolExports.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/optimization/SolverStatus.hpp b/include/sleipnir/optimization/SolverStatus.hpp index 4754551a9..04572a1dc 100644 --- a/include/sleipnir/optimization/SolverStatus.hpp +++ b/include/sleipnir/optimization/SolverStatus.hpp @@ -2,9 +2,9 @@ #pragma once -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Expression.hpp" #include "sleipnir/optimization/SolverExitCondition.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/Formatters.hpp b/include/sleipnir/util/Formatters.hpp similarity index 100% rename from include/sleipnir/Formatters.hpp rename to include/sleipnir/util/Formatters.hpp diff --git a/include/sleipnir/IntrusiveSharedPtr.hpp b/include/sleipnir/util/IntrusiveSharedPtr.hpp similarity index 100% rename from include/sleipnir/IntrusiveSharedPtr.hpp rename to include/sleipnir/util/IntrusiveSharedPtr.hpp diff --git a/include/sleipnir/Pool.hpp b/include/sleipnir/util/Pool.hpp similarity index 99% rename from include/sleipnir/Pool.hpp rename to include/sleipnir/util/Pool.hpp index 9552f71fa..b7939acbc 100644 --- a/include/sleipnir/Pool.hpp +++ b/include/sleipnir/util/Pool.hpp @@ -8,7 +8,7 @@ #include #include -#include "sleipnir/SymbolExports.hpp" +#include "sleipnir/util/SymbolExports.hpp" namespace sleipnir { diff --git a/include/sleipnir/util/Spy.hpp b/include/sleipnir/util/Spy.hpp new file mode 100644 index 000000000..baa4bbdb9 --- /dev/null +++ b/include/sleipnir/util/Spy.hpp @@ -0,0 +1,48 @@ +// Copyright (c) Sleipnir contributors + +#pragma once + +#include +#include + +#include + +#include "sleipnir/util/SymbolExports.hpp" + +namespace sleipnir { + +/** + * Write the sparsity pattern of a sparse matrix to a file. + * + * Each character represents an element with "." representing zero, "+" + * representing positive, and "-" representing negative. Here's an example for a + * 3x3 identity matrix. + * + * "+.." + * ".+." + * "..+" + * + * @param[in] filename The filename. + * @param[in] mat The sparse matrix. + */ +SLEIPNIR_DLLEXPORT void Spy(std::string_view filename, + const Eigen::SparseMatrix& mat); + +/** + * Write the sparsity pattern of a sparse matrix to a file. + * + * Each character represents an element with '.' representing zero, '+' + * representing positive, and '-' representing negative. Here's an example for a + * 3x3 identity matrix. + * + * "+.." + * ".+." + * "..+" + * + * @param[out] file A file stream. + * @param[in] mat The sparse matrix. + */ +SLEIPNIR_DLLEXPORT void Spy(std::ostream& file, + const Eigen::SparseMatrix& mat); + +} // namespace sleipnir diff --git a/include/sleipnir/SymbolExports.hpp b/include/sleipnir/util/SymbolExports.hpp similarity index 100% rename from include/sleipnir/SymbolExports.hpp rename to include/sleipnir/util/SymbolExports.hpp diff --git a/src/autodiff/Variable.cpp b/src/autodiff/Variable.cpp index 300083822..ee8301f10 100644 --- a/src/autodiff/Variable.cpp +++ b/src/autodiff/Variable.cpp @@ -4,7 +4,6 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Expression.hpp" #include "sleipnir/autodiff/ExpressionGraph.hpp" diff --git a/src/optimization/OptimizationProblem.cpp b/src/optimization/OptimizationProblem.cpp index 7c7eda233..49efb63c0 100644 --- a/src/optimization/OptimizationProblem.cpp +++ b/src/optimization/OptimizationProblem.cpp @@ -11,18 +11,19 @@ #include -#include "Filter.hpp" -#include "RegularizedLDLT.hpp" -#include "ScopeExit.hpp" +#include "optimization/Filter.hpp" +#include "optimization/RegularizedLDLT.hpp" #include "sleipnir/autodiff/Expression.hpp" #include "sleipnir/autodiff/Gradient.hpp" #include "sleipnir/autodiff/Hessian.hpp" #include "sleipnir/autodiff/Jacobian.hpp" #include "sleipnir/autodiff/Variable.hpp" #include "sleipnir/optimization/SolverExitCondition.hpp" -#include "sleipnir/util/AutodiffUtil.hpp" -#include "sleipnir/util/SparseMatrixBuilder.hpp" -#include "sleipnir/util/SparseUtil.hpp" +#include "sleipnir/util/Spy.hpp" +#include "util/AutodiffUtil.hpp" +#include "util/ScopeExit.hpp" +#include "util/SparseMatrixBuilder.hpp" +#include "util/SparseUtil.hpp" using namespace sleipnir; diff --git a/src/optimization/RegularizedLDLT.hpp b/src/optimization/RegularizedLDLT.hpp index f0020c4cb..13b6dff50 100644 --- a/src/optimization/RegularizedLDLT.hpp +++ b/src/optimization/RegularizedLDLT.hpp @@ -8,9 +8,9 @@ #include #include -#include "Inertia.hpp" -#include "sleipnir/util/SparseMatrixBuilder.hpp" -#include "sleipnir/util/SparseUtil.hpp" +#include "optimization/Inertia.hpp" +#include "util/SparseMatrixBuilder.hpp" +#include "util/SparseUtil.hpp" namespace sleipnir { diff --git a/src/util/AutodiffUtil.cpp b/src/util/AutodiffUtil.cpp index e252149e1..29d256454 100644 --- a/src/util/AutodiffUtil.cpp +++ b/src/util/AutodiffUtil.cpp @@ -1,6 +1,6 @@ // Copyright (c) Sleipnir contributors -#include "sleipnir/util/AutodiffUtil.hpp" +#include "util/AutodiffUtil.hpp" #include diff --git a/include/sleipnir/util/AutodiffUtil.hpp b/src/util/AutodiffUtil.hpp similarity index 61% rename from include/sleipnir/util/AutodiffUtil.hpp rename to src/util/AutodiffUtil.hpp index 2b945d2f4..4f3b69e46 100644 --- a/include/sleipnir/util/AutodiffUtil.hpp +++ b/src/util/AutodiffUtil.hpp @@ -6,7 +6,6 @@ #include -#include "sleipnir/SymbolExports.hpp" #include "sleipnir/autodiff/Variable.hpp" namespace sleipnir { @@ -17,8 +16,8 @@ namespace sleipnir { * @param[out] dest The std::vector. * @param[in] src The Eigen::VectorXd. */ -SLEIPNIR_DLLEXPORT void SetAD(std::vector& dest, - const Eigen::Ref& src); +void SetAD(std::vector& dest, + const Eigen::Ref& src); /** * Assigns an Eigen::VectorXd to an Eigen::Vector. @@ -26,21 +25,21 @@ SLEIPNIR_DLLEXPORT void SetAD(std::vector& dest, * @param[out] dest The Eigen::Vector. * @param[in] src The Eigen::VectorXd. */ -SLEIPNIR_DLLEXPORT void SetAD(Eigen::Ref dest, - const Eigen::Ref& src); +void SetAD(Eigen::Ref dest, + const Eigen::Ref& src); /** * Returns a std::vector as an Eigen::VectorXd. * * @param src The std::vector. */ -SLEIPNIR_DLLEXPORT Eigen::VectorXd GetAD(std::vector src); +Eigen::VectorXd GetAD(std::vector src); /** * Returns an Eigen::Vector as an Eigen::VectorXd. * * @param src The Eigen::Vector. */ -SLEIPNIR_DLLEXPORT Eigen::VectorXd GetAD(Eigen::Ref src); +Eigen::VectorXd GetAD(Eigen::Ref src); } // namespace sleipnir diff --git a/src/ScopeExit.hpp b/src/util/ScopeExit.hpp similarity index 100% rename from src/ScopeExit.hpp rename to src/util/ScopeExit.hpp diff --git a/include/sleipnir/util/SparseMatrixBuilder.hpp b/src/util/SparseMatrixBuilder.hpp similarity index 100% rename from include/sleipnir/util/SparseMatrixBuilder.hpp rename to src/util/SparseMatrixBuilder.hpp diff --git a/src/util/SparseUtil.cpp b/src/util/SparseUtil.cpp index d10a68dd2..2ba1e7ace 100644 --- a/src/util/SparseUtil.cpp +++ b/src/util/SparseUtil.cpp @@ -1,6 +1,6 @@ // Copyright (c) Sleipnir contributors -#include "sleipnir/util/SparseUtil.hpp" +#include "util/SparseUtil.hpp" namespace sleipnir { @@ -30,47 +30,4 @@ Eigen::SparseMatrix SparseIdentity(int rows, int cols) { return dest; } -void Spy(std::string_view filename, const Eigen::SparseMatrix& mat) { - std::ofstream file{std::string{filename}}; - if (!file.is_open()) { - return; - } - - Spy(file, mat); -} - -void Spy(std::ostream& file, const Eigen::SparseMatrix& mat) { - const int cells_width = mat.cols() + 1; - const int cells_height = mat.rows(); - - std::vector cells; - - // Allocate space for matrix of characters plus trailing newlines - cells.reserve(cells_width * cells_height); - - // Initialize cell array - for (int row = 0; row < mat.rows(); ++row) { - for (int col = 0; col < mat.cols(); ++col) { - cells.emplace_back('.'); - } - cells.emplace_back('\n'); - } - - // Fill in non-sparse entries - for (int k = 0; k < mat.outerSize(); ++k) { - for (Eigen::SparseMatrix::InnerIterator it{mat, k}; it; ++it) { - if (it.value() < 0.0) { - cells[it.row() * cells_width + it.col()] = '-'; - } else if (it.value() > 0.0) { - cells[it.row() * cells_width + it.col()] = '+'; - } - } - } - - // Write cell array to file - for (const auto& c : cells) { - file << c; - } -} - } // namespace sleipnir diff --git a/include/sleipnir/util/SparseUtil.hpp b/src/util/SparseUtil.hpp similarity index 52% rename from include/sleipnir/util/SparseUtil.hpp rename to src/util/SparseUtil.hpp index c35a84fce..c495cf92b 100644 --- a/include/sleipnir/util/SparseUtil.hpp +++ b/src/util/SparseUtil.hpp @@ -3,14 +3,12 @@ #pragma once #include +#include #include -#include #include #include -#include "sleipnir/SymbolExports.hpp" - namespace sleipnir { /** @@ -18,8 +16,7 @@ namespace sleipnir { * * @param src Column vector. */ -SLEIPNIR_DLLEXPORT Eigen::SparseMatrix SparseDiagonal( - const Eigen::VectorXd& src); +Eigen::SparseMatrix SparseDiagonal(const Eigen::VectorXd& src); /** * Returns sparse identity matrix. @@ -27,8 +24,7 @@ SLEIPNIR_DLLEXPORT Eigen::SparseMatrix SparseDiagonal( * @param rows Number of rows. * @param cols Number of columns. */ -SLEIPNIR_DLLEXPORT Eigen::SparseMatrix SparseIdentity(int rows, - int cols); +Eigen::SparseMatrix SparseIdentity(int rows, int cols); /** * Returns lₚ-norm of a sparse matrix. @@ -64,38 +60,4 @@ double SparseLpNorm(const Derived& mat) { } } -/** - * Write the sparsity pattern of a sparse matrix to a file. - * - * Each character represents an element with "." representing zero, "+" - * representing positive, and "-" representing negative. Here's an example for a - * 3x3 identity matrix. - * - * "+.." - * ".+." - * "..+" - * - * @param[in] filename The filename. - * @param[in] mat The sparse matrix. - */ -SLEIPNIR_DLLEXPORT void Spy(std::string_view filename, - const Eigen::SparseMatrix& mat); - -/** - * Write the sparsity pattern of a sparse matrix to a file. - * - * Each character represents an element with '.' representing zero, '+' - * representing positive, and '-' representing negative. Here's an example for a - * 3x3 identity matrix. - * - * "+.." - * ".+." - * "..+" - * - * @param[out] file A file stream. - * @param[in] mat The sparse matrix. - */ -SLEIPNIR_DLLEXPORT void Spy(std::ostream& file, - const Eigen::SparseMatrix& mat); - } // namespace sleipnir diff --git a/src/util/Spy.cpp b/src/util/Spy.cpp new file mode 100644 index 000000000..b59df83de --- /dev/null +++ b/src/util/Spy.cpp @@ -0,0 +1,52 @@ +// Copyright (c) Sleipnir contributors + +#include "sleipnir/util/Spy.hpp" + +#include + +namespace sleipnir { + +void Spy(std::string_view filename, const Eigen::SparseMatrix& mat) { + std::ofstream file{std::string{filename}}; + if (!file.is_open()) { + return; + } + + Spy(file, mat); +} + +void Spy(std::ostream& file, const Eigen::SparseMatrix& mat) { + const int cells_width = mat.cols() + 1; + const int cells_height = mat.rows(); + + std::vector cells; + + // Allocate space for matrix of characters plus trailing newlines + cells.reserve(cells_width * cells_height); + + // Initialize cell array + for (int row = 0; row < mat.rows(); ++row) { + for (int col = 0; col < mat.cols(); ++col) { + cells.emplace_back('.'); + } + cells.emplace_back('\n'); + } + + // Fill in non-sparse entries + for (int k = 0; k < mat.outerSize(); ++k) { + for (Eigen::SparseMatrix::InnerIterator it{mat, k}; it; ++it) { + if (it.value() < 0.0) { + cells[it.row() * cells_width + it.col()] = '-'; + } else if (it.value() > 0.0) { + cells[it.row() * cells_width + it.col()] = '+'; + } + } + } + + // Write cell array to file + for (const auto& c : cells) { + file << c; + } +} + +} // namespace sleipnir diff --git a/test/src/FormattersTest.cpp b/test/src/FormattersTest.cpp index a539e2433..64ffa08b7 100644 --- a/test/src/FormattersTest.cpp +++ b/test/src/FormattersTest.cpp @@ -4,7 +4,7 @@ #include #include -#include +#include TEST(FormattersTest, Eigen) { Eigen::Matrix A{{0.0, 1.0}, {2.0, 3.0}, {4.0, 5.0}}; diff --git a/test/src/IntrusiveSharedPtrTest.cpp b/test/src/IntrusiveSharedPtrTest.cpp index d10029974..8bdd44c9c 100644 --- a/test/src/IntrusiveSharedPtrTest.cpp +++ b/test/src/IntrusiveSharedPtrTest.cpp @@ -6,7 +6,7 @@ #include #include -#include +#include // NOLINTBEGIN (clang-analyzer-cplusplus.NewDeleteLeaks) diff --git a/test/src/ScopeExitTest.cpp b/test/src/ScopeExitTest.cpp index 790190463..b83fed09f 100644 --- a/test/src/ScopeExitTest.cpp +++ b/test/src/ScopeExitTest.cpp @@ -2,7 +2,7 @@ #include -#include "ScopeExit.hpp" +#include "util/ScopeExit.hpp" TEST(ScopeExitTest, ScopeExit) { int exitCount = 0; diff --git a/test/src/util/SparseUtilTest.cpp b/test/src/SparseUtilTest.cpp similarity index 98% rename from test/src/util/SparseUtilTest.cpp rename to test/src/SparseUtilTest.cpp index 5e73057e9..e19140437 100644 --- a/test/src/util/SparseUtilTest.cpp +++ b/test/src/SparseUtilTest.cpp @@ -4,7 +4,7 @@ #include #include -#include +#include TEST(SparseUtilTest, SparseDiagonal) { Eigen::Vector vec{-2.0, -1.0, 0.0, 1.0, 2.0};