sleipnirgroup-jormungandr 0.6.7.dev9__tar.gz → 0.6.7.dev39__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of sleipnirgroup-jormungandr might be problematic. Click here for more details.

Files changed (124) hide show
  1. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/CMakeLists.txt +64 -7
  2. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/PKG-INFO +1 -1
  3. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/expression.hpp +878 -478
  4. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/expression_graph.hpp +14 -25
  5. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/variable.hpp +27 -4
  6. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/variable_matrix.hpp +4 -12
  7. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/ipm.hpp +17 -4
  8. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/newton.hpp +3 -2
  9. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/sqp.hpp +14 -1
  10. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/bounds.hpp +47 -37
  11. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +46 -13
  12. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/filter.hpp +43 -0
  13. sleipnirgroup_jormungandr-0.6.7.dev39/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +30 -0
  14. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/docstrings.hpp +19 -0
  15. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/src/sleipnir/__init__.py +1 -1
  16. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/cart_pole_ocp_test.py +39 -28
  17. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/cart_pole_problem_test.py +4 -2
  18. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/decision_variable_test.py +7 -2
  19. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/differential_drive_ocp_test.py +18 -23
  20. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/flywheel_ocp_test.py +2 -5
  21. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/flywheel_problem_test.py +2 -5
  22. sleipnirgroup_jormungandr-0.6.7.dev39/python/test/optimization/near.py +2 -0
  23. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/nonlinear_problem_test.py +50 -12
  24. sleipnirgroup_jormungandr-0.6.7.dev9/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -133
  25. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/LICENSE.txt +0 -0
  26. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/README.md +0 -0
  27. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/SleipnirConfig.cmake.in +0 -0
  28. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/BuildTypes.cmake +0 -0
  29. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/CompilerFlags.cmake +0 -0
  30. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/Pybind11Mkdoc.cmake +0 -0
  31. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/SubdirList.cmake +0 -0
  32. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/arm-none-eabi.cmake +0 -0
  33. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/gradient.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/hessian.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/slice.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/multistart.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/problem.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/options.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/assert.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/concepts.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/empty.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/function_ref.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  67. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/pool.hpp +0 -0
  68. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/print.hpp +0 -0
  69. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  70. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/profiler.hpp +0 -0
  71. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/scope_exit.hpp +0 -0
  72. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/spy.hpp +0 -0
  73. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/symbol_exports.hpp +0 -0
  74. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/pyproject.toml +0 -0
  75. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  76. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  77. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_variable.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/binders.hpp +0 -0
  83. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/for_each_type.hpp +0 -0
  84. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/main.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_ocp.cpp +0 -0
  88. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_problem.cpp +0 -0
  89. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  90. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  91. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  92. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  93. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  94. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/try_cast.hpp +0 -0
  95. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/src/sleipnir/autodiff/__init__.py +0 -0
  96. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/src/sleipnir/optimization/__init__.py +0 -0
  97. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/gradient_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/hessian_test.py +0 -0
  99. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/jacobian_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/variable_matrix_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/variable_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/cart_pole_util.py +0 -0
  104. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/constraints_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/differential_drive_problem_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/differential_drive_util.py +0 -0
  107. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/double_integrator_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/linear_problem_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/multistart_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/problem_spy_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/quadratic_problem_test.py +0 -0
  112. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/rk4.py +0 -0
  113. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/solver/exit_status_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/trivial_problem_test.py +0 -0
  115. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/gradient.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/hessian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/jacobian.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/variable_matrix.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/ocp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/problem.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/solver/ipm.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/solver/newton.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/solver/sqp.cpp +0 -0
  124. {sleipnirgroup_jormungandr-0.6.7.dev9 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/util/pool.cpp +0 -0
@@ -111,6 +111,9 @@ if(PROJECT_IS_TOP_LEVEL AND BUILD_TESTING AND NOT CMAKE_CROSSCOMPILING)
111
111
  SYSTEM
112
112
  )
113
113
  FetchContent_MakeAvailable(Catch2)
114
+
115
+ # Enable StringMaker<std::string_view>
116
+ target_compile_features(Catch2 PRIVATE cxx_std_23)
114
117
  endif()
115
118
 
116
119
  install(
@@ -203,17 +206,71 @@ if(PROJECT_IS_TOP_LEVEL AND BUILD_TESTING AND NOT CMAKE_CROSSCOMPILING)
203
206
  list(APPEND CMAKE_MODULE_PATH ${Catch2_SOURCE_DIR}/extras)
204
207
  include(Catch)
205
208
 
206
- # Build Sleipnir tests
207
- file(GLOB_RECURSE sleipnir_test_src test/src/*.cpp)
208
- add_executable(sleipnir_test ${sleipnir_test_src})
209
- compiler_flags(sleipnir_test)
209
+ # Build autodiff explicit instantiations shared by autodiff and
210
+ # optimization tests
211
+ file(
212
+ GLOB_RECURSE sleipnir_autodiff_explicit_double_src
213
+ test/src/autodiff/*_explicit_double.cpp
214
+ )
215
+ add_library(
216
+ sleipnir_autodiff_explicit_double
217
+ OBJECT
218
+ ${sleipnir_autodiff_explicit_double_src}
219
+ )
220
+ compiler_flags(sleipnir_autodiff_explicit_double)
221
+ target_include_directories(
222
+ sleipnir_autodiff_explicit_double
223
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/test/include
224
+ )
225
+ target_link_libraries(sleipnir_autodiff_explicit_double PUBLIC Sleipnir)
226
+
227
+ # Build Sleipnir autodiff tests
228
+ file(GLOB_RECURSE sleipnir_autodiff_test_src test/src/autodiff/*_test.cpp)
229
+ add_executable(sleipnir_autodiff_test ${sleipnir_autodiff_test_src})
230
+ compiler_flags(sleipnir_autodiff_test)
210
231
  target_include_directories(
211
- sleipnir_test
232
+ sleipnir_autodiff_test
212
233
  PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/test/include
213
234
  )
214
- target_link_libraries(sleipnir_test PUBLIC Sleipnir Catch2::Catch2WithMain)
235
+ target_link_libraries(
236
+ sleipnir_autodiff_test
237
+ PUBLIC Sleipnir sleipnir_autodiff_explicit_double Catch2::Catch2WithMain
238
+ )
239
+
240
+ # Build Sleipnir optimization tests
241
+ file(
242
+ GLOB_RECURSE sleipnir_optimization_test_src
243
+ test/src/optimization/*_explicit_double.cpp
244
+ test/src/optimization/*_test.cpp
245
+ )
246
+ add_executable(sleipnir_optimization_test ${sleipnir_optimization_test_src})
247
+ compiler_flags(sleipnir_optimization_test)
248
+ target_include_directories(
249
+ sleipnir_optimization_test
250
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/test/include
251
+ )
252
+ target_link_libraries(
253
+ sleipnir_optimization_test
254
+ PUBLIC Sleipnir sleipnir_autodiff_explicit_double Catch2::Catch2WithMain
255
+ )
256
+
257
+ # Build Sleipnir util tests
258
+ file(GLOB_RECURSE sleipnir_util_test_src test/src/util/*_test.cpp)
259
+ add_executable(sleipnir_util_test ${sleipnir_util_test_src})
260
+ compiler_flags(sleipnir_util_test)
261
+ target_include_directories(
262
+ sleipnir_util_test
263
+ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/test/include
264
+ )
265
+ target_link_libraries(
266
+ sleipnir_util_test
267
+ PUBLIC Sleipnir Catch2::Catch2WithMain
268
+ )
269
+
215
270
  if(NOT CMAKE_TOOLCHAIN_FILE)
216
- catch_discover_tests(sleipnir_test)
271
+ catch_discover_tests(sleipnir_autodiff_test)
272
+ catch_discover_tests(sleipnir_optimization_test)
273
+ catch_discover_tests(sleipnir_util_test)
217
274
  endif()
218
275
  endif()
219
276
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.6.7.dev9
3
+ Version: 0.6.7.dev39
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt