sleipnirgroup-jormungandr 0.0.1.dev476__tar.gz → 0.0.1.dev477__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 (104) hide show
  1. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/PKG-INFO +1 -1
  2. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/expression.hpp +41 -81
  3. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/pyproject.toml +1 -1
  4. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/CMakeLists.txt +0 -0
  5. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/LICENSE.txt +0 -0
  6. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/README.md +0 -0
  7. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/SleipnirConfig.cmake.in +0 -0
  8. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/cmake/modules/BuildTypes.cmake +0 -0
  9. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/cmake/modules/CompilerFlags.cmake +0 -0
  10. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/cmake/modules/Pybind11Mkdoc.cmake +0 -0
  11. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/cmake/modules/SubdirList.cmake +0 -0
  12. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/.styleguide +0 -0
  13. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/adjoint_expression_graph.hpp +0 -0
  14. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/expression_graph.hpp +0 -0
  15. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/expression_type.hpp +0 -0
  16. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/gradient.hpp +0 -0
  17. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/hessian.hpp +0 -0
  18. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/jacobian.hpp +0 -0
  19. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/slice.hpp +0 -0
  20. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/variable.hpp +0 -0
  21. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/variable_block.hpp +0 -0
  22. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/autodiff/variable_matrix.hpp +0 -0
  23. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/control/ocp.hpp +0 -0
  24. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/multistart.hpp +0 -0
  25. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/problem.hpp +0 -0
  26. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/solver/exit_status.hpp +0 -0
  27. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/solver/interior_point.hpp +0 -0
  28. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/solver/iteration_info.hpp +0 -0
  29. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/solver/newton.hpp +0 -0
  30. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/solver/options.hpp +0 -0
  31. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/optimization/solver/sqp.hpp +0 -0
  32. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/assert.hpp +0 -0
  33. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/concepts.hpp +0 -0
  34. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/function_ref.hpp +0 -0
  35. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/intrusive_shared_ptr.hpp +0 -0
  36. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/pool.hpp +0 -0
  37. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/print.hpp +0 -0
  38. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/spy.hpp +0 -0
  39. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/include/sleipnir/util/symbol_exports.hpp +0 -0
  40. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/__init__.py +0 -0
  41. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/autodiff/__init__.py +0 -0
  42. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/control/__init__.py +0 -0
  43. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_expression_type.cpp +0 -0
  44. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_gradient.cpp +0 -0
  45. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_hessian.cpp +0 -0
  46. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_jacobian.cpp +0 -0
  47. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_variable.cpp +0 -0
  48. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_variable_block.cpp +0 -0
  49. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/autodiff/bind_variable_matrix.cpp +0 -0
  50. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/binders.hpp +0 -0
  51. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/control/bind_ocp.cpp +0 -0
  52. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/docstrings.hpp +0 -0
  53. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/main.cpp +0 -0
  54. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/optimization/bind_equality_constraints.cpp +0 -0
  55. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/optimization/bind_inequality_constraints.cpp +0 -0
  56. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/optimization/bind_problem.cpp +0 -0
  57. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/optimization/solver/bind_exit_status.cpp +0 -0
  58. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/optimization/solver/bind_iteration_info.cpp +0 -0
  59. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/cpp/try_cast.hpp +0 -0
  60. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/optimization/__init__.py +0 -0
  61. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/autodiff/gradient_test.py +0 -0
  62. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/autodiff/hessian_test.py +0 -0
  63. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/autodiff/jacobian_test.py +0 -0
  64. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/autodiff/variable_matrix_test.py +0 -0
  65. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/autodiff/variable_test.py +0 -0
  66. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/cart_pole_util.py +0 -0
  67. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/control/cart_pole_ocp_test.py +0 -0
  68. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/control/differential_drive_ocp_test.py +0 -0
  69. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/control/flywheel_ocp_test.py +0 -0
  70. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/differential_drive_util.py +0 -0
  71. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/arm_on_elevator_problem_test.py +0 -0
  72. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/cart_pole_problem_test.py +0 -0
  73. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/constraints_test.py +0 -0
  74. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/decision_variable_test.py +0 -0
  75. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/differential_drive_problem_test.py +0 -0
  76. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/double_integrator_problem_test.py +0 -0
  77. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/exit_status_test.py +0 -0
  78. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/flywheel_problem_test.py +0 -0
  79. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/linear_problem_test.py +0 -0
  80. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/multistart_test.py +0 -0
  81. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/nonlinear_problem_test.py +0 -0
  82. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/quadratic_problem_test.py +0 -0
  83. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/optimization/trivial_problem_test.py +0 -0
  84. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/jormungandr/test/rk4.py +0 -0
  85. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/.styleguide +0 -0
  86. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/autodiff/variable_matrix.cpp +0 -0
  87. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/bounds.hpp +0 -0
  88. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/inertia.hpp +0 -0
  89. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/problem.cpp +0 -0
  90. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/regularized_ldlt.hpp +0 -0
  91. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/interior_point.cpp +0 -0
  92. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/newton.cpp +0 -0
  93. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/sqp.cpp +0 -0
  94. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/util/error_estimate.hpp +0 -0
  95. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/util/filter.hpp +0 -0
  96. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/util/fraction_to_the_boundary_rule.hpp +0 -0
  97. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/util/is_locally_infeasible.hpp +0 -0
  98. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/optimization/solver/util/kkt_error.hpp +0 -0
  99. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/util/pool.cpp +0 -0
  100. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/util/print_diagnostics.hpp +0 -0
  101. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/util/scope_exit.hpp +0 -0
  102. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/util/scoped_profiler.hpp +0 -0
  103. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/util/setup_profiler.hpp +0 -0
  104. {sleipnirgroup_jormungandr-0.0.1.dev476 → sleipnirgroup_jormungandr-0.0.1.dev477}/src/util/solve_profiler.hpp +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sleipnirgroup-jormungandr
3
- Version: 0.0.1.dev476
3
+ Version: 0.0.1.dev477
4
4
  Summary: A linearity-exploiting sparse nonlinear constrained optimization problem solver that uses the interior-point method.
5
5
  License: Copyright (c) Sleipnir contributors
6
6
 
@@ -436,9 +436,7 @@ struct BinaryMinusExpression final : Expression {
436
436
  * @param rhs Binary operator's right operand.
437
437
  */
438
438
  constexpr BinaryMinusExpression(ExpressionPtr lhs, ExpressionPtr rhs)
439
- : Expression{std::move(lhs), std::move(rhs)} {
440
- val = args[0]->val - args[1]->val;
441
- }
439
+ : Expression{std::move(lhs), std::move(rhs)} {}
442
440
 
443
441
  double value(double lhs, double rhs) const override { return lhs - rhs; }
444
442
 
@@ -479,9 +477,7 @@ struct BinaryPlusExpression final : Expression {
479
477
  * @param rhs Binary operator's right operand.
480
478
  */
481
479
  constexpr BinaryPlusExpression(ExpressionPtr lhs, ExpressionPtr rhs)
482
- : Expression{std::move(lhs), std::move(rhs)} {
483
- val = args[0]->val + args[1]->val;
484
- }
480
+ : Expression{std::move(lhs), std::move(rhs)} {}
485
481
 
486
482
  double value(double lhs, double rhs) const override { return lhs + rhs; }
487
483
 
@@ -565,9 +561,7 @@ struct DivExpression final : Expression {
565
561
  * @param rhs Binary operator's right operand.
566
562
  */
567
563
  constexpr DivExpression(ExpressionPtr lhs, ExpressionPtr rhs)
568
- : Expression{std::move(lhs), std::move(rhs)} {
569
- val = args[0]->val / args[1]->val;
570
- }
564
+ : Expression{std::move(lhs), std::move(rhs)} {}
571
565
 
572
566
  double value(double lhs, double rhs) const override { return lhs / rhs; }
573
567
 
@@ -608,9 +602,7 @@ struct MultExpression final : Expression {
608
602
  * @param rhs Binary operator's right operand.
609
603
  */
610
604
  constexpr MultExpression(ExpressionPtr lhs, ExpressionPtr rhs)
611
- : Expression{std::move(lhs), std::move(rhs)} {
612
- val = args[0]->val * args[1]->val;
613
- }
605
+ : Expression{std::move(lhs), std::move(rhs)} {}
614
606
 
615
607
  double value(double lhs, double rhs) const override { return lhs * rhs; }
616
608
 
@@ -652,9 +644,7 @@ struct UnaryMinusExpression final : Expression {
652
644
  * @param lhs Unary operator's operand.
653
645
  */
654
646
  explicit constexpr UnaryMinusExpression(ExpressionPtr lhs)
655
- : Expression{std::move(lhs)} {
656
- val = -args[0]->val;
657
- }
647
+ : Expression{std::move(lhs)} {}
658
648
 
659
649
  double value(double lhs, double) const override { return -lhs; }
660
650
 
@@ -735,9 +725,7 @@ struct AbsExpression final : Expression {
735
725
  * @param lhs Unary operator's operand.
736
726
  */
737
727
  explicit constexpr AbsExpression(ExpressionPtr lhs)
738
- : Expression{std::move(lhs)} {
739
- val = args[0]->val < 0 ? -args[0]->val : args[0]->val;
740
- }
728
+ : Expression{std::move(lhs)} {}
741
729
 
742
730
  double value(double x, double) const override { return std::abs(x); }
743
731
 
@@ -798,9 +786,8 @@ struct AcosExpression final : Expression {
798
786
  *
799
787
  * @param lhs Unary operator's operand.
800
788
  */
801
- explicit AcosExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
802
- val = std::acos(args[0]->val);
803
- }
789
+ explicit constexpr AcosExpression(ExpressionPtr lhs)
790
+ : Expression{std::move(lhs)} {}
804
791
 
805
792
  double value(double x, double) const override { return std::acos(x); }
806
793
 
@@ -848,9 +835,8 @@ struct AsinExpression final : Expression {
848
835
  *
849
836
  * @param lhs Unary operator's operand.
850
837
  */
851
- explicit AsinExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
852
- val = std::asin(args[0]->val);
853
- }
838
+ explicit constexpr AsinExpression(ExpressionPtr lhs)
839
+ : Expression{std::move(lhs)} {}
854
840
 
855
841
  double value(double x, double) const override { return std::asin(x); }
856
842
 
@@ -899,9 +885,8 @@ struct AtanExpression final : Expression {
899
885
  *
900
886
  * @param lhs Unary operator's operand.
901
887
  */
902
- explicit AtanExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
903
- val = std::atan(args[0]->val);
904
- }
888
+ explicit constexpr AtanExpression(ExpressionPtr lhs)
889
+ : Expression{std::move(lhs)} {}
905
890
 
906
891
  double value(double x, double) const override { return std::atan(x); }
907
892
 
@@ -950,10 +935,8 @@ struct Atan2Expression final : Expression {
950
935
  * @param lhs Binary operator's left operand.
951
936
  * @param rhs Binary operator's right operand.
952
937
  */
953
- Atan2Expression(ExpressionPtr lhs, ExpressionPtr rhs)
954
- : Expression{std::move(lhs), std::move(rhs)} {
955
- val = std::atan2(args[0]->val, args[1]->val);
956
- }
938
+ constexpr Atan2Expression(ExpressionPtr lhs, ExpressionPtr rhs)
939
+ : Expression{std::move(lhs), std::move(rhs)} {}
957
940
 
958
941
  double value(double y, double x) const override { return std::atan2(y, x); }
959
942
 
@@ -1014,9 +997,8 @@ struct CosExpression final : Expression {
1014
997
  *
1015
998
  * @param lhs Unary operator's operand.
1016
999
  */
1017
- explicit CosExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1018
- val = std::cos(args[0]->val);
1019
- }
1000
+ explicit constexpr CosExpression(ExpressionPtr lhs)
1001
+ : Expression{std::move(lhs)} {}
1020
1002
 
1021
1003
  double value(double x, double) const override { return std::cos(x); }
1022
1004
 
@@ -1063,9 +1045,8 @@ struct CoshExpression final : Expression {
1063
1045
  *
1064
1046
  * @param lhs Unary operator's operand.
1065
1047
  */
1066
- explicit CoshExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1067
- val = std::cosh(args[0]->val);
1068
- }
1048
+ explicit constexpr CoshExpression(ExpressionPtr lhs)
1049
+ : Expression{std::move(lhs)} {}
1069
1050
 
1070
1051
  double value(double x, double) const override { return std::cosh(x); }
1071
1052
 
@@ -1112,9 +1093,8 @@ struct ErfExpression final : Expression {
1112
1093
  *
1113
1094
  * @param lhs Unary operator's operand.
1114
1095
  */
1115
- explicit ErfExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1116
- val = std::erf(args[0]->val);
1117
- }
1096
+ explicit constexpr ErfExpression(ExpressionPtr lhs)
1097
+ : Expression{std::move(lhs)} {}
1118
1098
 
1119
1099
  double value(double x, double) const override { return std::erf(x); }
1120
1100
 
@@ -1165,9 +1145,8 @@ struct ExpExpression final : Expression {
1165
1145
  *
1166
1146
  * @param lhs Unary operator's operand.
1167
1147
  */
1168
- explicit ExpExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1169
- val = std::exp(args[0]->val);
1170
- }
1148
+ explicit constexpr ExpExpression(ExpressionPtr lhs)
1149
+ : Expression{std::move(lhs)} {}
1171
1150
 
1172
1151
  double value(double x, double) const override { return std::exp(x); }
1173
1152
 
@@ -1217,10 +1196,8 @@ struct HypotExpression final : Expression {
1217
1196
  * @param lhs Binary operator's left operand.
1218
1197
  * @param rhs Binary operator's right operand.
1219
1198
  */
1220
- HypotExpression(ExpressionPtr lhs, ExpressionPtr rhs)
1221
- : Expression{std::move(lhs), std::move(rhs)} {
1222
- val = std::hypot(args[0]->val, args[1]->val);
1223
- }
1199
+ constexpr HypotExpression(ExpressionPtr lhs, ExpressionPtr rhs)
1200
+ : Expression{std::move(lhs), std::move(rhs)} {}
1224
1201
 
1225
1202
  double value(double x, double y) const override { return std::hypot(x, y); }
1226
1203
 
@@ -1280,9 +1257,8 @@ struct LogExpression final : Expression {
1280
1257
  *
1281
1258
  * @param lhs Unary operator's operand.
1282
1259
  */
1283
- explicit LogExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1284
- val = std::log(args[0]->val);
1285
- }
1260
+ explicit constexpr LogExpression(ExpressionPtr lhs)
1261
+ : Expression{std::move(lhs)} {}
1286
1262
 
1287
1263
  double value(double x, double) const override { return std::log(x); }
1288
1264
 
@@ -1330,9 +1306,8 @@ struct Log10Expression final : Expression {
1330
1306
  *
1331
1307
  * @param lhs Unary operator's operand.
1332
1308
  */
1333
- explicit Log10Expression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1334
- val = std::log10(args[0]->val);
1335
- }
1309
+ explicit constexpr Log10Expression(ExpressionPtr lhs)
1310
+ : Expression{std::move(lhs)} {}
1336
1311
 
1337
1312
  double value(double x, double) const override { return std::log10(x); }
1338
1313
 
@@ -1387,10 +1362,8 @@ struct PowExpression final : Expression {
1387
1362
  * @param lhs Binary operator's left operand.
1388
1363
  * @param rhs Binary operator's right operand.
1389
1364
  */
1390
- PowExpression(ExpressionPtr lhs, ExpressionPtr rhs)
1391
- : Expression{std::move(lhs), std::move(rhs)} {
1392
- val = std::pow(args[0]->val, args[1]->val);
1393
- }
1365
+ constexpr PowExpression(ExpressionPtr lhs, ExpressionPtr rhs)
1366
+ : Expression{std::move(lhs), std::move(rhs)} {}
1394
1367
 
1395
1368
  double value(double base, double power) const override {
1396
1369
  return std::pow(base, power);
@@ -1489,15 +1462,7 @@ struct SignExpression final : Expression {
1489
1462
  * @param lhs Unary operator's operand.
1490
1463
  */
1491
1464
  explicit constexpr SignExpression(ExpressionPtr lhs)
1492
- : Expression{std::move(lhs)} {
1493
- if (args[0]->val < 0.0) {
1494
- val = -1.0;
1495
- } else if (args[0]->val == 0.0) {
1496
- val = 0.0;
1497
- } else {
1498
- val = 1.0;
1499
- }
1500
- }
1465
+ : Expression{std::move(lhs)} {}
1501
1466
 
1502
1467
  double value(double x, double) const override {
1503
1468
  if (x < 0.0) {
@@ -1552,9 +1517,8 @@ struct SinExpression final : Expression {
1552
1517
  *
1553
1518
  * @param lhs Unary operator's operand.
1554
1519
  */
1555
- explicit SinExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1556
- val = std::sin(args[0]->val);
1557
- }
1520
+ explicit constexpr SinExpression(ExpressionPtr lhs)
1521
+ : Expression{std::move(lhs)} {}
1558
1522
 
1559
1523
  double value(double x, double) const override { return std::sin(x); }
1560
1524
 
@@ -1602,9 +1566,8 @@ struct SinhExpression final : Expression {
1602
1566
  *
1603
1567
  * @param lhs Unary operator's operand.
1604
1568
  */
1605
- explicit SinhExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1606
- val = std::sinh(args[0]->val);
1607
- }
1569
+ explicit constexpr SinhExpression(ExpressionPtr lhs)
1570
+ : Expression{std::move(lhs)} {}
1608
1571
 
1609
1572
  double value(double x, double) const override { return std::sinh(x); }
1610
1573
 
@@ -1652,9 +1615,8 @@ struct SqrtExpression final : Expression {
1652
1615
  *
1653
1616
  * @param lhs Unary operator's operand.
1654
1617
  */
1655
- explicit SqrtExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1656
- val = std::sqrt(args[0]->val);
1657
- }
1618
+ explicit constexpr SqrtExpression(ExpressionPtr lhs)
1619
+ : Expression{std::move(lhs)} {}
1658
1620
 
1659
1621
  double value(double x, double) const override { return std::sqrt(x); }
1660
1622
 
@@ -1704,9 +1666,8 @@ struct TanExpression final : Expression {
1704
1666
  *
1705
1667
  * @param lhs Unary operator's operand.
1706
1668
  */
1707
- explicit TanExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1708
- val = std::tan(args[0]->val);
1709
- }
1669
+ explicit constexpr TanExpression(ExpressionPtr lhs)
1670
+ : Expression{std::move(lhs)} {}
1710
1671
 
1711
1672
  double value(double x, double) const override { return std::tan(x); }
1712
1673
 
@@ -1754,9 +1715,8 @@ struct TanhExpression final : Expression {
1754
1715
  *
1755
1716
  * @param lhs Unary operator's operand.
1756
1717
  */
1757
- explicit TanhExpression(ExpressionPtr lhs) : Expression{std::move(lhs)} {
1758
- val = std::tanh(args[0]->val);
1759
- }
1718
+ explicit constexpr TanhExpression(ExpressionPtr lhs)
1719
+ : Expression{std::move(lhs)} {}
1760
1720
 
1761
1721
  double value(double x, double) const override { return std::tanh(x); }
1762
1722
 
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "sleipnirgroup-jormungandr"
3
3
  description = "A linearity-exploiting sparse nonlinear constrained optimization problem solver that uses the interior-point method."
4
- version = "0.0.1.dev476"
4
+ version = "0.0.1.dev477"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
7
7
  dependencies = [ "matplotlib", "numpy", "scipy" ]