sleipnirgroup-jormungandr 0.6.7.dev4__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.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/CMakeLists.txt +65 -8
  2. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/PKG-INFO +1 -1
  3. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/expression.hpp +878 -478
  4. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/expression_graph.hpp +14 -25
  5. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/variable.hpp +27 -4
  6. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/variable_matrix.hpp +4 -12
  7. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/ipm.hpp +24 -4
  8. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/newton.hpp +8 -2
  9. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/sqp.hpp +20 -1
  10. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/bounds.hpp +47 -37
  11. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +46 -13
  12. {sleipnirgroup_jormungandr-0.6.7.dev4 → 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.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/pool.hpp +94 -21
  15. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/print_diagnostics.hpp +31 -6
  16. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/pyproject.toml +1 -1
  17. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/docstrings.hpp +19 -0
  18. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/src/sleipnir/__init__.py +1 -1
  19. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/cart_pole_ocp_test.py +39 -28
  20. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/cart_pole_problem_test.py +4 -2
  21. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/decision_variable_test.py +7 -2
  22. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/differential_drive_ocp_test.py +18 -23
  23. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/flywheel_ocp_test.py +2 -5
  24. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/flywheel_problem_test.py +2 -5
  25. sleipnirgroup_jormungandr-0.6.7.dev39/python/test/optimization/near.py +2 -0
  26. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/nonlinear_problem_test.py +50 -12
  27. sleipnirgroup_jormungandr-0.6.7.dev4/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -133
  28. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/LICENSE.txt +0 -0
  29. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/README.md +0 -0
  30. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/SleipnirConfig.cmake.in +0 -0
  31. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/BuildTypes.cmake +0 -0
  32. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/CompilerFlags.cmake +0 -0
  33. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/Pybind11Mkdoc.cmake +0 -0
  34. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/SubdirList.cmake +0 -0
  35. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/cmake/arm-none-eabi.cmake +0 -0
  36. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/gradient.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/hessian.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/slice.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/multistart.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/ocp.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/problem.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/ipm_matrix_callbacks.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/options.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/dense_kkt_solver.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/kkt_solver.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/optimization/solver/util/sparse_kkt_solver.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/assert.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/concepts.hpp +0 -0
  67. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/empty.hpp +0 -0
  68. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/function_ref.hpp +0 -0
  69. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  70. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/print.hpp +0 -0
  71. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/profiler.hpp +0 -0
  72. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/scope_exit.hpp +0 -0
  73. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/spy.hpp +0 -0
  74. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/include/sleipnir/util/symbol_exports.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  76. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  77. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_variable.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/binders.hpp +0 -0
  83. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/for_each_type.hpp +0 -0
  84. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/main.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_ocp.cpp +0 -0
  88. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/bind_problem.cpp +0 -0
  89. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  90. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  91. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  92. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  93. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  94. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/cpp/try_cast.hpp +0 -0
  95. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/src/sleipnir/autodiff/__init__.py +0 -0
  96. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/src/sleipnir/optimization/__init__.py +0 -0
  97. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/gradient_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/hessian_test.py +0 -0
  99. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/jacobian_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/variable_matrix_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/autodiff/variable_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/cart_pole_util.py +0 -0
  104. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/constraints_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/differential_drive_problem_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/differential_drive_util.py +0 -0
  107. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/double_integrator_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/linear_problem_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/multistart_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/problem_spy_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/quadratic_problem_test.py +0 -0
  112. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/rk4.py +0 -0
  113. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/solver/exit_status_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/python/test/optimization/trivial_problem_test.py +0 -0
  115. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/gradient.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/hessian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/jacobian.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/autodiff/variable_matrix.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/ocp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/problem.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/solver/ipm.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/solver/newton.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.6.7.dev4 → sleipnirgroup_jormungandr-0.6.7.dev39}/src/optimization/solver/sqp.cpp +0 -0
  124. {sleipnirgroup_jormungandr-0.6.7.dev4 → 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
 
@@ -276,7 +333,7 @@ if(SLEIPNIR_BUILD_PYTHON)
276
333
  FetchContent_Declare(
277
334
  nanobind
278
335
  GIT_REPOSITORY https://github.com/wjakob/nanobind.git
279
- GIT_TAG v3.0.1
336
+ GIT_TAG v3.1.0
280
337
  GIT_SHALLOW ON
281
338
  EXCLUDE_FROM_ALL
282
339
  SYSTEM
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.6.7.dev4
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