sleipnirgroup-jormungandr 0.6.6.dev10__tar.gz → 0.6.6.dev13__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.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/CMakeLists.txt +1 -2
  2. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/PKG-INFO +2 -2
  3. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/README.md +1 -1
  4. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/cmake/Pybind11Mkdoc.cmake +30 -12
  5. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/variable_matrix.hpp +9 -2
  6. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/src/sleipnir/__init__.py +1 -1
  7. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/LICENSE.txt +0 -0
  8. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/SleipnirConfig.cmake.in +0 -0
  9. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/cmake/BuildTypes.cmake +0 -0
  10. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/cmake/CompilerFlags.cmake +0 -0
  11. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/cmake/SubdirList.cmake +0 -0
  12. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/cmake/arm-none-eabi.cmake +0 -0
  13. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/expression.hpp +0 -0
  14. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  15. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  16. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/gradient.hpp +0 -0
  17. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/hessian.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/slice.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/variable.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/multistart.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/ocp.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/problem.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/options.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/assert.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/concepts.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/empty.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/function_ref.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/pool.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/print.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/profiler.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/scope_exit.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/spy.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/include/sleipnir/util/symbol_exports.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/pyproject.toml +0 -0
  66. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  67. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  68. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  69. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_variable.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/binders.hpp +0 -0
  74. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/docstrings.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/for_each_type.hpp +0 -0
  76. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/main.cpp +0 -0
  77. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/bind_ocp.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/bind_problem.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/cpp/try_cast.hpp +0 -0
  87. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/src/sleipnir/autodiff/__init__.py +0 -0
  88. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/src/sleipnir/optimization/__init__.py +0 -0
  89. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/autodiff/gradient_test.py +0 -0
  90. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/autodiff/hessian_test.py +0 -0
  91. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/autodiff/jacobian_test.py +0 -0
  92. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/autodiff/variable_matrix_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/autodiff/variable_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  95. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/cart_pole_problem_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/cart_pole_util.py +0 -0
  98. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/constraints_test.py +0 -0
  99. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/decision_variable_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/differential_drive_problem_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/differential_drive_util.py +0 -0
  103. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/double_integrator_problem_test.py +0 -0
  104. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/flywheel_ocp_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/flywheel_problem_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/linear_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/multistart_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/nonlinear_problem_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/problem_spy_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/quadratic_problem_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/rk4.py +0 -0
  112. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/solver/exit_status_test.py +0 -0
  113. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/python/test/optimization/trivial_problem_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/autodiff/gradient.cpp +0 -0
  115. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/autodiff/hessian.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/autodiff/jacobian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/autodiff/variable_matrix.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/optimization/ocp.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/optimization/problem.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/optimization/solver/interior_point.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/optimization/solver/newton.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/optimization/solver/sqp.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.6.6.dev10 → sleipnirgroup_jormungandr-0.6.6.dev13}/src/util/pool.cpp +0 -0
@@ -357,8 +357,7 @@ if(SLEIPNIR_BUILD_PYTHON)
357
357
  COMPONENT python_modules
358
358
  )
359
359
 
360
- # pybind11_mkdoc doesn't support Windows
361
- if(NOT WIN32 AND NOT CMAKE_CROSSCOMPILING)
360
+ if(NOT CMAKE_CROSSCOMPILING)
362
361
  # pybind11_mkdoc dependency
363
362
  FetchContent_Declare(
364
363
  pybind11_mkdoc
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.6.6.dev10
3
+ Version: 0.6.6.dev13
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -115,7 +115,7 @@ See the [C++ API docs](https://sleipnirgroup.github.io/Sleipnir/docs/cpp), [Pyth
115
115
 
116
116
  ## Examples
117
117
 
118
- See the [examples folder](https://github.com/SleipnirGroup/Sleipnir/tree/main/examples), [C++ optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/test/optimization), and [Python optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/python/test/optimization).
118
+ See the [examples folder](https://github.com/SleipnirGroup/Sleipnir/tree/main/examples), [C++ optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/test/src/optimization), and [Python optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/python/test/optimization).
119
119
 
120
120
  ## Benchmarks
121
121
 
@@ -102,7 +102,7 @@ See the [C++ API docs](https://sleipnirgroup.github.io/Sleipnir/docs/cpp), [Pyth
102
102
 
103
103
  ## Examples
104
104
 
105
- See the [examples folder](https://github.com/SleipnirGroup/Sleipnir/tree/main/examples), [C++ optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/test/optimization), and [Python optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/python/test/optimization).
105
+ See the [examples folder](https://github.com/SleipnirGroup/Sleipnir/tree/main/examples), [C++ optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/test/src/optimization), and [Python optimization unit tests](https://github.com/SleipnirGroup/Sleipnir/tree/main/python/test/optimization).
106
106
 
107
107
  ## Benchmarks
108
108
 
@@ -1,12 +1,9 @@
1
1
  function(pybind11_mkdoc target headers)
2
2
  find_package(Python3 REQUIRED COMPONENTS Interpreter)
3
3
 
4
- get_target_property(target_dirs ${target} INCLUDE_DIRECTORIES)
5
- list(TRANSFORM target_dirs PREPEND "-I")
6
-
7
- get_target_property(eigen_dirs Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES)
8
- list(FILTER eigen_dirs INCLUDE REGEX "\\$<BUILD_INTERFACE:.*>")
9
- list(TRANSFORM eigen_dirs PREPEND "-I")
4
+ # Target compiler flags
5
+ get_target_property(target_flags ${target} INCLUDE_DIRECTORIES)
6
+ list(TRANSFORM target_flags PREPEND "-I")
10
7
 
11
8
  # Get default clang version
12
9
  execute_process(
@@ -16,6 +13,7 @@ function(pybind11_mkdoc target headers)
16
13
  )
17
14
  string(REGEX MATCH "[0-9]+" clang_version ${clang_version})
18
15
 
16
+ # LLVM environment variables
19
17
  if(UNIX AND NOT APPLE)
20
18
  if(EXISTS /usr/lib/libclang.so)
21
19
  set(env_vars
@@ -28,26 +26,46 @@ function(pybind11_mkdoc target headers)
28
26
  LIBCLANG_PATH=/usr/lib/llvm-${clang_version}/lib/libclang.so
29
27
  )
30
28
  endif()
31
- set(llvm_dirs -I/usr/lib/clang/${clang_version}/include)
32
29
  endif()
33
30
 
31
+ # Clang compiler flags
32
+ if(UNIX AND NOT APPLE)
33
+ set(clang_flags -I/usr/lib/clang/${clang_version}/include)
34
+ endif()
35
+
36
+ # Eigen compiler flags
37
+ get_target_property(eigen_flags Eigen3::Eigen INTERFACE_INCLUDE_DIRECTORIES)
38
+ list(FILTER eigen_flags INCLUDE REGEX "\\$<BUILD_INTERFACE:.*>")
39
+ list(TRANSFORM eigen_flags PREPEND "-I")
40
+
41
+ # clang on Windows aarch64 failed to parse Eigen's NEON headers
42
+ list(APPEND eigen_flags "-DEIGEN_DONT_VECTORIZE")
43
+
44
+ # small_vector compiler flags
34
45
  get_target_property(
35
- small_vector_dirs
46
+ small_vector_flags
36
47
  small_vector
37
48
  INTERFACE_INCLUDE_DIRECTORIES
38
49
  )
39
- list(FILTER small_vector_dirs INCLUDE REGEX "\\$<BUILD_INTERFACE:.*>")
40
- list(TRANSFORM small_vector_dirs PREPEND "-I")
50
+ list(FILTER small_vector_flags INCLUDE REGEX "\\$<BUILD_INTERFACE:.*>")
51
+ list(TRANSFORM small_vector_flags PREPEND "-I")
41
52
 
53
+ # TODO: Remove when Python 3.15 makes UTF-8 the default
54
+ set(env_vars ${env_vars} PYTHONUTF8=1)
55
+
56
+ # Generate docstrings.hpp
42
57
  add_custom_command(
43
58
  OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/python/cpp/docstrings.hpp
44
59
  COMMAND
45
60
  ${CMAKE_COMMAND} -E env ${env_vars} ${Python3_EXECUTABLE} -m
46
61
  pybind11_mkdoc ${headers} -o
47
- ${CMAKE_CURRENT_SOURCE_DIR}/python/cpp/docstrings.hpp ${target_dirs}
48
- ${eigen_dirs} ${llvm_dirs} ${small_vector_dirs} -std=c++23
62
+ ${CMAKE_CURRENT_SOURCE_DIR}/python/cpp/docstrings.hpp
63
+ ${target_flags} ${clang_flags} ${eigen_flags} ${small_vector_flags}
64
+ -std=c++23
49
65
  DEPENDS ${headers}
50
66
  )
67
+
68
+ # Add docstrings target
51
69
  add_custom_target(
52
70
  ${target}_docstrings
53
71
  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/python/cpp/docstrings.hpp
@@ -1110,10 +1110,17 @@ class VariableMatrix : public SleipnirBase {
1110
1110
  Eigen::Vector<Scalar, Eigen::Dynamic>::Constant(rows(), q[0])
1111
1111
  .asDiagonal()};
1112
1112
  auto A_pow = *this;
1113
- for (size_t k = 1; k < NUM_COEFFS; ++k) {
1113
+ size_t k = 1;
1114
+ while (true) {
1114
1115
  P += p[k] * A_pow;
1115
1116
  Q += q[k] * A_pow;
1116
- A_pow *= *this;
1117
+
1118
+ ++k;
1119
+ if (k < NUM_COEFFS) {
1120
+ A_pow *= *this;
1121
+ } else {
1122
+ break;
1123
+ }
1117
1124
  }
1118
1125
 
1119
1126
  // https://mpmath.org/doc/current/calculus/approximation.html#mpmath.pade
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.6.6.dev10"
5
+ __version__ = "0.6.6.dev13"