casadi 3.6.6__cp38-none-manylinux2014_i686.whl → 3.6.7__cp38-none-manylinux2014_i686.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/_casadi.so +0 -0
- casadi/casadi.py +207 -182
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/highs +0 -0
- casadi/include/casadi/config.h +6 -6
- casadi/include/casadi/core/casadi_misc.hpp +39 -0
- casadi/include/casadi/core/mx.hpp +5 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +17 -4
- casadi/include/casadi/doc.i +514 -459
- casadi/include/casadi/doc_merged.i +380 -326
- casadi/include/highs/HConfig.h +1 -1
- casadi/lib/libtinyxml2.a +0 -0
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/libClp.so.1.14.9 +0 -0
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/libClpSolver.so.1.14.9 +0 -0
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libOsi.so +0 -0
- casadi/libOsi.so.1 +0 -0
- casadi/libOsi.so.1.13.9 +0 -0
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/libOsiCbc.so.3.10.11 +0 -0
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/libOsiCommonTests.so.1.13.9 +0 -0
- casadi/libbonmin.so +0 -0
- casadi/libbonmin.so.4 +0 -0
- casadi/libbonmin.so.4.8.9 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_conic_highs.so +0 -0
- casadi/libcasadi_conic_highs.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcoinmetis.la +1 -1
- casadi/libcoinmetis.so +0 -0
- casadi/libcoinmetis.so.2 +0 -0
- casadi/libcoinmetis.so.2.0.0 +0 -0
- casadi/libdaqpstat.a +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1 +0 -0
- casadi/libhighs.so.1.7.2 +0 -0
- casadi/libindirect.a +0 -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/libqdldl.a +0 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- {casadi-3.6.6.dist-info → casadi-3.6.7.dist-info}/METADATA +1 -1
- {casadi-3.6.6.dist-info → casadi-3.6.7.dist-info}/RECORD +80 -80
- {casadi-3.6.6.dist-info → casadi-3.6.7.dist-info}/WHEEL +0 -0
casadi/cbc
CHANGED
Binary file
|
casadi/clp
CHANGED
Binary file
|
casadi/highs
CHANGED
Binary file
|
casadi/include/casadi/config.h
CHANGED
@@ -26,16 +26,16 @@
|
|
26
26
|
|
27
27
|
#define CASADI_MAJOR_VERSION 3
|
28
28
|
#define CASADI_MINOR_VERSION 6
|
29
|
-
#define CASADI_PATCH_VERSION
|
29
|
+
#define CASADI_PATCH_VERSION 7
|
30
30
|
#define CASADI_IS_RELEASE 1
|
31
|
-
#define CASADI_VERSION_STRING "3.6.
|
32
|
-
#define CASADI_GIT_REVISION "
|
33
|
-
#define CASADI_GIT_DESCRIBE "3.6.3-
|
34
|
-
#define CASADI_FEATURE_LIST "\n * dynamic-loading, Support for import of FMI 2.0 binaries\n * sundials-interface, Interface to the ODE/DAE integrator suite SUNDIALS.\n * csparse-interface, Interface to the sparse direct linear solver CSparse.\n * superscs-interface, Interface to QP solver SUPERSCS.\n * osqp-interface, Interface to QP solver OSQP.\n * tinyxml-interface, Interface to the XML parser TinyXML.\n * qpoases-interface, Interface to the active-set QP solver qpOASES.\n * blocksqp-interface, Interface to the NLP solver blockSQP.\n * snopt-mockup-build, Use mockup SNOPT (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * madnlp-mockup-build, Use mockup MadNLP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * alpaqa-sourcebuild, Build Alpaqa (BUILD_ALPAQA_VERSION=develop) from downloaded source (BUILD_ALPAQA_GIT_REPO=https://github.com/jgillis/alpaqa).\n * highs-sourcebuild, Build HiGHS (BUILD_HIGHS_VERSION=v1.7.2) from downloaded source (BUILD_HIGHS_GIT_REPO=https://github.com/ERGO-Code/HiGHS).\n * daqp-sourcebuild, Build DAQP (BUILD_DAQP_VERSION=master) from downloaded source (BUILD_DAQP_GIT_REPO=https://github.com/jgillis/daqp.git).\n * proxqp-sourcebuild, Build PROXQP (BUILD_PROXQP_VERSION=v0.3.2) from downloaded source (BUILD_PROXQP_GIT_REPO=https://github.com/Simple-Robotics/proxsuite.git).\n * osqp-sourcebuild, Build OSQP (BUILD_OSQP_VERSION=v0.6.3) from downloaded source (BUILD_OSQP_GIT_REPO=https://github.com/osqp/osqp.git).\n * superscs-sourcebuild, Build SuperSCS (BUILD_SUPERSCS_VERSION=4d2d1bd03ed4cf93e684a880b233760ce34ca69c) from downloaded source (BUILD_SUPERSCS_GIT_REPO=https://github.com/jgillis/scs.git).\n * sleqp-sourcebuild, Build SLEQP (BUILD_SLEQP_VERSION=patch-1) from downloaded source (BUILD_SLEQP_GIT_REPO=https://github.com/jgillis/sleqp.git).\n * bonmin-sourcebuild, Build BONMIN (BUILD_BONMIN_VERSION=releases/1.8.9) from downloaded source (BUILD_BONMIN_GIT_REPO=https://github.com/coin-or/Bonmin.git).\n * ipopt-sourcebuild, Build IPOPT (BUILD_IPOPT_VERSION=3.14.11.mod) from downloaded source (BUILD_IPOPT_GIT_REPO=https://github.com/jgillis/Ipopt-1.git).\n * cbc-sourcebuild, Build CBC (BUILD_CBC_VERSION=releases/2.10.11) from downloaded source.\n * clp-sourcebuild, Build CLP (BUILD_CLP_VERSION=releases/1.17.9) from downloaded source (BUILD_CLP_GIT_REPO=https://github.com/coin-or/Clp.git).\n * mumps-sourcebuild, Build MUMPS (BUILD_MUMPS_TP_VERSION=releases/3.0.2) from downloaded source (BUILD_MUMPS_TP_GIT_REPO=https://github.com/coin-or-tools/ThirdParty-Mumps.git).\n * spral-sourcebuild, Build SPRAL (BUILD_SPRAL_VERSION=d385d2c9e858366d257cafaaf05760ffa6543e26) from downloaded source (BUILD_SPRAL_GIT_REPO=https://github.com/ralna/spral.git).\n * metis-sourcebuild, Build METIS (BUILD_METIS_TP_VERSION=
|
31
|
+
#define CASADI_VERSION_STRING "3.6.7"
|
32
|
+
#define CASADI_GIT_REVISION "a2d71bf95dbd3fa5f6725504bcba67dd52869d91" // NOLINT(whitespace/line_length)
|
33
|
+
#define CASADI_GIT_DESCRIBE "3.6.3-327.a2d71bf95" // NOLINT(whitespace/line_length)
|
34
|
+
#define CASADI_FEATURE_LIST "\n * dynamic-loading, Support for import of FMI 2.0 binaries\n * sundials-interface, Interface to the ODE/DAE integrator suite SUNDIALS.\n * csparse-interface, Interface to the sparse direct linear solver CSparse.\n * superscs-interface, Interface to QP solver SUPERSCS.\n * osqp-interface, Interface to QP solver OSQP.\n * tinyxml-interface, Interface to the XML parser TinyXML.\n * qpoases-interface, Interface to the active-set QP solver qpOASES.\n * blocksqp-interface, Interface to the NLP solver blockSQP.\n * snopt-mockup-build, Use mockup SNOPT (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * madnlp-mockup-build, Use mockup MadNLP (BUILD_MOCKUPS_VERSION=master) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * alpaqa-sourcebuild, Build Alpaqa (BUILD_ALPAQA_VERSION=develop) from downloaded source (BUILD_ALPAQA_GIT_REPO=https://github.com/jgillis/alpaqa).\n * highs-sourcebuild, Build HiGHS (BUILD_HIGHS_VERSION=v1.7.2) from downloaded source (BUILD_HIGHS_GIT_REPO=https://github.com/ERGO-Code/HiGHS).\n * daqp-sourcebuild, Build DAQP (BUILD_DAQP_VERSION=master) from downloaded source (BUILD_DAQP_GIT_REPO=https://github.com/jgillis/daqp.git).\n * proxqp-sourcebuild, Build PROXQP (BUILD_PROXQP_VERSION=v0.3.2) from downloaded source (BUILD_PROXQP_GIT_REPO=https://github.com/Simple-Robotics/proxsuite.git).\n * osqp-sourcebuild, Build OSQP (BUILD_OSQP_VERSION=v0.6.3) from downloaded source (BUILD_OSQP_GIT_REPO=https://github.com/osqp/osqp.git).\n * superscs-sourcebuild, Build SuperSCS (BUILD_SUPERSCS_VERSION=4d2d1bd03ed4cf93e684a880b233760ce34ca69c) from downloaded source (BUILD_SUPERSCS_GIT_REPO=https://github.com/jgillis/scs.git).\n * sleqp-sourcebuild, Build SLEQP (BUILD_SLEQP_VERSION=patch-1) from downloaded source (BUILD_SLEQP_GIT_REPO=https://github.com/jgillis/sleqp.git).\n * bonmin-sourcebuild, Build BONMIN (BUILD_BONMIN_VERSION=releases/1.8.9) from downloaded source (BUILD_BONMIN_GIT_REPO=https://github.com/coin-or/Bonmin.git).\n * ipopt-sourcebuild, Build IPOPT (BUILD_IPOPT_VERSION=3.14.11.mod) from downloaded source (BUILD_IPOPT_GIT_REPO=https://github.com/jgillis/Ipopt-1.git).\n * cbc-sourcebuild, Build CBC (BUILD_CBC_VERSION=releases/2.10.11) from downloaded source.\n * clp-sourcebuild, Build CLP (BUILD_CLP_VERSION=releases/1.17.9) from downloaded source (BUILD_CLP_GIT_REPO=https://github.com/coin-or/Clp.git).\n * mumps-sourcebuild, Build MUMPS (BUILD_MUMPS_TP_VERSION=releases/3.0.2) from downloaded source (BUILD_MUMPS_TP_GIT_REPO=https://github.com/coin-or-tools/ThirdParty-Mumps.git).\n * spral-sourcebuild, Build SPRAL (BUILD_SPRAL_VERSION=d385d2c9e858366d257cafaaf05760ffa6543e26) from downloaded source (BUILD_SPRAL_GIT_REPO=https://github.com/ralna/spral.git).\n * metis-sourcebuild, Build METIS (BUILD_METIS_TP_VERSION=6997f64) from downloaded source.\n * trlib-sourcebuild, Build TRLIB (BUILD_TRLIB_VERSION=c7632b8b14152e78bc21721a3bd1a2432586b824) from downloaded source (BUILD_TRLIB_GIT_REPO=https://github.com/jgillis/trlib.git).\n * lapack-sourcebuild, Download and install OpenBLAS for LAPACK+BLAS\n * eigen3-sourcebuild, Build Eigen (BUILD_EIGEN3_VERSION=3.4.0) from downloaded source (BUILD_EIGEN3_GIT_REPO=https://gitlab.com/libeigen/eigen.git).\n * simde-sourcebuild, Build Simde (BUILD_SIMDE_VERSION=v0.7.2) from downloaded source (BUILD_SIMDE_GIT_REPO=https://github.com/simd-everywhere/simde.git).\n * gurobi-interface, Interface to the (mixed-integer) QP solver GUROBI\n * knitro-interface, Interface to the NLP solver KNITRO.\n * madnlp-interface, Interface to the NLP solver MadNLP.\n * snopt-interface, Interface to the NLP solver KNITRO.\n * worhp-interface, Interface to the NLP solver Worhp (requires gfortran, gomp).\n * lapack-interface, Interface to LAPACK.\n * mumps-interface, Interface to MUMPS.\n * spral-interface, Interface to SPRAL.\n * coinutils-sourcebuild, Build COINUTILS (BUILD_COINUTILS_VERSION=releases/2.11.10) from downloaded source.\n * osi-sourcebuild, Build OSI (BUILD_OSI_VERSION=releases/0.108.9) from downloaded source.\n * clp-interface, Interface to the LP solver CLP.\n * cgl-sourcebuild, Build CGL (BUILD_CGL_VERSION=releases/0.60.8) from downloaded source.\n * cbc-interface, Interface to the LP solver CBC.\n * ipopt-interface, Interface to the NLP solver Ipopt.\n * bonmin-interface, Interface to the MINLP framework Bonmin.\n * highs-interface, Interface to the MILP / QP solver HiGHS.\n * daqp-interface, Interface to the MILP / QP solver HiGHS.\n * sleqp-interface, Interface to the NLP solver SLEQP.\n * alpaqa-interface, Interface to the NLP solver Alpaqa.\n * proxqp-interface, Interface to QP solver PROXQP.\n * ampl-interface, Interface to the AMPL solver library.\n" // NOLINT(whitespace/line_length)
|
35
35
|
#define CASADI_BUILD_TYPE "Release" // NOLINT(whitespace/line_length)
|
36
36
|
#define CASADI_COMPILER_ID "GNU" // NOLINT(whitespace/line_length)
|
37
37
|
#define CASADI_COMPILER "/opt/rh/devtoolset-10/root/usr/bin/g++" // NOLINT(whitespace/line_length)
|
38
|
-
#define CASADI_COMPILER_FLAGS " -pthread -DUSE_CXX11 -DHAVE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=
|
38
|
+
#define CASADI_COMPILER_FLAGS " -pthread -DUSE_CXX11 -DHAVE_MKSTEMPS -DCASADI_WITH_THREAD -DWITH_DEEPBIND -DCASADI_MAJOR_VERSION=3 -DCASADI_MINOR_VERSION=6 -DCASADI_PATCH_VERSION=7 -DCASADI_IS_RELEASE=1 -DCASADI_VERSION=31 -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DWITH_DL -DWITH_DEPRECATED_FEATURES -DCASADI_DEFAULT_COMPILER_PLUGIN=shell" // NOLINT(whitespace/line_length)
|
39
39
|
#define CASADI_MODULES "casadi;casadi_linsol_lapacklu;casadi_linsol_lapackqr;casadi_sundials_common;casadi_integrator_cvodes;casadi_integrator_idas;casadi_rootfinder_kinsol;casadi_nlpsol_sleqp;casadi_nlpsol_ipopt;casadi_nlpsol_madnlp;casadi_nlpsol_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;casadi_conic_clp;casadi_conic_cbc;casadi_linsol_csparse;casadi_linsol_csparsecholesky;casadi_conic_highs;casadi_conic_daqp;casadi_linsol_ma27;casadi_linsol_mumps;casadi_conic_gurobi;casadi_nlpsol_worhp;casadi_nlpsol_snopt;casadi_xmlfile_tinyxml;casadi_nlpsol_blocksqp;casadi_conic_superscs;casadi_nlpsol_ampl;casadi_conic_proxqp;casadi_conic_osqp;casadi_nlpsol_alpaqa;casadi_conic_nlpsol;casadi_conic_qrqp;casadi_conic_ipqp;casadi_nlpsol_qrsqp;casadi_importer_shell;casadi_integrator_rk;casadi_integrator_collocation;casadi_interpolant_linear;casadi_interpolant_bspline;casadi_linsol_symbolicqr;casadi_linsol_qr;casadi_linsol_ldl;casadi_linsol_tridiag;casadi_linsol_lsqr;casadi_nlpsol_sqpmethod;casadi_nlpsol_feasiblesqpmethod;casadi_nlpsol_scpgen;casadi_rootfinder_newton;casadi_rootfinder_fast_newton;casadi_rootfinder_nlpsol" // NOLINT(whitespace/line_length)
|
40
40
|
#define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::sleqp;Nlpsol::ipopt;Nlpsol::madnlp;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Conic::daqp;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;Conic::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;Nlpsol::alpaqa;Conic::nlpsol;Conic::qrqp;Conic::ipqp;Nlpsol::qrsqp;Importer::shell;Integrator::rk;Integrator::collocation;Interpolant::linear;Interpolant::bspline;Linsol::symbolicqr;Linsol::qr;Linsol::ldl;Linsol::tridiag;Linsol::lsqr;Nlpsol::sqpmethod;Nlpsol::feasiblesqpmethod;Nlpsol::scpgen;Rootfinder::newton;Rootfinder::fast_newton;Rootfinder::nlpsol" // NOLINT(whitespace/line_length)
|
41
41
|
#define CASADI_INSTALL_PREFIX "/usr/local" // NOLINT(whitespace/line_length)
|
@@ -144,12 +144,28 @@ private:
|
|
144
144
|
template<typename T>
|
145
145
|
std::vector<T> vector_slice(const std::vector<T> &v, const std::vector<casadi_int> &i);
|
146
146
|
|
147
|
+
/** \brief Select subset of vector
|
148
|
+
|
149
|
+
* \param v Vector to slice
|
150
|
+
* \param s Select?
|
151
|
+
|
152
|
+
\identifier{286} */
|
153
|
+
template<typename T>
|
154
|
+
std::vector<T> vector_select(const std::vector<T> &v, const std::vector<bool> &s,
|
155
|
+
bool invert=false);
|
156
|
+
|
147
157
|
/** \brief Return all but the first element of a vector
|
148
158
|
|
149
159
|
\identifier{27y} */
|
150
160
|
template<typename T>
|
151
161
|
std::vector<T> vector_tail(const std::vector<T> &v);
|
152
162
|
|
163
|
+
/** \brief Return all but the last element of a vector
|
164
|
+
|
165
|
+
\identifier{285} */
|
166
|
+
template<typename T>
|
167
|
+
std::vector<T> vector_init(const std::vector<T> &v);
|
168
|
+
|
153
169
|
/** \brief Reverse a list
|
154
170
|
|
155
171
|
\identifier{1la} */
|
@@ -532,6 +548,22 @@ namespace casadi {
|
|
532
548
|
return ret;
|
533
549
|
}
|
534
550
|
|
551
|
+
template<typename T>
|
552
|
+
std::vector<T> vector_select(const std::vector<T> &v, const std::vector<bool> &s, bool invert) {
|
553
|
+
std::vector<T> ret;
|
554
|
+
casadi_assert(v.size()==s.size(), "Dimension mismatch.");
|
555
|
+
if (invert) {
|
556
|
+
for (casadi_int k=0;k<s.size();++k) {
|
557
|
+
if (!s[k]) ret.push_back(v[k]);
|
558
|
+
}
|
559
|
+
} else {
|
560
|
+
for (casadi_int k=0;k<s.size();++k) {
|
561
|
+
if (s[k]) ret.push_back(v[k]);
|
562
|
+
}
|
563
|
+
}
|
564
|
+
return ret;
|
565
|
+
}
|
566
|
+
|
535
567
|
template<typename T>
|
536
568
|
std::vector<T> vector_tail(const std::vector<T> &v) {
|
537
569
|
std::vector<T> ret;
|
@@ -539,6 +571,13 @@ namespace casadi {
|
|
539
571
|
return ret;
|
540
572
|
}
|
541
573
|
|
574
|
+
template<typename T>
|
575
|
+
std::vector<T> vector_init(const std::vector<T> &v) {
|
576
|
+
std::vector<T> ret;
|
577
|
+
ret.insert(ret.begin(), v.begin(), v.begin()+v.size()-1);
|
578
|
+
return ret;
|
579
|
+
}
|
580
|
+
|
542
581
|
template<typename T>
|
543
582
|
std::vector<T> reverse(const std::vector<T> &v) {
|
544
583
|
std::vector<T> ret(v.size());
|
@@ -274,6 +274,11 @@ namespace casadi {
|
|
274
274
|
/// Check if evaluation output
|
275
275
|
bool is_output() const;
|
276
276
|
|
277
|
+
/** \brief Check if a multiple output node
|
278
|
+
|
279
|
+
\identifier{284} */
|
280
|
+
bool has_output() const;
|
281
|
+
|
277
282
|
/// Get the index of evaluation output - only valid when is_output() is true
|
278
283
|
casadi_int which_output() const;
|
279
284
|
|
@@ -153,8 +153,6 @@ void casadi_nlpsol_init(casadi_nlpsol_data<T1>* d, const T1*** arg, T1*** res,
|
|
153
153
|
|
154
154
|
}
|
155
155
|
|
156
|
-
// C-REPLACE "fabs" "casadi_fabs"
|
157
|
-
|
158
156
|
// SYMBOL "nlpsol_detect_bounds_before"
|
159
157
|
template<typename T1>
|
160
158
|
int casadi_detect_bounds_before(casadi_nlpsol_data<T1>* d_nlp) {
|
@@ -196,8 +194,14 @@ int casadi_detect_bounds_before(casadi_nlpsol_data<T1>* d_nlp) {
|
|
196
194
|
for (casadi_int i=0;i<p_bounds->ng;++i) {
|
197
195
|
if (p_bounds->is_simple[i]) {
|
198
196
|
// Update lbz/ubz
|
199
|
-
|
200
|
-
T1
|
197
|
+
|
198
|
+
T1 lb = (d_nlp->lbg[i]-d_bounds->b[k])/d_bounds->a[k];
|
199
|
+
T1 ub = (d_nlp->ubg[i]-d_bounds->b[k])/d_bounds->a[k];
|
200
|
+
if (d_bounds->a[k]<0) {
|
201
|
+
T1 tmp = lb;
|
202
|
+
lb = ub;
|
203
|
+
ub = tmp;
|
204
|
+
}
|
201
205
|
casadi_int j = p_bounds->target_x[k];
|
202
206
|
|
203
207
|
if (lb==d_nlp->lbz[j]) {
|
@@ -272,5 +276,14 @@ int casadi_detect_bounds_after(casadi_nlpsol_data<T1>* d_nlp) {
|
|
272
276
|
d_nlp->lam_g[d_bounds->target_u[i]-nx] += (d_nlp->lam[i]>0)*d_nlp->lam[i];
|
273
277
|
}
|
274
278
|
}
|
279
|
+
|
280
|
+
k = 0;
|
281
|
+
for (casadi_int i=0;i<p_bounds->ng;++i) {
|
282
|
+
if (p_bounds->is_simple[i]) {
|
283
|
+
if (d_nlp->lam_g) d_nlp->lam_g[i] /= d_bounds->a[k];
|
284
|
+
k++;
|
285
|
+
}
|
286
|
+
}
|
287
|
+
|
275
288
|
return 0;
|
276
289
|
}
|