Skip to content

Commit

Permalink
Reorganize utilities
Browse files Browse the repository at this point in the history
  • Loading branch information
calcmogul committed Dec 18, 2023
1 parent 6253797 commit 06fe479
Show file tree
Hide file tree
Showing 36 changed files with 145 additions and 128 deletions.
3 changes: 1 addition & 2 deletions examples/CurrentManager/include/CurrentManager.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
#include <span>
#include <vector>

#include <sleipnir/SymbolExports.hpp>
#include <sleipnir/optimization/OptimizationProblem.hpp>
#include <units/current.h>

Expand All @@ -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.
Expand Down
6 changes: 3 additions & 3 deletions include/sleipnir/autodiff/Expression.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
#include <utility>
#include <vector>

#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 {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/ExpressionGraph.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

#include <vector>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Expression.hpp"
#include "sleipnir/autodiff/Variable.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir::detail {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/ExpressionType.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#include <iosfwd>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/Gradient.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

#include <Eigen/SparseCore>

#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 {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/Hessian.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
#include <Eigen/Core>
#include <Eigen/SparseCore>

#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 {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/Jacobian.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@

#include <Eigen/SparseCore>

#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 {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/Profiler.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#include <chrono>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/Variable.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
#include <Eigen/Core>
#include <Eigen/SparseCore>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Expression.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/VariableBlock.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@

#include <Eigen/Core>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Variable.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/autodiff/VariableMatrix.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

#include <Eigen/Core>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Variable.hpp"
#include "sleipnir/autodiff/VariableBlock.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/control/OCPSolver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@

#include <Eigen/Core>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/VariableMatrix.hpp"
#include "sleipnir/optimization/OptimizationProblem.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/optimization/Constraints.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

#include <vector>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Variable.hpp"
#include "sleipnir/autodiff/VariableMatrix.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/optimization/OptimizationProblem.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
#include <Eigen/Core>
#include <Eigen/SparseCore>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Variable.hpp"
#include "sleipnir/autodiff/VariableMatrix.hpp"
#include "sleipnir/optimization/Constraints.hpp"
#include "sleipnir/optimization/SolverConfig.hpp"
#include "sleipnir/optimization/SolverExitCondition.hpp"
#include "sleipnir/optimization/SolverIterationInfo.hpp"
#include "sleipnir/optimization/SolverStatus.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/optimization/SolverConfig.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#include <chrono>
#include <limits>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/optimization/SolverExitCondition.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

#include <iosfwd>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
2 changes: 1 addition & 1 deletion include/sleipnir/optimization/SolverStatus.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <memory>
#include <vector>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/util/SymbolExports.hpp"

namespace sleipnir {

Expand Down
48 changes: 48 additions & 0 deletions include/sleipnir/util/Spy.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// Copyright (c) Sleipnir contributors

#pragma once

#include <iosfwd>
#include <string_view>

#include <Eigen/SparseCore>

#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<double>& 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<double>& mat);

} // namespace sleipnir
File renamed without changes.
1 change: 0 additions & 1 deletion src/autodiff/Variable.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

#include <fmt/core.h>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Expression.hpp"
#include "sleipnir/autodiff/ExpressionGraph.hpp"

Expand Down
13 changes: 7 additions & 6 deletions src/optimization/OptimizationProblem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,19 @@

#include <fmt/core.h>

#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;

Expand Down
6 changes: 3 additions & 3 deletions src/optimization/RegularizedLDLT.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
#include <Eigen/SparseCholesky>
#include <Eigen/SparseCore>

#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 {

Expand Down
2 changes: 1 addition & 1 deletion src/util/AutodiffUtil.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// Copyright (c) Sleipnir contributors

#include "sleipnir/util/AutodiffUtil.hpp"
#include "util/AutodiffUtil.hpp"

#include <cassert>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

#include <Eigen/Core>

#include "sleipnir/SymbolExports.hpp"
#include "sleipnir/autodiff/Variable.hpp"

namespace sleipnir {
Expand All @@ -17,30 +16,30 @@ namespace sleipnir {
* @param[out] dest The std::vector<Variable>.
* @param[in] src The Eigen::VectorXd.
*/
SLEIPNIR_DLLEXPORT void SetAD(std::vector<Variable>& dest,
const Eigen::Ref<const Eigen::VectorXd>& src);
void SetAD(std::vector<Variable>& dest,
const Eigen::Ref<const Eigen::VectorXd>& src);

/**
* Assigns an Eigen::VectorXd to an Eigen::Vector<Variable>.
*
* @param[out] dest The Eigen::Vector<Variable>.
* @param[in] src The Eigen::VectorXd.
*/
SLEIPNIR_DLLEXPORT void SetAD(Eigen::Ref<VectorXvar> dest,
const Eigen::Ref<const Eigen::VectorXd>& src);
void SetAD(Eigen::Ref<VectorXvar> dest,
const Eigen::Ref<const Eigen::VectorXd>& src);

/**
* Returns a std::vector<Variable> as an Eigen::VectorXd.
*
* @param src The std::vector<Variable>.
*/
SLEIPNIR_DLLEXPORT Eigen::VectorXd GetAD(std::vector<Variable> src);
Eigen::VectorXd GetAD(std::vector<Variable> src);

/**
* Returns an Eigen::Vector<Variable> as an Eigen::VectorXd.
*
* @param src The Eigen::Vector<Variable>.
*/
SLEIPNIR_DLLEXPORT Eigen::VectorXd GetAD(Eigen::Ref<VectorXvar> src);
Eigen::VectorXd GetAD(Eigen::Ref<VectorXvar> src);

} // namespace sleipnir
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 06fe479

Please sign in to comment.