sleipnirgroup-jormungandr 0.5.6.dev22__tar.gz → 0.5.6.dev23__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.
Files changed (124) hide show
  1. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/expression.hpp +28 -19
  3. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/src/sleipnir/__init__.py +1 -1
  4. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/CMakeLists.txt +0 -0
  5. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/LICENSE.txt +0 -0
  6. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/README.md +0 -0
  7. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/SleipnirConfig.cmake.in +0 -0
  8. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/cmake/BuildTypes.cmake +0 -0
  9. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/cmake/CompilerFlags.cmake +0 -0
  10. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/cmake/Pybind11Mkdoc.cmake +0 -0
  11. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/cmake/SubdirList.cmake +0 -0
  12. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/cmake/arm-none-eabi.cmake +0 -0
  13. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  14. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  15. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/gradient.hpp +0 -0
  16. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/gradient_expression_graph.hpp +0 -0
  17. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/hessian.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/sleipnir_base.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/slice.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/variable.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/multistart.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/ocp/dynamics_type.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/ocp/timestep_method.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/ocp/transcription_method.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/ocp.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/problem.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/interior_point_matrix_callbacks.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/newton_matrix_callbacks.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/options.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/sqp_matrix_callbacks.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/all_finite.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/append_as_triplets.hpp +0 -0
  41. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/bounds.hpp +0 -0
  42. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/dense_regularized_ldlt.hpp +0 -0
  43. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/feasibility_restoration.hpp +0 -0
  44. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/filter.hpp +0 -0
  45. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  46. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/inertia.hpp +0 -0
  47. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  48. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/kkt_error.hpp +0 -0
  49. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/lagrange_multiplier_estimate.hpp +0 -0
  50. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/problem_scaling.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/regularized_ldlt.hpp +0 -0
  52. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/sparse_inf_norms.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/optimization/solver/util/sparse_regularized_ldlt.hpp +0 -0
  54. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/assert.hpp +0 -0
  55. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/concepts.hpp +0 -0
  56. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/empty.hpp +0 -0
  57. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/function_ref.hpp +0 -0
  58. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  59. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/pool.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/print.hpp +0 -0
  61. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/print_diagnostics.hpp +0 -0
  62. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/profiler.hpp +0 -0
  63. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/scope_exit.hpp +0 -0
  64. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/spy.hpp +0 -0
  65. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/include/sleipnir/util/symbol_exports.hpp +0 -0
  66. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/pyproject.toml +0 -0
  67. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_expression_type.cpp +0 -0
  68. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_gradient.cpp +0 -0
  69. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_hessian.cpp +0 -0
  70. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_jacobian.cpp +0 -0
  71. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_variable.cpp +0 -0
  72. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_variable_block.cpp +0 -0
  73. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  74. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/binders.hpp +0 -0
  75. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/docstrings.hpp +0 -0
  76. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/for_each_type.hpp +0 -0
  77. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/main.cpp +0 -0
  78. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/bind_equality_constraints.cpp +0 -0
  79. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  80. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/bind_ocp.cpp +0 -0
  81. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/bind_problem.cpp +0 -0
  82. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/ocp/bind_dynamics_type.cpp +0 -0
  83. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/ocp/bind_timestep_method.cpp +0 -0
  84. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/ocp/bind_transcription_method.cpp +0 -0
  85. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  86. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/cpp/try_cast.hpp +0 -0
  88. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/src/sleipnir/autodiff/__init__.py +0 -0
  89. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/src/sleipnir/optimization/__init__.py +0 -0
  90. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/autodiff/gradient_test.py +0 -0
  91. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/autodiff/hessian_test.py +0 -0
  92. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/autodiff/jacobian_test.py +0 -0
  93. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/autodiff/variable_matrix_test.py +0 -0
  94. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/autodiff/variable_test.py +0 -0
  95. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/arm_on_elevator_problem_test.py +0 -0
  96. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/cart_pole_ocp_test.py +0 -0
  97. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/cart_pole_problem_test.py +0 -0
  98. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/cart_pole_util.py +0 -0
  99. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/constraints_test.py +0 -0
  100. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/decision_variable_test.py +0 -0
  101. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/differential_drive_ocp_test.py +0 -0
  102. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/differential_drive_problem_test.py +0 -0
  103. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/differential_drive_util.py +0 -0
  104. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/double_integrator_problem_test.py +0 -0
  105. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/flywheel_ocp_test.py +0 -0
  106. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/flywheel_problem_test.py +0 -0
  107. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/linear_problem_test.py +0 -0
  108. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/multistart_test.py +0 -0
  109. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/nonlinear_problem_test.py +0 -0
  110. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/problem_spy_test.py +0 -0
  111. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/quadratic_problem_test.py +0 -0
  112. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/rk4.py +0 -0
  113. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/solver/exit_status_test.py +0 -0
  114. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/python/test/optimization/trivial_problem_test.py +0 -0
  115. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/autodiff/gradient.cpp +0 -0
  116. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/autodiff/hessian.cpp +0 -0
  117. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/autodiff/jacobian.cpp +0 -0
  118. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/autodiff/variable_matrix.cpp +0 -0
  119. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/optimization/ocp.cpp +0 -0
  120. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/optimization/problem.cpp +0 -0
  121. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/optimization/solver/interior_point.cpp +0 -0
  122. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/optimization/solver/newton.cpp +0 -0
  123. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/optimization/solver/sqp.cpp +0 -0
  124. {sleipnirgroup_jormungandr-0.5.6.dev22 → sleipnirgroup_jormungandr-0.5.6.dev23}/src/util/pool.cpp +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.5.6.dev22
3
+ Version: 0.5.6.dev23
4
4
  Summary: Reverse mode autodiff library and NLP solver DSL
5
5
  License-Expression: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -153,14 +153,16 @@ struct Expression {
153
153
 
154
154
  // Prune expression
155
155
  if (lhs->is_constant(Scalar(0))) {
156
- // Return zero
156
+ // Return zero, which lhs currently is
157
157
  return lhs;
158
158
  } else if (rhs->is_constant(Scalar(0))) {
159
- // Return zero
159
+ // Return zero, which rhs currently is
160
160
  return rhs;
161
161
  } else if (lhs->is_constant(Scalar(1))) {
162
+ // Return rhs unmodified
162
163
  return rhs;
163
164
  } else if (rhs->is_constant(Scalar(1))) {
165
+ // Return lhs unmodified
164
166
  return lhs;
165
167
  }
166
168
 
@@ -203,9 +205,10 @@ struct Expression {
203
205
 
204
206
  // Prune expression
205
207
  if (lhs->is_constant(Scalar(0))) {
206
- // Return zero
208
+ // Return zero, which lhs currently is
207
209
  return lhs;
208
210
  } else if (rhs->is_constant(Scalar(1))) {
211
+ // Return lhs unmodified
209
212
  return lhs;
210
213
  }
211
214
 
@@ -236,10 +239,13 @@ struct Expression {
236
239
  const ExpressionPtr<Scalar>& rhs) {
237
240
  using enum ExpressionType;
238
241
 
239
- // Prune expression
242
+ // Prune expression. We check for nullptr because operator+ is used in
243
+ // adjoint accumulation, and child nodes can be null.
240
244
  if (lhs == nullptr || lhs->is_constant(Scalar(0))) {
245
+ // Return rhs unmodified
241
246
  return rhs;
242
247
  } else if (rhs == nullptr || rhs->is_constant(Scalar(0))) {
248
+ // Return lhs unmodified
243
249
  return lhs;
244
250
  }
245
251
 
@@ -281,12 +287,14 @@ struct Expression {
281
287
  // Prune expression
282
288
  if (lhs->is_constant(Scalar(0))) {
283
289
  if (rhs->is_constant(Scalar(0))) {
284
- // Return zero
290
+ // Return zero, which rhs currently is
285
291
  return rhs;
286
292
  } else {
293
+ // Return rhs negated
287
294
  return -rhs;
288
295
  }
289
296
  } else if (rhs->is_constant(Scalar(0))) {
297
+ // Return lhs unmodified
290
298
  return lhs;
291
299
  }
292
300
 
@@ -316,7 +324,7 @@ struct Expression {
316
324
 
317
325
  // Prune expression
318
326
  if (lhs->is_constant(Scalar(0))) {
319
- // Return zero
327
+ // Return zero, which lhs currently is
320
328
  return lhs;
321
329
  }
322
330
 
@@ -825,7 +833,7 @@ ExpressionPtr<Scalar> abs(const ExpressionPtr<Scalar>& x) {
825
833
 
826
834
  // Prune expression
827
835
  if (x->is_constant(Scalar(0))) {
828
- // Return zero
836
+ // Return zero, which x currently is
829
837
  return x;
830
838
  }
831
839
 
@@ -934,7 +942,7 @@ ExpressionPtr<Scalar> asin(const ExpressionPtr<Scalar>& x) {
934
942
 
935
943
  // Prune expression
936
944
  if (x->is_constant(Scalar(0))) {
937
- // Return zero
945
+ // Return zero, which x currently is
938
946
  return x;
939
947
  }
940
948
 
@@ -988,7 +996,7 @@ ExpressionPtr<Scalar> atan(const ExpressionPtr<Scalar>& x) {
988
996
 
989
997
  // Prune expression
990
998
  if (x->is_constant(Scalar(0))) {
991
- // Return zero
999
+ // Return zero, which x currently is
992
1000
  return x;
993
1001
  }
994
1002
 
@@ -1056,7 +1064,7 @@ ExpressionPtr<Scalar> atan2(const ExpressionPtr<Scalar>& y,
1056
1064
 
1057
1065
  // Prune expression
1058
1066
  if (y->is_constant(Scalar(0))) {
1059
- // Return zero
1067
+ // Return zero, which y currently is
1060
1068
  return y;
1061
1069
  } else if (x->is_constant(Scalar(0))) {
1062
1070
  return constant_ptr(Scalar(std::numbers::pi) / Scalar(2));
@@ -1223,7 +1231,7 @@ ExpressionPtr<Scalar> erf(const ExpressionPtr<Scalar>& x) {
1223
1231
 
1224
1232
  // Prune expression
1225
1233
  if (x->is_constant(Scalar(0))) {
1226
- // Return zero
1234
+ // Return zero, which x currently is
1227
1235
  return x;
1228
1236
  }
1229
1237
 
@@ -1406,7 +1414,7 @@ ExpressionPtr<Scalar> log(const ExpressionPtr<Scalar>& x) {
1406
1414
 
1407
1415
  // Prune expression
1408
1416
  if (x->is_constant(Scalar(0))) {
1409
- // Return zero
1417
+ // Return zero, which x currently is
1410
1418
  return x;
1411
1419
  }
1412
1420
 
@@ -1460,7 +1468,7 @@ ExpressionPtr<Scalar> log10(const ExpressionPtr<Scalar>& x) {
1460
1468
 
1461
1469
  // Prune expression
1462
1470
  if (x->is_constant(Scalar(0))) {
1463
- // Return zero
1471
+ // Return zero, which x currently is
1464
1472
  return x;
1465
1473
  }
1466
1474
 
@@ -1708,15 +1716,16 @@ ExpressionPtr<Scalar> pow(const ExpressionPtr<Scalar>& base,
1708
1716
 
1709
1717
  // Prune expression
1710
1718
  if (base->is_constant(Scalar(0))) {
1711
- // Return zero
1719
+ // Return zero, which base currently is
1712
1720
  return base;
1713
1721
  } else if (base->is_constant(Scalar(1))) {
1714
- // Return one
1722
+ // Return one, which base currently is
1715
1723
  return base;
1716
1724
  }
1717
1725
  if (power->is_constant(Scalar(0))) {
1718
1726
  return constant_ptr(Scalar(1));
1719
1727
  } else if (power->is_constant(Scalar(1))) {
1728
+ // Return base unmodified
1720
1729
  return base;
1721
1730
  }
1722
1731
 
@@ -1828,7 +1837,7 @@ ExpressionPtr<Scalar> sin(const ExpressionPtr<Scalar>& x) {
1828
1837
 
1829
1838
  // Prune expression
1830
1839
  if (x->is_constant(Scalar(0))) {
1831
- // Return zero
1840
+ // Return zero, which x currently is
1832
1841
  return x;
1833
1842
  }
1834
1843
 
@@ -1883,7 +1892,7 @@ ExpressionPtr<Scalar> sinh(const ExpressionPtr<Scalar>& x) {
1883
1892
 
1884
1893
  // Prune expression
1885
1894
  if (x->is_constant(Scalar(0))) {
1886
- // Return zero
1895
+ // Return zero, which x currently is
1887
1896
  return x;
1888
1897
  }
1889
1898
 
@@ -1997,7 +2006,7 @@ ExpressionPtr<Scalar> tan(const ExpressionPtr<Scalar>& x) {
1997
2006
 
1998
2007
  // Prune expression
1999
2008
  if (x->is_constant(Scalar(0))) {
2000
- // Return zero
2009
+ // Return zero, which x currently is
2001
2010
  return x;
2002
2011
  }
2003
2012
 
@@ -2055,7 +2064,7 @@ ExpressionPtr<Scalar> tanh(const ExpressionPtr<Scalar>& x) {
2055
2064
 
2056
2065
  // Prune expression
2057
2066
  if (x->is_constant(Scalar(0))) {
2058
- // Return zero
2067
+ // Return zero, which x currently is
2059
2068
  return x;
2060
2069
  }
2061
2070
 
@@ -2,4 +2,4 @@
2
2
 
3
3
  from ._sleipnir import *
4
4
 
5
- __version__ = "0.5.6.dev22"
5
+ __version__ = "0.5.6.dev23"