casadi 3.6.2__cp311-none-manylinux2014_i686.whl → 3.6.4__cp311-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 +217 -60
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
- casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +70 -0
- casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
- casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/casadi-config.cmake +4 -0
- casadi/cmake/highs/highs-config.cmake +18 -4
- casadi/cmake/highs/highs-targets-release.cmake +3 -3
- casadi/cmake/highs/highs-targets.cmake +1 -1
- casadi/cmake/sleqp/sleqp-config-version.cmake +70 -0
- casadi/cmake/sleqp/sleqp-config.cmake +1 -0
- casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
- casadi/cmake/sleqp/sleqp-targets.cmake +102 -0
- casadi/cmake/trlib/trlib-config-release.cmake +19 -0
- casadi/cmake/trlib/trlib-config-version.cmake +88 -0
- casadi/cmake/trlib/trlib-config.cmake +107 -0
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +20 -3
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/calculus.hpp +1 -1
- casadi/include/casadi/core/code_generator.hpp +10 -0
- casadi/include/casadi/core/fmu.hpp +224 -0
- casadi/include/casadi/core/generic_matrix.hpp +4 -2
- casadi/include/casadi/core/nlpsol.hpp +0 -2
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +204 -11
- casadi/include/casadi/core/serializing_stream.hpp +12 -0
- casadi/include/casadi/core/sparsity_interface.hpp +55 -1
- casadi/include/casadi/doc.i +916 -462
- casadi/include/casadi/doc_merged.i +492 -176
- casadi/include/casadi/mem.h +13 -2
- casadi/include/casadi/valgrind-casadi.supp +82 -0
- casadi/include/casadi/valgrind-python.supp +39 -0
- casadi/include/highs/HConfig.h +4 -7
- casadi/include/highs/Highs.h +240 -51
- casadi/include/highs/filereaderlp/builder.hpp +12 -13
- casadi/include/highs/filereaderlp/model.hpp +32 -35
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/include/highs/interfaces/highs_c_api.h +964 -577
- casadi/include/highs/io/Filereader.h +2 -4
- casadi/include/highs/io/FilereaderEms.h +2 -4
- casadi/include/highs/io/FilereaderLp.h +2 -4
- casadi/include/highs/io/FilereaderMps.h +2 -4
- casadi/include/highs/io/HMPSIO.h +2 -4
- casadi/include/highs/io/HMpsFF.h +2 -4
- casadi/include/highs/io/HighsIO.h +19 -13
- casadi/include/highs/io/LoadOptions.h +7 -6
- casadi/include/highs/ipm/IpxWrapper.h +4 -5
- casadi/include/highs/lp_data/HConst.h +60 -15
- casadi/include/highs/lp_data/HStruct.h +32 -8
- casadi/include/highs/lp_data/HighsAnalysis.h +2 -4
- casadi/include/highs/lp_data/HighsCallback.h +33 -0
- casadi/include/highs/lp_data/HighsCallbackStruct.h +36 -0
- casadi/include/highs/lp_data/HighsDebug.h +2 -4
- casadi/include/highs/lp_data/HighsInfo.h +22 -23
- casadi/include/highs/lp_data/HighsInfoDebug.h +2 -4
- casadi/include/highs/lp_data/HighsLp.h +14 -6
- casadi/include/highs/lp_data/HighsLpSolverObject.h +6 -5
- casadi/include/highs/lp_data/HighsLpUtils.h +23 -12
- casadi/include/highs/lp_data/HighsModelUtils.h +22 -8
- casadi/include/highs/lp_data/HighsOptions.h +175 -106
- casadi/include/highs/lp_data/HighsRanging.h +2 -4
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +21 -6
- casadi/include/highs/lp_data/HighsSolution.h +4 -4
- casadi/include/highs/lp_data/HighsSolutionDebug.h +2 -4
- casadi/include/highs/lp_data/HighsSolve.h +2 -4
- casadi/include/highs/lp_data/HighsStatus.h +2 -4
- casadi/include/highs/mip/HighsCliqueTable.h +18 -20
- casadi/include/highs/mip/HighsConflictPool.h +2 -4
- casadi/include/highs/mip/HighsCutGeneration.h +2 -4
- casadi/include/highs/mip/HighsCutPool.h +2 -4
- casadi/include/highs/mip/HighsDebugSol.h +2 -4
- casadi/include/highs/mip/HighsDomain.h +5 -5
- casadi/include/highs/mip/HighsDomainChange.h +2 -4
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +2 -4
- casadi/include/highs/mip/HighsGFkSolve.h +2 -4
- casadi/include/highs/mip/HighsImplications.h +2 -4
- casadi/include/highs/mip/HighsLpAggregator.h +2 -4
- casadi/include/highs/mip/HighsLpRelaxation.h +2 -4
- casadi/include/highs/mip/HighsMipSolver.h +18 -6
- casadi/include/highs/mip/HighsMipSolverData.h +8 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -4
- casadi/include/highs/mip/HighsNodeQueue.h +3 -9
- casadi/include/highs/mip/HighsObjectiveFunction.h +2 -4
- casadi/include/highs/mip/HighsPathSeparator.h +2 -4
- casadi/include/highs/mip/HighsPrimalHeuristics.h +2 -4
- casadi/include/highs/mip/HighsPseudocost.h +2 -4
- casadi/include/highs/mip/HighsRedcostFixing.h +2 -4
- casadi/include/highs/mip/HighsSearch.h +2 -4
- casadi/include/highs/mip/HighsSeparation.h +2 -4
- casadi/include/highs/mip/HighsSeparator.h +2 -4
- casadi/include/highs/mip/HighsTableauSeparator.h +2 -4
- casadi/include/highs/mip/HighsTransformedLp.h +2 -4
- casadi/include/highs/model/HighsHessian.h +3 -1
- casadi/include/highs/model/HighsModel.h +2 -0
- casadi/include/highs/parallel/HighsSpinMutex.h +2 -1
- casadi/include/highs/parallel/HighsSplitDeque.h +1 -1
- casadi/include/highs/parallel/HighsTaskExecutor.h +10 -2
- casadi/include/highs/presolve/HPresolve.h +9 -6
- casadi/include/highs/presolve/HPresolveAnalysis.h +5 -4
- casadi/include/highs/presolve/HighsPostsolveStack.h +50 -13
- casadi/include/highs/presolve/HighsSymmetry.h +2 -4
- casadi/include/highs/presolve/ICrash.h +4 -3
- casadi/include/highs/presolve/ICrashUtil.h +2 -2
- casadi/include/highs/presolve/ICrashX.h +4 -6
- casadi/include/highs/presolve/PresolveComponent.h +4 -42
- casadi/include/highs/qpsolver/a_asm.hpp +56 -0
- casadi/include/highs/qpsolver/a_quass.hpp +12 -0
- casadi/include/highs/qpsolver/quass.hpp +1 -4
- casadi/include/highs/simplex/HApp.h +14 -16
- casadi/include/highs/simplex/HEkk.h +12 -11
- casadi/include/highs/simplex/HEkkDual.h +2 -4
- casadi/include/highs/simplex/HEkkDualRHS.h +5 -6
- casadi/include/highs/simplex/HEkkDualRow.h +2 -4
- casadi/include/highs/simplex/HEkkPrimal.h +2 -4
- casadi/include/highs/simplex/HSimplex.h +2 -4
- casadi/include/highs/simplex/HSimplexDebug.h +2 -4
- casadi/include/highs/simplex/HSimplexNla.h +2 -4
- casadi/include/highs/simplex/HSimplexReport.h +3 -5
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +2 -4
- casadi/include/highs/simplex/SimplexConst.h +7 -5
- casadi/include/highs/simplex/SimplexStruct.h +11 -5
- casadi/include/highs/simplex/SimplexTimer.h +2 -4
- casadi/include/highs/test/DevKkt.h +2 -4
- casadi/include/highs/test/KktCh2.h +2 -4
- casadi/include/highs/util/FactorTimer.h +2 -4
- casadi/include/highs/util/HFactor.h +2 -4
- casadi/include/highs/util/HFactorConst.h +2 -4
- casadi/include/highs/util/HFactorDebug.h +2 -4
- casadi/include/highs/util/HSet.h +3 -5
- casadi/include/highs/util/HVector.h +2 -4
- casadi/include/highs/util/HVectorBase.h +2 -4
- casadi/include/highs/util/HighsCDouble.h +2 -4
- casadi/include/highs/util/HighsComponent.h +2 -4
- casadi/include/highs/util/HighsDataStack.h +3 -5
- casadi/include/highs/util/HighsDisjointSets.h +8 -10
- casadi/include/highs/util/HighsHash.h +22 -7
- casadi/include/highs/util/HighsHashTree.h +25 -7
- casadi/include/highs/util/HighsInt.h +2 -4
- casadi/include/highs/util/HighsIntegers.h +2 -4
- casadi/include/highs/util/HighsLinearSumBounds.h +2 -4
- casadi/include/highs/util/HighsMatrixPic.h +2 -4
- casadi/include/highs/util/HighsMatrixSlice.h +2 -4
- casadi/include/highs/util/HighsMatrixUtils.h +2 -4
- casadi/include/highs/util/HighsRandom.h +2 -4
- casadi/include/highs/util/HighsRbTree.h +2 -4
- casadi/include/highs/util/HighsSort.h +2 -4
- casadi/include/highs/util/HighsSparseMatrix.h +11 -7
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -4
- casadi/include/highs/util/HighsSplay.h +2 -4
- casadi/include/highs/util/HighsTimer.h +3 -4
- casadi/include/highs/util/HighsUtils.h +14 -4
- casadi/include/highs/util/stringutil.h +2 -4
- casadi/include/licenses/alpaqa-external/LICENSE +165 -0
- casadi/include/licenses/highs-external/LICENSE +1 -1
- casadi/include/licenses/sleqp-external/LICENSE +165 -0
- casadi/include/licenses/trlib-external/LICENSE +21 -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/lib/libtinyxml2.a +0 -0
- casadi/libCbc.la +3 -3
- casadi/libCbc.so +0 -0
- casadi/libCbc.so.3 +0 -0
- casadi/libCbc.so.3.10.11 +0 -0
- casadi/libCbcSolver.la +3 -3
- casadi/libCbcSolver.so +0 -0
- casadi/libCbcSolver.so.3 +0 -0
- casadi/libCbcSolver.so.3.10.11 +0 -0
- casadi/libCgl.la +2 -2
- casadi/libCgl.so +0 -0
- casadi/libCgl.so.1 +0 -0
- casadi/libCgl.so.1.10.8 +0 -0
- casadi/libClp.la +2 -2
- casadi/libClp.so +0 -0
- casadi/libClp.so.1 +0 -0
- casadi/{libClp.so.1.14.7 → libClp.so.1.14.9} +0 -0
- casadi/libClpSolver.la +2 -2
- casadi/libClpSolver.so +0 -0
- casadi/libClpSolver.so.1 +0 -0
- casadi/{libClpSolver.so.1.14.7 → libClpSolver.so.1.14.9} +0 -0
- casadi/libCoinUtils.la +2 -2
- casadi/libCoinUtils.so +0 -0
- casadi/libCoinUtils.so.3 +0 -0
- casadi/libCoinUtils.so.3.11.10 +0 -0
- casadi/libFortranHighs.so +0 -0
- casadi/libOsi.la +2 -2
- casadi/libOsiCbc.la +3 -3
- casadi/libOsiCbc.so +0 -0
- casadi/libOsiCbc.so.3 +0 -0
- casadi/{libOsiCbc.so.3.10.6 → libOsiCbc.so.3.10.11} +0 -0
- casadi/libOsiClp.la +2 -2
- casadi/libOsiClp.so +0 -0
- casadi/libOsiClp.so.1 +0 -0
- casadi/libOsiClp.so.1.14.9 +0 -0
- casadi/libOsiCommonTests.la +2 -2
- casadi/libOsiCommonTests.so +0 -0
- casadi/libOsiCommonTests.so.1 +0 -0
- casadi/{libOsiCommonTests.so.1.13.7 → 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/libbonmin.la +3 -3
- 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_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_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_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_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_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_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_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_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_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_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_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libhighs.so +0 -0
- casadi/libhighs.so.1.6 +0 -0
- casadi/libhighs.so.1.6.0 +0 -0
- casadi/libindirect.a +0 -0
- casadi/liblinsys.a +0 -0
- casadi/libosqp.a +0 -0
- casadi/libqdldl.a +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/pkgconfig/blas.pc +11 -0
- casadi/pkgconfig/bonmin.pc +1 -1
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/cbc.pc +2 -2
- casadi/pkgconfig/cgl.pc +2 -2
- casadi/pkgconfig/clp.pc +1 -1
- casadi/pkgconfig/coinutils.pc +1 -1
- casadi/pkgconfig/highs.pc +3 -3
- casadi/pkgconfig/lapack.pc +11 -0
- casadi/pkgconfig/openblas.pc +1 -1
- casadi/pkgconfig/osi-cbc.pc +1 -1
- casadi/pkgconfig/osi-clp.pc +1 -1
- casadi/pkgconfig/osi-unittests.pc +1 -1
- casadi/pkgconfig/osi.pc +1 -1
- casadi/pkgconfig/sleqp.pc +10 -0
- {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/METADATA +1 -1
- {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/RECORD +324 -283
- casadi/libCbc.so.3.10.6 +0 -0
- casadi/libCbcSolver.so.3.10.6 +0 -0
- casadi/libCgl.so.1.10.4 +0 -0
- casadi/libCoinUtils.so.3.11.6 +0 -0
- casadi/libOsiClp.so.1.14.7 +0 -0
- casadi/libbonmin.so.4.8.8 +0 -0
- casadi/libhighs.so.1.4 +0 -0
- casadi/libhighs.so.1.4.0 +0 -0
- /casadi/{libOsi.so.1.13.7 → libOsi.so.1.13.9} +0 -0
- {casadi-3.6.2.dist-info → casadi-3.6.4.dist-info}/WHEEL +0 -0
@@ -0,0 +1,107 @@
|
|
1
|
+
# Generated by CMake
|
2
|
+
|
3
|
+
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
4
|
+
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
5
|
+
endif()
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "2.8.3")
|
7
|
+
message(FATAL_ERROR "CMake >= 2.8.3 required")
|
8
|
+
endif()
|
9
|
+
cmake_policy(PUSH)
|
10
|
+
cmake_policy(VERSION 2.8.3...3.22)
|
11
|
+
#----------------------------------------------------------------
|
12
|
+
# Generated CMake target import file.
|
13
|
+
#----------------------------------------------------------------
|
14
|
+
|
15
|
+
# Commands may need to know the format version.
|
16
|
+
set(CMAKE_IMPORT_FILE_VERSION 1)
|
17
|
+
|
18
|
+
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
19
|
+
set(_cmake_targets_defined "")
|
20
|
+
set(_cmake_targets_not_defined "")
|
21
|
+
set(_cmake_expected_targets "")
|
22
|
+
foreach(_cmake_expected_target IN ITEMS trlib::trlib)
|
23
|
+
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
24
|
+
if(TARGET "${_cmake_expected_target}")
|
25
|
+
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
26
|
+
else()
|
27
|
+
list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}")
|
28
|
+
endif()
|
29
|
+
endforeach()
|
30
|
+
unset(_cmake_expected_target)
|
31
|
+
if(_cmake_targets_defined STREQUAL _cmake_expected_targets)
|
32
|
+
unset(_cmake_targets_defined)
|
33
|
+
unset(_cmake_targets_not_defined)
|
34
|
+
unset(_cmake_expected_targets)
|
35
|
+
unset(CMAKE_IMPORT_FILE_VERSION)
|
36
|
+
cmake_policy(POP)
|
37
|
+
return()
|
38
|
+
endif()
|
39
|
+
if(NOT _cmake_targets_defined STREQUAL "")
|
40
|
+
string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}")
|
41
|
+
string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}")
|
42
|
+
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n")
|
43
|
+
endif()
|
44
|
+
unset(_cmake_targets_defined)
|
45
|
+
unset(_cmake_targets_not_defined)
|
46
|
+
unset(_cmake_expected_targets)
|
47
|
+
|
48
|
+
|
49
|
+
# Compute the installation prefix relative to this file.
|
50
|
+
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
51
|
+
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
52
|
+
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
53
|
+
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
54
|
+
if(_IMPORT_PREFIX STREQUAL "/")
|
55
|
+
set(_IMPORT_PREFIX "")
|
56
|
+
endif()
|
57
|
+
|
58
|
+
# Create imported target trlib::trlib
|
59
|
+
add_library(trlib::trlib SHARED IMPORTED)
|
60
|
+
|
61
|
+
set_target_properties(trlib::trlib PROPERTIES
|
62
|
+
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
63
|
+
INTERFACE_LINK_LIBRARIES "/work/build/external_projects/lib/libcasadi-tp-openblas.so;/work/build/external_projects/lib/libcasadi-tp-openblas.so;/work/build/external_projects/lib/libcasadi-tp-openblas.so;m"
|
64
|
+
)
|
65
|
+
|
66
|
+
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
67
|
+
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
68
|
+
endif()
|
69
|
+
|
70
|
+
# Load information for each installed configuration.
|
71
|
+
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/trlib-config-*.cmake")
|
72
|
+
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
73
|
+
include("${_cmake_config_file}")
|
74
|
+
endforeach()
|
75
|
+
unset(_cmake_config_file)
|
76
|
+
unset(_cmake_config_files)
|
77
|
+
|
78
|
+
# Cleanup temporary variables.
|
79
|
+
set(_IMPORT_PREFIX)
|
80
|
+
|
81
|
+
# Loop over all imported files and verify that they actually exist
|
82
|
+
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
83
|
+
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
84
|
+
if(NOT EXISTS "${_cmake_file}")
|
85
|
+
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
86
|
+
\"${_cmake_file}\"
|
87
|
+
but this file does not exist. Possible reasons include:
|
88
|
+
* The file was deleted, renamed, or moved to another location.
|
89
|
+
* An install or uninstall procedure did not complete successfully.
|
90
|
+
* The installation package was faulty and contained
|
91
|
+
\"${CMAKE_CURRENT_LIST_FILE}\"
|
92
|
+
but not all the files it references.
|
93
|
+
")
|
94
|
+
endif()
|
95
|
+
endforeach()
|
96
|
+
unset(_cmake_file)
|
97
|
+
unset("_cmake_import_check_files_for_${_cmake_target}")
|
98
|
+
endforeach()
|
99
|
+
unset(_cmake_target)
|
100
|
+
unset(_cmake_import_check_targets)
|
101
|
+
|
102
|
+
# This file does not depend on other imported targets which have
|
103
|
+
# been exported from the same project but in a separate export set.
|
104
|
+
|
105
|
+
# Commands beyond this point should not need to know the version.
|
106
|
+
set(CMAKE_IMPORT_FILE_VERSION)
|
107
|
+
cmake_policy(POP)
|
casadi/highs
CHANGED
Binary file
|
casadi/include/casadi/casadi.i
CHANGED
@@ -59,6 +59,10 @@
|
|
59
59
|
namespace casadi {
|
60
60
|
// Redirect printout
|
61
61
|
static void pythonlogger(const char* s, std::streamsize num, bool error) {
|
62
|
+
if (!casadi::InterruptHandler::is_main_thread()) {
|
63
|
+
casadi::Logger::writeDefault(s, num, error);
|
64
|
+
return;
|
65
|
+
}
|
62
66
|
int n = num;
|
63
67
|
while (n>0) {
|
64
68
|
if (error) {
|
@@ -2682,7 +2686,7 @@ class NZproxy:
|
|
2682
2686
|
if "vectorized" in name:
|
2683
2687
|
name = name[:-len(" (vectorized)")]
|
2684
2688
|
|
2685
|
-
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt"}
|
2689
|
+
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt", "equal": "eq", "not_equal": "ne"}
|
2686
2690
|
if name in conversion:
|
2687
2691
|
name = conversion[name]
|
2688
2692
|
if len(context[1])==2 and context[1][1] is self and not(context[1][0] is self):
|
@@ -2694,7 +2698,7 @@ class NZproxy:
|
|
2694
2698
|
return fun(*args[1:])
|
2695
2699
|
|
2696
2700
|
def __array_ufunc__(self, ufunc, method, *inputs, **kwargs):
|
2697
|
-
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt"}
|
2701
|
+
conversion = {"multiply": "mul", "divide": "div", "true_divide": "div", "subtract":"sub","power":"pow","greater_equal":"ge","less_equal": "le", "less": "lt", "greater": "gt", "equal": "eq", "not_equal": "ne"}
|
2698
2702
|
name = ufunc.__name__
|
2699
2703
|
inputs = list(inputs)
|
2700
2704
|
if len(inputs)==3:
|
@@ -2714,7 +2718,13 @@ class NZproxy:
|
|
2714
2718
|
assert method=="__call__"
|
2715
2719
|
fun=getattr(self, name)
|
2716
2720
|
return fun(*inputs[1:])
|
2717
|
-
except:
|
2721
|
+
except Exception as e:
|
2722
|
+
if "Dimension mismatch" in str(e):
|
2723
|
+
import sys
|
2724
|
+
if sys.version_info[0] < 3:
|
2725
|
+
raise RuntimeError(str(e))
|
2726
|
+
else:
|
2727
|
+
raise e
|
2718
2728
|
# Fall back to numpy conversion
|
2719
2729
|
new_inputs = list(inputs)
|
2720
2730
|
try:
|
@@ -2947,6 +2957,9 @@ namespace casadi{
|
|
2947
2957
|
DECL std::vector< M > casadi_horzsplit(const M& v, casadi_int incr=1) {
|
2948
2958
|
return horzsplit(v, incr);
|
2949
2959
|
}
|
2960
|
+
DECL std::vector< M > casadi_horzsplit_n(const M& v, casadi_int n) {
|
2961
|
+
return horzsplit_n(v, n);
|
2962
|
+
}
|
2950
2963
|
DECL std::vector< M >
|
2951
2964
|
casadi_vertsplit(const M& v, const std::vector<casadi_int>& offset) {
|
2952
2965
|
return vertsplit(v, offset);
|
@@ -2959,6 +2972,10 @@ namespace casadi{
|
|
2959
2972
|
casadi_vertsplit(const M& v, casadi_int incr=1) {
|
2960
2973
|
return vertsplit(v, incr);
|
2961
2974
|
}
|
2975
|
+
DECL std::vector< M >
|
2976
|
+
casadi_vertsplit_n(const M& v, casadi_int n) {
|
2977
|
+
return vertsplit_n(v, n);
|
2978
|
+
}
|
2962
2979
|
DECL M casadi_blockcat(const M& A, const M& B, const M& C, const M& D) {
|
2963
2980
|
return vertcat(horzcat(A, B), horzcat(C, D));
|
2964
2981
|
}
|
casadi/include/casadi/config.h
CHANGED
@@ -26,18 +26,18 @@
|
|
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 4
|
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.
|
34
|
-
#define CASADI_FEATURE_LIST "\n * dynamic-loading,
|
31
|
+
#define CASADI_VERSION_STRING "3.6.4"
|
32
|
+
#define CASADI_GIT_REVISION "329e2282664f584b17fd6319f8ce765a111a6022" // NOLINT(whitespace/line_length)
|
33
|
+
#define CASADI_GIT_DESCRIBE "3.6.3-116.329e22826" // 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=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * knitro-mockup-build, Use mockup KNITRO (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * gurobi-mockup-build, Use mockup GUROBI (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * worhp-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v65) from downloaded source (BUILD_MOCKUPS_GIT_REPO=https://github.com/casadi/mockups.git).\n * hsl-mockup-build, Use mockup WORHP (BUILD_MOCKUPS_VERSION=v65) 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.6.0) from downloaded source (BUILD_HIGHS_GIT_REPO=https://github.com/ERGO-Code/HiGHS).\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.2) 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=releases/2.0.0) 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 * 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 * 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=
|
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_ipopt;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_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_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
|
-
#define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::ipopt;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;Linsol::ma27;Linsol::mumps;Conic::gurobi;Nlpsol::worhp;Nlpsol::snopt;XmlFile::tinyxml;Nlpsol::blocksqp;Conic::superscs;Nlpsol::ampl;Conic::proxqp;Conic::osqp;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)
|
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=4 -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
|
+
#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_bonmin;casadi_conic_qpoases;casadi_nlpsol_knitro;casadi_conic_clp;casadi_conic_cbc;casadi_linsol_csparse;casadi_linsol_csparsecholesky;casadi_conic_highs;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
|
+
#define CASADI_PLUGINS "Linsol::lapacklu;Linsol::lapackqr;Integrator::cvodes;Integrator::idas;Rootfinder::kinsol;Nlpsol::sleqp;Nlpsol::ipopt;Nlpsol::bonmin;Conic::qpoases;Nlpsol::knitro;Conic::clp;Conic::cbc;Linsol::csparse;Linsol::csparsecholesky;Conic::highs;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)
|
42
42
|
#define CASADI_SHARED_LIBRARY_PREFIX "lib" // NOLINT(whitespace/line_length)
|
43
43
|
#define CASADI_SHARED_LIBRARY_SUFFIX ".so" // NOLINT(whitespace/line_length)
|
@@ -769,6 +769,12 @@ namespace casadi {
|
|
769
769
|
// Generate mex entry point
|
770
770
|
void generate_mex(std::ostream &s) const;
|
771
771
|
|
772
|
+
// Generate function specific code for Simulink s-Function
|
773
|
+
std::string codegen_sfunction(const Function& f) const;
|
774
|
+
|
775
|
+
// Export s-Function to file
|
776
|
+
void generate_sfunction(const std::string& name, const std::string& sfunction) const;
|
777
|
+
|
772
778
|
// Generate main entry point
|
773
779
|
void generate_main(std::ostream &s) const;
|
774
780
|
|
@@ -800,6 +806,10 @@ namespace casadi {
|
|
800
806
|
// Are we creating a MEX file?
|
801
807
|
bool mex;
|
802
808
|
|
809
|
+
// Are we creating a s-function?
|
810
|
+
bool with_sfunction;
|
811
|
+
std::vector<std::string> added_sfunctions;
|
812
|
+
|
803
813
|
// Verbose codegen?
|
804
814
|
bool verbose;
|
805
815
|
|
@@ -0,0 +1,224 @@
|
|
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_FMU_HPP
|
27
|
+
#define CASADI_FMU_HPP
|
28
|
+
|
29
|
+
#include "shared_object.hpp"
|
30
|
+
#include "printable.hpp"
|
31
|
+
#include "sparsity.hpp"
|
32
|
+
|
33
|
+
/// \cond INTERNAL
|
34
|
+
|
35
|
+
namespace casadi {
|
36
|
+
|
37
|
+
// Forward declarations
|
38
|
+
class DaeBuilderInternal;
|
39
|
+
struct FmuMemory;
|
40
|
+
struct InputStruct;
|
41
|
+
|
42
|
+
// Forward declaration of internal class
|
43
|
+
class FmuInternal;
|
44
|
+
|
45
|
+
/// Which C API
|
46
|
+
enum class FmuApi {FMI2, NUMEL};
|
47
|
+
|
48
|
+
/// Convert to string
|
49
|
+
CASADI_EXPORT std::string to_string(FmuApi v);
|
50
|
+
|
51
|
+
/** \brief Interface to binary FMU
|
52
|
+
|
53
|
+
Can be shared between multiple CasADi functions.
|
54
|
+
|
55
|
+
\author Joel Andersson
|
56
|
+
\date 2023
|
57
|
+
|
58
|
+
\identifier{26s} */
|
59
|
+
class CASADI_EXPORT Fmu
|
60
|
+
: public SharedObject,
|
61
|
+
public SWIG_IF_ELSE(PrintableCommon, Printable<Fmu>) {
|
62
|
+
public:
|
63
|
+
/** \brief Get type name
|
64
|
+
|
65
|
+
\identifier{26t} */
|
66
|
+
static std::string type_name() {return "Fmu";}
|
67
|
+
|
68
|
+
/// Default constructor
|
69
|
+
Fmu();
|
70
|
+
|
71
|
+
/// Importer factory
|
72
|
+
Fmu(const std::string& name, FmuApi api, const DaeBuilderInternal* dae,
|
73
|
+
const std::vector<std::string>& scheme_in,
|
74
|
+
const std::vector<std::string>& scheme_out,
|
75
|
+
const std::map<std::string, std::vector<size_t>>& scheme,
|
76
|
+
const std::vector<std::string>& aux);
|
77
|
+
|
78
|
+
/** \brief Name of the instance
|
79
|
+
|
80
|
+
\identifier{26u} */
|
81
|
+
const std::string& name() const;
|
82
|
+
|
83
|
+
///@{
|
84
|
+
/// Access functions of the node
|
85
|
+
FmuInternal* operator->();
|
86
|
+
const FmuInternal* operator->() const;
|
87
|
+
FmuInternal* get() const;
|
88
|
+
///@}
|
89
|
+
|
90
|
+
/** \brief Get the number of scheme inputs
|
91
|
+
|
92
|
+
\identifier{26v} */
|
93
|
+
size_t n_in() const;
|
94
|
+
|
95
|
+
/** \brief Get the number of scheme outputs
|
96
|
+
|
97
|
+
\identifier{26w} */
|
98
|
+
size_t n_out() const;
|
99
|
+
|
100
|
+
// Index lookup for input
|
101
|
+
size_t index_in(const std::string& n) const;
|
102
|
+
|
103
|
+
// Index lookup for output
|
104
|
+
size_t index_out(const std::string& n) const;
|
105
|
+
|
106
|
+
// Get all reduced space indices for an input
|
107
|
+
const std::vector<size_t>& ired(size_t ind) const;
|
108
|
+
|
109
|
+
// Get all reduced space indices for an output
|
110
|
+
const std::vector<size_t>& ored(size_t ind) const;
|
111
|
+
|
112
|
+
// Get nominal value for reduced-space input
|
113
|
+
double nominal_in(size_t ind) const;
|
114
|
+
|
115
|
+
// Get nominal value for reduced-space output
|
116
|
+
double nominal_out(size_t ind) const;
|
117
|
+
|
118
|
+
// Get minimum value for reduced-space input
|
119
|
+
double min_in(size_t ind) const;
|
120
|
+
|
121
|
+
// Get maximum value for reduced-space input
|
122
|
+
double max_in(size_t ind) const;
|
123
|
+
|
124
|
+
// Get all nominal values for an input
|
125
|
+
std::vector<double> all_nominal_in(size_t ind) const;
|
126
|
+
|
127
|
+
// Get all nominal values for an output
|
128
|
+
std::vector<double> all_nominal_out(size_t ind) const;
|
129
|
+
|
130
|
+
// Description of an input
|
131
|
+
std::string desc_in(FmuMemory* m, size_t id, bool more = true) const;
|
132
|
+
|
133
|
+
/// Does the interface support analytic derivatives?
|
134
|
+
bool has_ad() const;
|
135
|
+
|
136
|
+
// Get Jacobian sparsity for a subset of inputs and outputs
|
137
|
+
Sparsity jac_sparsity(const std::vector<size_t>& osub, const std::vector<size_t>& isub) const;
|
138
|
+
|
139
|
+
// Get Jacobian sparsity for an output/input pair
|
140
|
+
Sparsity jac_sparsity(size_t oind, size_t iind) const {
|
141
|
+
return jac_sparsity(ored(oind), ired(iind));
|
142
|
+
}
|
143
|
+
|
144
|
+
// Get Hessian sparsity for a subset of inputs
|
145
|
+
Sparsity hess_sparsity(const std::vector<size_t>& r, const std::vector<size_t>& c) const;
|
146
|
+
|
147
|
+
// Get Jacobian sparsity for an input/input pair
|
148
|
+
Sparsity hess_sparsity(size_t r, size_t c) const {
|
149
|
+
return hess_sparsity(ired(r), ired(c));
|
150
|
+
}
|
151
|
+
|
152
|
+
/** \brief Initalize memory block
|
153
|
+
|
154
|
+
\identifier{26x} */
|
155
|
+
int init_mem(FmuMemory* m) const;
|
156
|
+
|
157
|
+
// Free FMU instance
|
158
|
+
void free_instance(void* c) const;
|
159
|
+
|
160
|
+
// Set value
|
161
|
+
void set(FmuMemory* m, size_t ind, const double* value) const;
|
162
|
+
|
163
|
+
// Request the calculation of a variable
|
164
|
+
void request(FmuMemory* m, size_t ind) const;
|
165
|
+
|
166
|
+
// Calculate all requested variables
|
167
|
+
int eval(FmuMemory* m) const;
|
168
|
+
|
169
|
+
// Get a calculated variable
|
170
|
+
void get(FmuMemory* m, size_t ind, double* value) const;
|
171
|
+
|
172
|
+
// Set seed
|
173
|
+
void set_seed(FmuMemory* m, casadi_int nseed, const casadi_int* id, const double* v) const;
|
174
|
+
|
175
|
+
// Request the calculation of a sensitivity
|
176
|
+
void request_sens(FmuMemory* m, casadi_int nsens, const casadi_int* id,
|
177
|
+
const casadi_int* wrt_id) const;
|
178
|
+
|
179
|
+
// Calculate directional derivatives
|
180
|
+
int eval_derivative(FmuMemory* m, bool independent_seeds) const;
|
181
|
+
|
182
|
+
// Get calculated derivatives
|
183
|
+
void get_sens(FmuMemory* m, casadi_int nsens, const casadi_int* id, double* v) const;
|
184
|
+
|
185
|
+
// Set all forward seeds for a single input
|
186
|
+
void set_fwd(FmuMemory* m, size_t ind, const double* v) const;
|
187
|
+
|
188
|
+
// Request the calculation of all forward sensitivities for an output
|
189
|
+
void request_fwd(FmuMemory* m, casadi_int ind) const;
|
190
|
+
|
191
|
+
// Get the forward sensitivities for a single output
|
192
|
+
void get_fwd(FmuMemory* m, size_t ind, double* v) const;
|
193
|
+
|
194
|
+
/** \brief Get stats
|
195
|
+
|
196
|
+
\identifier{26y} */
|
197
|
+
void get_stats(FmuMemory* m, Dict* stats,
|
198
|
+
const std::vector<std::string>& name_in, const InputStruct* in) const;
|
199
|
+
|
200
|
+
/// \cond INTERNAL
|
201
|
+
#ifndef SWIG
|
202
|
+
/** \brief Create from node
|
203
|
+
|
204
|
+
\identifier{27c} */
|
205
|
+
static Fmu create(FmuInternal* node);
|
206
|
+
#endif // SWIG
|
207
|
+
/// \endcond
|
208
|
+
|
209
|
+
/** \brief Serialize an object
|
210
|
+
|
211
|
+
\identifier{27d} */
|
212
|
+
void serialize(SerializingStream &s) const;
|
213
|
+
|
214
|
+
/** \brief Deserialize with type disambiguation
|
215
|
+
|
216
|
+
\identifier{27e} */
|
217
|
+
static Fmu deserialize(DeserializingStream& s);
|
218
|
+
};
|
219
|
+
|
220
|
+
} // namespace casadi
|
221
|
+
|
222
|
+
/// \endcond
|
223
|
+
|
224
|
+
#endif // CASADI_FMU_HPP
|
@@ -1424,10 +1424,12 @@ namespace casadi {
|
|
1424
1424
|
// Assert consistent input dimensions
|
1425
1425
|
if (tr) {
|
1426
1426
|
casadi_assert(v.size1() == ex.size1() && v.size2() % ex.size2() == 0,
|
1427
|
-
"'v' has inconsistent dimensions"
|
1427
|
+
"'v' has inconsistent dimensions: "
|
1428
|
+
" v " + v.dim(false) + ", ex " + ex.dim(false) + ".");
|
1428
1429
|
} else {
|
1429
1430
|
casadi_assert(v.size1() == arg.size1() && v.size2() % arg.size2() == 0,
|
1430
|
-
"'v' has inconsistent dimensions"
|
1431
|
+
"'v' has inconsistent dimensions: "
|
1432
|
+
" v " + v.dim(false) + ", arg " + arg.dim(false) + ".");
|
1431
1433
|
}
|
1432
1434
|
|
1433
1435
|
// Quick return if no seeds
|
@@ -79,10 +79,8 @@ namespace casadi {
|
|
79
79
|
const Importer& compiler, const Dict& opts=Dict());
|
80
80
|
CASADI_EXPORT Function nlpsol(const std::string& name, const std::string& solver,
|
81
81
|
const NlpBuilder& nl, const Dict& opts=Dict());
|
82
|
-
#ifndef SWIG
|
83
82
|
CASADI_EXPORT Function nlpsol(const std::string& name, const std::string& solver,
|
84
83
|
const Function& nlp, const Dict& opts=Dict());
|
85
|
-
#endif // SWIG
|
86
84
|
///@}
|
87
85
|
|
88
86
|
/** \brief Get input scheme of NLP solvers
|