casadi 3.7.2__cp314-none-manylinux2014_x86_64.whl
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.
- casadi/__init__.py +92 -0
- casadi/_casadi.so +0 -0
- casadi/casadi-cli +0 -0
- casadi/casadi.py +54468 -0
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
- casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +65 -0
- casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
- casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
- casadi/cmake/casadi-config-version.cmake +11 -0
- casadi/cmake/casadi-config.cmake +8 -0
- casadi/cmake/casadi-targets-release.cmake +19 -0
- casadi/cmake/casadi-targets.cmake +107 -0
- casadi/cmake/highs/highs-config.cmake +17 -0
- casadi/cmake/highs/highs-targets-release.cmake +28 -0
- casadi/cmake/highs/highs-targets.cmake +117 -0
- casadi/cmake/libzip/libzip-config-version.cmake +43 -0
- casadi/cmake/libzip/libzip-config.cmake +69 -0
- casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
- casadi/cmake/libzip/libzip-targets.cmake +107 -0
- casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
- casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
- casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
- casadi/cmake/osqp/osqp-config.cmake +1 -0
- casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
- casadi/cmake/osqp/osqp-targets.cmake +113 -0
- casadi/cmake/qdldl/qdldl-config.cmake +1 -0
- casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
- casadi/cmake/qdldl/qdldl-targets.cmake +113 -0
- casadi/cmake/sleqp/sleqp-config-version.cmake +65 -0
- casadi/cmake/sleqp/sleqp-config.cmake +1 -0
- casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
- casadi/cmake/sleqp/sleqp-targets.cmake +106 -0
- casadi/highs +0 -0
- casadi/include/alpaqa/accelerators/anderson.hpp +133 -0
- casadi/include/alpaqa/accelerators/internal/anderson-helpers.hpp +92 -0
- casadi/include/alpaqa/accelerators/internal/limited-memory-qr.hpp +295 -0
- casadi/include/alpaqa/accelerators/lbfgs.hpp +244 -0
- casadi/include/alpaqa/accelerators/steihaugcg.hpp +143 -0
- casadi/include/alpaqa/alpaqa.hpp +3 -0
- casadi/include/alpaqa/casadi/CasADiControlProblem.hpp +185 -0
- casadi/include/alpaqa/casadi/CasADiFunctionWrapper.hpp +104 -0
- casadi/include/alpaqa/casadi/CasADiProblem.hpp +102 -0
- casadi/include/alpaqa/casadi-loader-export.hpp +15 -0
- casadi/include/alpaqa/casadi-ocp-loader-export.hpp +15 -0
- casadi/include/alpaqa/config/config.hpp +165 -0
- casadi/include/alpaqa/dl/dl-problem.h +476 -0
- casadi/include/alpaqa/dl/dl-problem.hpp +301 -0
- casadi/include/alpaqa/export.h +43 -0
- casadi/include/alpaqa/export.hpp +30 -0
- casadi/include/alpaqa/implementation/accelerators/lbfgs.tpp +240 -0
- casadi/include/alpaqa/implementation/casadi/CasADiControlProblem.tpp +594 -0
- casadi/include/alpaqa/implementation/casadi/CasADiLoader-util.hpp +50 -0
- casadi/include/alpaqa/implementation/casadi/CasADiProblem.tpp +425 -0
- casadi/include/alpaqa/implementation/inner/directions/panoc/structured-lbfgs.tpp +164 -0
- casadi/include/alpaqa/implementation/inner/panoc-helpers.tpp +389 -0
- casadi/include/alpaqa/implementation/inner/panoc-ocp.tpp +798 -0
- casadi/include/alpaqa/implementation/inner/panoc.tpp +448 -0
- casadi/include/alpaqa/implementation/inner/pantr.tpp +474 -0
- casadi/include/alpaqa/implementation/inner/zerofpr.tpp +482 -0
- casadi/include/alpaqa/implementation/outer/alm.tpp +228 -0
- casadi/include/alpaqa/implementation/outer/internal/alm-helpers.tpp +80 -0
- casadi/include/alpaqa/implementation/params/params.tpp +158 -0
- casadi/include/alpaqa/implementation/problem/ocproblem.tpp +56 -0
- casadi/include/alpaqa/implementation/problem/type-erased-problem.tpp +211 -0
- casadi/include/alpaqa/implementation/util/io/csv.tpp +120 -0
- casadi/include/alpaqa/implementation/util/print.tpp +151 -0
- casadi/include/alpaqa/inner/directions/panoc/anderson.hpp +98 -0
- casadi/include/alpaqa/inner/directions/panoc/lbfgs.hpp +94 -0
- casadi/include/alpaqa/inner/directions/panoc/structured-lbfgs.hpp +146 -0
- casadi/include/alpaqa/inner/directions/panoc/structured-newton.hpp +264 -0
- casadi/include/alpaqa/inner/directions/panoc-direction-update.hpp +96 -0
- casadi/include/alpaqa/inner/directions/panoc-ocp/lqr.hpp +181 -0
- casadi/include/alpaqa/inner/directions/panoc-ocp/ocp-vars.hpp +492 -0
- casadi/include/alpaqa/inner/directions/pantr/newton-tr.hpp +192 -0
- casadi/include/alpaqa/inner/directions/pantr/pantr-direction.hpp +99 -0
- casadi/include/alpaqa/inner/inner-solve-options.hpp +30 -0
- casadi/include/alpaqa/inner/internal/lipschitz.hpp +27 -0
- casadi/include/alpaqa/inner/internal/panoc-helpers.hpp +10 -0
- casadi/include/alpaqa/inner/internal/panoc-stop-crit.hpp +124 -0
- casadi/include/alpaqa/inner/internal/solverstatus.hpp +42 -0
- casadi/include/alpaqa/inner/panoc-ocp.hpp +302 -0
- casadi/include/alpaqa/inner/panoc.hpp +274 -0
- casadi/include/alpaqa/inner/pantr.hpp +284 -0
- casadi/include/alpaqa/inner/zerofpr.hpp +274 -0
- casadi/include/alpaqa/ipopt/ipopt-adapter.hpp +81 -0
- casadi/include/alpaqa/ipopt/ipopt-enums.hpp +35 -0
- casadi/include/alpaqa/lbfgsb/lbfgsb-adapter.hpp +111 -0
- casadi/include/alpaqa/newton-tr-pantr-alm.hpp +27 -0
- casadi/include/alpaqa/outer/alm.hpp +190 -0
- casadi/include/alpaqa/outer/internal/alm-helpers.hpp +10 -0
- casadi/include/alpaqa/panoc-alm.hpp +27 -0
- casadi/include/alpaqa/panoc-anderson-alm.hpp +27 -0
- casadi/include/alpaqa/params/params.hpp +60 -0
- casadi/include/alpaqa/problem/box-constr-problem.hpp +220 -0
- casadi/include/alpaqa/problem/box.hpp +82 -0
- casadi/include/alpaqa/problem/functional-problem.hpp +73 -0
- casadi/include/alpaqa/problem/kkt-error.hpp +43 -0
- casadi/include/alpaqa/problem/ocproblem-counters.hpp +116 -0
- casadi/include/alpaqa/problem/ocproblem.hpp +662 -0
- casadi/include/alpaqa/problem/problem-counters.hpp +116 -0
- casadi/include/alpaqa/problem/problem-with-counters.hpp +141 -0
- casadi/include/alpaqa/problem/type-erased-problem.hpp +874 -0
- casadi/include/alpaqa/problem/unconstr-problem.hpp +37 -0
- casadi/include/alpaqa/structured-panoc-alm.hpp +27 -0
- casadi/include/alpaqa/structured-zerofpr-alm.hpp +27 -0
- casadi/include/alpaqa/util/alloc-check.hpp +23 -0
- casadi/include/alpaqa/util/atomic-stop-signal.hpp +24 -0
- casadi/include/alpaqa/util/check-dim.hpp +64 -0
- casadi/include/alpaqa/util/copyable_unique_ptr.hpp +32 -0
- casadi/include/alpaqa/util/demangled-typename.hpp +9 -0
- casadi/include/alpaqa/util/enumerate.hpp +70 -0
- casadi/include/alpaqa/util/float.hpp +25 -0
- casadi/include/alpaqa/util/index-set.hpp +97 -0
- casadi/include/alpaqa/util/io/csv.hpp +43 -0
- casadi/include/alpaqa/util/iter-adapter.hpp +68 -0
- casadi/include/alpaqa/util/max-history.hpp +47 -0
- casadi/include/alpaqa/util/noop-delete.hpp +15 -0
- casadi/include/alpaqa/util/not-implemented.hpp +12 -0
- casadi/include/alpaqa/util/print.hpp +78 -0
- casadi/include/alpaqa/util/quadmath/quadmath-print.hpp +20 -0
- casadi/include/alpaqa/util/quadmath/quadmath.hpp +137 -0
- casadi/include/alpaqa/util/required-method.hpp +29 -0
- casadi/include/alpaqa/util/ringbuffer.hpp +212 -0
- casadi/include/alpaqa/util/set-intersection.hpp +129 -0
- casadi/include/alpaqa/util/sparse-ops.hpp +164 -0
- casadi/include/alpaqa/util/timed.hpp +22 -0
- casadi/include/alpaqa/util/type-erasure.hpp +568 -0
- casadi/include/alpaqa/util/type-traits.hpp +58 -0
- casadi/include/alpaqa/zerofpr-alm.hpp +27 -0
- casadi/include/alpaqa/zerofpr-anderson-alm.hpp +27 -0
- casadi/include/alpaqa-version.h +8 -0
- casadi/include/blasfeo.h +52 -0
- casadi/include/blasfeo_block_size.h +447 -0
- casadi/include/blasfeo_common.h +274 -0
- casadi/include/blasfeo_d_aux.h +255 -0
- casadi/include/blasfeo_d_aux_ext_dep.h +145 -0
- casadi/include/blasfeo_d_aux_ext_dep_ref.h +84 -0
- casadi/include/blasfeo_d_aux_old.h +75 -0
- casadi/include/blasfeo_d_aux_ref.h +208 -0
- casadi/include/blasfeo_d_aux_test.h +226 -0
- casadi/include/blasfeo_d_blas.h +46 -0
- casadi/include/blasfeo_d_blas_api.h +281 -0
- casadi/include/blasfeo_d_blasfeo_api.h +364 -0
- casadi/include/blasfeo_d_blasfeo_api_ref.h +147 -0
- casadi/include/blasfeo_d_blasfeo_hp_api.h +84 -0
- casadi/include/blasfeo_d_blasfeo_ref_api.h +283 -0
- casadi/include/blasfeo_d_kernel.h +1321 -0
- casadi/include/blasfeo_i_aux_ext_dep.h +69 -0
- casadi/include/blasfeo_m_aux.h +57 -0
- casadi/include/blasfeo_memory.h +62 -0
- casadi/include/blasfeo_naming.h +77 -0
- casadi/include/blasfeo_processor_features.h +88 -0
- casadi/include/blasfeo_s_aux.h +168 -0
- casadi/include/blasfeo_s_aux_ext_dep.h +141 -0
- casadi/include/blasfeo_s_aux_ext_dep_ref.h +82 -0
- casadi/include/blasfeo_s_aux_old.h +64 -0
- casadi/include/blasfeo_s_aux_ref.h +147 -0
- casadi/include/blasfeo_s_aux_test.h +177 -0
- casadi/include/blasfeo_s_blas.h +46 -0
- casadi/include/blasfeo_s_blas_api.h +182 -0
- casadi/include/blasfeo_s_blasfeo_api.h +284 -0
- casadi/include/blasfeo_s_blasfeo_api_ref.h +135 -0
- casadi/include/blasfeo_s_blasfeo_ref_api.h +252 -0
- casadi/include/blasfeo_s_kernel.h +692 -0
- casadi/include/blasfeo_stdlib.h +62 -0
- casadi/include/blasfeo_target.h +73 -0
- casadi/include/blasfeo_timing.h +114 -0
- casadi/include/blasfeo_v_aux_ext_dep.h +83 -0
- casadi/include/casadi/casadi.hpp +31 -0
- casadi/include/casadi/casadi.i +4920 -0
- casadi/include/casadi/casadi_c.h +138 -0
- casadi/include/casadi/casadi_numpy.hpp +97 -0
- casadi/include/casadi/config.h +46 -0
- casadi/include/casadi/core/archiver.hpp +58 -0
- casadi/include/casadi/core/blazing_spline.hpp +47 -0
- casadi/include/casadi/core/calculus.hpp +1805 -0
- casadi/include/casadi/core/callback.hpp +235 -0
- casadi/include/casadi/core/casadi_common.hpp +355 -0
- casadi/include/casadi/core/casadi_enum.hpp +90 -0
- casadi/include/casadi/core/casadi_export.h +43 -0
- casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
- casadi/include/casadi/core/casadi_limits.hpp +104 -0
- casadi/include/casadi/core/casadi_logger.hpp +134 -0
- casadi/include/casadi/core/casadi_meta.hpp +122 -0
- casadi/include/casadi/core/casadi_misc.hpp +1022 -0
- casadi/include/casadi/core/casadi_types.hpp +66 -0
- casadi/include/casadi/core/code_generator.hpp +1071 -0
- casadi/include/casadi/core/conic.hpp +213 -0
- casadi/include/casadi/core/core.hpp +75 -0
- casadi/include/casadi/core/dae_builder.hpp +885 -0
- casadi/include/casadi/core/dm.hpp +90 -0
- casadi/include/casadi/core/dm_fwd.hpp +39 -0
- casadi/include/casadi/core/dple.hpp +138 -0
- casadi/include/casadi/core/exception.hpp +167 -0
- casadi/include/casadi/core/expm.hpp +84 -0
- casadi/include/casadi/core/external.hpp +70 -0
- casadi/include/casadi/core/filesystem.hpp +58 -0
- casadi/include/casadi/core/fmu.hpp +270 -0
- casadi/include/casadi/core/function.hpp +1389 -0
- casadi/include/casadi/core/generic_expression.hpp +760 -0
- casadi/include/casadi/core/generic_matrix.hpp +1805 -0
- casadi/include/casadi/core/generic_shared.hpp +395 -0
- casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
- casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
- casadi/include/casadi/core/generic_type.hpp +314 -0
- casadi/include/casadi/core/global_options.hpp +107 -0
- casadi/include/casadi/core/im.hpp +52 -0
- casadi/include/casadi/core/im_fwd.hpp +35 -0
- casadi/include/casadi/core/importer.hpp +221 -0
- casadi/include/casadi/core/integration_tools.hpp +292 -0
- casadi/include/casadi/core/integrator.hpp +290 -0
- casadi/include/casadi/core/interpolant.hpp +163 -0
- casadi/include/casadi/core/linsol.hpp +171 -0
- casadi/include/casadi/core/matrix_decl.hpp +1423 -0
- casadi/include/casadi/core/matrix_fwd.hpp +37 -0
- casadi/include/casadi/core/mx.hpp +1014 -0
- casadi/include/casadi/core/nlp_builder.hpp +163 -0
- casadi/include/casadi/core/nlp_tools.hpp +124 -0
- casadi/include/casadi/core/nlpsol.hpp +234 -0
- casadi/include/casadi/core/nonzeros.hpp +111 -0
- casadi/include/casadi/core/options.hpp +122 -0
- casadi/include/casadi/core/optistack.hpp +704 -0
- casadi/include/casadi/core/polynomial.hpp +126 -0
- casadi/include/casadi/core/printable.hpp +81 -0
- casadi/include/casadi/core/resource.hpp +107 -0
- casadi/include/casadi/core/rootfinder.hpp +176 -0
- casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
- casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
- casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
- casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
- casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
- casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
- casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
- casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
- casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
- casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
- casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
- casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
- casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
- casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
- casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
- casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
- casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
- casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
- casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
- casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
- casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
- casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
- casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
- casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
- casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
- casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
- casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
- casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
- casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
- casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
- casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
- casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
- casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
- casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +295 -0
- casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
- casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
- casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
- casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
- casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
- casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
- casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
- casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
- casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
- casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
- casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
- casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
- casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
- casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
- casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
- casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
- casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
- casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
- casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
- casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
- casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
- casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
- casadi/include/casadi/core/runtime/shared.hpp +261 -0
- casadi/include/casadi/core/serializer.hpp +264 -0
- casadi/include/casadi/core/serializing_stream.hpp +336 -0
- casadi/include/casadi/core/shared_object.hpp +182 -0
- casadi/include/casadi/core/slice.hpp +149 -0
- casadi/include/casadi/core/sparsity.hpp +1507 -0
- casadi/include/casadi/core/sparsity_interface.hpp +763 -0
- casadi/include/casadi/core/submatrix.hpp +156 -0
- casadi/include/casadi/core/sx.hpp +244 -0
- casadi/include/casadi/core/sx_elem.hpp +376 -0
- casadi/include/casadi/core/sx_fwd.hpp +45 -0
- casadi/include/casadi/core/timing.hpp +98 -0
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/core/xml_file.hpp +93 -0
- casadi/include/casadi/core/xml_node.hpp +212 -0
- casadi/include/casadi/doc.i +62244 -0
- casadi/include/casadi/doc_merged.i +38499 -0
- casadi/include/casadi/mem.h +311 -0
- casadi/include/casadi/valgrind-casadi.supp +649 -0
- casadi/include/casadi/valgrind-python.supp +3886 -0
- casadi/include/coin/BonArraysHelpers.hpp +52 -0
- casadi/include/coin/BonAuxInfos.hpp +110 -0
- casadi/include/coin/BonBabInfos.hpp +57 -0
- casadi/include/coin/BonBabSetupBase.hpp +386 -0
- casadi/include/coin/BonBonminSetup.hpp +95 -0
- casadi/include/coin/BonBranchingTQP.hpp +197 -0
- casadi/include/coin/BonCbc.hpp +127 -0
- casadi/include/coin/BonCbcLpStrategy.hpp +45 -0
- casadi/include/coin/BonCbcNlpStrategy.hpp +98 -0
- casadi/include/coin/BonCbcNode.hpp +133 -0
- casadi/include/coin/BonChooseVariable.hpp +345 -0
- casadi/include/coin/BonCurvBranchingSolver.hpp +77 -0
- casadi/include/coin/BonCutStrengthener.hpp +244 -0
- casadi/include/coin/BonDiver.hpp +424 -0
- casadi/include/coin/BonDummyHeuristic.hpp +53 -0
- casadi/include/coin/BonDummyPump.hpp +43 -0
- casadi/include/coin/BonEcpCuts.hpp +97 -0
- casadi/include/coin/BonExitCodes.hpp +12 -0
- casadi/include/coin/BonFixAndSolveHeuristic.hpp +43 -0
- casadi/include/coin/BonGuessHeuristic.hpp +46 -0
- casadi/include/coin/BonHeuristicDive.hpp +88 -0
- casadi/include/coin/BonHeuristicDiveFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIP.hpp +83 -0
- casadi/include/coin/BonHeuristicDiveMIPFractional.hpp +67 -0
- casadi/include/coin/BonHeuristicDiveMIPVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicDiveVectorLength.hpp +74 -0
- casadi/include/coin/BonHeuristicFPump.hpp +111 -0
- casadi/include/coin/BonHeuristicLocalBranching.hpp +59 -0
- casadi/include/coin/BonHeuristicRINS.hpp +55 -0
- casadi/include/coin/BonIpoptInteriorWarmStarter.hpp +103 -0
- casadi/include/coin/BonIpoptSolver.hpp +188 -0
- casadi/include/coin/BonIpoptWarmStart.hpp +148 -0
- casadi/include/coin/BonLinearCutsGenerator.hpp +75 -0
- casadi/include/coin/BonLocalSolverBasedHeuristic.hpp +102 -0
- casadi/include/coin/BonLpBranchingSolver.hpp +80 -0
- casadi/include/coin/BonMilpRounding.hpp +74 -0
- casadi/include/coin/BonOACutGenerator2.hpp +56 -0
- casadi/include/coin/BonOAMessages.hpp +44 -0
- casadi/include/coin/BonOaDecBase.hpp +297 -0
- casadi/include/coin/BonOaFeasChecker.hpp +73 -0
- casadi/include/coin/BonOaNlpOptim.hpp +116 -0
- casadi/include/coin/BonOsiTMINLPInterface.hpp +1342 -0
- casadi/include/coin/BonOuterApprox.hpp +123 -0
- casadi/include/coin/BonPseudoCosts.hpp +91 -0
- casadi/include/coin/BonPumpForMinlp.hpp +45 -0
- casadi/include/coin/BonQuadCut.hpp +217 -0
- casadi/include/coin/BonQuadRow.hpp +122 -0
- casadi/include/coin/BonRegisteredOptions.hpp +225 -0
- casadi/include/coin/BonStrongBranchingSolver.hpp +69 -0
- casadi/include/coin/BonSubMipSolver.hpp +143 -0
- casadi/include/coin/BonTMINLP.hpp +420 -0
- casadi/include/coin/BonTMINLP2OsiLP.hpp +164 -0
- casadi/include/coin/BonTMINLP2Quad.hpp +191 -0
- casadi/include/coin/BonTMINLP2TNLP.hpp +509 -0
- casadi/include/coin/BonTMINLPLinObj.hpp +216 -0
- casadi/include/coin/BonTMatrix.hpp +167 -0
- casadi/include/coin/BonTNLP2FPNLP.hpp +264 -0
- casadi/include/coin/BonTNLPSolver.hpp +241 -0
- casadi/include/coin/BonTypes.hpp +95 -0
- casadi/include/coin/BonminConfig.h +19 -0
- casadi/include/coin/CbcBranchActual.hpp +26 -0
- casadi/include/coin/CbcBranchAllDifferent.hpp +61 -0
- casadi/include/coin/CbcBranchBase.hpp +79 -0
- casadi/include/coin/CbcBranchCut.hpp +182 -0
- casadi/include/coin/CbcBranchDecision.hpp +135 -0
- casadi/include/coin/CbcBranchDefaultDecision.hpp +101 -0
- casadi/include/coin/CbcBranchDynamic.hpp +210 -0
- casadi/include/coin/CbcBranchLotsize.hpp +249 -0
- casadi/include/coin/CbcBranchToFixLots.hpp +94 -0
- casadi/include/coin/CbcBranchingObject.hpp +245 -0
- casadi/include/coin/CbcClique.hpp +309 -0
- casadi/include/coin/CbcCompare.hpp +46 -0
- casadi/include/coin/CbcCompareActual.hpp +16 -0
- casadi/include/coin/CbcCompareBase.hpp +155 -0
- casadi/include/coin/CbcCompareDefault.hpp +129 -0
- casadi/include/coin/CbcCompareDepth.hpp +48 -0
- casadi/include/coin/CbcCompareEstimate.hpp +48 -0
- casadi/include/coin/CbcCompareObjective.hpp +50 -0
- casadi/include/coin/CbcConfig.h +18 -0
- casadi/include/coin/CbcConsequence.hpp +50 -0
- casadi/include/coin/CbcCountRowCut.hpp +176 -0
- casadi/include/coin/CbcCutGenerator.hpp +550 -0
- casadi/include/coin/CbcCutModifier.hpp +59 -0
- casadi/include/coin/CbcCutSubsetModifier.hpp +69 -0
- casadi/include/coin/CbcDummyBranchingObject.hpp +83 -0
- casadi/include/coin/CbcEventHandler.hpp +250 -0
- casadi/include/coin/CbcFathom.hpp +136 -0
- casadi/include/coin/CbcFathomDynamicProgramming.hpp +177 -0
- casadi/include/coin/CbcFeasibilityBase.hpp +60 -0
- casadi/include/coin/CbcFixVariable.hpp +68 -0
- casadi/include/coin/CbcFollowOn.hpp +207 -0
- casadi/include/coin/CbcFullNodeInfo.hpp +171 -0
- casadi/include/coin/CbcGeneral.hpp +60 -0
- casadi/include/coin/CbcGeneralDepth.hpp +289 -0
- casadi/include/coin/CbcHeuristic.hpp +735 -0
- casadi/include/coin/CbcHeuristicDINS.hpp +98 -0
- casadi/include/coin/CbcHeuristicDW.hpp +374 -0
- casadi/include/coin/CbcHeuristicDive.hpp +198 -0
- casadi/include/coin/CbcHeuristicDiveCoefficient.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveFractional.hpp +52 -0
- casadi/include/coin/CbcHeuristicDiveGuided.hpp +55 -0
- casadi/include/coin/CbcHeuristicDiveLineSearch.hpp +52 -0
- casadi/include/coin/CbcHeuristicDivePseudoCost.hpp +60 -0
- casadi/include/coin/CbcHeuristicDiveVectorLength.hpp +52 -0
- casadi/include/coin/CbcHeuristicFPump.hpp +375 -0
- casadi/include/coin/CbcHeuristicGreedy.hpp +289 -0
- casadi/include/coin/CbcHeuristicLocal.hpp +276 -0
- casadi/include/coin/CbcHeuristicPivotAndFix.hpp +58 -0
- casadi/include/coin/CbcHeuristicRENS.hpp +79 -0
- casadi/include/coin/CbcHeuristicRINS.hpp +106 -0
- casadi/include/coin/CbcHeuristicRandRound.hpp +58 -0
- casadi/include/coin/CbcHeuristicVND.hpp +95 -0
- casadi/include/coin/CbcLinked.hpp +1443 -0
- casadi/include/coin/CbcMessage.hpp +94 -0
- casadi/include/coin/CbcMipStartIO.hpp +29 -0
- casadi/include/coin/CbcModel.hpp +3296 -0
- casadi/include/coin/CbcNWay.hpp +171 -0
- casadi/include/coin/CbcNode.hpp +380 -0
- casadi/include/coin/CbcNodeInfo.hpp +377 -0
- casadi/include/coin/CbcObject.hpp +288 -0
- casadi/include/coin/CbcObjectUpdateData.hpp +63 -0
- casadi/include/coin/CbcOrClpParam.cpp +4321 -0
- casadi/include/coin/CbcOrClpParam.hpp +585 -0
- casadi/include/coin/CbcParam.hpp +338 -0
- casadi/include/coin/CbcPartialNodeInfo.hpp +116 -0
- casadi/include/coin/CbcSOS.hpp +290 -0
- casadi/include/coin/CbcSimpleInteger.hpp +299 -0
- casadi/include/coin/CbcSimpleIntegerDynamicPseudoCost.hpp +619 -0
- casadi/include/coin/CbcSimpleIntegerPseudoCost.hpp +122 -0
- casadi/include/coin/CbcSolver.hpp +460 -0
- casadi/include/coin/CbcStrategy.hpp +269 -0
- casadi/include/coin/CbcSubProblem.hpp +84 -0
- casadi/include/coin/CbcTree.hpp +493 -0
- casadi/include/coin/CbcTreeLocal.hpp +393 -0
- casadi/include/coin/Cbc_C_Interface.h +904 -0
- casadi/include/coin/Cgl012cut.hpp +464 -0
- casadi/include/coin/CglAllDifferent.hpp +115 -0
- casadi/include/coin/CglClique.hpp +312 -0
- casadi/include/coin/CglConfig.h +19 -0
- casadi/include/coin/CglCutGenerator.hpp +133 -0
- casadi/include/coin/CglDuplicateRow.hpp +189 -0
- casadi/include/coin/CglFlowCover.hpp +371 -0
- casadi/include/coin/CglGMI.hpp +364 -0
- casadi/include/coin/CglGMIParam.hpp +313 -0
- casadi/include/coin/CglGomory.hpp +204 -0
- casadi/include/coin/CglKnapsackCover.hpp +310 -0
- casadi/include/coin/CglLandP.hpp +306 -0
- casadi/include/coin/CglLandPValidator.hpp +130 -0
- casadi/include/coin/CglLiftAndProject.hpp +104 -0
- casadi/include/coin/CglMessage.hpp +49 -0
- casadi/include/coin/CglMixedIntegerRounding.hpp +429 -0
- casadi/include/coin/CglMixedIntegerRounding2.hpp +427 -0
- casadi/include/coin/CglOddHole.hpp +160 -0
- casadi/include/coin/CglParam.hpp +93 -0
- casadi/include/coin/CglPreProcess.hpp +600 -0
- casadi/include/coin/CglProbing.hpp +543 -0
- casadi/include/coin/CglRedSplit.hpp +448 -0
- casadi/include/coin/CglRedSplit2.hpp +494 -0
- casadi/include/coin/CglRedSplit2Param.hpp +495 -0
- casadi/include/coin/CglRedSplitParam.hpp +272 -0
- casadi/include/coin/CglResidualCapacity.hpp +240 -0
- casadi/include/coin/CglSimpleRounding.hpp +174 -0
- casadi/include/coin/CglStored.hpp +140 -0
- casadi/include/coin/CglTreeInfo.hpp +216 -0
- casadi/include/coin/CglTwomir.hpp +562 -0
- casadi/include/coin/CglZeroHalf.hpp +133 -0
- casadi/include/coin/ClpAmplObjective.hpp +113 -0
- casadi/include/coin/ClpCholeskyBase.hpp +321 -0
- casadi/include/coin/ClpCholeskyDense.hpp +157 -0
- casadi/include/coin/ClpCholeskyMumps.hpp +65 -0
- casadi/include/coin/ClpCholeskyPardiso.hpp +67 -0
- casadi/include/coin/ClpConfig.h +17 -0
- casadi/include/coin/ClpConstraint.hpp +129 -0
- casadi/include/coin/ClpConstraintAmpl.hpp +109 -0
- casadi/include/coin/ClpConstraintLinear.hpp +113 -0
- casadi/include/coin/ClpConstraintQuadratic.hpp +123 -0
- casadi/include/coin/ClpDualRowDantzig.hpp +72 -0
- casadi/include/coin/ClpDualRowPivot.hpp +136 -0
- casadi/include/coin/ClpDualRowSteepest.hpp +160 -0
- casadi/include/coin/ClpDummyMatrix.hpp +186 -0
- casadi/include/coin/ClpDynamicExampleMatrix.hpp +199 -0
- casadi/include/coin/ClpDynamicMatrix.hpp +420 -0
- casadi/include/coin/ClpEventHandler.hpp +193 -0
- casadi/include/coin/ClpFactorization.hpp +556 -0
- casadi/include/coin/ClpGubDynamicMatrix.hpp +270 -0
- casadi/include/coin/ClpGubMatrix.hpp +373 -0
- casadi/include/coin/ClpInterior.hpp +622 -0
- casadi/include/coin/ClpLinearObjective.hpp +104 -0
- casadi/include/coin/ClpMatrixBase.hpp +561 -0
- casadi/include/coin/ClpMessage.hpp +131 -0
- casadi/include/coin/ClpModel.hpp +1442 -0
- casadi/include/coin/ClpNetworkMatrix.hpp +235 -0
- casadi/include/coin/ClpNode.hpp +364 -0
- casadi/include/coin/ClpNonLinearCost.hpp +432 -0
- casadi/include/coin/ClpObjective.hpp +142 -0
- casadi/include/coin/ClpPEDualRowDantzig.hpp +84 -0
- casadi/include/coin/ClpPEDualRowSteepest.hpp +100 -0
- casadi/include/coin/ClpPEPrimalColumnDantzig.hpp +71 -0
- casadi/include/coin/ClpPEPrimalColumnSteepest.hpp +107 -0
- casadi/include/coin/ClpPESimplex.hpp +231 -0
- casadi/include/coin/ClpPackedMatrix.hpp +778 -0
- casadi/include/coin/ClpParameters.hpp +132 -0
- casadi/include/coin/ClpPdcoBase.hpp +110 -0
- casadi/include/coin/ClpPlusMinusOneMatrix.hpp +565 -0
- casadi/include/coin/ClpPresolve.hpp +379 -0
- casadi/include/coin/ClpPrimalColumnDantzig.hpp +74 -0
- casadi/include/coin/ClpPrimalColumnPivot.hpp +163 -0
- casadi/include/coin/ClpPrimalColumnSteepest.hpp +281 -0
- casadi/include/coin/ClpQuadraticObjective.hpp +161 -0
- casadi/include/coin/ClpSimplex.hpp +2137 -0
- casadi/include/coin/ClpSimplexDual.hpp +304 -0
- casadi/include/coin/ClpSimplexNonlinear.hpp +117 -0
- casadi/include/coin/ClpSimplexOther.hpp +282 -0
- casadi/include/coin/ClpSimplexPrimal.hpp +244 -0
- casadi/include/coin/ClpSolve.hpp +505 -0
- casadi/include/coin/Clp_C_Interface.h +554 -0
- casadi/include/coin/CoinAlloc.hpp +179 -0
- casadi/include/coin/CoinBuild.hpp +159 -0
- casadi/include/coin/CoinDenseFactorization.hpp +452 -0
- casadi/include/coin/CoinDenseVector.hpp +401 -0
- casadi/include/coin/CoinDistance.hpp +51 -0
- casadi/include/coin/CoinError.hpp +274 -0
- casadi/include/coin/CoinFactorization.hpp +2178 -0
- casadi/include/coin/CoinFileIO.hpp +185 -0
- casadi/include/coin/CoinFinite.hpp +37 -0
- casadi/include/coin/CoinFloatEqual.hpp +204 -0
- casadi/include/coin/CoinHelperFunctions.hpp +1270 -0
- casadi/include/coin/CoinIndexedVector.hpp +1437 -0
- casadi/include/coin/CoinLpIO.hpp +836 -0
- casadi/include/coin/CoinMessage.hpp +95 -0
- casadi/include/coin/CoinMessageHandler.hpp +717 -0
- casadi/include/coin/CoinModel.hpp +1214 -0
- casadi/include/coin/CoinModelUseful.hpp +518 -0
- casadi/include/coin/CoinMpsIO.hpp +1142 -0
- casadi/include/coin/CoinOslFactorization.hpp +287 -0
- casadi/include/coin/CoinPackedMatrix.hpp +956 -0
- casadi/include/coin/CoinPackedVector.hpp +670 -0
- casadi/include/coin/CoinPackedVectorBase.hpp +274 -0
- casadi/include/coin/CoinParam.hpp +644 -0
- casadi/include/coin/CoinPragma.hpp +29 -0
- casadi/include/coin/CoinPresolveDoubleton.hpp +76 -0
- casadi/include/coin/CoinPresolveDual.hpp +84 -0
- casadi/include/coin/CoinPresolveDupcol.hpp +259 -0
- casadi/include/coin/CoinPresolveEmpty.hpp +120 -0
- casadi/include/coin/CoinPresolveFixed.hpp +185 -0
- casadi/include/coin/CoinPresolveForcing.hpp +69 -0
- casadi/include/coin/CoinPresolveImpliedFree.hpp +66 -0
- casadi/include/coin/CoinPresolveIsolated.hpp +59 -0
- casadi/include/coin/CoinPresolveMatrix.hpp +1996 -0
- casadi/include/coin/CoinPresolveMonitor.hpp +105 -0
- casadi/include/coin/CoinPresolvePsdebug.hpp +169 -0
- casadi/include/coin/CoinPresolveSingleton.hpp +115 -0
- casadi/include/coin/CoinPresolveSubst.hpp +103 -0
- casadi/include/coin/CoinPresolveTighten.hpp +58 -0
- casadi/include/coin/CoinPresolveTripleton.hpp +69 -0
- casadi/include/coin/CoinPresolveUseless.hpp +63 -0
- casadi/include/coin/CoinPresolveZeros.hpp +65 -0
- casadi/include/coin/CoinRational.hpp +43 -0
- casadi/include/coin/CoinSearchTree.hpp +523 -0
- casadi/include/coin/CoinShallowPackedVector.hpp +149 -0
- casadi/include/coin/CoinSignal.hpp +127 -0
- casadi/include/coin/CoinSimpFactorization.hpp +432 -0
- casadi/include/coin/CoinSmartPtr.hpp +548 -0
- casadi/include/coin/CoinSnapshot.hpp +572 -0
- casadi/include/coin/CoinSort.hpp +753 -0
- casadi/include/coin/CoinStructuredModel.hpp +270 -0
- casadi/include/coin/CoinTime.hpp +350 -0
- casadi/include/coin/CoinTypes.hpp +67 -0
- casadi/include/coin/CoinUtility.hpp +26 -0
- casadi/include/coin/CoinUtilsConfig.h +34 -0
- casadi/include/coin/CoinWarmStart.hpp +56 -0
- casadi/include/coin/CoinWarmStartBasis.hpp +468 -0
- casadi/include/coin/CoinWarmStartDual.hpp +180 -0
- casadi/include/coin/CoinWarmStartPrimalDual.hpp +233 -0
- casadi/include/coin/CoinWarmStartVector.hpp +523 -0
- casadi/include/coin/Coin_C_defines.h +149 -0
- casadi/include/coin/Idiot.hpp +327 -0
- casadi/include/coin/OsiAuxInfo.hpp +261 -0
- casadi/include/coin/OsiBranchingObject.hpp +1097 -0
- casadi/include/coin/OsiCbcSolverInterface.hpp +791 -0
- casadi/include/coin/OsiChooseVariable.hpp +645 -0
- casadi/include/coin/OsiClpSolverInterface.hpp +1604 -0
- casadi/include/coin/OsiColCut.hpp +322 -0
- casadi/include/coin/OsiCollections.hpp +34 -0
- casadi/include/coin/OsiConfig.h +19 -0
- casadi/include/coin/OsiCut.hpp +251 -0
- casadi/include/coin/OsiCuts.hpp +505 -0
- casadi/include/coin/OsiPresolve.hpp +272 -0
- casadi/include/coin/OsiRowCut.hpp +345 -0
- casadi/include/coin/OsiRowCutDebugger.hpp +190 -0
- casadi/include/coin/OsiSolverBranch.hpp +169 -0
- casadi/include/coin/OsiSolverInterface.hpp +2221 -0
- casadi/include/coin/OsiSolverParameters.hpp +144 -0
- casadi/include/coin/OsiUnitTests.hpp +390 -0
- casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
- casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
- casadi/include/coin-or/IpAlgTypes.hpp +64 -0
- casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
- casadi/include/coin-or/IpBlas.hpp +426 -0
- casadi/include/coin-or/IpCachedResults.hpp +897 -0
- casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
- casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
- casadi/include/coin-or/IpCompoundVector.hpp +395 -0
- casadi/include/coin-or/IpConvCheck.hpp +97 -0
- casadi/include/coin-or/IpDebug.hpp +167 -0
- casadi/include/coin-or/IpDenseVector.hpp +626 -0
- casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
- casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
- casadi/include/coin-or/IpException.hpp +156 -0
- casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
- casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
- casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
- casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
- casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
- casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
- casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
- casadi/include/coin-or/IpIpoptData.hpp +966 -0
- casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
- casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
- casadi/include/coin-or/IpIteratesVector.hpp +840 -0
- casadi/include/coin-or/IpIterationOutput.hpp +78 -0
- casadi/include/coin-or/IpJournalist.hpp +573 -0
- casadi/include/coin-or/IpLapack.hpp +227 -0
- casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
- casadi/include/coin-or/IpLineSearch.hpp +106 -0
- casadi/include/coin-or/IpLinearSolvers.h +46 -0
- casadi/include/coin-or/IpMatrix.hpp +434 -0
- casadi/include/coin-or/IpMuUpdate.hpp +77 -0
- casadi/include/coin-or/IpNLP.hpp +306 -0
- casadi/include/coin-or/IpNLPScaling.hpp +582 -0
- casadi/include/coin-or/IpObserver.hpp +422 -0
- casadi/include/coin-or/IpOptionsList.hpp +412 -0
- casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
- casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
- casadi/include/coin-or/IpReferenced.hpp +262 -0
- casadi/include/coin-or/IpRegOptions.hpp +1152 -0
- casadi/include/coin-or/IpReturnCodes.h +23 -0
- casadi/include/coin-or/IpReturnCodes.hpp +18 -0
- casadi/include/coin-or/IpReturnCodes.inc +71 -0
- casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
- casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
- casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
- casadi/include/coin-or/IpSmartPtr.hpp +865 -0
- casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
- casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
- casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
- casadi/include/coin-or/IpStdCInterface.h +428 -0
- casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
- casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
- casadi/include/coin-or/IpSymMatrix.hpp +167 -0
- casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
- casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
- casadi/include/coin-or/IpTNLP.hpp +820 -0
- casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
- casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
- casadi/include/coin-or/IpTaggedObject.hpp +128 -0
- casadi/include/coin-or/IpTimedTask.hpp +218 -0
- casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
- casadi/include/coin-or/IpTripletHelper.hpp +308 -0
- casadi/include/coin-or/IpTypes.h +81 -0
- casadi/include/coin-or/IpTypes.hpp +30 -0
- casadi/include/coin-or/IpUtils.hpp +166 -0
- casadi/include/coin-or/IpVector.hpp +892 -0
- casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
- casadi/include/coin-or/IpoptConfig.h +45 -0
- casadi/include/coin-or/SensAlgorithm.hpp +114 -0
- casadi/include/coin-or/SensApplication.hpp +188 -0
- casadi/include/coin-or/SensBacksolver.hpp +36 -0
- casadi/include/coin-or/SensMeasurement.hpp +56 -0
- casadi/include/coin-or/SensPCalculator.hpp +137 -0
- casadi/include/coin-or/SensRegOp.hpp +21 -0
- casadi/include/coin-or/SensSchurData.hpp +182 -0
- casadi/include/coin-or/SensSchurDriver.hpp +118 -0
- casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
- casadi/include/coin-or/SensStepCalc.hpp +85 -0
- casadi/include/coin-or/SensUtils.hpp +63 -0
- casadi/include/coin-or/metis/defs.h +161 -0
- casadi/include/coin-or/metis/macros.h +143 -0
- casadi/include/coin-or/metis/metis.h +37 -0
- casadi/include/coin-or/metis/proto.h +505 -0
- casadi/include/coin-or/metis/rename.h +418 -0
- casadi/include/coin-or/metis/struct.h +251 -0
- casadi/include/coin-or/mumps/dmumps_c.h +142 -0
- casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
- casadi/include/coin-or/mumps/mumps_compat.h +27 -0
- casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
- casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
- casadi/include/d_blas.h +78 -0
- casadi/include/d_blas_64.h +73 -0
- casadi/include/daqp/api.h +46 -0
- casadi/include/daqp/auxiliary.h +29 -0
- casadi/include/daqp/bnb.h +32 -0
- casadi/include/daqp/codegen.h +18 -0
- casadi/include/daqp/constants.h +92 -0
- casadi/include/daqp/daqp.h +22 -0
- casadi/include/daqp/daqp_prox.h +18 -0
- casadi/include/daqp/factorization.h +18 -0
- casadi/include/daqp/types.h +161 -0
- casadi/include/daqp/utils.h +44 -0
- casadi/include/eigen3/Eigen/Cholesky +45 -0
- casadi/include/eigen3/Eigen/CholmodSupport +48 -0
- casadi/include/eigen3/Eigen/Core +384 -0
- casadi/include/eigen3/Eigen/Dense +7 -0
- casadi/include/eigen3/Eigen/Eigen +2 -0
- casadi/include/eigen3/Eigen/Eigenvalues +60 -0
- casadi/include/eigen3/Eigen/Geometry +59 -0
- casadi/include/eigen3/Eigen/Householder +29 -0
- casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
- casadi/include/eigen3/Eigen/Jacobi +32 -0
- casadi/include/eigen3/Eigen/KLUSupport +41 -0
- casadi/include/eigen3/Eigen/LU +47 -0
- casadi/include/eigen3/Eigen/MetisSupport +35 -0
- casadi/include/eigen3/Eigen/OrderingMethods +70 -0
- casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
- casadi/include/eigen3/Eigen/PardisoSupport +35 -0
- casadi/include/eigen3/Eigen/QR +50 -0
- casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
- casadi/include/eigen3/Eigen/SPQRSupport +34 -0
- casadi/include/eigen3/Eigen/SVD +50 -0
- casadi/include/eigen3/Eigen/Sparse +34 -0
- casadi/include/eigen3/Eigen/SparseCholesky +37 -0
- casadi/include/eigen3/Eigen/SparseCore +69 -0
- casadi/include/eigen3/Eigen/SparseLU +50 -0
- casadi/include/eigen3/Eigen/SparseQR +36 -0
- casadi/include/eigen3/Eigen/StdDeque +27 -0
- casadi/include/eigen3/Eigen/StdList +26 -0
- casadi/include/eigen3/Eigen/StdVector +27 -0
- casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
- casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
- casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
- casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
- casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
- casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
- casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
- casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
- casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
- casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
- casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
- casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
- casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
- casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
- casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
- casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
- casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
- casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
- casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
- casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
- casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
- casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
- casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
- casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
- casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
- casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
- casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
- casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
- casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
- casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
- casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
- casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
- casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
- casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
- casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
- casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
- casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
- casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
- casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
- casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
- casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
- casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
- casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
- casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
- casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
- casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
- casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
- casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
- casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
- casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
- casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
- casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
- casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
- casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
- casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
- casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
- casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
- casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
- casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
- casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
- casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
- casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
- casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
- casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
- casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
- casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
- casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
- casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
- casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
- casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
- casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
- casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
- casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
- casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
- casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
- casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
- casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
- casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
- casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
- casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
- casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
- casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
- casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
- casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
- casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
- casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
- casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
- casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
- casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
- casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
- casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
- casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
- casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
- casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
- casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
- casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
- casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
- casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
- casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
- casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
- casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
- casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
- casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
- casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
- casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
- casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
- casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
- casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
- casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
- casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
- casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
- casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
- casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
- casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
- casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
- casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
- casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
- casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
- casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
- casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
- casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
- casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
- casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
- casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
- casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
- casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
- casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
- casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
- casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
- casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
- casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
- casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
- casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
- casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
- casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
- casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
- casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
- casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
- casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
- casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
- casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
- casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
- casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
- casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
- casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
- casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
- casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
- casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
- casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
- casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
- casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
- casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
- casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
- casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
- casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
- casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
- casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
- casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
- casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
- casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
- casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
- casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
- casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
- casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
- casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
- casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
- casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
- casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
- casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
- casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
- casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
- casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
- casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
- casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
- casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
- casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
- casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
- casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
- casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
- casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
- casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
- casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
- casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
- casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
- casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
- casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
- casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
- casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
- casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
- casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
- casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
- casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
- casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
- casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
- casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
- casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
- casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
- casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
- casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
- casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
- casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
- casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
- casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
- casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
- casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
- casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
- casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
- casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
- casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
- casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
- casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
- casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
- casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
- casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
- casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
- casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
- casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
- casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
- casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
- casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
- casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
- casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
- casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
- casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
- casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
- casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
- casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
- casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
- casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
- casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
- casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
- casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
- casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
- casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
- casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
- casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
- casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
- casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
- casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
- casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
- casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
- casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
- casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
- casadi/include/fatrop/auxiliary/Common.hpp +34 -0
- casadi/include/fatrop/auxiliary/DynamicLib.hpp +34 -0
- casadi/include/fatrop/auxiliary/FatropOptions.hpp +68 -0
- casadi/include/fatrop/auxiliary/FatropVector.hpp +143 -0
- casadi/include/fatrop/auxiliary/LinearAlgebra.hpp +88 -0
- casadi/include/fatrop/auxiliary/VectorUtils.hpp +54 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +496 -0
- casadi/include/fatrop/fatrop.hpp +39 -0
- casadi/include/fatrop/function_evaluation/CasadiCodegen.hpp +104 -0
- casadi/include/fatrop/function_evaluation/FunctionEvaluation.hpp +60 -0
- casadi/include/fatrop/json/json.h +946 -0
- casadi/include/fatrop/ocp/CasadiCApiUserdataWrap.hpp +87 -0
- casadi/include/fatrop/ocp/DuInfEvaluator.hpp +38 -0
- casadi/include/fatrop/ocp/FatropOCP.hpp +161 -0
- casadi/include/fatrop/ocp/FatropOCPBuilder.hpp +52 -0
- casadi/include/fatrop/ocp/FatropOCPResto.hpp +299 -0
- casadi/include/fatrop/ocp/OCP.hpp +82 -0
- casadi/include/fatrop/ocp/OCPAbstract.hpp +254 -0
- casadi/include/fatrop/ocp/OCPAdapter.hpp +197 -0
- casadi/include/fatrop/ocp/OCPCInterface.h +289 -0
- casadi/include/fatrop/ocp/OCPDims.hpp +60 -0
- casadi/include/fatrop/ocp/OCPInitializer.hpp +41 -0
- casadi/include/fatrop/ocp/OCPKKT.hpp +69 -0
- casadi/include/fatrop/ocp/OCPLSRiccati.hpp +198 -0
- casadi/include/fatrop/ocp/OCPLSScaler.hpp +66 -0
- casadi/include/fatrop/ocp/OCPLinearSolver.hpp +75 -0
- casadi/include/fatrop/ocp/OCPNoScaling.hpp +42 -0
- casadi/include/fatrop/ocp/OCPScalingMethod.hpp +42 -0
- casadi/include/fatrop/ocp/StageOCP.hpp +592 -0
- casadi/include/fatrop/ocp/StageOCPApplication.hpp +242 -0
- casadi/include/fatrop/ocp/StageOCPExpressions.hpp +182 -0
- casadi/include/fatrop/ocp/UStageEvalAbstract.hpp +168 -0
- casadi/include/fatrop/ocp/UStageOCPImpl.hpp +152 -0
- casadi/include/fatrop/quasi_newton/bfgs.hpp +159 -0
- casadi/include/fatrop/solver/AlgBuilder.hpp +76 -0
- casadi/include/fatrop/solver/AlgStrategy.hpp +33 -0
- casadi/include/fatrop/solver/FatropAlg.hpp +121 -0
- casadi/include/fatrop/solver/FatropData.hpp +188 -0
- casadi/include/fatrop/solver/FatropOptions.hpp +95 -0
- casadi/include/fatrop/solver/FatropPrinter.hpp +65 -0
- casadi/include/fatrop/solver/FatropStats.hpp +63 -0
- casadi/include/fatrop/solver/Filter.hpp +54 -0
- casadi/include/fatrop/solver/IterationData.hpp +56 -0
- casadi/include/fatrop/solver/LineSearch.hpp +86 -0
- casadi/include/fatrop/solver/NLPL1.hpp +263 -0
- casadi/include/fatrop/templates/NLPAlg.hpp +104 -0
- casadi/include/ghc/filesystem.hpp +6083 -0
- casadi/include/ghc/fs_fwd.hpp +38 -0
- casadi/include/ghc/fs_impl.hpp +35 -0
- casadi/include/ghc/fs_std.hpp +60 -0
- casadi/include/ghc/fs_std_fwd.hpp +63 -0
- casadi/include/ghc/fs_std_impl.hpp +46 -0
- casadi/include/highs/HConfig.h +23 -0
- casadi/include/highs/Highs.h +1703 -0
- casadi/include/highs/filereaderlp/builder.hpp +25 -0
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/filereaderlp/model.hpp +68 -0
- casadi/include/highs/filereaderlp/reader.hpp +10 -0
- casadi/include/highs/interfaces/highs_c_api.h +2456 -0
- casadi/include/highs/io/Filereader.h +45 -0
- casadi/include/highs/io/FilereaderEms.h +30 -0
- casadi/include/highs/io/FilereaderLp.h +51 -0
- casadi/include/highs/io/FilereaderMps.h +27 -0
- casadi/include/highs/io/HMPSIO.h +78 -0
- casadi/include/highs/io/HMpsFF.h +238 -0
- casadi/include/highs/io/HighsIO.h +114 -0
- casadi/include/highs/io/LoadOptions.h +24 -0
- casadi/include/highs/ipm/IpxSolution.h +32 -0
- casadi/include/highs/ipm/IpxWrapper.h +70 -0
- casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
- casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
- casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
- casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
- casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
- casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
- casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
- casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
- casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
- casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
- casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
- casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
- casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
- casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
- casadi/include/highs/ipm/ipx/basis.h +351 -0
- casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
- casadi/include/highs/ipm/ipx/control.h +164 -0
- casadi/include/highs/ipm/ipx/crossover.h +157 -0
- casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
- casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
- casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
- casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
- casadi/include/highs/ipm/ipx/info.h +27 -0
- casadi/include/highs/ipm/ipx/ipm.h +94 -0
- casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
- casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
- casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
- casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
- casadi/include/highs/ipm/ipx/ipx_parameters.h +76 -0
- casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
- casadi/include/highs/ipm/ipx/iterate.h +328 -0
- casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
- casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
- casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
- casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
- casadi/include/highs/ipm/ipx/lp_solver.h +202 -0
- casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
- casadi/include/highs/ipm/ipx/lu_update.h +129 -0
- casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
- casadi/include/highs/ipm/ipx/model.h +413 -0
- casadi/include/highs/ipm/ipx/multistream.h +52 -0
- casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
- casadi/include/highs/ipm/ipx/power_method.h +44 -0
- casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
- casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
- casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
- casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
- casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
- casadi/include/highs/ipm/ipx/timer.h +24 -0
- casadi/include/highs/ipm/ipx/utils.h +39 -0
- casadi/include/highs/lp_data/HConst.h +320 -0
- casadi/include/highs/lp_data/HStruct.h +182 -0
- casadi/include/highs/lp_data/HighsAnalysis.h +23 -0
- casadi/include/highs/lp_data/HighsCallback.h +47 -0
- casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
- casadi/include/highs/lp_data/HighsDebug.h +34 -0
- casadi/include/highs/lp_data/HighsIis.h +62 -0
- casadi/include/highs/lp_data/HighsInfo.h +329 -0
- casadi/include/highs/lp_data/HighsInfoDebug.h +27 -0
- casadi/include/highs/lp_data/HighsLp.h +100 -0
- casadi/include/highs/lp_data/HighsLpSolverObject.h +45 -0
- casadi/include/highs/lp_data/HighsLpUtils.h +298 -0
- casadi/include/highs/lp_data/HighsModelUtils.h +112 -0
- casadi/include/highs/lp_data/HighsOptions.h +1469 -0
- casadi/include/highs/lp_data/HighsRanging.h +43 -0
- casadi/include/highs/lp_data/HighsSolution.h +144 -0
- casadi/include/highs/lp_data/HighsSolutionDebug.h +87 -0
- casadi/include/highs/lp_data/HighsSolve.h +23 -0
- casadi/include/highs/lp_data/HighsStatus.h +29 -0
- casadi/include/highs/mip/HighsCliqueTable.h +318 -0
- casadi/include/highs/mip/HighsConflictPool.h +109 -0
- casadi/include/highs/mip/HighsCutGeneration.h +106 -0
- casadi/include/highs/mip/HighsCutPool.h +168 -0
- casadi/include/highs/mip/HighsDebugSol.h +132 -0
- casadi/include/highs/mip/HighsDomain.h +653 -0
- casadi/include/highs/mip/HighsDomainChange.h +48 -0
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +104 -0
- casadi/include/highs/mip/HighsGFkSolve.h +438 -0
- casadi/include/highs/mip/HighsImplications.h +170 -0
- casadi/include/highs/mip/HighsLpAggregator.h +50 -0
- casadi/include/highs/mip/HighsLpRelaxation.h +357 -0
- casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
- casadi/include/highs/mip/HighsMipSolver.h +112 -0
- casadi/include/highs/mip/HighsMipSolverData.h +297 -0
- casadi/include/highs/mip/HighsModkSeparator.h +60 -0
- casadi/include/highs/mip/HighsNodeQueue.h +311 -0
- casadi/include/highs/mip/HighsObjectiveFunction.h +71 -0
- casadi/include/highs/mip/HighsPathSeparator.h +39 -0
- casadi/include/highs/mip/HighsPrimalHeuristics.h +70 -0
- casadi/include/highs/mip/HighsPseudocost.h +360 -0
- casadi/include/highs/mip/HighsRedcostFixing.h +42 -0
- casadi/include/highs/mip/HighsSearch.h +241 -0
- casadi/include/highs/mip/HighsSeparation.h +41 -0
- casadi/include/highs/mip/HighsSeparator.h +52 -0
- casadi/include/highs/mip/HighsTableauSeparator.h +34 -0
- casadi/include/highs/mip/HighsTransformedLp.h +63 -0
- casadi/include/highs/mip/MipTimer.h +471 -0
- casadi/include/highs/model/HighsHessian.h +54 -0
- casadi/include/highs/model/HighsHessianUtils.h +49 -0
- casadi/include/highs/model/HighsModel.h +52 -0
- casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
- casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
- casadi/include/highs/parallel/HighsCombinable.h +121 -0
- casadi/include/highs/parallel/HighsMutex.h +129 -0
- casadi/include/highs/parallel/HighsParallel.h +133 -0
- casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
- casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
- casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
- casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
- casadi/include/highs/parallel/HighsTask.h +175 -0
- casadi/include/highs/parallel/HighsTaskExecutor.h +222 -0
- casadi/include/highs/pdlp/CupdlpWrapper.h +104 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +433 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1807 -0
- casadi/include/highs/pdqsort/pdqsort.h +532 -0
- casadi/include/highs/presolve/HPresolve.h +405 -0
- casadi/include/highs/presolve/HPresolveAnalysis.h +51 -0
- casadi/include/highs/presolve/HighsPostsolveStack.h +940 -0
- casadi/include/highs/presolve/HighsSymmetry.h +281 -0
- casadi/include/highs/presolve/ICrash.h +124 -0
- casadi/include/highs/presolve/ICrashUtil.h +62 -0
- casadi/include/highs/presolve/ICrashX.h +23 -0
- casadi/include/highs/presolve/PresolveComponent.h +90 -0
- casadi/include/highs/qpsolver/a_asm.hpp +70 -0
- casadi/include/highs/qpsolver/a_quass.hpp +15 -0
- casadi/include/highs/qpsolver/basis.hpp +152 -0
- casadi/include/highs/qpsolver/crashsolution.hpp +13 -0
- casadi/include/highs/qpsolver/dantzigpricing.hpp +73 -0
- casadi/include/highs/qpsolver/devexpricing.hpp +101 -0
- casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
- casadi/include/highs/qpsolver/factor.hpp +401 -0
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +107 -0
- casadi/include/highs/qpsolver/feasibility_highs.hpp +294 -0
- casadi/include/highs/qpsolver/gradient.hpp +39 -0
- casadi/include/highs/qpsolver/instance.hpp +63 -0
- casadi/include/highs/qpsolver/matrix.hpp +335 -0
- casadi/include/highs/qpsolver/perturbation.hpp +8 -0
- casadi/include/highs/qpsolver/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/qpvector.hpp +235 -0
- casadi/include/highs/qpsolver/quass.hpp +20 -0
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/scaling.hpp +8 -0
- casadi/include/highs/qpsolver/settings.hpp +69 -0
- casadi/include/highs/qpsolver/snippets.hpp +29 -0
- casadi/include/highs/qpsolver/statistics.hpp +23 -0
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +166 -0
- casadi/include/highs/simplex/HApp.h +476 -0
- casadi/include/highs/simplex/HEkk.h +416 -0
- casadi/include/highs/simplex/HEkkDual.h +513 -0
- casadi/include/highs/simplex/HEkkDualRHS.h +134 -0
- casadi/include/highs/simplex/HEkkDualRow.h +201 -0
- casadi/include/highs/simplex/HEkkPrimal.h +191 -0
- casadi/include/highs/simplex/HSimplex.h +42 -0
- casadi/include/highs/simplex/HSimplexDebug.h +48 -0
- casadi/include/highs/simplex/HSimplexNla.h +158 -0
- casadi/include/highs/simplex/HSimplexReport.h +21 -0
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +500 -0
- casadi/include/highs/simplex/SimplexConst.h +273 -0
- casadi/include/highs/simplex/SimplexStruct.h +261 -0
- casadi/include/highs/simplex/SimplexTimer.h +409 -0
- casadi/include/highs/test/DevKkt.h +143 -0
- casadi/include/highs/test/KktCh2.h +79 -0
- casadi/include/highs/util/FactorTimer.h +199 -0
- casadi/include/highs/util/HFactor.h +587 -0
- casadi/include/highs/util/HFactorConst.h +81 -0
- casadi/include/highs/util/HFactorDebug.h +55 -0
- casadi/include/highs/util/HSet.h +89 -0
- casadi/include/highs/util/HVector.h +22 -0
- casadi/include/highs/util/HVectorBase.h +102 -0
- casadi/include/highs/util/HighsCDouble.h +319 -0
- casadi/include/highs/util/HighsComponent.h +53 -0
- casadi/include/highs/util/HighsDataStack.h +83 -0
- casadi/include/highs/util/HighsDisjointSets.h +107 -0
- casadi/include/highs/util/HighsHash.h +1274 -0
- casadi/include/highs/util/HighsHashTree.h +1447 -0
- casadi/include/highs/util/HighsInt.h +36 -0
- casadi/include/highs/util/HighsIntegers.h +212 -0
- casadi/include/highs/util/HighsLinearSumBounds.h +157 -0
- casadi/include/highs/util/HighsMatrixPic.h +37 -0
- casadi/include/highs/util/HighsMatrixSlice.h +561 -0
- casadi/include/highs/util/HighsMatrixUtils.h +54 -0
- casadi/include/highs/util/HighsMemoryAllocation.h +63 -0
- casadi/include/highs/util/HighsRandom.h +242 -0
- casadi/include/highs/util/HighsRbTree.h +452 -0
- casadi/include/highs/util/HighsSort.h +131 -0
- casadi/include/highs/util/HighsSparseMatrix.h +150 -0
- casadi/include/highs/util/HighsSparseVectorSum.h +95 -0
- casadi/include/highs/util/HighsSplay.h +135 -0
- casadi/include/highs/util/HighsTimer.h +381 -0
- casadi/include/highs/util/HighsUtils.h +217 -0
- casadi/include/highs/util/stringutil.h +46 -0
- casadi/include/highs/zstr/strict_fstream.hpp +237 -0
- casadi/include/highs/zstr/zstr.hpp +472 -0
- casadi/include/highs_export.h +43 -0
- casadi/include/hpipm_aux_mem.h +52 -0
- casadi/include/hpipm_aux_string.h +50 -0
- casadi/include/hpipm_common.h +76 -0
- casadi/include/hpipm_d_cast_qcqp.h +71 -0
- casadi/include/hpipm_d_cond.h +135 -0
- casadi/include/hpipm_d_cond_aux.h +92 -0
- casadi/include/hpipm_d_cond_qcqp.h +129 -0
- casadi/include/hpipm_d_core_qp_ipm.h +101 -0
- casadi/include/hpipm_d_core_qp_ipm_aux.h +68 -0
- casadi/include/hpipm_d_dense_qcqp.h +199 -0
- casadi/include/hpipm_d_dense_qcqp_dim.h +98 -0
- casadi/include/hpipm_d_dense_qcqp_ipm.h +193 -0
- casadi/include/hpipm_d_dense_qcqp_res.h +108 -0
- casadi/include/hpipm_d_dense_qcqp_sol.h +85 -0
- casadi/include/hpipm_d_dense_qcqp_utils.h +82 -0
- casadi/include/hpipm_d_dense_qp.h +207 -0
- casadi/include/hpipm_d_dense_qp_dim.h +92 -0
- casadi/include/hpipm_d_dense_qp_ipm.h +260 -0
- casadi/include/hpipm_d_dense_qp_kkt.h +72 -0
- casadi/include/hpipm_d_dense_qp_res.h +106 -0
- casadi/include/hpipm_d_dense_qp_sol.h +94 -0
- casadi/include/hpipm_d_dense_qp_utils.h +83 -0
- casadi/include/hpipm_d_ocp_qcqp.h +322 -0
- casadi/include/hpipm_d_ocp_qcqp_dim.h +130 -0
- casadi/include/hpipm_d_ocp_qcqp_ipm.h +192 -0
- casadi/include/hpipm_d_ocp_qcqp_red.h +118 -0
- casadi/include/hpipm_d_ocp_qcqp_res.h +115 -0
- casadi/include/hpipm_d_ocp_qcqp_sol.h +114 -0
- casadi/include/hpipm_d_ocp_qcqp_utils.h +81 -0
- casadi/include/hpipm_d_ocp_qp.h +306 -0
- casadi/include/hpipm_d_ocp_qp_dim.h +142 -0
- casadi/include/hpipm_d_ocp_qp_ipm.h +252 -0
- casadi/include/hpipm_d_ocp_qp_kkt.h +66 -0
- casadi/include/hpipm_d_ocp_qp_red.h +117 -0
- casadi/include/hpipm_d_ocp_qp_res.h +113 -0
- casadi/include/hpipm_d_ocp_qp_sol.h +128 -0
- casadi/include/hpipm_d_ocp_qp_utils.h +82 -0
- casadi/include/hpipm_d_part_cond.h +115 -0
- casadi/include/hpipm_d_part_cond_qcqp.h +106 -0
- casadi/include/hpipm_d_sim_erk.h +122 -0
- casadi/include/hpipm_d_sim_rk.h +71 -0
- casadi/include/hpipm_d_tree_ocp_qcqp.h +213 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_dim.h +117 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_ipm.h +191 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_res.h +109 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_sol.h +99 -0
- casadi/include/hpipm_d_tree_ocp_qcqp_utils.h +84 -0
- casadi/include/hpipm_d_tree_ocp_qp.h +195 -0
- casadi/include/hpipm_d_tree_ocp_qp_dim.h +111 -0
- casadi/include/hpipm_d_tree_ocp_qp_ipm.h +209 -0
- casadi/include/hpipm_d_tree_ocp_qp_kkt.h +52 -0
- casadi/include/hpipm_d_tree_ocp_qp_res.h +107 -0
- casadi/include/hpipm_d_tree_ocp_qp_sol.h +100 -0
- casadi/include/hpipm_d_tree_ocp_qp_utils.h +83 -0
- casadi/include/hpipm_m_dense_qp.h +68 -0
- casadi/include/hpipm_m_dense_qp_dim.h +68 -0
- casadi/include/hpipm_m_ocp_qp.h +49 -0
- casadi/include/hpipm_m_ocp_qp_ipm_hard.h +115 -0
- casadi/include/hpipm_m_ocp_qp_kkt.h +45 -0
- casadi/include/hpipm_s_cast_qcqp.h +72 -0
- casadi/include/hpipm_s_cond.h +137 -0
- casadi/include/hpipm_s_cond_aux.h +92 -0
- casadi/include/hpipm_s_cond_qcqp.h +130 -0
- casadi/include/hpipm_s_core_qp_ipm.h +101 -0
- casadi/include/hpipm_s_core_qp_ipm_aux.h +68 -0
- casadi/include/hpipm_s_dense_qcqp.h +200 -0
- casadi/include/hpipm_s_dense_qcqp_dim.h +99 -0
- casadi/include/hpipm_s_dense_qcqp_ipm.h +204 -0
- casadi/include/hpipm_s_dense_qcqp_res.h +109 -0
- casadi/include/hpipm_s_dense_qcqp_sol.h +86 -0
- casadi/include/hpipm_s_dense_qcqp_utils.h +83 -0
- casadi/include/hpipm_s_dense_qp.h +207 -0
- casadi/include/hpipm_s_dense_qp_dim.h +94 -0
- casadi/include/hpipm_s_dense_qp_ipm.h +260 -0
- casadi/include/hpipm_s_dense_qp_kkt.h +72 -0
- casadi/include/hpipm_s_dense_qp_res.h +107 -0
- casadi/include/hpipm_s_dense_qp_sol.h +94 -0
- casadi/include/hpipm_s_dense_qp_utils.h +84 -0
- casadi/include/hpipm_s_ocp_qcqp.h +322 -0
- casadi/include/hpipm_s_ocp_qcqp_dim.h +131 -0
- casadi/include/hpipm_s_ocp_qcqp_ipm.h +193 -0
- casadi/include/hpipm_s_ocp_qcqp_red.h +119 -0
- casadi/include/hpipm_s_ocp_qcqp_res.h +116 -0
- casadi/include/hpipm_s_ocp_qcqp_sol.h +115 -0
- casadi/include/hpipm_s_ocp_qcqp_utils.h +82 -0
- casadi/include/hpipm_s_ocp_qp.h +306 -0
- casadi/include/hpipm_s_ocp_qp_dim.h +141 -0
- casadi/include/hpipm_s_ocp_qp_ipm.h +252 -0
- casadi/include/hpipm_s_ocp_qp_kkt.h +66 -0
- casadi/include/hpipm_s_ocp_qp_red.h +118 -0
- casadi/include/hpipm_s_ocp_qp_res.h +115 -0
- casadi/include/hpipm_s_ocp_qp_sol.h +128 -0
- casadi/include/hpipm_s_ocp_qp_utils.h +83 -0
- casadi/include/hpipm_s_part_cond.h +115 -0
- casadi/include/hpipm_s_part_cond_qcqp.h +107 -0
- casadi/include/hpipm_s_sim_erk.h +121 -0
- casadi/include/hpipm_s_sim_rk.h +72 -0
- casadi/include/hpipm_s_tree_ocp_qcqp.h +213 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_dim.h +118 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_ipm.h +192 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_res.h +110 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_sol.h +97 -0
- casadi/include/hpipm_s_tree_ocp_qcqp_utils.h +85 -0
- casadi/include/hpipm_s_tree_ocp_qp.h +196 -0
- casadi/include/hpipm_s_tree_ocp_qp_dim.h +111 -0
- casadi/include/hpipm_s_tree_ocp_qp_ipm.h +208 -0
- casadi/include/hpipm_s_tree_ocp_qp_kkt.h +54 -0
- casadi/include/hpipm_s_tree_ocp_qp_res.h +108 -0
- casadi/include/hpipm_s_tree_ocp_qp_sol.h +98 -0
- casadi/include/hpipm_s_tree_ocp_qp_utils.h +84 -0
- casadi/include/hpipm_scenario_tree.h +70 -0
- casadi/include/hpipm_timing.h +67 -0
- casadi/include/hpipm_tree.h +76 -0
- casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
- casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
- casadi/include/licenses/alpaqa-external/LICENSE +165 -0
- casadi/include/licenses/blasfeo-external/LICENSE.txt +26 -0
- casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
- casadi/include/licenses/bonmin-external/LICENSE +3 -0
- casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
- casadi/include/licenses/casadi-sundials/LICENSE +64 -0
- casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
- casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
- casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
- casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
- casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
- casadi/include/licenses/cbc-external/LICENSE +245 -0
- casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
- casadi/include/licenses/cgl-external/LICENSE +245 -0
- casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
- casadi/include/licenses/clp-external/LICENSE +245 -0
- casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
- casadi/include/licenses/coinutils-external/LICENSE +245 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/fatrop-external/LICENSE.txt +165 -0
- casadi/include/licenses/fatrop-external/external/blasfeo/LICENSE.txt +26 -0
- casadi/include/licenses/fatrop-external/external/pybind11/LICENSE +29 -0
- casadi/include/licenses/ghc-external/LICENSE +19 -0
- casadi/include/licenses/highs-external/LICENSE.txt +21 -0
- casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
- casadi/include/licenses/hpipm-external/LICENSE.txt +26 -0
- casadi/include/licenses/ipopt-external/LICENSE +260 -0
- casadi/include/licenses/libz-external/LICENSE +22 -0
- casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
- casadi/include/licenses/libzip-external/LICENSE +31 -0
- casadi/include/licenses/metis-external/LICENSE +87 -0
- casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
- casadi/include/licenses/mockups-external/LICENSE +21 -0
- casadi/include/licenses/mumps-external/LICENSE +87 -0
- casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
- casadi/include/licenses/openblas-external/LICENSE +29 -0
- casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
- casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
- casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
- casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
- casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
- casadi/include/licenses/openblas-external/test/LICENSE +23 -0
- casadi/include/licenses/osi-external/LICENSE +245 -0
- casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
- casadi/include/licenses/osqp-external/LICENSE +201 -0
- casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
- casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
- casadi/include/licenses/proxqp-external/LICENSE +25 -0
- casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
- casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
- casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
- casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
- casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
- casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
- casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
- casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
- casadi/include/licenses/sleqp-external/LICENSE +165 -0
- casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
- casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
- casadi/include/licenses/trlib-external/LICENSE +21 -0
- casadi/include/openblas/cblas.h +411 -0
- casadi/include/openblas/f77blas.h +796 -0
- casadi/include/openblas/lapack.h +22997 -0
- casadi/include/openblas/lapacke.h +12665 -0
- casadi/include/openblas/lapacke_config.h +119 -0
- casadi/include/openblas/lapacke_example_aux.h +9 -0
- casadi/include/openblas/lapacke_mangling.h +17 -0
- casadi/include/openblas/lapacke_utils.h +582 -0
- casadi/include/openblas/openblas/lapacke_mangling.h +17 -0
- casadi/include/openblas/openblas_config.h +139 -0
- casadi/include/osqp/auxil.h +181 -0
- casadi/include/osqp/constants.h +128 -0
- casadi/include/osqp/cs.h +180 -0
- casadi/include/osqp/ctrlc.h +56 -0
- casadi/include/osqp/error.h +38 -0
- casadi/include/osqp/glob_opts.h +167 -0
- casadi/include/osqp/lin_alg.h +216 -0
- casadi/include/osqp/lin_sys.h +54 -0
- casadi/include/osqp/osqp.h +430 -0
- casadi/include/osqp/osqp_configure.h +49 -0
- casadi/include/osqp/polish.h +25 -0
- casadi/include/osqp/proj.h +37 -0
- casadi/include/osqp/scaling.h +44 -0
- casadi/include/osqp/types.h +326 -0
- casadi/include/osqp/util.h +222 -0
- casadi/include/osqp/version.h +9 -0
- casadi/include/proxsuite/config.hpp +68 -0
- casadi/include/proxsuite/deprecated.hpp +56 -0
- casadi/include/proxsuite/fwd.hpp +52 -0
- casadi/include/proxsuite/helpers/common.hpp +70 -0
- casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
- casadi/include/proxsuite/helpers/optional.hpp +46 -0
- casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
- casadi/include/proxsuite/helpers/version.hpp +39 -0
- casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
- casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
- casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
- casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
- casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
- casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
- casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
- casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
- casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
- casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
- casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
- casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
- casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
- casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
- casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
- casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
- casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
- casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
- casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
- casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
- casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
- casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
- casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
- casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
- casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
- casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
- casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
- casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
- casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
- casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
- casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
- casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
- casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
- casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
- casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
- casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
- casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
- casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
- casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
- casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
- casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
- casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
- casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
- casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
- casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
- casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
- casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
- casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
- casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
- casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
- casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
- casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
- casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
- casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
- casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
- casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
- casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
- casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
- casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
- casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
- casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
- casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
- casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
- casadi/include/proxsuite/proxqp/results.hpp +212 -0
- casadi/include/proxsuite/proxqp/settings.hpp +302 -0
- casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
- casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
- casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
- casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
- casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
- casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
- casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
- casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
- casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
- casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
- casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
- casadi/include/proxsuite/proxqp/status.hpp +46 -0
- casadi/include/proxsuite/proxqp/timings.hpp +101 -0
- casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
- casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
- casadi/include/proxsuite/serialization/archive.hpp +231 -0
- casadi/include/proxsuite/serialization/eigen.hpp +107 -0
- casadi/include/proxsuite/serialization/model.hpp +34 -0
- casadi/include/proxsuite/serialization/results.hpp +74 -0
- casadi/include/proxsuite/serialization/settings.hpp +60 -0
- casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
- casadi/include/proxsuite/warning.hpp +35 -0
- casadi/include/qdldl/qdldl.h +169 -0
- casadi/include/qdldl/qdldl_types.h +23 -0
- casadi/include/s_blas.h +78 -0
- casadi/include/s_blas_64.h +73 -0
- casadi/include/simde/arm/neon/aba.h +208 -0
- casadi/include/simde/arm/neon/abd.h +384 -0
- casadi/include/simde/arm/neon/abdl.h +147 -0
- casadi/include/simde/arm/neon/abs.h +408 -0
- casadi/include/simde/arm/neon/add.h +681 -0
- casadi/include/simde/arm/neon/addl.h +127 -0
- casadi/include/simde/arm/neon/addl_high.h +127 -0
- casadi/include/simde/arm/neon/addlv.h +317 -0
- casadi/include/simde/arm/neon/addv.h +447 -0
- casadi/include/simde/arm/neon/addw.h +222 -0
- casadi/include/simde/arm/neon/addw_high.h +193 -0
- casadi/include/simde/arm/neon/and.h +552 -0
- casadi/include/simde/arm/neon/bic.h +472 -0
- casadi/include/simde/arm/neon/bsl.h +448 -0
- casadi/include/simde/arm/neon/cagt.h +168 -0
- casadi/include/simde/arm/neon/ceq.h +711 -0
- casadi/include/simde/arm/neon/ceqz.h +335 -0
- casadi/include/simde/arm/neon/cge.h +677 -0
- casadi/include/simde/arm/neon/cgez.h +378 -0
- casadi/include/simde/arm/neon/cgt.h +686 -0
- casadi/include/simde/arm/neon/cgtz.h +380 -0
- casadi/include/simde/arm/neon/cle.h +677 -0
- casadi/include/simde/arm/neon/clez.h +378 -0
- casadi/include/simde/arm/neon/cls.h +148 -0
- casadi/include/simde/arm/neon/clt.h +679 -0
- casadi/include/simde/arm/neon/cltz.h +263 -0
- casadi/include/simde/arm/neon/clz.h +423 -0
- casadi/include/simde/arm/neon/cnt.h +145 -0
- casadi/include/simde/arm/neon/combine.h +343 -0
- casadi/include/simde/arm/neon/create.h +186 -0
- casadi/include/simde/arm/neon/cvt.h +492 -0
- casadi/include/simde/arm/neon/dot.h +171 -0
- casadi/include/simde/arm/neon/dot_lane.h +196 -0
- casadi/include/simde/arm/neon/dup_lane.h +702 -0
- casadi/include/simde/arm/neon/dup_n.h +534 -0
- casadi/include/simde/arm/neon/eor.h +552 -0
- casadi/include/simde/arm/neon/ext.h +887 -0
- casadi/include/simde/arm/neon/get_high.h +260 -0
- casadi/include/simde/arm/neon/get_lane.h +499 -0
- casadi/include/simde/arm/neon/get_low.h +276 -0
- casadi/include/simde/arm/neon/hadd.h +287 -0
- casadi/include/simde/arm/neon/hsub.h +287 -0
- casadi/include/simde/arm/neon/ld1.h +399 -0
- casadi/include/simde/arm/neon/ld3.h +609 -0
- casadi/include/simde/arm/neon/ld4.h +448 -0
- casadi/include/simde/arm/neon/max.h +614 -0
- casadi/include/simde/arm/neon/maxnm.h +215 -0
- casadi/include/simde/arm/neon/maxv.h +400 -0
- casadi/include/simde/arm/neon/min.h +660 -0
- casadi/include/simde/arm/neon/minnm.h +215 -0
- casadi/include/simde/arm/neon/minv.h +424 -0
- casadi/include/simde/arm/neon/mla.h +530 -0
- casadi/include/simde/arm/neon/mla_n.h +333 -0
- casadi/include/simde/arm/neon/mlal.h +156 -0
- casadi/include/simde/arm/neon/mlal_high.h +156 -0
- casadi/include/simde/arm/neon/mlal_n.h +128 -0
- casadi/include/simde/arm/neon/mls.h +264 -0
- casadi/include/simde/arm/neon/mlsl.h +124 -0
- casadi/include/simde/arm/neon/mlsl_high.h +124 -0
- casadi/include/simde/arm/neon/mlsl_n.h +96 -0
- casadi/include/simde/arm/neon/movl.h +208 -0
- casadi/include/simde/arm/neon/movl_high.h +126 -0
- casadi/include/simde/arm/neon/movn.h +195 -0
- casadi/include/simde/arm/neon/movn_high.h +125 -0
- casadi/include/simde/arm/neon/mul.h +594 -0
- casadi/include/simde/arm/neon/mul_lane.h +472 -0
- casadi/include/simde/arm/neon/mul_n.h +383 -0
- casadi/include/simde/arm/neon/mull.h +236 -0
- casadi/include/simde/arm/neon/mull_high.h +125 -0
- casadi/include/simde/arm/neon/mull_n.h +158 -0
- casadi/include/simde/arm/neon/mvn.h +426 -0
- casadi/include/simde/arm/neon/neg.h +393 -0
- casadi/include/simde/arm/neon/orn.h +505 -0
- casadi/include/simde/arm/neon/orr.h +552 -0
- casadi/include/simde/arm/neon/padal.h +211 -0
- casadi/include/simde/arm/neon/padd.h +293 -0
- casadi/include/simde/arm/neon/paddl.h +239 -0
- casadi/include/simde/arm/neon/pmax.h +253 -0
- casadi/include/simde/arm/neon/pmin.h +260 -0
- casadi/include/simde/arm/neon/qabs.h +281 -0
- casadi/include/simde/arm/neon/qadd.h +553 -0
- casadi/include/simde/arm/neon/qdmulh.h +125 -0
- casadi/include/simde/arm/neon/qdmull.h +125 -0
- casadi/include/simde/arm/neon/qmovn.h +273 -0
- casadi/include/simde/arm/neon/qmovn_high.h +127 -0
- casadi/include/simde/arm/neon/qmovun.h +159 -0
- casadi/include/simde/arm/neon/qneg.h +301 -0
- casadi/include/simde/arm/neon/qrdmulh.h +165 -0
- casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
- casadi/include/simde/arm/neon/qshl.h +732 -0
- casadi/include/simde/arm/neon/qsub.h +549 -0
- casadi/include/simde/arm/neon/qtbl.h +455 -0
- casadi/include/simde/arm/neon/qtbx.h +470 -0
- casadi/include/simde/arm/neon/rbit.h +165 -0
- casadi/include/simde/arm/neon/reinterpret.h +3101 -0
- casadi/include/simde/arm/neon/rev16.h +137 -0
- casadi/include/simde/arm/neon/rev32.h +235 -0
- casadi/include/simde/arm/neon/rev64.h +358 -0
- casadi/include/simde/arm/neon/rhadd.h +406 -0
- casadi/include/simde/arm/neon/rnd.h +143 -0
- casadi/include/simde/arm/neon/rndi.h +135 -0
- casadi/include/simde/arm/neon/rndm.h +143 -0
- casadi/include/simde/arm/neon/rndn.h +135 -0
- casadi/include/simde/arm/neon/rndp.h +143 -0
- casadi/include/simde/arm/neon/rshl.h +903 -0
- casadi/include/simde/arm/neon/rshr_n.h +471 -0
- casadi/include/simde/arm/neon/rsra_n.h +209 -0
- casadi/include/simde/arm/neon/set_lane.h +422 -0
- casadi/include/simde/arm/neon/shl.h +805 -0
- casadi/include/simde/arm/neon/shl_n.h +560 -0
- casadi/include/simde/arm/neon/shr_n.h +612 -0
- casadi/include/simde/arm/neon/sra_n.h +202 -0
- casadi/include/simde/arm/neon/st1.h +353 -0
- casadi/include/simde/arm/neon/st1_lane.h +363 -0
- casadi/include/simde/arm/neon/st3.h +426 -0
- casadi/include/simde/arm/neon/st4.h +445 -0
- casadi/include/simde/arm/neon/sub.h +659 -0
- casadi/include/simde/arm/neon/subl.h +127 -0
- casadi/include/simde/arm/neon/subw.h +221 -0
- casadi/include/simde/arm/neon/subw_high.h +222 -0
- casadi/include/simde/arm/neon/tbl.h +224 -0
- casadi/include/simde/arm/neon/tbx.h +247 -0
- casadi/include/simde/arm/neon/trn.h +252 -0
- casadi/include/simde/arm/neon/trn1.h +500 -0
- casadi/include/simde/arm/neon/trn2.h +499 -0
- casadi/include/simde/arm/neon/tst.h +540 -0
- casadi/include/simde/arm/neon/types.h +683 -0
- casadi/include/simde/arm/neon/uqadd.h +325 -0
- casadi/include/simde/arm/neon/uzp.h +252 -0
- casadi/include/simde/arm/neon/uzp1.h +643 -0
- casadi/include/simde/arm/neon/uzp2.h +647 -0
- casadi/include/simde/arm/neon/zip.h +252 -0
- casadi/include/simde/arm/neon/zip1.h +625 -0
- casadi/include/simde/arm/neon/zip2.h +625 -0
- casadi/include/simde/arm/neon.h +166 -0
- casadi/include/simde/check.h +276 -0
- casadi/include/simde/debug-trap.h +85 -0
- casadi/include/simde/hedley.h +1971 -0
- casadi/include/simde/simde-align.h +449 -0
- casadi/include/simde/simde-arch.h +532 -0
- casadi/include/simde/simde-common.h +890 -0
- casadi/include/simde/simde-complex.h +148 -0
- casadi/include/simde/simde-constify.h +397 -0
- casadi/include/simde/simde-detect-clang.h +109 -0
- casadi/include/simde/simde-diagnostic.h +428 -0
- casadi/include/simde/simde-features.h +522 -0
- casadi/include/simde/simde-math.h +1805 -0
- casadi/include/simde/x86/avx.h +6193 -0
- casadi/include/simde/x86/avx2.h +5660 -0
- casadi/include/simde/x86/avx512/2intersect.h +250 -0
- casadi/include/simde/x86/avx512/abs.h +562 -0
- casadi/include/simde/x86/avx512/add.h +641 -0
- casadi/include/simde/x86/avx512/adds.h +390 -0
- casadi/include/simde/x86/avx512/and.h +305 -0
- casadi/include/simde/x86/avx512/andnot.h +193 -0
- casadi/include/simde/x86/avx512/avg.h +258 -0
- casadi/include/simde/x86/avx512/blend.h +293 -0
- casadi/include/simde/x86/avx512/broadcast.h +897 -0
- casadi/include/simde/x86/avx512/cast.h +324 -0
- casadi/include/simde/x86/avx512/cmp.h +587 -0
- casadi/include/simde/x86/avx512/cmpeq.h +179 -0
- casadi/include/simde/x86/avx512/cmpge.h +104 -0
- casadi/include/simde/x86/avx512/cmpgt.h +189 -0
- casadi/include/simde/x86/avx512/cmple.h +103 -0
- casadi/include/simde/x86/avx512/cmplt.h +123 -0
- casadi/include/simde/x86/avx512/copysign.h +86 -0
- casadi/include/simde/x86/avx512/cvt.h +122 -0
- casadi/include/simde/x86/avx512/cvts.h +723 -0
- casadi/include/simde/x86/avx512/div.h +162 -0
- casadi/include/simde/x86/avx512/extract.h +198 -0
- casadi/include/simde/x86/avx512/fmadd.h +136 -0
- casadi/include/simde/x86/avx512/fmsub.h +108 -0
- casadi/include/simde/x86/avx512/fnmadd.h +108 -0
- casadi/include/simde/x86/avx512/fnmsub.h +108 -0
- casadi/include/simde/x86/avx512/insert.h +193 -0
- casadi/include/simde/x86/avx512/kshift.h +152 -0
- casadi/include/simde/x86/avx512/load.h +67 -0
- casadi/include/simde/x86/avx512/loadu.h +113 -0
- casadi/include/simde/x86/avx512/lzcnt.h +209 -0
- casadi/include/simde/x86/avx512/madd.h +155 -0
- casadi/include/simde/x86/avx512/maddubs.h +159 -0
- casadi/include/simde/x86/avx512/max.h +587 -0
- casadi/include/simde/x86/avx512/min.h +587 -0
- casadi/include/simde/x86/avx512/mov.h +859 -0
- casadi/include/simde/x86/avx512/mov_mask.h +372 -0
- casadi/include/simde/x86/avx512/movm.h +460 -0
- casadi/include/simde/x86/avx512/mul.h +279 -0
- casadi/include/simde/x86/avx512/mulhi.h +65 -0
- casadi/include/simde/x86/avx512/mulhrs.h +65 -0
- casadi/include/simde/x86/avx512/mullo.h +117 -0
- casadi/include/simde/x86/avx512/negate.h +88 -0
- casadi/include/simde/x86/avx512/or.h +252 -0
- casadi/include/simde/x86/avx512/packs.h +122 -0
- casadi/include/simde/x86/avx512/packus.h +122 -0
- casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
- casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
- casadi/include/simde/x86/avx512/sad.h +77 -0
- casadi/include/simde/x86/avx512/set.h +477 -0
- casadi/include/simde/x86/avx512/set1.h +331 -0
- casadi/include/simde/x86/avx512/set4.h +140 -0
- casadi/include/simde/x86/avx512/setone.h +66 -0
- casadi/include/simde/x86/avx512/setr.h +144 -0
- casadi/include/simde/x86/avx512/setr4.h +140 -0
- casadi/include/simde/x86/avx512/setzero.h +90 -0
- casadi/include/simde/x86/avx512/shuffle.h +176 -0
- casadi/include/simde/x86/avx512/sll.h +247 -0
- casadi/include/simde/x86/avx512/slli.h +179 -0
- casadi/include/simde/x86/avx512/sllv.h +68 -0
- casadi/include/simde/x86/avx512/sqrt.h +127 -0
- casadi/include/simde/x86/avx512/sra.h +81 -0
- casadi/include/simde/x86/avx512/srai.h +70 -0
- casadi/include/simde/x86/avx512/srav.h +67 -0
- casadi/include/simde/x86/avx512/srl.h +216 -0
- casadi/include/simde/x86/avx512/srli.h +180 -0
- casadi/include/simde/x86/avx512/srlv.h +282 -0
- casadi/include/simde/x86/avx512/store.h +93 -0
- casadi/include/simde/x86/avx512/storeu.h +93 -0
- casadi/include/simde/x86/avx512/sub.h +351 -0
- casadi/include/simde/x86/avx512/subs.h +222 -0
- casadi/include/simde/x86/avx512/test.h +193 -0
- casadi/include/simde/x86/avx512/types.h +380 -0
- casadi/include/simde/x86/avx512/unpackhi.h +380 -0
- casadi/include/simde/x86/avx512/unpacklo.h +104 -0
- casadi/include/simde/x86/avx512/xor.h +263 -0
- casadi/include/simde/x86/avx512/xorsign.h +72 -0
- casadi/include/simde/x86/avx512.h +108 -0
- casadi/include/simde/x86/clmul.h +414 -0
- casadi/include/simde/x86/fma.h +724 -0
- casadi/include/simde/x86/gfni.h +802 -0
- casadi/include/simde/x86/mmx.h +2399 -0
- casadi/include/simde/x86/sse.h +4471 -0
- casadi/include/simde/x86/sse2.h +7389 -0
- casadi/include/simde/x86/sse3.h +499 -0
- casadi/include/simde/x86/sse4.1.h +2216 -0
- casadi/include/simde/x86/sse4.2.h +347 -0
- casadi/include/simde/x86/ssse3.h +1032 -0
- casadi/include/simde/x86/svml.h +12139 -0
- casadi/include/simde/x86/xop.h +3644 -0
- casadi/include/sleqp/defs.h +58 -0
- casadi/include/sleqp/export.h +43 -0
- casadi/include/sleqp/pub_cmp.h +18 -0
- casadi/include/sleqp/pub_dyn.h +140 -0
- casadi/include/sleqp/pub_error.h +50 -0
- casadi/include/sleqp/pub_func.h +257 -0
- casadi/include/sleqp/pub_hess_struct.h +105 -0
- casadi/include/sleqp/pub_iterate.h +88 -0
- casadi/include/sleqp/pub_log.h +88 -0
- casadi/include/sleqp/pub_lsq.h +158 -0
- casadi/include/sleqp/pub_mem.h +52 -0
- casadi/include/sleqp/pub_problem.h +213 -0
- casadi/include/sleqp/pub_scale.h +150 -0
- casadi/include/sleqp/pub_settings.h +162 -0
- casadi/include/sleqp/pub_solver.h +155 -0
- casadi/include/sleqp/pub_types.h +230 -0
- casadi/include/sleqp/pub_working_set.h +135 -0
- casadi/include/sleqp/sparse/pub_mat.h +153 -0
- casadi/include/sleqp/sparse/pub_vec.h +336 -0
- casadi/include/sleqp.h +38 -0
- casadi/include/spral.h +13 -0
- casadi/include/spral_lsmr.h +57 -0
- casadi/include/spral_matrix_util.h +40 -0
- casadi/include/spral_random.h +26 -0
- casadi/include/spral_random_matrix.h +27 -0
- casadi/include/spral_rutherford_boeing.h +51 -0
- casadi/include/spral_scaling.h +139 -0
- casadi/include/spral_ssids.h +121 -0
- casadi/include/spral_ssmfe.h +268 -0
- casadi/include/superscs/cones.h +185 -0
- casadi/include/superscs/constants.h +144 -0
- casadi/include/superscs/cs.h +109 -0
- casadi/include/superscs/ctrlc.h +77 -0
- casadi/include/superscs/directions.h +125 -0
- casadi/include/superscs/glbopts.h +240 -0
- casadi/include/superscs/linAlg.h +437 -0
- casadi/include/superscs/linSys.h +205 -0
- casadi/include/superscs/linsys/amatrix.h +77 -0
- casadi/include/superscs/linsys/common.h +49 -0
- casadi/include/superscs/normalize.h +138 -0
- casadi/include/superscs/scs.h +656 -0
- casadi/include/superscs/scs_blas.h +79 -0
- casadi/include/superscs/scs_parser.h +187 -0
- casadi/include/superscs/unit_test_util.h +210 -0
- casadi/include/superscs/util.h +354 -0
- casadi/include/trlib/trlib_eigen_inverse.h +118 -0
- casadi/include/trlib/trlib_krylov.h +493 -0
- casadi/include/trlib/trlib_leftmost.h +181 -0
- casadi/include/trlib/trlib_private.h +109 -0
- casadi/include/trlib/trlib_quadratic_zero.h +57 -0
- casadi/include/trlib/trlib_tri_factor.h +409 -0
- casadi/include/trlib/trlib_types.h +36 -0
- casadi/include/trlib.h +44 -0
- casadi/include/zconf.h +545 -0
- casadi/include/zip.h +528 -0
- casadi/include/zipconf.h +48 -0
- casadi/include/zlib.h +1938 -0
- casadi/libCbc.la +35 -0
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.la +35 -0
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.la +35 -0
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.la +35 -0
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/libClp.so.1.14.9 +0 -0
- casadi/libClpSolver.la +35 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- casadi/libCoinUtils.la +35 -0
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libOsi.la +35 -0
- casadi/libOsi.so +0 -0
- casadi/libOsi.so.1 +0 -0
- casadi/libOsi.so.1.13.9 +0 -0
- casadi/libOsiCbc.la +35 -0
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/libOsiCbc.so.3.10.11 +0 -0
- casadi/libOsiClp.la +35 -0
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.la +35 -0
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/libOsiCommonTests.so.1.13.9 +0 -0
- casadi/libalpaqa-dl-loader.so +0 -0
- casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
- casadi/libalpaqa.so +0 -0
- casadi/libalpaqa.so.1.0.0 +0 -0
- casadi/libblasfeo.so +0 -0
- casadi/libbonmin.la +35 -0
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi-tp-openblas.so +0 -0
- casadi/libcasadi-tp-openblas.so.0 +0 -0
- casadi/libcasadi-tp-openblas.so.0.3 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_archiver_libzip.so +0 -0
- casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
- casadi/libcasadi_conic_cbc.so +0 -0
- casadi/libcasadi_conic_cbc.so.3.7 +0 -0
- casadi/libcasadi_conic_clp.so +0 -0
- casadi/libcasadi_conic_clp.so.3.7 +0 -0
- casadi/libcasadi_conic_cplex.so +0 -0
- casadi/libcasadi_conic_cplex.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_fatrop.so +0 -0
- casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_hpipm.so +0 -0
- casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_filesystem_ghc.so +0 -0
- casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
- casadi/libcasadi_importer_shell.so +0 -0
- casadi/libcasadi_importer_shell.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.so.3.7 +0 -0
- casadi/libcasadi_interpolant_bspline.so +0 -0
- casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
- casadi/libcasadi_interpolant_linear.so +0 -0
- casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparse.so +0 -0
- casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapacklu.so +0 -0
- casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapackqr.so +0 -0
- casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ldl.so +0 -0
- casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
- casadi/libcasadi_linsol_lsqr.so +0 -0
- casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ma27.so +0 -0
- casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
- casadi/libcasadi_linsol_mumps.so +0 -0
- casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
- casadi/libcasadi_linsol_qr.so +0 -0
- casadi/libcasadi_linsol_qr.so.3.7 +0 -0
- casadi/libcasadi_linsol_symbolicqr.so +0 -0
- casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_tridiag.so +0 -0
- casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_bonmin.so +0 -0
- casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_fatrop.so +0 -0
- casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sleqp.so +0 -0
- casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
- casadi/libcoinmetis.la +41 -0
- casadi/libcoinmetis.so +0 -0
- casadi/libcoinmetis.so.2 +0 -0
- casadi/libcoinmetis.so.2.0.0 +0 -0
- casadi/libcoinmumps.la +41 -0
- casadi/libcoinmumps.so +0 -0
- casadi/libcoinmumps.so.3 +0 -0
- casadi/libcoinmumps.so.3.0.1 +0 -0
- casadi/libcplex_adaptor.so +0 -0
- casadi/libdaqp.so +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libfatrop.so +0 -0
- casadi/libgfortran-040039e1.so.5.0.0 +0 -0
- casadi/libgurobi_adaptor.so +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.10.0 +0 -0
- casadi/libhpipm.so +0 -0
- casadi/libindirect.a +0 -0
- casadi/libipopt.la +41 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libmatlab_ipc.so +0 -0
- casadi/libosqp.a +0 -0
- casadi/libosqp.so +0 -0
- casadi/libqdldl.a +0 -0
- casadi/libqdldl.so +0 -0
- casadi/libquadmath-96973f99.so.0.0.0 +0 -0
- casadi/libsipopt.la +41 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/libtrlib.so +0 -0
- casadi/libtrlib.so.0.4 +0 -0
- casadi/libz.a +0 -0
- casadi/libz.so +0 -0
- casadi/libz.so.1 +0 -0
- casadi/libz.so.1.3.1 +0 -0
- casadi/libzip.a +0 -0
- casadi/pkgconfig/blas.pc +11 -0
- casadi/pkgconfig/bonmin.pc +12 -0
- casadi/pkgconfig/casadi.pc +12 -0
- casadi/pkgconfig/cbc.pc +12 -0
- casadi/pkgconfig/cgl.pc +12 -0
- casadi/pkgconfig/clp.pc +12 -0
- casadi/pkgconfig/coinmetis.pc +13 -0
- casadi/pkgconfig/coinmumps.pc +15 -0
- casadi/pkgconfig/coinutils.pc +12 -0
- casadi/pkgconfig/highs.pc +12 -0
- casadi/pkgconfig/ipopt.pc +15 -0
- casadi/pkgconfig/lapack.pc +11 -0
- casadi/pkgconfig/libzip.pc +14 -0
- casadi/pkgconfig/openblas.pc +11 -0
- casadi/pkgconfig/osi-cbc.pc +12 -0
- casadi/pkgconfig/osi-clp.pc +12 -0
- casadi/pkgconfig/osi-unittests.pc +12 -0
- casadi/pkgconfig/osi.pc +12 -0
- casadi/pkgconfig/sleqp.pc +10 -0
- casadi/tools/__init__.py +54 -0
- casadi/tools/bounds.py +107 -0
- casadi/tools/graph/__init__.py +35 -0
- casadi/tools/graph/graph.py +747 -0
- casadi/tools/in_out.py +89 -0
- casadi/tools/structure3.py +1441 -0
- casadi-3.7.2.dist-info/METADATA +45 -0
- casadi-3.7.2.dist-info/RECORD +2377 -0
- casadi-3.7.2.dist-info/WHEEL +4 -0
- dummy.txt +1 -0
@@ -0,0 +1,1805 @@
|
|
1
|
+
/*
|
2
|
+
* This file is part of CasADi.
|
3
|
+
*
|
4
|
+
* CasADi -- A symbolic framework for dynamic optimization.
|
5
|
+
* Copyright (C) 2010-2023 Joel Andersson, Joris Gillis, Moritz Diehl,
|
6
|
+
* KU Leuven. All rights reserved.
|
7
|
+
* Copyright (C) 2011-2014 Greg Horn
|
8
|
+
*
|
9
|
+
* CasADi is free software; you can redistribute it and/or
|
10
|
+
* modify it under the terms of the GNU Lesser General Public
|
11
|
+
* License as published by the Free Software Foundation; either
|
12
|
+
* version 3 of the License, or (at your option) any later version.
|
13
|
+
*
|
14
|
+
* CasADi is distributed in the hope that it will be useful,
|
15
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
16
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
17
|
+
* Lesser General Public License for more details.
|
18
|
+
*
|
19
|
+
* You should have received a copy of the GNU Lesser General Public
|
20
|
+
* License along with CasADi; if not, write to the Free Software
|
21
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
22
|
+
*
|
23
|
+
*/
|
24
|
+
|
25
|
+
|
26
|
+
#ifndef CASADI_CALCULUS_HPP
|
27
|
+
#define CASADI_CALCULUS_HPP
|
28
|
+
|
29
|
+
#include <iostream>
|
30
|
+
#include <string>
|
31
|
+
#include <cmath>
|
32
|
+
#include <limits>
|
33
|
+
#include <algorithm>
|
34
|
+
#include "casadi_common.hpp"
|
35
|
+
|
36
|
+
// Define pi if the compiler fails to do so
|
37
|
+
|
38
|
+
/// \cond INTERNAL
|
39
|
+
|
40
|
+
namespace casadi {
|
41
|
+
#ifndef SWIG
|
42
|
+
/// Define pi
|
43
|
+
#ifdef M_PI
|
44
|
+
const double pi = M_PI;
|
45
|
+
#else
|
46
|
+
const double pi = 3.14159265358979323846;
|
47
|
+
#endif
|
48
|
+
|
49
|
+
/// infinity
|
50
|
+
const double inf = std::numeric_limits<double>::infinity();
|
51
|
+
|
52
|
+
/// Not a number
|
53
|
+
const double nan = std::numeric_limits<double>::quiet_NaN();
|
54
|
+
|
55
|
+
/// Machine epsilon
|
56
|
+
const double eps = std::numeric_limits<double>::epsilon();
|
57
|
+
#endif // SWIG
|
58
|
+
|
59
|
+
/// Enum for quick access to any node
|
60
|
+
enum Operation {
|
61
|
+
// Simple assignment
|
62
|
+
OP_ASSIGN,
|
63
|
+
|
64
|
+
// Standard unary and binary functions
|
65
|
+
OP_ADD, OP_SUB, OP_MUL, OP_DIV,
|
66
|
+
OP_NEG, OP_EXP, OP_LOG, OP_POW, OP_CONSTPOW,
|
67
|
+
OP_SQRT, OP_SQ, OP_TWICE,
|
68
|
+
OP_SIN, OP_COS, OP_TAN,
|
69
|
+
OP_ASIN, OP_ACOS, OP_ATAN,
|
70
|
+
OP_LT, OP_LE, OP_EQ, OP_NE, OP_NOT, OP_AND, OP_OR,
|
71
|
+
OP_FLOOR, OP_CEIL, OP_FMOD, OP_FABS, OP_SIGN, OP_COPYSIGN, OP_IF_ELSE_ZERO,
|
72
|
+
OP_ERF, OP_FMIN, OP_FMAX,
|
73
|
+
OP_INV,
|
74
|
+
OP_SINH, OP_COSH, OP_TANH,
|
75
|
+
OP_ASINH, OP_ACOSH, OP_ATANH,
|
76
|
+
OP_ATAN2,
|
77
|
+
|
78
|
+
// Double constant
|
79
|
+
OP_CONST,
|
80
|
+
|
81
|
+
// Function input and output
|
82
|
+
OP_INPUT, OP_OUTPUT,
|
83
|
+
|
84
|
+
// Free parameter
|
85
|
+
OP_PARAMETER,
|
86
|
+
|
87
|
+
// Embedded function call
|
88
|
+
OP_CALL,
|
89
|
+
|
90
|
+
// Find first nonzero in a vector
|
91
|
+
OP_FIND,
|
92
|
+
|
93
|
+
// Find first nonzero in a vector
|
94
|
+
OP_LOW,
|
95
|
+
|
96
|
+
// Embedded function call in parallel
|
97
|
+
OP_MAP,
|
98
|
+
|
99
|
+
// Matrix multiplication
|
100
|
+
OP_MTIMES,
|
101
|
+
|
102
|
+
// Solve linear system of equations
|
103
|
+
OP_SOLVE,
|
104
|
+
|
105
|
+
// Matrix transpose
|
106
|
+
OP_TRANSPOSE,
|
107
|
+
|
108
|
+
// Matrix determinant
|
109
|
+
OP_DETERMINANT,
|
110
|
+
|
111
|
+
// Matrix inverse
|
112
|
+
OP_INVERSE,
|
113
|
+
|
114
|
+
// Inner product
|
115
|
+
OP_DOT,
|
116
|
+
|
117
|
+
// Bilinear form
|
118
|
+
OP_BILIN,
|
119
|
+
|
120
|
+
// Rank-1 update
|
121
|
+
OP_RANK1,
|
122
|
+
|
123
|
+
// Horizontal concatenation
|
124
|
+
OP_HORZCAT,
|
125
|
+
|
126
|
+
// Vertical concatenation of vectors
|
127
|
+
OP_VERTCAT,
|
128
|
+
|
129
|
+
// Diagonal concatenation
|
130
|
+
OP_DIAGCAT,
|
131
|
+
|
132
|
+
// Horizontal split
|
133
|
+
OP_HORZSPLIT,
|
134
|
+
|
135
|
+
// Vertical split of vectors
|
136
|
+
OP_VERTSPLIT,
|
137
|
+
|
138
|
+
// Diagonal split
|
139
|
+
OP_DIAGSPLIT,
|
140
|
+
|
141
|
+
// Reshape an expression
|
142
|
+
OP_RESHAPE,
|
143
|
+
|
144
|
+
// Submatrix reference
|
145
|
+
OP_SUBREF,
|
146
|
+
|
147
|
+
// Submatrix assignment
|
148
|
+
OP_SUBASSIGN,
|
149
|
+
|
150
|
+
// Nonzero reference
|
151
|
+
OP_GETNONZEROS,
|
152
|
+
|
153
|
+
// Parametric nonzero reference
|
154
|
+
OP_GETNONZEROS_PARAM,
|
155
|
+
|
156
|
+
// Nonzero addition
|
157
|
+
OP_ADDNONZEROS,
|
158
|
+
|
159
|
+
// parametric nonzero addition
|
160
|
+
OP_ADDNONZEROS_PARAM,
|
161
|
+
|
162
|
+
// Nonzero assignment
|
163
|
+
OP_SETNONZEROS,
|
164
|
+
|
165
|
+
// Parametric nonzero assignment
|
166
|
+
OP_SETNONZEROS_PARAM,
|
167
|
+
|
168
|
+
// Set sparse
|
169
|
+
OP_PROJECT,
|
170
|
+
|
171
|
+
// Assertion
|
172
|
+
OP_ASSERTION,
|
173
|
+
|
174
|
+
// Monitor
|
175
|
+
OP_MONITOR,
|
176
|
+
|
177
|
+
// Norms
|
178
|
+
OP_NORM2, OP_NORM1, OP_NORMINF, OP_NORMF,
|
179
|
+
|
180
|
+
// min/max
|
181
|
+
OP_MMIN, OP_MMAX,
|
182
|
+
|
183
|
+
// Horizontal repeat
|
184
|
+
OP_HORZREPMAT,
|
185
|
+
|
186
|
+
// Horizontal repeat sum
|
187
|
+
OP_HORZREPSUM,
|
188
|
+
|
189
|
+
OP_ERFINV,
|
190
|
+
OP_PRINTME,
|
191
|
+
OP_LIFT,
|
192
|
+
|
193
|
+
OP_EINSTEIN,
|
194
|
+
|
195
|
+
OP_BSPLINE,
|
196
|
+
|
197
|
+
OP_CONVEXIFY,
|
198
|
+
|
199
|
+
// Sparsity cast
|
200
|
+
OP_SPARSITY_CAST,
|
201
|
+
|
202
|
+
OP_LOG1P,
|
203
|
+
|
204
|
+
OP_EXPM1,
|
205
|
+
|
206
|
+
OP_HYPOT,
|
207
|
+
|
208
|
+
OP_LOGSUMEXP,
|
209
|
+
|
210
|
+
OP_REMAINDER
|
211
|
+
|
212
|
+
};
|
213
|
+
#define NUM_BUILT_IN_OPS (OP_REMAINDER+1)
|
214
|
+
|
215
|
+
#define OP_
|
216
|
+
|
217
|
+
#ifndef SWIG
|
218
|
+
|
219
|
+
///@{
|
220
|
+
/** \brief Enable using elementary numerical operations without std:: prefix
|
221
|
+
|
222
|
+
\identifier{1g4} */
|
223
|
+
using std::isfinite;
|
224
|
+
using std::sqrt;
|
225
|
+
using std::sin;
|
226
|
+
using std::cos;
|
227
|
+
using std::tan;
|
228
|
+
using std::atan;
|
229
|
+
using std::asin;
|
230
|
+
using std::acos;
|
231
|
+
using std::sinh;
|
232
|
+
using std::cosh;
|
233
|
+
using std::tanh;
|
234
|
+
using std::exp;
|
235
|
+
using std::log;
|
236
|
+
using std::log10;
|
237
|
+
using std::abs;
|
238
|
+
using std::fabs;
|
239
|
+
using std::floor;
|
240
|
+
using std::ceil;
|
241
|
+
using std::pow;
|
242
|
+
using std::fmod;
|
243
|
+
using std::remainder;
|
244
|
+
using std::atan2;
|
245
|
+
using std::erf;
|
246
|
+
using std::fmin;
|
247
|
+
using std::fmax;
|
248
|
+
using std::fabs;
|
249
|
+
using std::atanh;
|
250
|
+
using std::asinh;
|
251
|
+
using std::acosh;
|
252
|
+
using std::isnan;
|
253
|
+
using std::isinf;
|
254
|
+
using std::log1p;
|
255
|
+
using std::expm1;
|
256
|
+
using std::hypot;
|
257
|
+
using std::copysign;
|
258
|
+
///@}
|
259
|
+
|
260
|
+
///@{
|
261
|
+
// Implement "missing" operations
|
262
|
+
|
263
|
+
/// Sign function, note that sign(nan) == nan
|
264
|
+
inline double sign(double x) { return x<0 ? -1 : x>0 ? 1 : x;}
|
265
|
+
///@}
|
266
|
+
|
267
|
+
///@}
|
268
|
+
|
269
|
+
///@{
|
270
|
+
/** CasADi additions */
|
271
|
+
inline double simplify(double x) { return x;}
|
272
|
+
inline double constpow(double x, double y) { return pow(x, y);}
|
273
|
+
inline double printme(double x, double y) {
|
274
|
+
std::ios::fmtflags f(uout().flags());
|
275
|
+
uout() << "|> " << y << " : ";
|
276
|
+
uout() << std::setprecision(std::numeric_limits<double>::digits10 + 1) << std::scientific;
|
277
|
+
uout() << x << std::endl;
|
278
|
+
uout().flags(f);
|
279
|
+
return x;
|
280
|
+
}
|
281
|
+
inline bool is_equal(double x, double y, casadi_int depth=0) { return x==y;}
|
282
|
+
|
283
|
+
|
284
|
+
// Integer maximum and minimum
|
285
|
+
inline casadi_int casadi_max(casadi_int x, casadi_int y) { return std::max(x, y);}
|
286
|
+
inline casadi_int casadi_min(casadi_int x, casadi_int y) { return std::min(x, y);}
|
287
|
+
|
288
|
+
/// Conditional assignment
|
289
|
+
inline double if_else_zero(double x, double y) { return x==0 ? 0 : y;}
|
290
|
+
inline double if_else(double x, double y, double z) { return x==0 ? z : y;}
|
291
|
+
#ifdef HAS_ERFINV
|
292
|
+
using ::erfinv;
|
293
|
+
#else // HAS ERFINV
|
294
|
+
inline double erfinv(double x) throw() {
|
295
|
+
// Approximation found in Sourceforge and modified: Not very efficient
|
296
|
+
if (x>=1) {
|
297
|
+
return x==1 ? inf : nan;
|
298
|
+
} else if (x<=-1) {
|
299
|
+
return x==-1 ? -inf : nan;
|
300
|
+
} else if (x<-0.7) {
|
301
|
+
double z = sqrt(-log((1.0+x)/2.0));
|
302
|
+
return -(((1.641345311*z+3.429567803)*z-1.624906493)*z-1.970840454)/
|
303
|
+
((1.637067800*z+3.543889200)*z+1.0);
|
304
|
+
} else {
|
305
|
+
double y;
|
306
|
+
if (x<0.7) {
|
307
|
+
double z = x*x;
|
308
|
+
y = x*(((-0.140543331*z+0.914624893)*z-1.645349621)*z+0.886226899)/
|
309
|
+
((((-0.329097515*z+0.012229801)*z+1.442710462)*z-2.118377725)*z+1.0);
|
310
|
+
} else {
|
311
|
+
double z = sqrt(-log((1.0-x)/2.0));
|
312
|
+
y = (((1.641345311*z+3.429567803)*z-1.624906493)*z-1.970840454)/
|
313
|
+
((1.637067800*z+3.543889200)*z+1.0);
|
314
|
+
}
|
315
|
+
|
316
|
+
//polish x to full accuracy
|
317
|
+
y = y - (erf(y) - x) / (2.0/sqrt(pi) * exp(-y*y));
|
318
|
+
y = y - (erf(y) - x) / (2.0/sqrt(pi) * exp(-y*y));
|
319
|
+
return y;
|
320
|
+
}
|
321
|
+
}
|
322
|
+
#endif // HAS_ERFINV
|
323
|
+
///@}
|
324
|
+
|
325
|
+
template<typename T>
|
326
|
+
T twice(const T& x) {
|
327
|
+
return x+x;
|
328
|
+
}
|
329
|
+
|
330
|
+
template<typename T>
|
331
|
+
T sq(const T& x) {
|
332
|
+
return x*x;
|
333
|
+
}
|
334
|
+
|
335
|
+
template<casadi_int I>
|
336
|
+
struct UnaryOperation {
|
337
|
+
/// Function evaluation
|
338
|
+
template<typename T> static inline void fcn(const T& x, T& f);
|
339
|
+
|
340
|
+
/// Partial derivatives
|
341
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d);
|
342
|
+
};
|
343
|
+
|
344
|
+
template<casadi_int I>
|
345
|
+
struct BinaryOperation {
|
346
|
+
/// Function evaluation
|
347
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) {
|
348
|
+
UnaryOperation<I>::fcn(x, f);}
|
349
|
+
|
350
|
+
/// Partial derivatives - binary function
|
351
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
352
|
+
UnaryOperation<I>::der(x, f, d); d[1]=0; }
|
353
|
+
};
|
354
|
+
|
355
|
+
template<casadi_int I>
|
356
|
+
struct BinaryOperationE {
|
357
|
+
/// Function evaluation
|
358
|
+
template<typename T> static inline T fcn(const T& x, const T& y) {
|
359
|
+
T ret;
|
360
|
+
BinaryOperation<I>::fcn(x, y, ret);
|
361
|
+
return ret;
|
362
|
+
}
|
363
|
+
};
|
364
|
+
|
365
|
+
/// Calculate function and derivative
|
366
|
+
template<casadi_int I>
|
367
|
+
struct DerBinaryOperation {
|
368
|
+
/// Perform the operation
|
369
|
+
template<typename T> static inline void derf(const T& x, const T& y, T& f, T* d) {
|
370
|
+
|
371
|
+
/** First save to temp since f might have the same address as x or y,
|
372
|
+
* in which case it will be incorrect in the second call
|
373
|
+
*/
|
374
|
+
T tmp;
|
375
|
+
|
376
|
+
/// Evaluate the function
|
377
|
+
BinaryOperation<I>::fcn(x, y, tmp);
|
378
|
+
|
379
|
+
/// Evaluate the partial derivatives
|
380
|
+
BinaryOperation<I>::der(x, y, tmp, d);
|
381
|
+
|
382
|
+
/// Now save f
|
383
|
+
f = tmp;
|
384
|
+
}
|
385
|
+
};
|
386
|
+
|
387
|
+
/// Perform a binary operation on two scalars
|
388
|
+
template<casadi_int I>
|
389
|
+
struct BinaryOperationSS {
|
390
|
+
/// Function evaluation
|
391
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f, casadi_int n) {
|
392
|
+
BinaryOperation<I>::fcn(x, y, f);
|
393
|
+
}
|
394
|
+
|
395
|
+
/// Partial derivatives - binary function
|
396
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d,
|
397
|
+
casadi_int n) {
|
398
|
+
BinaryOperation<I>::der(x, y, f, d);
|
399
|
+
}
|
400
|
+
};
|
401
|
+
|
402
|
+
|
403
|
+
/// Perform a binary operation on two vectors
|
404
|
+
template<casadi_int I>
|
405
|
+
struct BinaryOperationVV {
|
406
|
+
/// Function evaluation
|
407
|
+
template<typename T> static inline void fcn(const T* x, const T* y, T* f, casadi_int n) {
|
408
|
+
for (casadi_int i=0; i<n; ++i) {
|
409
|
+
BinaryOperation<I>::fcn(*x++, *y++, *f++);
|
410
|
+
}
|
411
|
+
}
|
412
|
+
|
413
|
+
/// Partial derivatives - binary function
|
414
|
+
template<typename T> static inline void der(const T* x, const T* y,
|
415
|
+
const T* f, T* d, casadi_int n) {
|
416
|
+
for (casadi_int i=0; i<n; ++i, d+=2) {
|
417
|
+
BinaryOperation<I>::der(*x++, *y++, *f++, d);
|
418
|
+
}
|
419
|
+
}
|
420
|
+
};
|
421
|
+
|
422
|
+
/// Perform a binary operation on a vector and a scalar
|
423
|
+
template<casadi_int I>
|
424
|
+
struct BinaryOperationVS {
|
425
|
+
/// Function evaluation
|
426
|
+
template<typename T> static inline void fcn(const T* x, const T& y, T* f, casadi_int n) {
|
427
|
+
for (casadi_int i=0; i<n; ++i) {
|
428
|
+
BinaryOperation<I>::fcn(*x++, y, *f++);
|
429
|
+
}
|
430
|
+
}
|
431
|
+
|
432
|
+
/// Partial derivatives - binary function
|
433
|
+
template<typename T> static inline void der(const T* x, const T& y,
|
434
|
+
const T* f, T* d, casadi_int n) {
|
435
|
+
for (casadi_int i=0; i<n; ++i, d+=2) {
|
436
|
+
BinaryOperation<I>::der(*x++, y, *f++, d);
|
437
|
+
}
|
438
|
+
}
|
439
|
+
};
|
440
|
+
|
441
|
+
/// Perform a binary operation on a scalar and a vector
|
442
|
+
template<casadi_int I>
|
443
|
+
struct BinaryOperationSV {
|
444
|
+
/// Function evaluation
|
445
|
+
template<typename T> static inline void fcn(const T& x, const T* y, T* f, casadi_int n) {
|
446
|
+
for (casadi_int i=0; i<n; ++i) {
|
447
|
+
BinaryOperation<I>::fcn(x, *y++, *f++);
|
448
|
+
}
|
449
|
+
}
|
450
|
+
|
451
|
+
/// Partial derivatives - binary function
|
452
|
+
template<typename T> static inline void der(const T& x, const T* y,
|
453
|
+
const T* f, T* d, casadi_int n) {
|
454
|
+
for (casadi_int i=0; i<n; ++i, d+=2) {
|
455
|
+
BinaryOperation<I>::der(x, *y++, *f++, d);
|
456
|
+
}
|
457
|
+
}
|
458
|
+
};
|
459
|
+
|
460
|
+
///@{
|
461
|
+
/// Smoothness (by default true)
|
462
|
+
template<casadi_int I> struct SmoothChecker { static const bool check=true;};
|
463
|
+
template<> struct SmoothChecker<OP_LT>{ static const bool check=false;};
|
464
|
+
template<> struct SmoothChecker<OP_LE>{ static const bool check=false;};
|
465
|
+
template<> struct SmoothChecker<OP_FLOOR>{ static const bool check=false;};
|
466
|
+
template<> struct SmoothChecker<OP_CEIL>{ static const bool check=false;};
|
467
|
+
template<> struct SmoothChecker<OP_FMOD>{ static const bool check=false;};
|
468
|
+
template<> struct SmoothChecker<OP_REMAINDER>{ static const bool check=false;};
|
469
|
+
template<> struct SmoothChecker<OP_EQ>{ static const bool check=false;};
|
470
|
+
template<> struct SmoothChecker<OP_NE>{ static const bool check=false;};
|
471
|
+
template<> struct SmoothChecker<OP_SIGN>{ static const bool check=false;};
|
472
|
+
template<> struct SmoothChecker<OP_COPYSIGN>{ static const bool check=false;};
|
473
|
+
template<> struct SmoothChecker<OP_NOT>{ static const bool check=false;};
|
474
|
+
template<> struct SmoothChecker<OP_AND>{ static const bool check=false;};
|
475
|
+
template<> struct SmoothChecker<OP_OR>{ static const bool check=false;};
|
476
|
+
template<> struct SmoothChecker<OP_IF_ELSE_ZERO>{ static const bool check=false;};
|
477
|
+
///@}
|
478
|
+
|
479
|
+
///@{
|
480
|
+
/// If evaluated with the first argument zero, is the result zero?
|
481
|
+
template<casadi_int I> struct F0XChecker { static const bool check=false;};
|
482
|
+
template<> struct F0XChecker<OP_ASSIGN>{ static const bool check=true;};
|
483
|
+
template<> struct F0XChecker<OP_MUL>{ static const bool check=true;};
|
484
|
+
template<> struct F0XChecker<OP_DIV>{ static const bool check=true;};
|
485
|
+
template<> struct F0XChecker<OP_NEG>{ static const bool check=true;};
|
486
|
+
template<> struct F0XChecker<OP_SQRT>{ static const bool check=true;};
|
487
|
+
template<> struct F0XChecker<OP_SQ>{ static const bool check=true;};
|
488
|
+
template<> struct F0XChecker<OP_TWICE>{ static const bool check=true;};
|
489
|
+
template<> struct F0XChecker<OP_SIN>{ static const bool check=true;};
|
490
|
+
template<> struct F0XChecker<OP_TAN>{ static const bool check=true;};
|
491
|
+
template<> struct F0XChecker<OP_ATAN>{ static const bool check=true;};
|
492
|
+
template<> struct F0XChecker<OP_ASIN>{ static const bool check=true;};
|
493
|
+
template<> struct F0XChecker<OP_FLOOR>{ static const bool check=true;};
|
494
|
+
template<> struct F0XChecker<OP_CEIL>{ static const bool check=true;};
|
495
|
+
template<> struct F0XChecker<OP_FMOD>{ static const bool check=true;};
|
496
|
+
template<> struct F0XChecker<OP_REMAINDER>{ static const bool check=true;};
|
497
|
+
template<> struct F0XChecker<OP_FABS>{ static const bool check=true;};
|
498
|
+
template<> struct F0XChecker<OP_SIGN>{ static const bool check=true;};
|
499
|
+
template<> struct F0XChecker<OP_COPYSIGN>{ static const bool check=true;};
|
500
|
+
template<> struct F0XChecker<OP_ERF>{ static const bool check=true;};
|
501
|
+
template<> struct F0XChecker<OP_SINH>{ static const bool check=true;};
|
502
|
+
template<> struct F0XChecker<OP_TANH>{ static const bool check=true;};
|
503
|
+
template<> struct F0XChecker<OP_ASINH>{ static const bool check=true;};
|
504
|
+
template<> struct F0XChecker<OP_ATANH>{ static const bool check=true;};
|
505
|
+
template<> struct F0XChecker<OP_ERFINV>{ static const bool check=true;};
|
506
|
+
template<> struct F0XChecker<OP_AND>{ static const bool check=true;};
|
507
|
+
template<> struct F0XChecker<OP_IF_ELSE_ZERO>{ static const bool check=true;};
|
508
|
+
template<> struct F0XChecker<OP_LOG1P>{ static const bool check=true;};
|
509
|
+
template<> struct F0XChecker<OP_EXPM1>{ static const bool check=true;};
|
510
|
+
///@}
|
511
|
+
|
512
|
+
///@{
|
513
|
+
/// If evaluated with the second argument zero, is the result zero?
|
514
|
+
template<casadi_int I> struct FX0Checker { static const bool check=false;};
|
515
|
+
template<> struct FX0Checker<OP_MUL>{ static const bool check=true;};
|
516
|
+
template<> struct FX0Checker<OP_AND>{ static const bool check=true;};
|
517
|
+
template<> struct FX0Checker<OP_IF_ELSE_ZERO>{ static const bool check=true;};
|
518
|
+
///@}
|
519
|
+
|
520
|
+
///@{
|
521
|
+
/// If evaluated with both arguments zero, is the result zero?
|
522
|
+
template<casadi_int I> struct F00Checker {
|
523
|
+
static const bool check=F0XChecker<I>::check || FX0Checker<I>::check;
|
524
|
+
};
|
525
|
+
template<> struct F00Checker<OP_ADD>{ static const bool check=true;};
|
526
|
+
template<> struct F00Checker<OP_SUB>{ static const bool check=true;};
|
527
|
+
template<> struct F00Checker<OP_FMIN>{ static const bool check=true;};
|
528
|
+
template<> struct F00Checker<OP_FMAX>{ static const bool check=true;};
|
529
|
+
template<> struct F00Checker<OP_AND>{ static const bool check=true;};
|
530
|
+
template<> struct F00Checker<OP_OR>{ static const bool check=true;};
|
531
|
+
template<> struct F00Checker<OP_COPYSIGN>{ static const bool check=true;};
|
532
|
+
template<> struct F00Checker<OP_LT>{ static const bool check=true;};
|
533
|
+
template<> struct F00Checker<OP_HYPOT>{ static const bool check=true;};
|
534
|
+
///@}
|
535
|
+
|
536
|
+
///@{
|
537
|
+
/// Is commutative
|
538
|
+
template<casadi_int I> struct CommChecker { static const bool check=false;};
|
539
|
+
template<> struct CommChecker<OP_ADD>{ static const bool check=true;};
|
540
|
+
template<> struct CommChecker<OP_MUL>{ static const bool check=true;};
|
541
|
+
template<> struct CommChecker<OP_EQ>{ static const bool check=true;};
|
542
|
+
template<> struct CommChecker<OP_NE>{ static const bool check=true;};
|
543
|
+
template<> struct CommChecker<OP_AND>{ static const bool check=true;};
|
544
|
+
template<> struct CommChecker<OP_OR>{ static const bool check=true;};
|
545
|
+
template<> struct CommChecker<OP_HYPOT>{ static const bool check=true;};
|
546
|
+
///@}
|
547
|
+
|
548
|
+
///@{
|
549
|
+
/// Always non-negative (false by default)
|
550
|
+
template<casadi_int I> struct NonnegativeChecker { static const bool check=false;};
|
551
|
+
template<> struct NonnegativeChecker<OP_SQRT>{ static const bool check=true;};
|
552
|
+
template<> struct NonnegativeChecker<OP_SQ>{ static const bool check=true;};
|
553
|
+
template<> struct NonnegativeChecker<OP_EXP>{ static const bool check=true;};
|
554
|
+
template<> struct NonnegativeChecker<OP_LT>{ static const bool check=true;};
|
555
|
+
template<> struct NonnegativeChecker<OP_LE>{ static const bool check=true;};
|
556
|
+
template<> struct NonnegativeChecker<OP_EQ>{ static const bool check=true;};
|
557
|
+
template<> struct NonnegativeChecker<OP_NE>{ static const bool check=true;};
|
558
|
+
template<> struct NonnegativeChecker<OP_NOT>{ static const bool check=true;};
|
559
|
+
template<> struct NonnegativeChecker<OP_AND>{ static const bool check=true;};
|
560
|
+
template<> struct NonnegativeChecker<OP_OR>{ static const bool check=true;};
|
561
|
+
template<> struct NonnegativeChecker<OP_HYPOT>{ static const bool check=true;};
|
562
|
+
///@}
|
563
|
+
|
564
|
+
///@{
|
565
|
+
/// Is the operation binary as opposed to unary
|
566
|
+
template<casadi_int I> struct NargChecker { static const casadi_int check=1;};
|
567
|
+
template<> struct NargChecker<OP_ADD>{ static const casadi_int check=2;};
|
568
|
+
template<> struct NargChecker<OP_SUB>{ static const casadi_int check=2;};
|
569
|
+
template<> struct NargChecker<OP_MUL>{ static const casadi_int check=2;};
|
570
|
+
template<> struct NargChecker<OP_DIV>{ static const casadi_int check=2;};
|
571
|
+
template<> struct NargChecker<OP_POW>{ static const casadi_int check=2;};
|
572
|
+
template<> struct NargChecker<OP_CONSTPOW>{ static const casadi_int check=2;};
|
573
|
+
template<> struct NargChecker<OP_EQ>{ static const casadi_int check=2;};
|
574
|
+
template<> struct NargChecker<OP_NE>{ static const casadi_int check=2;};
|
575
|
+
template<> struct NargChecker<OP_AND>{ static const casadi_int check=2;};
|
576
|
+
template<> struct NargChecker<OP_OR>{ static const casadi_int check=2;};
|
577
|
+
template<> struct NargChecker<OP_FMIN>{ static const casadi_int check=2;};
|
578
|
+
template<> struct NargChecker<OP_FMAX>{ static const casadi_int check=2;};
|
579
|
+
template<> struct NargChecker<OP_PRINTME>{ static const casadi_int check=2;};
|
580
|
+
template<> struct NargChecker<OP_ATAN2>{ static const casadi_int check=2;};
|
581
|
+
template<> struct NargChecker<OP_IF_ELSE_ZERO>{ static const casadi_int check=2;};
|
582
|
+
template<> struct NargChecker<OP_FMOD>{ static const casadi_int check=2;};
|
583
|
+
template<> struct NargChecker<OP_REMAINDER>{ static const casadi_int check=2;};
|
584
|
+
template<> struct NargChecker<OP_COPYSIGN>{ static const casadi_int check=2;};
|
585
|
+
template<> struct NargChecker<OP_CONST>{ static const casadi_int check=0;};
|
586
|
+
template<> struct NargChecker<OP_PARAMETER>{ static const casadi_int check=0;};
|
587
|
+
template<> struct NargChecker<OP_INPUT>{ static const casadi_int check=0;};
|
588
|
+
template<> struct NargChecker<OP_HYPOT>{ static const casadi_int check=2;};
|
589
|
+
///@}
|
590
|
+
|
591
|
+
/// Simple assignment
|
592
|
+
template<>
|
593
|
+
struct UnaryOperation<OP_ASSIGN>{
|
594
|
+
public:
|
595
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = x;}
|
596
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 1; }
|
597
|
+
};
|
598
|
+
|
599
|
+
/// Addition
|
600
|
+
template<>
|
601
|
+
struct BinaryOperation<OP_ADD>{
|
602
|
+
public:
|
603
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x+y;}
|
604
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
605
|
+
d[0]=d[1]=1;}
|
606
|
+
};
|
607
|
+
|
608
|
+
/// Subtraction
|
609
|
+
template<>
|
610
|
+
struct BinaryOperation<OP_SUB>{
|
611
|
+
public:
|
612
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x-y;}
|
613
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
614
|
+
d[0]=1; d[1]=-1;}
|
615
|
+
};
|
616
|
+
|
617
|
+
/// Multiplication
|
618
|
+
template<>
|
619
|
+
struct BinaryOperation<OP_MUL>{
|
620
|
+
public:
|
621
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x*y;}
|
622
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
623
|
+
d[0]=y; d[1]=x;}
|
624
|
+
};
|
625
|
+
|
626
|
+
/// Division
|
627
|
+
template<>
|
628
|
+
struct BinaryOperation<OP_DIV>{
|
629
|
+
public:
|
630
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x/y;}
|
631
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
632
|
+
d[0]=1/y; d[1]=-f/y;}
|
633
|
+
};
|
634
|
+
|
635
|
+
/// Negation
|
636
|
+
template<>
|
637
|
+
struct UnaryOperation<OP_NEG>{
|
638
|
+
public:
|
639
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = -x;}
|
640
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=-1;}
|
641
|
+
};
|
642
|
+
|
643
|
+
/// Natural exponent
|
644
|
+
template<>
|
645
|
+
struct UnaryOperation<OP_EXP>{
|
646
|
+
public:
|
647
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = exp(x);}
|
648
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=f;}
|
649
|
+
};
|
650
|
+
|
651
|
+
/// Natural logarithm
|
652
|
+
template<>
|
653
|
+
struct UnaryOperation<OP_LOG>{
|
654
|
+
public:
|
655
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = log(x);}
|
656
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=1/x;}
|
657
|
+
};
|
658
|
+
|
659
|
+
/// Power, defined only for x>=0
|
660
|
+
template<>
|
661
|
+
struct BinaryOperation<OP_POW>{
|
662
|
+
public:
|
663
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = pow(x, y);}
|
664
|
+
// See issue #104 why d[0] is no longer y*f/x
|
665
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
666
|
+
d[0]=y*pow(x, y-1); d[1]=log(x)*f;}
|
667
|
+
};
|
668
|
+
|
669
|
+
/// Power, defined only for y constant
|
670
|
+
template<>
|
671
|
+
struct BinaryOperation<OP_CONSTPOW>{
|
672
|
+
public:
|
673
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = pow(x, y);}
|
674
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
675
|
+
d[0]=y*pow(x, y-1); d[1]=0;}
|
676
|
+
};
|
677
|
+
|
678
|
+
/// Square root
|
679
|
+
template<>
|
680
|
+
struct UnaryOperation<OP_SQRT>{
|
681
|
+
public:
|
682
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = sqrt(x);}
|
683
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=1/(twice(f));}
|
684
|
+
};
|
685
|
+
|
686
|
+
/// Square
|
687
|
+
template<>
|
688
|
+
struct UnaryOperation<OP_SQ>{
|
689
|
+
public:
|
690
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = sq(x);}
|
691
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=twice(x);}
|
692
|
+
};
|
693
|
+
|
694
|
+
/// Times two
|
695
|
+
template<>
|
696
|
+
struct UnaryOperation<OP_TWICE>{
|
697
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = 2.*x;}
|
698
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 2; }
|
699
|
+
};
|
700
|
+
|
701
|
+
/// Sine
|
702
|
+
template<>
|
703
|
+
struct UnaryOperation<OP_SIN>{
|
704
|
+
public:
|
705
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = sin(x);}
|
706
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=cos(x);}
|
707
|
+
};
|
708
|
+
|
709
|
+
/// Cosine
|
710
|
+
template<>
|
711
|
+
struct UnaryOperation<OP_COS>{
|
712
|
+
public:
|
713
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = cos(x);}
|
714
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=-sin(x);}
|
715
|
+
};
|
716
|
+
|
717
|
+
/// Tangent
|
718
|
+
template<>
|
719
|
+
struct UnaryOperation<OP_TAN>{
|
720
|
+
public:
|
721
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = tan(x);}
|
722
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d)
|
723
|
+
{ d[0] = 1/sq(cos(x));}
|
724
|
+
};
|
725
|
+
|
726
|
+
/// Arcus sine
|
727
|
+
template<>
|
728
|
+
struct UnaryOperation<OP_ASIN>{
|
729
|
+
public:
|
730
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = asin(x);}
|
731
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=1/sqrt(1-x*x);}
|
732
|
+
};
|
733
|
+
|
734
|
+
/// Arcus cosine
|
735
|
+
template<>
|
736
|
+
struct UnaryOperation<OP_ACOS>{
|
737
|
+
public:
|
738
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = acos(x);}
|
739
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d)
|
740
|
+
{ d[0]=-1/sqrt(1-x*x);}
|
741
|
+
};
|
742
|
+
|
743
|
+
/// Arcus tangent
|
744
|
+
template<>
|
745
|
+
struct UnaryOperation<OP_ATAN>{
|
746
|
+
public:
|
747
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = atan(x);}
|
748
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 1/(1+x*x);}
|
749
|
+
};
|
750
|
+
|
751
|
+
/// Less than
|
752
|
+
template<>
|
753
|
+
struct BinaryOperation<OP_LT>{
|
754
|
+
public:
|
755
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x < y;}
|
756
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
757
|
+
d[0]=d[1]=0;}
|
758
|
+
};
|
759
|
+
|
760
|
+
/// Less or equal to
|
761
|
+
template<>
|
762
|
+
struct BinaryOperation<OP_LE>{
|
763
|
+
public:
|
764
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x <= y;}
|
765
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
766
|
+
d[0]=d[1]=0;}
|
767
|
+
};
|
768
|
+
|
769
|
+
/// Floor function
|
770
|
+
template<>
|
771
|
+
struct UnaryOperation<OP_FLOOR>{
|
772
|
+
public:
|
773
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = floor(x);}
|
774
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 0;}
|
775
|
+
};
|
776
|
+
|
777
|
+
/// Ceil function
|
778
|
+
template<>
|
779
|
+
struct UnaryOperation<OP_CEIL>{
|
780
|
+
public:
|
781
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = ceil(x);}
|
782
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 0;}
|
783
|
+
};
|
784
|
+
|
785
|
+
/// Remainder of division
|
786
|
+
template<>
|
787
|
+
struct BinaryOperation<OP_FMOD>{
|
788
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = fmod(x, y);}
|
789
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
790
|
+
d[0]=1; d[1]=(f-x)/y;}
|
791
|
+
};
|
792
|
+
|
793
|
+
/// Remainder of division
|
794
|
+
template<>
|
795
|
+
struct BinaryOperation<OP_REMAINDER>{
|
796
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) {
|
797
|
+
f = remainder(x, y);}
|
798
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
799
|
+
d[0]=1; d[1]=(f-x)/y;}
|
800
|
+
};
|
801
|
+
|
802
|
+
/// Equal to
|
803
|
+
template<>
|
804
|
+
struct BinaryOperation<OP_EQ>{
|
805
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x==y;}
|
806
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
807
|
+
d[0]=d[1]=0;}
|
808
|
+
};
|
809
|
+
|
810
|
+
/// Not equal to
|
811
|
+
template<>
|
812
|
+
struct BinaryOperation<OP_NE>{
|
813
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x!=y;}
|
814
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
815
|
+
d[0]=d[1]=0;}
|
816
|
+
};
|
817
|
+
|
818
|
+
/// Logical not
|
819
|
+
template<>
|
820
|
+
struct UnaryOperation<OP_NOT>{
|
821
|
+
public:
|
822
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = !x;}
|
823
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 0;}
|
824
|
+
};
|
825
|
+
|
826
|
+
/// Logical and
|
827
|
+
template<>
|
828
|
+
struct BinaryOperation<OP_AND>{
|
829
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x && y;}
|
830
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
831
|
+
d[0]=d[1]=0;}
|
832
|
+
};
|
833
|
+
|
834
|
+
/// Logical or
|
835
|
+
template<>
|
836
|
+
struct BinaryOperation<OP_OR>{
|
837
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x || y;}
|
838
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
839
|
+
d[0]=d[1]=0;}
|
840
|
+
};
|
841
|
+
|
842
|
+
/// Error function
|
843
|
+
template<>
|
844
|
+
struct UnaryOperation<OP_ERF>{
|
845
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = erf(x);}
|
846
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
847
|
+
d[0] = (2/sqrt(pi))*exp(-x*x);}
|
848
|
+
};
|
849
|
+
|
850
|
+
/// Absolute value
|
851
|
+
template<>
|
852
|
+
struct UnaryOperation<OP_FABS>{
|
853
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = fabs(x);}
|
854
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
855
|
+
d[0]=sign(x);}
|
856
|
+
};
|
857
|
+
|
858
|
+
/// Sign
|
859
|
+
template<>
|
860
|
+
struct UnaryOperation<OP_SIGN>{
|
861
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = sign(x);}
|
862
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0]=0;}
|
863
|
+
};
|
864
|
+
|
865
|
+
/// Copysign
|
866
|
+
template<>
|
867
|
+
struct BinaryOperation<OP_COPYSIGN>{
|
868
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = copysign(x, y);}
|
869
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
870
|
+
T e = 1; d[0]=copysign(e, y); d[1]=0;}
|
871
|
+
};
|
872
|
+
|
873
|
+
/// Minimum
|
874
|
+
template<>
|
875
|
+
struct BinaryOperation<OP_FMIN>{
|
876
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = fmin(x, y);}
|
877
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
878
|
+
T a = x<=y;
|
879
|
+
T b = y<=x;
|
880
|
+
T c = a+b;
|
881
|
+
d[0]=a/c; d[1]=b/c;}
|
882
|
+
};
|
883
|
+
|
884
|
+
/// Maximum
|
885
|
+
template<>
|
886
|
+
struct BinaryOperation<OP_FMAX>{
|
887
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = fmax(x, y);}
|
888
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
889
|
+
T a = y<=x;
|
890
|
+
T b = x<=y;
|
891
|
+
T c = a+b;
|
892
|
+
d[0]=a/c; d[1]=b/c;}
|
893
|
+
};
|
894
|
+
|
895
|
+
/// Element-wise inverse
|
896
|
+
template<>
|
897
|
+
struct UnaryOperation<OP_INV>{
|
898
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = 1./x;}
|
899
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = -f*f; }
|
900
|
+
};
|
901
|
+
|
902
|
+
/// Hyperbolic sine
|
903
|
+
template<>
|
904
|
+
struct UnaryOperation<OP_SINH>{
|
905
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = sinh(x);}
|
906
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = cosh(x); }
|
907
|
+
};
|
908
|
+
|
909
|
+
/// Hyperbolic cosine
|
910
|
+
template<>
|
911
|
+
struct UnaryOperation<OP_COSH>{
|
912
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = cosh(x);}
|
913
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = sinh(x); }
|
914
|
+
};
|
915
|
+
|
916
|
+
/// Hyperbolic tangent
|
917
|
+
template<>
|
918
|
+
struct UnaryOperation<OP_TANH>{
|
919
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = tanh(x);}
|
920
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 1-f*f; }
|
921
|
+
};
|
922
|
+
|
923
|
+
/// Inverse hyperbolic sine
|
924
|
+
template<>
|
925
|
+
struct UnaryOperation<OP_ASINH>{
|
926
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = asinh(x);}
|
927
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
928
|
+
d[0] = 1/sqrt(1+x*x); }
|
929
|
+
};
|
930
|
+
|
931
|
+
/// Inverse hyperbolic cosine
|
932
|
+
template<>
|
933
|
+
struct UnaryOperation<OP_ACOSH>{
|
934
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = acosh(x);}
|
935
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
936
|
+
d[0] = 1/sqrt(x-1)/sqrt(x+1); }
|
937
|
+
};
|
938
|
+
|
939
|
+
/// Inverse hyperbolic tangent
|
940
|
+
template<>
|
941
|
+
struct UnaryOperation<OP_ATANH>{
|
942
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = atanh(x);}
|
943
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) { d[0] = 1/(1-x*x); }
|
944
|
+
};
|
945
|
+
|
946
|
+
/// Inverse of error function
|
947
|
+
template<>
|
948
|
+
struct UnaryOperation<OP_ERFINV>{
|
949
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = erfinv(x);}
|
950
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
951
|
+
d[0] = (sqrt(pi)/2)*exp(f*f); }
|
952
|
+
};
|
953
|
+
|
954
|
+
/// log1p(x) = log(1+x)
|
955
|
+
template<>
|
956
|
+
struct UnaryOperation<OP_LOG1P>{
|
957
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = log1p(x);}
|
958
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
959
|
+
d[0] = 1/(1+x);}
|
960
|
+
};
|
961
|
+
|
962
|
+
/// expm1(x) = exp(x)-1
|
963
|
+
template<>
|
964
|
+
struct UnaryOperation<OP_EXPM1>{
|
965
|
+
template<typename T> static inline void fcn(const T& x, T& f) { f = expm1(x);}
|
966
|
+
template<typename T> static inline void der(const T& x, const T& f, T* d) {
|
967
|
+
d[0] = exp(x); }
|
968
|
+
};
|
969
|
+
|
970
|
+
/// Identity operator with the side effect of printing
|
971
|
+
template<>
|
972
|
+
struct BinaryOperation<OP_PRINTME>{
|
973
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) {f = printme(x, y); }
|
974
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
975
|
+
d[0]=1; d[1]=0;}
|
976
|
+
};
|
977
|
+
|
978
|
+
/// Arctan2
|
979
|
+
template<>
|
980
|
+
struct BinaryOperation<OP_ATAN2>{
|
981
|
+
public:
|
982
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = atan2(x, y);}
|
983
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
984
|
+
T t = x*x+y*y; d[0]=y/t; d[1]=-x/t;}
|
985
|
+
};
|
986
|
+
|
987
|
+
/// Conditional assignment
|
988
|
+
template<>
|
989
|
+
struct BinaryOperation<OP_IF_ELSE_ZERO>{
|
990
|
+
public:
|
991
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) {
|
992
|
+
f = if_else_zero(x, y);}
|
993
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
994
|
+
d[0]=0; d[1]=x;}
|
995
|
+
};
|
996
|
+
|
997
|
+
/// Inverse of error function
|
998
|
+
template<>
|
999
|
+
struct BinaryOperation<OP_LIFT>{
|
1000
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = x;}
|
1001
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
1002
|
+
d[0] = 1; d[1] = 0; }
|
1003
|
+
};
|
1004
|
+
|
1005
|
+
/// hypot(x,y) = sqrt(x^2+y^2)
|
1006
|
+
template<>
|
1007
|
+
struct BinaryOperation<OP_HYPOT>{
|
1008
|
+
template<typename T> static inline void fcn(const T& x, const T& y, T& f) { f = hypot(x, y);}
|
1009
|
+
template<typename T> static inline void der(const T& x, const T& y, const T& f, T* d) {
|
1010
|
+
d[0] = x/f; d[1] = y/f; }
|
1011
|
+
};
|
1012
|
+
|
1013
|
+
template<template<casadi_int> class F, typename T>
|
1014
|
+
T operation_getter(casadi_int op) {
|
1015
|
+
switch (static_cast<Operation>(op)) {
|
1016
|
+
case OP_ASSIGN: return F<OP_ASSIGN>::check;
|
1017
|
+
case OP_ADD: return F<OP_ADD>::check;
|
1018
|
+
case OP_SUB: return F<OP_SUB>::check;
|
1019
|
+
case OP_MUL: return F<OP_MUL>::check;
|
1020
|
+
case OP_DIV: return F<OP_DIV>::check;
|
1021
|
+
case OP_NEG: return F<OP_NEG>::check;
|
1022
|
+
case OP_EXP: return F<OP_EXP>::check;
|
1023
|
+
case OP_LOG: return F<OP_LOG>::check;
|
1024
|
+
case OP_POW: return F<OP_POW>::check;
|
1025
|
+
case OP_CONSTPOW: return F<OP_CONSTPOW>::check;
|
1026
|
+
case OP_SQRT: return F<OP_SQRT>::check;
|
1027
|
+
case OP_SQ: return F<OP_SQ>::check;
|
1028
|
+
case OP_TWICE: return F<OP_TWICE>::check;
|
1029
|
+
case OP_SIN: return F<OP_SIN>::check;
|
1030
|
+
case OP_COS: return F<OP_COS>::check;
|
1031
|
+
case OP_TAN: return F<OP_TAN>::check;
|
1032
|
+
case OP_ASIN: return F<OP_ASIN>::check;
|
1033
|
+
case OP_ACOS: return F<OP_ACOS>::check;
|
1034
|
+
case OP_ATAN: return F<OP_ATAN>::check;
|
1035
|
+
case OP_LT: return F<OP_LT>::check;
|
1036
|
+
case OP_LE: return F<OP_LE>::check;
|
1037
|
+
case OP_EQ: return F<OP_EQ>::check;
|
1038
|
+
case OP_NE: return F<OP_NE>::check;
|
1039
|
+
case OP_NOT: return F<OP_NOT>::check;
|
1040
|
+
case OP_AND: return F<OP_AND>::check;
|
1041
|
+
case OP_OR: return F<OP_OR>::check;
|
1042
|
+
case OP_FLOOR: return F<OP_FLOOR>::check;
|
1043
|
+
case OP_CEIL: return F<OP_CEIL>::check;
|
1044
|
+
case OP_FMOD: return F<OP_FMOD>::check;
|
1045
|
+
case OP_REMAINDER: return F<OP_REMAINDER>::check;
|
1046
|
+
case OP_FABS: return F<OP_FABS>::check;
|
1047
|
+
case OP_SIGN: return F<OP_SIGN>::check;
|
1048
|
+
case OP_COPYSIGN: return F<OP_COPYSIGN>::check;
|
1049
|
+
case OP_IF_ELSE_ZERO: return F<OP_IF_ELSE_ZERO>::check;
|
1050
|
+
case OP_ERF: return F<OP_ERF>::check;
|
1051
|
+
case OP_FMIN: return F<OP_FMIN>::check;
|
1052
|
+
case OP_FMAX: return F<OP_FMAX>::check;
|
1053
|
+
case OP_INV: return F<OP_INV>::check;
|
1054
|
+
case OP_SINH: return F<OP_SINH>::check;
|
1055
|
+
case OP_COSH: return F<OP_COSH>::check;
|
1056
|
+
case OP_TANH: return F<OP_TANH>::check;
|
1057
|
+
case OP_ASINH: return F<OP_ASINH>::check;
|
1058
|
+
case OP_ACOSH: return F<OP_ACOSH>::check;
|
1059
|
+
case OP_ATANH: return F<OP_ATANH>::check;
|
1060
|
+
case OP_ATAN2: return F<OP_ATAN2>::check;
|
1061
|
+
case OP_CONST: return F<OP_CONST>::check;
|
1062
|
+
case OP_INPUT: return F<OP_INPUT>::check;
|
1063
|
+
case OP_OUTPUT: return F<OP_OUTPUT>::check;
|
1064
|
+
case OP_PARAMETER: return F<OP_PARAMETER>::check;
|
1065
|
+
case OP_CALL: return F<OP_CALL>::check;
|
1066
|
+
case OP_FIND: return F<OP_FIND>::check;
|
1067
|
+
case OP_LOW: return F<OP_LOW>::check;
|
1068
|
+
case OP_MAP: return F<OP_MAP>::check;
|
1069
|
+
case OP_MTIMES: return F<OP_MTIMES>::check;
|
1070
|
+
case OP_SOLVE: return F<OP_SOLVE>::check;
|
1071
|
+
case OP_TRANSPOSE: return F<OP_TRANSPOSE>::check;
|
1072
|
+
case OP_DETERMINANT: return F<OP_DETERMINANT>::check;
|
1073
|
+
case OP_INVERSE: return F<OP_INVERSE>::check;
|
1074
|
+
case OP_DOT: return F<OP_DOT>::check;
|
1075
|
+
case OP_BILIN: return F<OP_BILIN>::check;
|
1076
|
+
case OP_RANK1: return F<OP_RANK1>::check;
|
1077
|
+
case OP_HORZCAT: return F<OP_HORZCAT>::check;
|
1078
|
+
case OP_VERTCAT: return F<OP_VERTCAT>::check;
|
1079
|
+
case OP_DIAGCAT: return F<OP_DIAGCAT>::check;
|
1080
|
+
case OP_HORZSPLIT: return F<OP_HORZSPLIT>::check;
|
1081
|
+
case OP_VERTSPLIT: return F<OP_VERTSPLIT>::check;
|
1082
|
+
case OP_DIAGSPLIT: return F<OP_DIAGSPLIT>::check;
|
1083
|
+
case OP_RESHAPE: return F<OP_RESHAPE>::check;
|
1084
|
+
case OP_SPARSITY_CAST: return F<OP_SPARSITY_CAST>::check;
|
1085
|
+
case OP_SUBREF: return F<OP_SUBREF>::check;
|
1086
|
+
case OP_SUBASSIGN: return F<OP_SUBASSIGN>::check;
|
1087
|
+
case OP_GETNONZEROS: return F<OP_GETNONZEROS>::check;
|
1088
|
+
case OP_GETNONZEROS_PARAM: return F<OP_GETNONZEROS_PARAM>::check;
|
1089
|
+
case OP_ADDNONZEROS: return F<OP_ADDNONZEROS>::check;
|
1090
|
+
case OP_ADDNONZEROS_PARAM: return F<OP_ADDNONZEROS>::check;
|
1091
|
+
case OP_SETNONZEROS: return F<OP_SETNONZEROS>::check;
|
1092
|
+
case OP_SETNONZEROS_PARAM: return F<OP_SETNONZEROS>::check;
|
1093
|
+
case OP_PROJECT: return F<OP_PROJECT>::check;
|
1094
|
+
case OP_ASSERTION: return F<OP_ASSERTION>::check;
|
1095
|
+
case OP_MONITOR: return F<OP_MONITOR>::check;
|
1096
|
+
case OP_NORM2: return F<OP_NORM2>::check;
|
1097
|
+
case OP_NORM1: return F<OP_NORM1>::check;
|
1098
|
+
case OP_NORMINF: return F<OP_NORMINF>::check;
|
1099
|
+
case OP_NORMF: return F<OP_NORMF>::check;
|
1100
|
+
case OP_MMIN: return F<OP_MMIN>::check;
|
1101
|
+
case OP_MMAX: return F<OP_MMAX>::check;
|
1102
|
+
case OP_HORZREPMAT: return F<OP_HORZREPMAT>::check;
|
1103
|
+
case OP_HORZREPSUM: return F<OP_HORZREPSUM>::check;
|
1104
|
+
case OP_ERFINV: return F<OP_ERFINV>::check;
|
1105
|
+
case OP_PRINTME: return F<OP_PRINTME>::check;
|
1106
|
+
case OP_LIFT: return F<OP_LIFT>::check;
|
1107
|
+
case OP_EINSTEIN: return F<OP_EINSTEIN>::check;
|
1108
|
+
case OP_BSPLINE: return F<OP_BSPLINE>::check;
|
1109
|
+
case OP_CONVEXIFY: return F<OP_CONVEXIFY>::check;
|
1110
|
+
case OP_LOG1P: return F<OP_LOG1P>::check;
|
1111
|
+
case OP_EXPM1: return F<OP_EXPM1>::check;
|
1112
|
+
case OP_HYPOT: return F<OP_HYPOT>::check;
|
1113
|
+
case OP_LOGSUMEXP: return F<OP_LOGSUMEXP>::check;
|
1114
|
+
}
|
1115
|
+
return T();
|
1116
|
+
}
|
1117
|
+
|
1118
|
+
template<template<casadi_int> class F>
|
1119
|
+
bool operation_checker(casadi_int op) {
|
1120
|
+
return operation_getter<F, bool>(op);
|
1121
|
+
}
|
1122
|
+
|
1123
|
+
/// Easy access to all the functions for a particular type
|
1124
|
+
template<typename T>
|
1125
|
+
struct casadi_math {
|
1126
|
+
|
1127
|
+
/** \brief Evaluate a built in function (scalar-scalar)
|
1128
|
+
|
1129
|
+
\identifier{1g6} */
|
1130
|
+
static inline void fun(unsigned char op, const T& x, const T& y, T& f);
|
1131
|
+
|
1132
|
+
/** \brief Evaluate a built in function (vector-vector)
|
1133
|
+
|
1134
|
+
\identifier{1g7} */
|
1135
|
+
static inline void fun(unsigned char op, const T* x, const T* y, T* f, casadi_int n);
|
1136
|
+
|
1137
|
+
/** \brief Evaluate a built in function (vector-scalar)
|
1138
|
+
|
1139
|
+
\identifier{1g8} */
|
1140
|
+
static inline void fun(unsigned char op, const T* x, const T& y, T* f, casadi_int n);
|
1141
|
+
|
1142
|
+
/** \brief Evaluate a built in function (scalar-vector)
|
1143
|
+
|
1144
|
+
\identifier{1g9} */
|
1145
|
+
static inline void fun(unsigned char op, const T& x, const T* y, T* f, casadi_int n);
|
1146
|
+
|
1147
|
+
/** \brief Evaluate a built in derivative function
|
1148
|
+
|
1149
|
+
\identifier{1ga} */
|
1150
|
+
static inline void der(unsigned char op, const T& x, const T& y, const T& f, T* d);
|
1151
|
+
|
1152
|
+
/** \brief Evaluate the function and the derivative function
|
1153
|
+
|
1154
|
+
\identifier{1gb} */
|
1155
|
+
static inline void derF(unsigned char op, const T& x, const T& y, T& f, T* d);
|
1156
|
+
|
1157
|
+
/** \brief Evaluate function on a const/linear/nonlinear partition
|
1158
|
+
|
1159
|
+
\identifier{28f} */
|
1160
|
+
static inline void fun_linear(unsigned char op, const T*x, const T* y, T* f);
|
1161
|
+
|
1162
|
+
/** \brief Is binary operation?
|
1163
|
+
|
1164
|
+
\identifier{1gc} */
|
1165
|
+
static inline bool is_binary(unsigned char op);
|
1166
|
+
|
1167
|
+
/** \brief Is unary operation?
|
1168
|
+
|
1169
|
+
\identifier{1gd} */
|
1170
|
+
static inline bool is_unary(unsigned char op);
|
1171
|
+
|
1172
|
+
/** \brief Number of dependencies
|
1173
|
+
|
1174
|
+
\identifier{1ge} */
|
1175
|
+
static inline casadi_int ndeps(unsigned char op);
|
1176
|
+
|
1177
|
+
/** \brief Print
|
1178
|
+
|
1179
|
+
\identifier{1gf} */
|
1180
|
+
static inline std::string print(unsigned char op, const std::string& x,
|
1181
|
+
const std::string& y);
|
1182
|
+
static inline std::string print(unsigned char op, const std::string& x);
|
1183
|
+
static inline std::string name(unsigned char op);
|
1184
|
+
static inline std::string pre(unsigned char op);
|
1185
|
+
static inline std::string sep(unsigned char op);
|
1186
|
+
static inline std::string post(unsigned char op);
|
1187
|
+
};
|
1188
|
+
|
1189
|
+
/// Specialize the class so that it can be used with integer type
|
1190
|
+
template<>
|
1191
|
+
struct casadi_math<casadi_int>{
|
1192
|
+
|
1193
|
+
/** \brief Evaluate a built in function
|
1194
|
+
|
1195
|
+
\identifier{1gg} */
|
1196
|
+
static inline void fun(unsigned char op, const casadi_int& x,
|
1197
|
+
const casadi_int& y, casadi_int& f) {
|
1198
|
+
double ff(0);
|
1199
|
+
casadi_math<double>::fun(op, static_cast<double>(x), static_cast<double>(y), ff);
|
1200
|
+
f = static_cast<casadi_int>(ff);
|
1201
|
+
}
|
1202
|
+
|
1203
|
+
static inline void fun(unsigned char op, const casadi_int* x, const casadi_int* y,
|
1204
|
+
casadi_int* f, casadi_int n) {
|
1205
|
+
for (casadi_int i=0; i<n; ++i) {
|
1206
|
+
double ff(0);
|
1207
|
+
casadi_math<double>::fun(op, static_cast<double>(*x++), static_cast<double>(*y++), ff);
|
1208
|
+
*f++ = static_cast<casadi_int>(ff);
|
1209
|
+
}
|
1210
|
+
}
|
1211
|
+
|
1212
|
+
static inline void fun(unsigned char op, const casadi_int* x, const casadi_int& y,
|
1213
|
+
casadi_int* f, casadi_int n) {
|
1214
|
+
for (casadi_int i=0; i<n; ++i) {
|
1215
|
+
double ff;
|
1216
|
+
casadi_math<double>::fun(op, static_cast<double>(*x++), static_cast<double>(y), ff);
|
1217
|
+
*f++ = static_cast<casadi_int>(ff);
|
1218
|
+
}
|
1219
|
+
}
|
1220
|
+
|
1221
|
+
static inline void fun(unsigned char op, const casadi_int& x, const casadi_int* y,
|
1222
|
+
casadi_int* f, casadi_int n) {
|
1223
|
+
for (casadi_int i=0; i<n; ++i) {
|
1224
|
+
double ff;
|
1225
|
+
casadi_math<double>::fun(op, static_cast<double>(x), static_cast<double>(*y++), ff);
|
1226
|
+
*f++ = static_cast<casadi_int>(ff);
|
1227
|
+
}
|
1228
|
+
}
|
1229
|
+
|
1230
|
+
/** \brief Evaluate a built in derivative function
|
1231
|
+
|
1232
|
+
\identifier{1gh} */
|
1233
|
+
static inline void der(unsigned char op, const casadi_int& x, const casadi_int& y,
|
1234
|
+
const casadi_int& f, casadi_int* d) {
|
1235
|
+
double d_real[2] = {static_cast<double>(d[0]), static_cast<double>(d[1])};
|
1236
|
+
casadi_math<double>::der(op, static_cast<double>(x), static_cast<double>(y),
|
1237
|
+
static_cast<double>(f), d_real);
|
1238
|
+
d[0] = static_cast<casadi_int>(d_real[0]);
|
1239
|
+
d[1] = static_cast<casadi_int>(d_real[1]);
|
1240
|
+
}
|
1241
|
+
|
1242
|
+
/** \brief Evaluate the function and the derivative function
|
1243
|
+
|
1244
|
+
\identifier{1gi} */
|
1245
|
+
static inline void derF(unsigned char op, const casadi_int& x, const casadi_int& y,
|
1246
|
+
casadi_int& f, casadi_int* d) {
|
1247
|
+
double d_real[2] = {static_cast<double>(d[0]), static_cast<double>(d[1])};
|
1248
|
+
double f_real = static_cast<double>(f);
|
1249
|
+
casadi_math<double>::derF(op, static_cast<double>(x), static_cast<double>(y), f_real, d_real);
|
1250
|
+
f = static_cast<casadi_int>(f_real);
|
1251
|
+
d[0] = static_cast<casadi_int>(d_real[0]);
|
1252
|
+
d[1] = static_cast<casadi_int>(d_real[1]);
|
1253
|
+
}
|
1254
|
+
|
1255
|
+
/** \brief Number of dependencies
|
1256
|
+
|
1257
|
+
\identifier{1gj} */
|
1258
|
+
static inline casadi_int ndeps(unsigned char op) {
|
1259
|
+
return casadi_math<double>::ndeps(op);
|
1260
|
+
}
|
1261
|
+
|
1262
|
+
/** \brief Print
|
1263
|
+
|
1264
|
+
\identifier{1gk} */
|
1265
|
+
static inline std::string print(unsigned char op, const std::string& x,
|
1266
|
+
const std::string& y) {
|
1267
|
+
return casadi_math<double>::print(op, x, y);
|
1268
|
+
}
|
1269
|
+
static inline std::string print(unsigned char op, const std::string& x) {
|
1270
|
+
return casadi_math<double>::print(op, x);
|
1271
|
+
}
|
1272
|
+
static inline std::string pre(unsigned char op) {
|
1273
|
+
return casadi_math<double>::pre(op);
|
1274
|
+
}
|
1275
|
+
static inline std::string name(unsigned char op) {
|
1276
|
+
return casadi_math<double>::name(op);
|
1277
|
+
}
|
1278
|
+
static inline std::string sep(unsigned char op) {
|
1279
|
+
return casadi_math<double>::sep(op);
|
1280
|
+
}
|
1281
|
+
static inline std::string post(unsigned char op) {
|
1282
|
+
return casadi_math<double>::post(op);
|
1283
|
+
}
|
1284
|
+
};
|
1285
|
+
|
1286
|
+
// Template implementations
|
1287
|
+
|
1288
|
+
template<typename T>
|
1289
|
+
inline void casadi_math<T>::fun(unsigned char op, const T& x, const T& y, T& f) {
|
1290
|
+
// NOTE: We define the implementation in a preprocessor macro to be able to force inlining,
|
1291
|
+
// and to allow extensions in the VM
|
1292
|
+
#define CASADI_MATH_FUN_BUILTIN_GEN(CNAME, X, Y, F, N) \
|
1293
|
+
case OP_ASSIGN: CNAME<OP_ASSIGN>::fcn(X, Y, F, N); break; \
|
1294
|
+
case OP_ADD: CNAME<OP_ADD>::fcn(X, Y, F, N); break; \
|
1295
|
+
case OP_SUB: CNAME<OP_SUB>::fcn(X, Y, F, N); break; \
|
1296
|
+
case OP_MUL: CNAME<OP_MUL>::fcn(X, Y, F, N); break; \
|
1297
|
+
case OP_DIV: CNAME<OP_DIV>::fcn(X, Y, F, N); break; \
|
1298
|
+
case OP_NEG: CNAME<OP_NEG>::fcn(X, Y, F, N); break; \
|
1299
|
+
case OP_EXP: CNAME<OP_EXP>::fcn(X, Y, F, N); break; \
|
1300
|
+
case OP_LOG: CNAME<OP_LOG>::fcn(X, Y, F, N); break; \
|
1301
|
+
case OP_POW: CNAME<OP_POW>::fcn(X, Y, F, N); break; \
|
1302
|
+
case OP_CONSTPOW: CNAME<OP_CONSTPOW>::fcn(X, Y, F, N); break; \
|
1303
|
+
case OP_SQRT: CNAME<OP_SQRT>::fcn(X, Y, F, N); break; \
|
1304
|
+
case OP_SQ: CNAME<OP_SQ>::fcn(X, Y, F, N); break; \
|
1305
|
+
case OP_TWICE: CNAME<OP_TWICE>::fcn(X, Y, F, N); break; \
|
1306
|
+
case OP_SIN: CNAME<OP_SIN>::fcn(X, Y, F, N); break; \
|
1307
|
+
case OP_COS: CNAME<OP_COS>::fcn(X, Y, F, N); break; \
|
1308
|
+
case OP_TAN: CNAME<OP_TAN>::fcn(X, Y, F, N); break; \
|
1309
|
+
case OP_ASIN: CNAME<OP_ASIN>::fcn(X, Y, F, N); break; \
|
1310
|
+
case OP_ACOS: CNAME<OP_ACOS>::fcn(X, Y, F, N); break; \
|
1311
|
+
case OP_ATAN: CNAME<OP_ATAN>::fcn(X, Y, F, N); break; \
|
1312
|
+
case OP_LT: CNAME<OP_LT>::fcn(X, Y, F, N); break; \
|
1313
|
+
case OP_LE: CNAME<OP_LE>::fcn(X, Y, F, N); break; \
|
1314
|
+
case OP_EQ: CNAME<OP_EQ>::fcn(X, Y, F, N); break; \
|
1315
|
+
case OP_NE: CNAME<OP_NE>::fcn(X, Y, F, N); break; \
|
1316
|
+
case OP_NOT: CNAME<OP_NOT>::fcn(X, Y, F, N); break; \
|
1317
|
+
case OP_AND: CNAME<OP_AND>::fcn(X, Y, F, N); break; \
|
1318
|
+
case OP_OR: CNAME<OP_OR>::fcn(X, Y, F, N); break; \
|
1319
|
+
case OP_IF_ELSE_ZERO: CNAME<OP_IF_ELSE_ZERO>::fcn(X, Y, F, N); break; \
|
1320
|
+
case OP_FLOOR: CNAME<OP_FLOOR>::fcn(X, Y, F, N); break; \
|
1321
|
+
case OP_CEIL: CNAME<OP_CEIL>::fcn(X, Y, F, N); break; \
|
1322
|
+
case OP_FMOD: CNAME<OP_FMOD>::fcn(X, Y, F, N); break; \
|
1323
|
+
case OP_REMAINDER: CNAME<OP_REMAINDER>::fcn(X, Y, F, N); break; \
|
1324
|
+
case OP_FABS: CNAME<OP_FABS>::fcn(X, Y, F, N); break; \
|
1325
|
+
case OP_SIGN: CNAME<OP_SIGN>::fcn(X, Y, F, N); break; \
|
1326
|
+
case OP_COPYSIGN: CNAME<OP_COPYSIGN>::fcn(X, Y, F, N); break; \
|
1327
|
+
case OP_ERF: CNAME<OP_ERF>::fcn(X, Y, F, N); break; \
|
1328
|
+
case OP_FMIN: CNAME<OP_FMIN>::fcn(X, Y, F, N); break; \
|
1329
|
+
case OP_FMAX: CNAME<OP_FMAX>::fcn(X, Y, F, N); break; \
|
1330
|
+
case OP_INV: CNAME<OP_INV>::fcn(X, Y, F, N); break; \
|
1331
|
+
case OP_SINH: CNAME<OP_SINH>::fcn(X, Y, F, N); break; \
|
1332
|
+
case OP_COSH: CNAME<OP_COSH>::fcn(X, Y, F, N); break; \
|
1333
|
+
case OP_TANH: CNAME<OP_TANH>::fcn(X, Y, F, N); break; \
|
1334
|
+
case OP_ASINH: CNAME<OP_ASINH>::fcn(X, Y, F, N); break; \
|
1335
|
+
case OP_ACOSH: CNAME<OP_ACOSH>::fcn(X, Y, F, N); break; \
|
1336
|
+
case OP_ATANH: CNAME<OP_ATANH>::fcn(X, Y, F, N); break; \
|
1337
|
+
case OP_ATAN2: CNAME<OP_ATAN2>::fcn(X, Y, F, N); break; \
|
1338
|
+
case OP_ERFINV: CNAME<OP_ERFINV>::fcn(X, Y, F, N); break; \
|
1339
|
+
case OP_LIFT: CNAME<OP_LIFT>::fcn(X, Y, F, N); break; \
|
1340
|
+
case OP_PRINTME: CNAME<OP_PRINTME>::fcn(X, Y, F, N); break; \
|
1341
|
+
case OP_LOG1P: CNAME<OP_LOG1P>::fcn(X, Y, F, N); break; \
|
1342
|
+
case OP_EXPM1: CNAME<OP_EXPM1>::fcn(X, Y, F, N); break; \
|
1343
|
+
case OP_HYPOT: CNAME<OP_HYPOT>::fcn(X, Y, F, N); break;
|
1344
|
+
|
1345
|
+
#define CASADI_MATH_FUN_BUILTIN(X, Y, F) CASADI_MATH_FUN_BUILTIN_GEN(BinaryOperationSS, X, Y, F, 1)
|
1346
|
+
|
1347
|
+
switch (op) {
|
1348
|
+
CASADI_MATH_FUN_BUILTIN(x, y, f)
|
1349
|
+
}
|
1350
|
+
}
|
1351
|
+
|
1352
|
+
template<typename T>
|
1353
|
+
inline void casadi_math<T>::fun(unsigned char op, const T* x, const T* y, T* f, casadi_int n) {
|
1354
|
+
switch (op) {
|
1355
|
+
CASADI_MATH_FUN_BUILTIN_GEN(BinaryOperationVV, x, y, f, n)
|
1356
|
+
}
|
1357
|
+
}
|
1358
|
+
|
1359
|
+
template<typename T>
|
1360
|
+
inline void casadi_math<T>::fun(unsigned char op, const T* x, const T& y, T* f, casadi_int n) {
|
1361
|
+
switch (op) {
|
1362
|
+
CASADI_MATH_FUN_BUILTIN_GEN(BinaryOperationVS, x, y, f, n)
|
1363
|
+
}
|
1364
|
+
}
|
1365
|
+
|
1366
|
+
template<typename T>
|
1367
|
+
inline void casadi_math<T>::fun(unsigned char op, const T& x, const T* y, T* f, casadi_int n) {
|
1368
|
+
switch (op) {
|
1369
|
+
CASADI_MATH_FUN_BUILTIN_GEN(BinaryOperationSV, x, y, f, n)
|
1370
|
+
}
|
1371
|
+
}
|
1372
|
+
|
1373
|
+
|
1374
|
+
template<typename T>
|
1375
|
+
inline void casadi_math<T>::der(unsigned char op, const T& x, const T& y, const T& f, T* d) {
|
1376
|
+
// NOTE: We define the implementation in a preprocessor macro to be able to force inlining,
|
1377
|
+
// and to allow extensions in the VM
|
1378
|
+
#define CASADI_MATH_DER_BUILTIN(X, Y, F, D) \
|
1379
|
+
case OP_ASSIGN: BinaryOperation<OP_ASSIGN>::der(X, Y, F, D); break; \
|
1380
|
+
case OP_ADD: BinaryOperation<OP_ADD>::der(X, Y, F, D); break; \
|
1381
|
+
case OP_SUB: BinaryOperation<OP_SUB>::der(X, Y, F, D); break; \
|
1382
|
+
case OP_MUL: BinaryOperation<OP_MUL>::der(X, Y, F, D); break; \
|
1383
|
+
case OP_DIV: BinaryOperation<OP_DIV>::der(X, Y, F, D); break; \
|
1384
|
+
case OP_NEG: BinaryOperation<OP_NEG>::der(X, Y, F, D); break; \
|
1385
|
+
case OP_EXP: BinaryOperation<OP_EXP>::der(X, Y, F, D); break; \
|
1386
|
+
case OP_LOG: BinaryOperation<OP_LOG>::der(X, Y, F, D); break; \
|
1387
|
+
case OP_POW: BinaryOperation<OP_POW>::der(X, Y, F, D); break; \
|
1388
|
+
case OP_CONSTPOW: BinaryOperation<OP_CONSTPOW>::der(X, Y, F, D); break; \
|
1389
|
+
case OP_SQRT: BinaryOperation<OP_SQRT>::der(X, Y, F, D); break; \
|
1390
|
+
case OP_SQ: BinaryOperation<OP_SQ>::der(X, Y, F, D); break; \
|
1391
|
+
case OP_TWICE: BinaryOperation<OP_TWICE>::der(X, Y, F, D); break; \
|
1392
|
+
case OP_SIN: BinaryOperation<OP_SIN>::der(X, Y, F, D); break; \
|
1393
|
+
case OP_COS: BinaryOperation<OP_COS>::der(X, Y, F, D); break; \
|
1394
|
+
case OP_TAN: BinaryOperation<OP_TAN>::der(X, Y, F, D); break; \
|
1395
|
+
case OP_ASIN: BinaryOperation<OP_ASIN>::der(X, Y, F, D); break; \
|
1396
|
+
case OP_ACOS: BinaryOperation<OP_ACOS>::der(X, Y, F, D); break; \
|
1397
|
+
case OP_ATAN: BinaryOperation<OP_ATAN>::der(X, Y, F, D); break; \
|
1398
|
+
case OP_LT: BinaryOperation<OP_LT>::der(X, Y, F, D); break; \
|
1399
|
+
case OP_LE: BinaryOperation<OP_LE>::der(X, Y, F, D); break; \
|
1400
|
+
case OP_EQ: BinaryOperation<OP_EQ>::der(X, Y, F, D); break; \
|
1401
|
+
case OP_NE: BinaryOperation<OP_NE>::der(X, Y, F, D); break; \
|
1402
|
+
case OP_NOT: BinaryOperation<OP_NOT>::der(X, Y, F, D); break; \
|
1403
|
+
case OP_AND: BinaryOperation<OP_AND>::der(X, Y, F, D); break; \
|
1404
|
+
case OP_OR: BinaryOperation<OP_OR>::der(X, Y, F, D); break; \
|
1405
|
+
case OP_IF_ELSE_ZERO: BinaryOperation<OP_IF_ELSE_ZERO>::der(X, Y, F, D); break; \
|
1406
|
+
case OP_FLOOR: BinaryOperation<OP_FLOOR>::der(X, Y, F, D); break; \
|
1407
|
+
case OP_CEIL: BinaryOperation<OP_CEIL>::der(X, Y, F, D); break; \
|
1408
|
+
case OP_FMOD: BinaryOperation<OP_FMOD>::der(X, Y, F, D); break; \
|
1409
|
+
case OP_REMAINDER: BinaryOperation<OP_REMAINDER>::der(X, Y, F, D); break; \
|
1410
|
+
case OP_FABS: BinaryOperation<OP_FABS>::der(X, Y, F, D); break; \
|
1411
|
+
case OP_SIGN: BinaryOperation<OP_SIGN>::der(X, Y, F, D); break; \
|
1412
|
+
case OP_COPYSIGN: BinaryOperation<OP_COPYSIGN>::der(X, Y, F, D); break; \
|
1413
|
+
case OP_ERF: BinaryOperation<OP_ERF>::der(X, Y, F, D); break; \
|
1414
|
+
case OP_FMIN: BinaryOperation<OP_FMIN>::der(X, Y, F, D); break; \
|
1415
|
+
case OP_FMAX: BinaryOperation<OP_FMAX>::der(X, Y, F, D); break; \
|
1416
|
+
case OP_INV: BinaryOperation<OP_INV>::der(X, Y, F, D); break; \
|
1417
|
+
case OP_SINH: BinaryOperation<OP_SINH>::der(X, Y, F, D); break; \
|
1418
|
+
case OP_COSH: BinaryOperation<OP_COSH>::der(X, Y, F, D); break; \
|
1419
|
+
case OP_TANH: BinaryOperation<OP_TANH>::der(X, Y, F, D); break; \
|
1420
|
+
case OP_ASINH: BinaryOperation<OP_ASINH>::der(X, Y, F, D); break; \
|
1421
|
+
case OP_ACOSH: BinaryOperation<OP_ACOSH>::der(X, Y, F, D); break; \
|
1422
|
+
case OP_ATANH: BinaryOperation<OP_ATANH>::der(X, Y, F, D); break; \
|
1423
|
+
case OP_ATAN2: BinaryOperation<OP_ATAN2>::der(X, Y, F, D); break; \
|
1424
|
+
case OP_ERFINV: BinaryOperation<OP_ERFINV>::der(X, Y, F, D); break; \
|
1425
|
+
case OP_LIFT: BinaryOperation<OP_LIFT>::der(X, Y, F, D); break; \
|
1426
|
+
case OP_PRINTME: BinaryOperation<OP_PRINTME>::der(X, Y, F, D); break; \
|
1427
|
+
case OP_LOG1P: BinaryOperation<OP_LOG1P>::der(X, Y, F, D); break; \
|
1428
|
+
case OP_EXPM1: BinaryOperation<OP_EXPM1>::der(X, Y, F, D); break; \
|
1429
|
+
case OP_HYPOT: BinaryOperation<OP_HYPOT>::der(X, Y, F, D); break;
|
1430
|
+
switch (op) {
|
1431
|
+
CASADI_MATH_DER_BUILTIN(x, y, f, d)
|
1432
|
+
}
|
1433
|
+
}
|
1434
|
+
|
1435
|
+
|
1436
|
+
template<typename T>
|
1437
|
+
inline void casadi_math<T>::derF(unsigned char op, const T& x, const T& y, T& f, T* d) {
|
1438
|
+
// NOTE: We define the implementation in a preprocessor macro to be able to force inlining,
|
1439
|
+
// and to allow extensions in the VM
|
1440
|
+
#define CASADI_MATH_DERF_BUILTIN(X, Y, F, D) \
|
1441
|
+
case OP_ASSIGN: DerBinaryOperation<OP_ASSIGN>::derf(X, Y, F, D); break; \
|
1442
|
+
case OP_ADD: DerBinaryOperation<OP_ADD>::derf(X, Y, F, D); break; \
|
1443
|
+
case OP_SUB: DerBinaryOperation<OP_SUB>::derf(X, Y, F, D); break; \
|
1444
|
+
case OP_MUL: DerBinaryOperation<OP_MUL>::derf(X, Y, F, D); break; \
|
1445
|
+
case OP_DIV: DerBinaryOperation<OP_DIV>::derf(X, Y, F, D); break; \
|
1446
|
+
case OP_NEG: DerBinaryOperation<OP_NEG>::derf(X, Y, F, D); break; \
|
1447
|
+
case OP_EXP: DerBinaryOperation<OP_EXP>::derf(X, Y, F, D); break; \
|
1448
|
+
case OP_LOG: DerBinaryOperation<OP_LOG>::derf(X, Y, F, D); break; \
|
1449
|
+
case OP_POW: DerBinaryOperation<OP_POW>::derf(X, Y, F, D); break; \
|
1450
|
+
case OP_CONSTPOW: DerBinaryOperation<OP_CONSTPOW>::derf(X, Y, F, D); break; \
|
1451
|
+
case OP_SQRT: DerBinaryOperation<OP_SQRT>::derf(X, Y, F, D); break; \
|
1452
|
+
case OP_SQ: DerBinaryOperation<OP_SQ>::derf(X, Y, F, D); break; \
|
1453
|
+
case OP_TWICE: DerBinaryOperation<OP_TWICE>::derf(X, Y, F, D); break; \
|
1454
|
+
case OP_SIN: DerBinaryOperation<OP_SIN>::derf(X, Y, F, D); break; \
|
1455
|
+
case OP_COS: DerBinaryOperation<OP_COS>::derf(X, Y, F, D); break; \
|
1456
|
+
case OP_TAN: DerBinaryOperation<OP_TAN>::derf(X, Y, F, D); break; \
|
1457
|
+
case OP_ASIN: DerBinaryOperation<OP_ASIN>::derf(X, Y, F, D); break; \
|
1458
|
+
case OP_ACOS: DerBinaryOperation<OP_ACOS>::derf(X, Y, F, D); break; \
|
1459
|
+
case OP_ATAN: DerBinaryOperation<OP_ATAN>::derf(X, Y, F, D); break; \
|
1460
|
+
case OP_LT: DerBinaryOperation<OP_LT>::derf(X, Y, F, D); break; \
|
1461
|
+
case OP_LE: DerBinaryOperation<OP_LE>::derf(X, Y, F, D); break; \
|
1462
|
+
case OP_EQ: DerBinaryOperation<OP_EQ>::derf(X, Y, F, D); break; \
|
1463
|
+
case OP_NE: DerBinaryOperation<OP_NE>::derf(X, Y, F, D); break; \
|
1464
|
+
case OP_NOT: DerBinaryOperation<OP_NOT>::derf(X, Y, F, D); break; \
|
1465
|
+
case OP_AND: DerBinaryOperation<OP_AND>::derf(X, Y, F, D); break; \
|
1466
|
+
case OP_OR: DerBinaryOperation<OP_OR>::derf(X, Y, F, D); break; \
|
1467
|
+
case OP_IF_ELSE_ZERO: DerBinaryOperation<OP_IF_ELSE_ZERO>::derf(X, Y, F, D); break; \
|
1468
|
+
case OP_FLOOR: DerBinaryOperation<OP_FLOOR>::derf(X, Y, F, D); break; \
|
1469
|
+
case OP_CEIL: DerBinaryOperation<OP_CEIL>::derf(X, Y, F, D); break; \
|
1470
|
+
case OP_FMOD: DerBinaryOperation<OP_FMOD>::derf(X, Y, F, D); break; \
|
1471
|
+
case OP_REMAINDER: DerBinaryOperation<OP_REMAINDER>::derf(X, Y, F, D); break; \
|
1472
|
+
case OP_FABS: DerBinaryOperation<OP_FABS>::derf(X, Y, F, D); break; \
|
1473
|
+
case OP_SIGN: DerBinaryOperation<OP_SIGN>::derf(X, Y, F, D); break; \
|
1474
|
+
case OP_COPYSIGN: DerBinaryOperation<OP_COPYSIGN>::derf(X, Y, F, D); break; \
|
1475
|
+
case OP_ERF: DerBinaryOperation<OP_ERF>::derf(X, Y, F, D); break; \
|
1476
|
+
case OP_FMIN: DerBinaryOperation<OP_FMIN>::derf(X, Y, F, D); break; \
|
1477
|
+
case OP_FMAX: DerBinaryOperation<OP_FMAX>::derf(X, Y, F, D); break; \
|
1478
|
+
case OP_INV: DerBinaryOperation<OP_INV>::derf(X, Y, F, D); break; \
|
1479
|
+
case OP_SINH: DerBinaryOperation<OP_SINH>::derf(X, Y, F, D); break; \
|
1480
|
+
case OP_COSH: DerBinaryOperation<OP_COSH>::derf(X, Y, F, D); break; \
|
1481
|
+
case OP_TANH: DerBinaryOperation<OP_TANH>::derf(X, Y, F, D); break; \
|
1482
|
+
case OP_ASINH: DerBinaryOperation<OP_ASINH>::derf(X, Y, F, D); break; \
|
1483
|
+
case OP_ACOSH: DerBinaryOperation<OP_ACOSH>::derf(X, Y, F, D); break; \
|
1484
|
+
case OP_ATANH: DerBinaryOperation<OP_ATANH>::derf(X, Y, F, D); break; \
|
1485
|
+
case OP_ATAN2: DerBinaryOperation<OP_ATAN2>::derf(X, Y, F, D); break; \
|
1486
|
+
case OP_ERFINV: DerBinaryOperation<OP_ERFINV>::derf(X, Y, F, D); break; \
|
1487
|
+
case OP_LIFT: DerBinaryOperation<OP_LIFT>::derf(X, Y, F, D); break; \
|
1488
|
+
case OP_PRINTME: DerBinaryOperation<OP_PRINTME>::derf(X, Y, F, D); break; \
|
1489
|
+
case OP_LOG1P: DerBinaryOperation<OP_LOG1P>::derf(X, Y, F, D); break; \
|
1490
|
+
case OP_EXPM1: DerBinaryOperation<OP_EXPM1>::derf(X, Y, F, D); break; \
|
1491
|
+
case OP_HYPOT: DerBinaryOperation<OP_HYPOT>::derf(X, Y, F, D); break;
|
1492
|
+
switch (op) {
|
1493
|
+
CASADI_MATH_DERF_BUILTIN(x, y, f, d)
|
1494
|
+
}
|
1495
|
+
}
|
1496
|
+
|
1497
|
+
#define CASADI_MATH_BINARY_BUILTIN \
|
1498
|
+
case OP_ADD: \
|
1499
|
+
case OP_SUB: \
|
1500
|
+
case OP_MUL: \
|
1501
|
+
case OP_DIV: \
|
1502
|
+
case OP_POW: \
|
1503
|
+
case OP_CONSTPOW: \
|
1504
|
+
case OP_LT: \
|
1505
|
+
case OP_LE: \
|
1506
|
+
case OP_EQ: \
|
1507
|
+
case OP_NE: \
|
1508
|
+
case OP_AND: \
|
1509
|
+
case OP_OR: \
|
1510
|
+
case OP_COPYSIGN: \
|
1511
|
+
case OP_FMOD: \
|
1512
|
+
case OP_REMAINDER: \
|
1513
|
+
case OP_FMIN: \
|
1514
|
+
case OP_FMAX: \
|
1515
|
+
case OP_ATAN2: \
|
1516
|
+
case OP_PRINTME: \
|
1517
|
+
case OP_LIFT: \
|
1518
|
+
case OP_HYPOT:
|
1519
|
+
|
1520
|
+
#define CASADI_MATH_UNARY_BUILTIN \
|
1521
|
+
case OP_ASSIGN: \
|
1522
|
+
case OP_NEG: \
|
1523
|
+
case OP_EXP: \
|
1524
|
+
case OP_LOG: \
|
1525
|
+
case OP_SQRT: \
|
1526
|
+
case OP_SQ: \
|
1527
|
+
case OP_TWICE: \
|
1528
|
+
case OP_SIN: \
|
1529
|
+
case OP_COS: \
|
1530
|
+
case OP_TAN: \
|
1531
|
+
case OP_ASIN: \
|
1532
|
+
case OP_ACOS: \
|
1533
|
+
case OP_ATAN: \
|
1534
|
+
case OP_FLOOR: \
|
1535
|
+
case OP_CEIL: \
|
1536
|
+
case OP_NOT: \
|
1537
|
+
case OP_ERF: \
|
1538
|
+
case OP_FABS: \
|
1539
|
+
case OP_SIGN: \
|
1540
|
+
case OP_INV: \
|
1541
|
+
case OP_SINH: \
|
1542
|
+
case OP_COSH: \
|
1543
|
+
case OP_TANH: \
|
1544
|
+
case OP_ASINH: \
|
1545
|
+
case OP_ACOSH: \
|
1546
|
+
case OP_ATANH: \
|
1547
|
+
case OP_ERFINV: \
|
1548
|
+
case OP_LOG1P: \
|
1549
|
+
case OP_EXPM1:
|
1550
|
+
|
1551
|
+
template<typename T>
|
1552
|
+
inline void casadi_math<T>::fun_linear(unsigned char op, const T* x, const T* y, T* f) {
|
1553
|
+
if (op==OP_ADD || op==OP_SUB) {
|
1554
|
+
for (int i=0;i<3;++i) {
|
1555
|
+
f[i] = T::binary(op, x[i], y[i]);
|
1556
|
+
}
|
1557
|
+
} else if (op==OP_TWICE || op==OP_NEG) {
|
1558
|
+
for (int i=0;i<3;++i) {
|
1559
|
+
f[i] = T::unary(op, x[i]);
|
1560
|
+
}
|
1561
|
+
} else if (op==OP_MUL) {
|
1562
|
+
f[0] += x[0]*y[0];
|
1563
|
+
f[1] += x[0]*y[1];
|
1564
|
+
f[2] += x[0]*y[2];
|
1565
|
+
f[1] += x[1]*y[0];
|
1566
|
+
f[2] += x[1]*y[1];
|
1567
|
+
f[2] += x[1]*y[2];
|
1568
|
+
f[2] += x[2]*y[0];
|
1569
|
+
f[2] += x[2]*y[1];
|
1570
|
+
f[2] += x[2]*y[2];
|
1571
|
+
} else if (op==OP_DIV) {
|
1572
|
+
bool const_argy = y[1].is_zero() && y[2].is_zero();
|
1573
|
+
if (const_argy) {
|
1574
|
+
f[0] = x[0]/y[0];
|
1575
|
+
f[1] = x[1]/y[0];
|
1576
|
+
f[2] = x[2]/y[0];
|
1577
|
+
} else {
|
1578
|
+
f[2] = (x[0]+x[1]+x[2])/(y[0]+y[1]+y[2]);
|
1579
|
+
}
|
1580
|
+
} else if (casadi_math<T>::is_unary(op)) {
|
1581
|
+
bool const_arg = x[1].is_zero() && x[2].is_zero();
|
1582
|
+
if (const_arg) {
|
1583
|
+
f[0] = T::unary(op, x[0]);
|
1584
|
+
} else {
|
1585
|
+
f[2] = T::unary(op, x[0]+x[1]+x[2]);
|
1586
|
+
}
|
1587
|
+
|
1588
|
+
} else if (casadi_math<T>::is_binary(op)) {
|
1589
|
+
bool const_argx = x[1].is_zero() && x[2].is_zero();
|
1590
|
+
bool const_argy = y[1].is_zero() && y[2].is_zero();
|
1591
|
+
if (const_argx && const_argy) {
|
1592
|
+
f[0] = T::binary(op, x[0], y[0]);
|
1593
|
+
} else {
|
1594
|
+
f[2] = T::binary(op, x[0]+x[1]+x[2], y[0]+y[1]+y[2]);
|
1595
|
+
}
|
1596
|
+
} else {
|
1597
|
+
casadi_error("Not implemented");
|
1598
|
+
}
|
1599
|
+
}
|
1600
|
+
|
1601
|
+
template<typename T>
|
1602
|
+
bool casadi_math<T>::is_binary(unsigned char op) {
|
1603
|
+
switch (op) {
|
1604
|
+
CASADI_MATH_BINARY_BUILTIN
|
1605
|
+
case OP_IF_ELSE_ZERO:
|
1606
|
+
return true;
|
1607
|
+
default:
|
1608
|
+
return false;
|
1609
|
+
}
|
1610
|
+
}
|
1611
|
+
|
1612
|
+
template<typename T>
|
1613
|
+
bool casadi_math<T>::is_unary(unsigned char op) {
|
1614
|
+
switch (op) {
|
1615
|
+
CASADI_MATH_UNARY_BUILTIN
|
1616
|
+
return true;
|
1617
|
+
default:
|
1618
|
+
return false;
|
1619
|
+
}
|
1620
|
+
}
|
1621
|
+
|
1622
|
+
template<typename T>
|
1623
|
+
inline casadi_int casadi_math<T>::ndeps(unsigned char op) {
|
1624
|
+
switch (op) {
|
1625
|
+
case OP_CONST:
|
1626
|
+
case OP_PARAMETER:
|
1627
|
+
case OP_INPUT:
|
1628
|
+
return 0;
|
1629
|
+
CASADI_MATH_BINARY_BUILTIN
|
1630
|
+
case OP_IF_ELSE_ZERO:
|
1631
|
+
return 2;
|
1632
|
+
case OP_CALL:
|
1633
|
+
return -1;
|
1634
|
+
default:
|
1635
|
+
return 1;
|
1636
|
+
}
|
1637
|
+
}
|
1638
|
+
|
1639
|
+
template<typename T>
|
1640
|
+
inline std::string
|
1641
|
+
casadi_math<T>::print(unsigned char op,
|
1642
|
+
const std::string& x, const std::string& y) {
|
1643
|
+
casadi_assert_dev(ndeps(op)==2);
|
1644
|
+
return pre(op) + x + sep(op) + y + post(op);
|
1645
|
+
}
|
1646
|
+
|
1647
|
+
template<typename T>
|
1648
|
+
inline std::string
|
1649
|
+
casadi_math<T>::print(unsigned char op, const std::string& x) {
|
1650
|
+
casadi_assert_dev(ndeps(op)==1);
|
1651
|
+
return pre(op) + x + post(op);
|
1652
|
+
}
|
1653
|
+
|
1654
|
+
template<typename T>
|
1655
|
+
inline std::string casadi_math<T>::name(unsigned char op) {
|
1656
|
+
switch (op) {
|
1657
|
+
case OP_ASSIGN: return "assign";
|
1658
|
+
case OP_ADD: return "add";
|
1659
|
+
case OP_SUB: return "sub";
|
1660
|
+
case OP_MUL: return "mul";
|
1661
|
+
case OP_DIV: return "div";
|
1662
|
+
case OP_NEG: return "neg";
|
1663
|
+
case OP_EXP: return "exp";
|
1664
|
+
case OP_LOG: return "log";
|
1665
|
+
case OP_CONSTPOW:
|
1666
|
+
case OP_POW: return "pow";
|
1667
|
+
case OP_SQRT: return "sqrt";
|
1668
|
+
case OP_SQ: return "sq";
|
1669
|
+
case OP_TWICE: return "twice";
|
1670
|
+
case OP_SIN: return "sin";
|
1671
|
+
case OP_COS: return "cos";
|
1672
|
+
case OP_TAN: return "tan";
|
1673
|
+
case OP_ASIN: return "asin";
|
1674
|
+
case OP_ACOS: return "acos";
|
1675
|
+
case OP_ATAN: return "atan";
|
1676
|
+
case OP_LT: return "lt";
|
1677
|
+
case OP_LE: return "le";
|
1678
|
+
case OP_EQ: return "eq";
|
1679
|
+
case OP_NE: return "ne";
|
1680
|
+
case OP_NOT: return "not";
|
1681
|
+
case OP_AND: return "and";
|
1682
|
+
case OP_OR: return "or";
|
1683
|
+
case OP_FLOOR: return "floor";
|
1684
|
+
case OP_CEIL: return "ceil";
|
1685
|
+
case OP_FMOD: return "fmod";
|
1686
|
+
case OP_REMAINDER: return "remainder";
|
1687
|
+
case OP_FABS: return "fabs";
|
1688
|
+
case OP_SIGN: return "sign";
|
1689
|
+
case OP_COPYSIGN: return "copysign";
|
1690
|
+
case OP_IF_ELSE_ZERO: return "if_else_zero";
|
1691
|
+
case OP_ERF: return "erf";
|
1692
|
+
case OP_FMIN: return "fmin";
|
1693
|
+
case OP_FMAX: return "fmax";
|
1694
|
+
case OP_INV: return "inv";
|
1695
|
+
case OP_SINH: return "sinh";
|
1696
|
+
case OP_COSH: return "cosh";
|
1697
|
+
case OP_TANH: return "tanh";
|
1698
|
+
case OP_ASINH: return "asinh";
|
1699
|
+
case OP_ACOSH: return "acosh";
|
1700
|
+
case OP_ATANH: return "atanh";
|
1701
|
+
case OP_ATAN2: return "atan2";
|
1702
|
+
case OP_CONST: return "const";
|
1703
|
+
case OP_INPUT: return "input";
|
1704
|
+
case OP_OUTPUT: return "output";
|
1705
|
+
case OP_PARAMETER: return "parameter";
|
1706
|
+
case OP_CALL: return "call";
|
1707
|
+
case OP_MTIMES: return "mtimes";
|
1708
|
+
case OP_SOLVE: return "solve";
|
1709
|
+
case OP_TRANSPOSE: return "transpose";
|
1710
|
+
case OP_DETERMINANT: return "determinant";
|
1711
|
+
case OP_INVERSE: return "inverse";
|
1712
|
+
case OP_DOT: return "dot";
|
1713
|
+
case OP_HORZCAT: return "horzcat";
|
1714
|
+
case OP_VERTCAT: return "vertcat";
|
1715
|
+
case OP_DIAGCAT: return "diagcat";
|
1716
|
+
case OP_HORZSPLIT: return "horzsplit";
|
1717
|
+
case OP_VERTSPLIT: return "vertsplit";
|
1718
|
+
case OP_DIAGSPLIT: return "diagsplit";
|
1719
|
+
case OP_RESHAPE: return "reshape";
|
1720
|
+
case OP_SPARSITY_CAST: return "sparsity_cast";
|
1721
|
+
case OP_SUBREF: return "subref";
|
1722
|
+
case OP_SUBASSIGN: return "subassign";
|
1723
|
+
case OP_GETNONZEROS: return "getnonzeros";
|
1724
|
+
case OP_GETNONZEROS_PARAM: return "getnonzeros_param";
|
1725
|
+
case OP_ADDNONZEROS: return "addnonzeros";
|
1726
|
+
case OP_ADDNONZEROS_PARAM: return "addnonzeros_param";
|
1727
|
+
case OP_SETNONZEROS: return "setnonzeros";
|
1728
|
+
case OP_SETNONZEROS_PARAM: return "setnonzeros_param";
|
1729
|
+
case OP_PROJECT: return "project";
|
1730
|
+
case OP_ASSERTION: return "assertion";
|
1731
|
+
case OP_NORM2: return "norm2";
|
1732
|
+
case OP_NORM1: return "norm1";
|
1733
|
+
case OP_NORMINF: return "norminf";
|
1734
|
+
case OP_NORMF: return "normf";
|
1735
|
+
case OP_ERFINV: return "erfinv";
|
1736
|
+
case OP_PRINTME: return "printme";
|
1737
|
+
case OP_LIFT: return "lift";
|
1738
|
+
case OP_EINSTEIN: return "einstein";
|
1739
|
+
case OP_BSPLINE: return "bspline";
|
1740
|
+
case OP_CONVEXIFY: return "convexify";
|
1741
|
+
case OP_LOG1P: return "log1p";
|
1742
|
+
case OP_EXPM1: return "expm1";
|
1743
|
+
case OP_HYPOT: return "hypot";
|
1744
|
+
case OP_LOGSUMEXP: return "logsumexp";
|
1745
|
+
}
|
1746
|
+
return "<invalid-op>";
|
1747
|
+
}
|
1748
|
+
|
1749
|
+
template<typename T>
|
1750
|
+
inline std::string casadi_math<T>::pre(unsigned char op) {
|
1751
|
+
switch (op) {
|
1752
|
+
case OP_ASSIGN: return "";
|
1753
|
+
case OP_ADD: return "(";
|
1754
|
+
case OP_SUB: return "(";
|
1755
|
+
case OP_MUL: return "(";
|
1756
|
+
case OP_DIV: return "(";
|
1757
|
+
case OP_NEG: return "(-";
|
1758
|
+
case OP_TWICE: return "(2.*";
|
1759
|
+
case OP_LT: return "(";
|
1760
|
+
case OP_LE: return "(";
|
1761
|
+
case OP_EQ: return "(";
|
1762
|
+
case OP_NE: return "(";
|
1763
|
+
case OP_NOT: return "(!";
|
1764
|
+
case OP_AND: return "(";
|
1765
|
+
case OP_OR: return "(";
|
1766
|
+
case OP_IF_ELSE_ZERO: return "(";
|
1767
|
+
case OP_INV: return "(1./";
|
1768
|
+
default: return name(op) + "(";
|
1769
|
+
}
|
1770
|
+
}
|
1771
|
+
|
1772
|
+
template<typename T>
|
1773
|
+
inline std::string casadi_math<T>::sep(unsigned char op) {
|
1774
|
+
switch (op) {
|
1775
|
+
case OP_ADD: return "+";
|
1776
|
+
case OP_SUB: return "-";
|
1777
|
+
case OP_MUL: return "*";
|
1778
|
+
case OP_DIV: return "/";
|
1779
|
+
case OP_LT: return "<";
|
1780
|
+
case OP_LE: return "<=";
|
1781
|
+
case OP_EQ: return "==";
|
1782
|
+
case OP_NE: return "!=";
|
1783
|
+
case OP_AND: return "&&";
|
1784
|
+
case OP_OR: return "||";
|
1785
|
+
case OP_IF_ELSE_ZERO: return "?";
|
1786
|
+
default: return ",";
|
1787
|
+
}
|
1788
|
+
}
|
1789
|
+
|
1790
|
+
template<typename T>
|
1791
|
+
inline std::string casadi_math<T>::post(unsigned char op) {
|
1792
|
+
switch (op) {
|
1793
|
+
case OP_ASSIGN: return "";
|
1794
|
+
case OP_IF_ELSE_ZERO: return ":0)";
|
1795
|
+
default: return ")";
|
1796
|
+
}
|
1797
|
+
}
|
1798
|
+
|
1799
|
+
#endif // SWIG
|
1800
|
+
|
1801
|
+
} // namespace casadi
|
1802
|
+
|
1803
|
+
/// \endcond
|
1804
|
+
|
1805
|
+
#endif // CASADI_CALCULUS_HPP
|