sleipnirgroup-jormungandr 0.6.5.dev6__tar.gz → 0.6.5.dev8__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 (123) hide show
  1. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/CMakeLists.txt +2 -2
  2. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/PKG-INFO +1 -1
  3. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/expression.hpp +13 -51
  4. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/src/sleipnir/__init__.py +1 -1
  5. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/LICENSE.txt +0 -0
  6. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/README.md +0 -0
  7. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/SleipnirConfig.cmake.in +0 -0
  8. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/cmake/BuildTypes.cmake +0 -0
  9. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/cmake/CompilerFlags.cmake +0 -0
  10. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/cmake/Pybind11Mkdoc.cmake +0 -0
  11. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/cmake/SubdirList.cmake +0 -0
  12. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/cmake/arm-none-eabi.cmake +0 -0
  13. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  14. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  15. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/gradient.hpp +0 -0
  16. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/hessian.hpp +0 -0
  17. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/slice.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/variable.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/multistart.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/ocp.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/problem.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/options.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/assert.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/concepts.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/empty.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/function_ref.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/pool.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/print.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/profiler.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/scope_exit.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/spy.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/include/sleipnir/util/symbol_exports.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/pyproject.toml +0 -0
  66. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  67. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  68. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  69. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_variable.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/binders.hpp +0 -0
  74. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/docstrings.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/for_each_type.hpp +0 -0
  76. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/main.cpp +0 -0
  77. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/bind_ocp.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/bind_problem.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/cpp/try_cast.hpp +0 -0
  87. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/src/sleipnir/autodiff/__init__.py +0 -0
  88. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/src/sleipnir/optimization/__init__.py +0 -0
  89. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/autodiff/gradient_test.py +0 -0
  90. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/autodiff/hessian_test.py +0 -0
  91. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/autodiff/jacobian_test.py +0 -0
  92. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/autodiff/variable_matrix_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/autodiff/variable_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  95. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/cart_pole_problem_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/cart_pole_util.py +0 -0
  98. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/constraints_test.py +0 -0
  99. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/decision_variable_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/differential_drive_problem_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/differential_drive_util.py +0 -0
  103. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/double_integrator_problem_test.py +0 -0
  104. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/flywheel_ocp_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/flywheel_problem_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/linear_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/multistart_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/nonlinear_problem_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/problem_spy_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/quadratic_problem_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/rk4.py +0 -0
  112. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/solver/exit_status_test.py +0 -0
  113. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/python/test/optimization/trivial_problem_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/autodiff/gradient.cpp +0 -0
  115. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/autodiff/hessian.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/autodiff/jacobian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/autodiff/variable_matrix.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/optimization/ocp.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/optimization/problem.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/optimization/solver/interior_point.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/optimization/solver/newton.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/optimization/solver/sqp.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.6.5.dev6 → sleipnirgroup_jormungandr-0.6.5.dev8}/src/util/pool.cpp +0 -0
@@ -77,8 +77,8 @@ if(NOT SLEIPNIR_USE_SYSTEM_EIGEN)
77
77
  FetchContent_Declare(
78
78
  Eigen3
79
79
  GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
80
- # master on 2026-06-29
81
- GIT_TAG 3fccdcd589b11da58e5e5d87c9f1f537c7c642f6
80
+ # master on 2026-07-24
81
+ GIT_TAG 8a4a417dde40a03632e56b771e9fbadbc938d790
82
82
  SYSTEM
83
83
  )
84
84
  FetchContent_MakeAvailable(Eigen3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.6.5.dev6
3
+ Version: 0.6.5.dev8
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -1486,39 +1486,23 @@ struct MaxExpression final : Expression<Scalar> {
1486
1486
  std::string_view name() const override { return "max"; }
1487
1487
 
1488
1488
  Scalar grad_l(Scalar a, Scalar b) const override {
1489
- if (a >= b) {
1490
- return this->adjoint;
1491
- } else {
1492
- return Scalar(0);
1493
- }
1489
+ return a >= b ? this->adjoint : Scalar(0);
1494
1490
  }
1495
1491
 
1496
1492
  Scalar grad_r(Scalar a, Scalar b) const override {
1497
- if (b > a) {
1498
- return this->adjoint;
1499
- } else {
1500
- return Scalar(0);
1501
- }
1493
+ return a >= b ? Scalar(0) : this->adjoint;
1502
1494
  }
1503
1495
 
1504
1496
  ExpressionPtr<Scalar> grad_expr_l(
1505
1497
  const ExpressionPtr<Scalar>& a,
1506
1498
  const ExpressionPtr<Scalar>& b) const override {
1507
- if (a->val >= b->val) {
1508
- return this->adjoint_expr;
1509
- } else {
1510
- return constant_ptr(Scalar(0));
1511
- }
1499
+ return a->val >= b->val ? this->adjoint_expr : constant_ptr(Scalar(0));
1512
1500
  }
1513
1501
 
1514
1502
  ExpressionPtr<Scalar> grad_expr_r(
1515
1503
  const ExpressionPtr<Scalar>& a,
1516
1504
  const ExpressionPtr<Scalar>& b) const override {
1517
- if (b->val > a->val) {
1518
- return this->adjoint_expr;
1519
- } else {
1520
- return constant_ptr(Scalar(0));
1521
- }
1505
+ return a->val >= b->val ? constant_ptr(Scalar(0)) : this->adjoint_expr;
1522
1506
  }
1523
1507
  };
1524
1508
 
@@ -1565,40 +1549,24 @@ struct MinExpression final : Expression<Scalar> {
1565
1549
  std::string_view name() const override { return "min"; }
1566
1550
 
1567
1551
  Scalar grad_l(Scalar a, Scalar b) const override {
1568
- if (a <= b) {
1569
- return this->adjoint;
1570
- } else {
1571
- return Scalar(0);
1572
- }
1552
+ return a <= b ? this->adjoint : Scalar(0);
1573
1553
  }
1574
1554
 
1575
1555
  Scalar grad_r([[maybe_unused]] Scalar a,
1576
1556
  [[maybe_unused]] Scalar b) const override {
1577
- if (b < a) {
1578
- return this->adjoint;
1579
- } else {
1580
- return Scalar(0);
1581
- }
1557
+ return a <= b ? Scalar(0) : this->adjoint;
1582
1558
  }
1583
1559
 
1584
1560
  ExpressionPtr<Scalar> grad_expr_l(
1585
1561
  const ExpressionPtr<Scalar>& a,
1586
1562
  const ExpressionPtr<Scalar>& b) const override {
1587
- if (a->val <= b->val) {
1588
- return this->adjoint_expr;
1589
- } else {
1590
- return constant_ptr(Scalar(0));
1591
- }
1563
+ return a->val <= b->val ? this->adjoint_expr : constant_ptr(Scalar(0));
1592
1564
  }
1593
1565
 
1594
1566
  ExpressionPtr<Scalar> grad_expr_r(
1595
1567
  const ExpressionPtr<Scalar>& a,
1596
1568
  const ExpressionPtr<Scalar>& b) const override {
1597
- if (b->val < a->val) {
1598
- return this->adjoint_expr;
1599
- } else {
1600
- return constant_ptr(Scalar(0));
1601
- }
1569
+ return a->val <= b->val ? constant_ptr(Scalar(0)) : this->adjoint_expr;
1602
1570
  }
1603
1571
  };
1604
1572
 
@@ -1657,11 +1625,8 @@ struct PowExpression final : Expression<Scalar> {
1657
1625
  using std::pow;
1658
1626
 
1659
1627
  // Since x log(x) -> 0 as x -> 0
1660
- if (base == Scalar(0)) {
1661
- return Scalar(0);
1662
- } else {
1663
- return this->adjoint * pow(base, power) * log(base);
1664
- }
1628
+ return base == Scalar(0) ? Scalar(0)
1629
+ : this->adjoint * pow(base, power) * log(base);
1665
1630
  }
1666
1631
 
1667
1632
  ExpressionPtr<Scalar> grad_expr_l(
@@ -1675,12 +1640,9 @@ struct PowExpression final : Expression<Scalar> {
1675
1640
  const ExpressionPtr<Scalar>& base,
1676
1641
  const ExpressionPtr<Scalar>& power) const override {
1677
1642
  // Since x log(x) -> 0 as x -> 0
1678
- if (base->val == Scalar(0)) {
1679
- // Return zero
1680
- return base;
1681
- } else {
1682
- return this->adjoint_expr * pow(base, power) * log(base);
1683
- }
1643
+ return base->val == Scalar(0)
1644
+ ? base // Return zero
1645
+ : this->adjoint_expr * pow(base, power) * log(base);
1684
1646
  }
1685
1647
  };
1686
1648
 
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.6.5.dev6"
5
+ __version__ = "0.6.5.dev8"