casadi 3.6.4__cp312-none-manylinux2014_i686.whl → 3.6.6__cp312-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 +984 -500
- casadi/cbc +0 -0
- casadi/clp +0 -0
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/highs/highs-config.cmake +6 -13
- casadi/cmake/highs/highs-targets-release.cmake +13 -13
- casadi/cmake/highs/highs-targets.cmake +13 -10
- casadi/highs +0 -0
- casadi/include/casadi/casadi.i +33 -15
- casadi/include/casadi/casadi_c.h +2 -0
- casadi/include/casadi/config.h +8 -8
- casadi/include/casadi/core/casadi_common.hpp +1 -0
- casadi/include/casadi/core/casadi_misc.hpp +13 -0
- casadi/include/casadi/core/casadi_types.hpp +3 -2
- casadi/include/casadi/core/code_generator.hpp +59 -2
- casadi/include/casadi/core/core.hpp +1 -0
- casadi/include/casadi/core/generic_expression.hpp +1 -1
- casadi/include/casadi/core/generic_type.hpp +25 -1
- casadi/include/casadi/core/global_options.hpp +2 -0
- casadi/include/casadi/core/matrix_decl.hpp +15 -0
- casadi/include/casadi/core/mx.hpp +13 -3
- casadi/include/casadi/core/optistack.hpp +23 -0
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +133 -6
- 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_runtime.hpp +4 -1
- casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
- casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +11 -1
- casadi/include/casadi/core/serializing_stream.hpp +2 -2
- casadi/include/casadi/core/sparsity.hpp +12 -3
- casadi/include/casadi/core/tools.hpp +67 -0
- casadi/include/casadi/doc.i +2283 -1491
- casadi/include/casadi/doc_merged.i +1522 -1065
- casadi/include/casadi/mem.h +1 -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/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/highs/HConfig.h +6 -5
- casadi/include/highs/Highs.h +93 -23
- casadi/include/highs/filereaderlp/def.hpp +19 -0
- casadi/include/highs/interfaces/highs_c_api.h +200 -24
- casadi/include/highs/io/Filereader.h +1 -1
- casadi/include/highs/io/FilereaderEms.h +1 -1
- casadi/include/highs/io/FilereaderLp.h +1 -1
- casadi/include/highs/io/FilereaderMps.h +1 -1
- casadi/include/highs/io/HMPSIO.h +1 -1
- casadi/include/highs/io/HMpsFF.h +5 -3
- casadi/include/highs/io/HighsIO.h +18 -8
- casadi/include/highs/io/LoadOptions.h +1 -1
- casadi/include/highs/ipm/IpxSolution.h +35 -0
- casadi/include/highs/ipm/IpxWrapper.h +1 -1
- 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 +163 -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 +75 -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 +201 -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 +409 -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 +20 -10
- casadi/include/highs/lp_data/HStruct.h +23 -1
- casadi/include/highs/lp_data/HighsAnalysis.h +1 -1
- casadi/include/highs/lp_data/HighsCallback.h +10 -3
- casadi/include/highs/lp_data/HighsCallbackStruct.h +31 -5
- casadi/include/highs/lp_data/HighsDebug.h +1 -1
- casadi/include/highs/lp_data/HighsInfo.h +20 -2
- casadi/include/highs/lp_data/HighsInfoDebug.h +1 -1
- casadi/include/highs/lp_data/HighsLp.h +17 -1
- casadi/include/highs/lp_data/HighsLpSolverObject.h +1 -1
- casadi/include/highs/lp_data/HighsLpUtils.h +19 -19
- casadi/include/highs/lp_data/HighsModelUtils.h +1 -1
- casadi/include/highs/lp_data/HighsOptions.h +237 -10
- casadi/include/highs/lp_data/HighsRanging.h +1 -1
- casadi/include/highs/lp_data/HighsRuntimeOptions.h +2 -2
- casadi/include/highs/lp_data/HighsSolution.h +2 -2
- casadi/include/highs/lp_data/HighsSolutionDebug.h +1 -1
- casadi/include/highs/lp_data/HighsSolve.h +3 -1
- casadi/include/highs/lp_data/HighsStatus.h +1 -1
- casadi/include/highs/mip/HighsCliqueTable.h +4 -4
- casadi/include/highs/mip/HighsConflictPool.h +1 -1
- casadi/include/highs/mip/HighsCutGeneration.h +1 -1
- casadi/include/highs/mip/HighsCutPool.h +2 -2
- casadi/include/highs/mip/HighsDebugSol.h +22 -29
- casadi/include/highs/mip/HighsDomain.h +10 -2
- casadi/include/highs/mip/HighsDomainChange.h +1 -1
- casadi/include/highs/mip/HighsDynamicRowMatrix.h +5 -3
- casadi/include/highs/mip/HighsGFkSolve.h +3 -3
- casadi/include/highs/mip/HighsImplications.h +3 -3
- casadi/include/highs/mip/HighsLpAggregator.h +1 -1
- casadi/include/highs/mip/HighsLpRelaxation.h +6 -1
- casadi/include/highs/mip/HighsMipSolver.h +4 -2
- casadi/include/highs/mip/HighsMipSolverData.h +47 -4
- casadi/include/highs/mip/HighsModkSeparator.h +2 -2
- casadi/include/highs/mip/HighsNodeQueue.h +5 -3
- casadi/include/highs/mip/HighsObjectiveFunction.h +1 -1
- casadi/include/highs/mip/HighsPathSeparator.h +2 -2
- casadi/include/highs/mip/HighsPrimalHeuristics.h +1 -1
- casadi/include/highs/mip/HighsPseudocost.h +35 -23
- casadi/include/highs/mip/HighsRedcostFixing.h +1 -1
- casadi/include/highs/mip/HighsSearch.h +2 -1
- casadi/include/highs/mip/HighsSeparation.h +1 -1
- casadi/include/highs/mip/HighsSeparator.h +1 -1
- casadi/include/highs/mip/HighsTableauSeparator.h +1 -1
- casadi/include/highs/mip/HighsTransformedLp.h +1 -1
- casadi/include/highs/model/HighsHessian.h +5 -0
- casadi/include/highs/model/HighsHessianUtils.h +2 -0
- casadi/include/highs/model/HighsModel.h +10 -1
- casadi/include/highs/parallel/HighsMutex.h +2 -1
- casadi/include/highs/parallel/HighsParallel.h +7 -2
- casadi/include/highs/parallel/HighsTask.h +1 -2
- casadi/include/highs/pdlp/CupdlpWrapper.h +93 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +41 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +423 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +183 -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_cuda.h +28 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +33 -0
- casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1726 -0
- casadi/include/highs/pdqsort/pdqsort.h +532 -0
- casadi/include/highs/presolve/HPresolve.h +27 -14
- casadi/include/highs/presolve/HPresolveAnalysis.h +1 -1
- casadi/include/highs/presolve/HighsPostsolveStack.h +92 -68
- casadi/include/highs/presolve/HighsSymmetry.h +6 -5
- casadi/include/highs/presolve/ICrash.h +8 -2
- casadi/include/highs/presolve/ICrashUtil.h +1 -1
- casadi/include/highs/presolve/ICrashX.h +1 -1
- casadi/include/highs/presolve/PresolveComponent.h +1 -1
- casadi/include/highs/qpsolver/a_asm.hpp +23 -12
- casadi/include/highs/qpsolver/a_quass.hpp +8 -1
- casadi/include/highs/qpsolver/basis.hpp +150 -0
- casadi/include/highs/qpsolver/crashsolution.hpp +12 -0
- casadi/include/highs/qpsolver/dantzigpricing.hpp +72 -0
- casadi/include/highs/qpsolver/devexpricing.hpp +99 -0
- casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
- casadi/include/highs/qpsolver/factor.hpp +400 -0
- casadi/include/highs/qpsolver/feasibility_bounded.hpp +105 -0
- casadi/include/highs/qpsolver/feasibility_highs.hpp +270 -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/pricing.hpp +15 -0
- casadi/include/highs/qpsolver/qpconst.hpp +27 -0
- casadi/include/highs/qpsolver/{vector.hpp → qpvector.hpp} +25 -25
- casadi/include/highs/qpsolver/quass.hpp +1 -1
- casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
- casadi/include/highs/qpsolver/runtime.hpp +38 -0
- casadi/include/highs/qpsolver/settings.hpp +57 -0
- casadi/include/highs/qpsolver/snippets.hpp +29 -0
- casadi/include/highs/qpsolver/statistics.hpp +23 -0
- casadi/include/highs/qpsolver/steepestedgepricing.hpp +167 -0
- casadi/include/highs/simplex/HApp.h +1 -1
- casadi/include/highs/simplex/HEkk.h +52 -18
- casadi/include/highs/simplex/HEkkDual.h +1 -1
- casadi/include/highs/simplex/HEkkDualRHS.h +6 -7
- casadi/include/highs/simplex/HEkkDualRow.h +2 -2
- casadi/include/highs/simplex/HEkkPrimal.h +6 -1
- casadi/include/highs/simplex/HSimplex.h +1 -3
- casadi/include/highs/simplex/HSimplexDebug.h +1 -1
- casadi/include/highs/simplex/HSimplexNla.h +1 -1
- casadi/include/highs/simplex/HSimplexReport.h +1 -1
- casadi/include/highs/simplex/HighsSimplexAnalysis.h +228 -100
- casadi/include/highs/simplex/SimplexConst.h +1 -1
- casadi/include/highs/simplex/SimplexStruct.h +2 -2
- casadi/include/highs/simplex/SimplexTimer.h +1 -1
- casadi/include/highs/test/DevKkt.h +1 -1
- casadi/include/highs/test/KktCh2.h +1 -1
- casadi/include/highs/util/FactorTimer.h +1 -1
- casadi/include/highs/util/HFactor.h +35 -6
- casadi/include/highs/util/HFactorConst.h +1 -1
- casadi/include/highs/util/HFactorDebug.h +1 -1
- casadi/include/highs/util/HSet.h +1 -1
- casadi/include/highs/util/HVector.h +1 -1
- casadi/include/highs/util/HVectorBase.h +1 -1
- casadi/include/highs/util/HighsCDouble.h +3 -3
- casadi/include/highs/util/HighsComponent.h +1 -1
- casadi/include/highs/util/HighsDataStack.h +4 -4
- casadi/include/highs/util/HighsDisjointSets.h +1 -1
- casadi/include/highs/util/HighsHash.h +28 -21
- casadi/include/highs/util/HighsHashTree.h +63 -63
- casadi/include/highs/util/HighsInt.h +1 -1
- casadi/include/highs/util/HighsIntegers.h +8 -9
- casadi/include/highs/util/HighsLinearSumBounds.h +1 -1
- casadi/include/highs/util/HighsMatrixPic.h +1 -1
- casadi/include/highs/util/HighsMatrixSlice.h +9 -6
- casadi/include/highs/util/HighsMatrixUtils.h +1 -1
- casadi/include/highs/util/HighsMemoryAllocation.h +55 -0
- casadi/include/highs/util/HighsRandom.h +27 -15
- casadi/include/highs/util/HighsRbTree.h +2 -2
- casadi/include/highs/util/HighsSort.h +7 -7
- casadi/include/highs/util/HighsSparseMatrix.h +5 -2
- casadi/include/highs/util/HighsSparseVectorSum.h +2 -2
- casadi/include/highs/util/HighsSplay.h +1 -1
- casadi/include/highs/util/HighsTimer.h +18 -9
- casadi/include/highs/util/HighsUtils.h +15 -8
- casadi/include/highs/util/stringutil.h +9 -4
- casadi/include/highs/zstr/strict_fstream.hpp +237 -0
- casadi/include/highs/zstr/zstr.hpp +472 -0
- casadi/include/licenses/daqp-external/LICENSE +21 -0
- casadi/include/licenses/highs-external/{LICENSE → LICENSE.txt} +1 -1
- casadi/include/osqp/constants.h +2 -3
- casadi/include/osqp/version.h +9 -0
- 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_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_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.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_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.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_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/libdaqp.so +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/libosqp.so +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/libsleqp.so +0 -0
- casadi/libsleqp.so.1.0.1 +0 -0
- casadi/libspral.a +0 -0
- casadi/libsuperscs.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/highs.pc +1 -1
- casadi/tools/__init__.py +4 -0
- casadi/tools/bounds.py +3 -3
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/METADATA +12 -4
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/RECORD +490 -281
- casadi/include/highs/fortran/highs_fortran_api.mod +0 -0
- casadi/libFortranHighs.so +0 -0
- casadi/libhighs.so.1.6 +0 -0
- casadi/libhighs.so.1.6.0 +0 -0
- {casadi-3.6.4.dist-info → casadi-3.6.6.dist-info}/WHEEL +0 -0
casadi/cbc
CHANGED
Binary file
|
casadi/clp
CHANGED
Binary file
|
@@ -2,23 +2,16 @@
|
|
2
2
|
|
3
3
|
set(HIGHS_DIR "")
|
4
4
|
|
5
|
-
if
|
6
|
-
|
7
|
-
|
8
|
-
endif()
|
5
|
+
if(NOT TARGET highs)
|
6
|
+
include("${CMAKE_CURRENT_LIST_DIR}/highs-targets.cmake")
|
7
|
+
endif()
|
9
8
|
|
10
|
-
|
11
|
-
else()
|
12
|
-
if(NOT TARGET libhighs)
|
13
|
-
include("${CMAKE_CURRENT_LIST_DIR}/highs-targets.cmake")
|
14
|
-
endif()
|
9
|
+
set(HIGHS_LIBRARIES highs)
|
15
10
|
|
16
|
-
|
17
|
-
endif()
|
18
|
-
|
19
|
-
set(HIGHS_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include/highs")
|
11
|
+
set(HIGHS_INCLUDE_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../../include")
|
20
12
|
|
21
13
|
set(HIGHS_FOUND TRUE)
|
22
14
|
|
23
15
|
include(CMakeFindDependencyMacro)
|
16
|
+
find_dependency(Threads)
|
24
17
|
find_dependency(ZLIB)
|
@@ -5,24 +5,24 @@
|
|
5
5
|
# Commands may need to know the format version.
|
6
6
|
set(CMAKE_IMPORT_FILE_VERSION 1)
|
7
7
|
|
8
|
-
# Import target "highs" for configuration "Release"
|
9
|
-
set_property(TARGET highs APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
10
|
-
set_target_properties(highs PROPERTIES
|
11
|
-
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/
|
8
|
+
# Import target "highs::highs" for configuration "Release"
|
9
|
+
set_property(TARGET highs::highs APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
10
|
+
set_target_properties(highs::highs PROPERTIES
|
11
|
+
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhighs.so.1.7.2"
|
12
|
+
IMPORTED_SONAME_RELEASE "libhighs.so.1"
|
12
13
|
)
|
13
14
|
|
14
|
-
list(APPEND _cmake_import_check_targets highs )
|
15
|
-
list(APPEND _cmake_import_check_files_for_highs "${_IMPORT_PREFIX}/
|
15
|
+
list(APPEND _cmake_import_check_targets highs::highs )
|
16
|
+
list(APPEND _cmake_import_check_files_for_highs::highs "${_IMPORT_PREFIX}/lib/libhighs.so.1.7.2" )
|
16
17
|
|
17
|
-
# Import target "
|
18
|
-
set_property(TARGET
|
19
|
-
set_target_properties(
|
20
|
-
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/
|
21
|
-
IMPORTED_SONAME_RELEASE "libhighs.so.1.6"
|
18
|
+
# Import target "highs::highs-bin" for configuration "Release"
|
19
|
+
set_property(TARGET highs::highs-bin APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
20
|
+
set_target_properties(highs::highs-bin PROPERTIES
|
21
|
+
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/highs"
|
22
22
|
)
|
23
23
|
|
24
|
-
list(APPEND _cmake_import_check_targets
|
25
|
-
list(APPEND
|
24
|
+
list(APPEND _cmake_import_check_targets highs::highs-bin )
|
25
|
+
list(APPEND _cmake_import_check_files_for_highs::highs-bin "${_IMPORT_PREFIX}/bin/highs" )
|
26
26
|
|
27
27
|
# Commands beyond this point should not need to know the version.
|
28
28
|
set(CMAKE_IMPORT_FILE_VERSION)
|
@@ -19,7 +19,7 @@ set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
19
19
|
set(_cmake_targets_defined "")
|
20
20
|
set(_cmake_targets_not_defined "")
|
21
21
|
set(_cmake_expected_targets "")
|
22
|
-
foreach(_cmake_expected_target IN ITEMS highs
|
22
|
+
foreach(_cmake_expected_target IN ITEMS highs::highs highs::highs-bin)
|
23
23
|
list(APPEND _cmake_expected_targets "${_cmake_expected_target}")
|
24
24
|
if(TARGET "${_cmake_expected_target}")
|
25
25
|
list(APPEND _cmake_targets_defined "${_cmake_expected_target}")
|
@@ -55,19 +55,22 @@ if(_IMPORT_PREFIX STREQUAL "/")
|
|
55
55
|
set(_IMPORT_PREFIX "")
|
56
56
|
endif()
|
57
57
|
|
58
|
-
# Create imported target highs
|
59
|
-
|
58
|
+
# Create imported target highs::highs
|
59
|
+
add_library(highs::highs SHARED IMPORTED)
|
60
60
|
|
61
|
-
set_target_properties(highs PROPERTIES
|
62
|
-
|
61
|
+
set_target_properties(highs::highs PROPERTIES
|
62
|
+
COMPATIBLE_INTERFACE_STRING "HIGHS_MAJOR_VERSION"
|
63
|
+
INTERFACE_HIGHS_MAJOR_VERSION "1"
|
64
|
+
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include/highs"
|
65
|
+
INTERFACE_LINK_LIBRARIES "ZLIB::ZLIB;Threads::Threads"
|
66
|
+
INTERFACE_POSITION_INDEPENDENT_CODE "ON"
|
63
67
|
)
|
64
68
|
|
65
|
-
# Create imported target
|
66
|
-
|
69
|
+
# Create imported target highs::highs-bin
|
70
|
+
add_executable(highs::highs-bin IMPORTED)
|
67
71
|
|
68
|
-
set_target_properties(
|
69
|
-
|
70
|
-
INTERFACE_LINK_LIBRARIES "ZLIB::ZLIB;Threads::Threads"
|
72
|
+
set_target_properties(highs::highs-bin PROPERTIES
|
73
|
+
INTERFACE_COMPILE_OPTIONS "-Wno-unused-variable;-Wno-unused-const-variable"
|
71
74
|
)
|
72
75
|
|
73
76
|
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
casadi/highs
CHANGED
Binary file
|
casadi/include/casadi/casadi.i
CHANGED
@@ -80,6 +80,19 @@
|
|
80
80
|
return PyErr_CheckSignals();
|
81
81
|
}
|
82
82
|
|
83
|
+
std::string python_string_to_std_string(PyObject *str_py) {
|
84
|
+
#if SWIG_VERSION < 0x040200
|
85
|
+
const char *str_char = SWIG_Python_str_AsChar(str_py);
|
86
|
+
std::string str(str_char);
|
87
|
+
SWIG_Python_str_DelForPy3(str_char);
|
88
|
+
#else
|
89
|
+
PyObject *bytes = NULL;
|
90
|
+
std::string str(SWIG_PyUnicode_AsUTF8AndSize(str_py, NULL, &bytes));
|
91
|
+
Py_XDECREF(bytes);
|
92
|
+
#endif
|
93
|
+
return str;
|
94
|
+
}
|
95
|
+
|
83
96
|
void handle_director_exception() {
|
84
97
|
std::string msg = "Exception in SWIG director ";
|
85
98
|
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
|
@@ -91,9 +104,7 @@
|
|
91
104
|
PyObject *ptype, *pvalue, *ptraceback;
|
92
105
|
PyErr_Fetch(&ptype, &pvalue, &ptraceback);
|
93
106
|
PyObject* msg_py = PyObject_Str(pvalue);
|
94
|
-
|
95
|
-
msg = msg_char;
|
96
|
-
SWIG_Python_str_DelForPy3(msg_char);
|
107
|
+
msg = python_string_to_std_string(msg_py);
|
97
108
|
Py_DECREF(msg_py);
|
98
109
|
PyErr_Restore(ptype, pvalue, ptraceback);
|
99
110
|
PyErr_Print();
|
@@ -1441,11 +1452,15 @@ namespace std {
|
|
1441
1452
|
|| to_generic<std::vector<double> >(p, m)
|
1442
1453
|
|| to_generic<std::vector<bool> >(p, m)
|
1443
1454
|
|| to_generic<std::vector<std::string> >(p, m)
|
1455
|
+
|| to_generic<std::vector<std::vector<std::string> > >(p, m)
|
1444
1456
|
|| to_generic<std::vector<std::vector<casadi_int> > >(p, m)
|
1445
1457
|
|| to_generic<std::vector<std::vector<double> > >(p, m)
|
1446
1458
|
|| to_generic<casadi::Function>(p, m)
|
1447
1459
|
|| to_generic<std::vector<casadi::Function> >(p, m)
|
1448
|
-
|| to_generic<casadi::GenericType::Dict>(p, m)
|
1460
|
+
|| to_generic<casadi::GenericType::Dict>(p, m)
|
1461
|
+
|| to_generic<std::vector<casadi::GenericType::Dict> >(p, m)
|
1462
|
+
|| to_generic<std::vector<std::vector<casadi::GenericType> > >(p, m)
|
1463
|
+
|| to_generic<std::vector<casadi::GenericType> >(p, m)) {
|
1449
1464
|
return true;
|
1450
1465
|
}
|
1451
1466
|
|
@@ -1468,7 +1483,11 @@ namespace std {
|
|
1468
1483
|
case OT_DOUBLEVECTOR: return from_tmp(a->as_double_vector());
|
1469
1484
|
case OT_DOUBLEVECTORVECTOR: return from_tmp(a->as_double_vector_vector());
|
1470
1485
|
case OT_STRINGVECTOR: return from_tmp(a->as_string_vector());
|
1486
|
+
case OT_STRINGVECTORVECTOR: return from_tmp(a->as_string_vector_vector());
|
1471
1487
|
case OT_DICT: return from_tmp(a->as_dict());
|
1488
|
+
case OT_DICTVECTOR: return from_tmp(a->as_dict_vector());
|
1489
|
+
case OT_VECTORVECTOR: return from_tmp(a->as_vector_vector());
|
1490
|
+
case OT_VECTOR: return from_tmp(a->as_vector());
|
1472
1491
|
case OT_FUNCTION: return from_tmp(a->as_function());
|
1473
1492
|
case OT_FUNCTIONVECTOR: return from_tmp(a->as_function_vector());
|
1474
1493
|
#ifdef SWIGPYTHON
|
@@ -1500,10 +1519,10 @@ namespace std {
|
|
1500
1519
|
|
1501
1520
|
#ifdef SWIGPYTHON
|
1502
1521
|
if (PyString_Check(p) || PyUnicode_Check(p)) {
|
1503
|
-
if (m)
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
1522
|
+
if (m) {
|
1523
|
+
(*m)->clear();
|
1524
|
+
(*m)->append(python_string_to_std_string(p));
|
1525
|
+
}
|
1507
1526
|
return true;
|
1508
1527
|
}
|
1509
1528
|
#endif // SWIGPYTHON
|
@@ -1594,9 +1613,7 @@ namespace std {
|
|
1594
1613
|
while (PyDict_Next(p, &pos, &key, &value)) {
|
1595
1614
|
if (!(PyString_Check(key) || PyUnicode_Check(key))) return false;
|
1596
1615
|
if (m) {
|
1597
|
-
|
1598
|
-
M *v=&(**m)[std::string(c_key)], *v2=v;
|
1599
|
-
SWIG_Python_str_DelForPy3(c_key);
|
1616
|
+
M *v=&(**m)[python_string_to_std_string(key)], *v2=v;
|
1600
1617
|
if (!casadi::to_ptr(value, &v)) return false;
|
1601
1618
|
if (v!=v2) *v2=*v; // if only pointer changed
|
1602
1619
|
} else {
|
@@ -1857,11 +1874,8 @@ namespace std {
|
|
1857
1874
|
PyObject * classo = PyObject_GetAttrString( p, "__class__");
|
1858
1875
|
PyObject * classname = PyObject_GetAttrString( classo, "__name__");
|
1859
1876
|
|
1860
|
-
|
1861
|
-
bool ret = strcmp(c_classname, name)==0;
|
1862
|
-
|
1877
|
+
bool ret = python_string_to_std_string(classname) == name;
|
1863
1878
|
Py_DECREF(classo);Py_DECREF(classname);
|
1864
|
-
SWIG_Python_str_DelForPy3(c_classname);
|
1865
1879
|
return ret;
|
1866
1880
|
}
|
1867
1881
|
#endif // SWIGPYTHON
|
@@ -3680,6 +3694,9 @@ DECL M casadi_stop_diff(const M& expr, casadi_int order) {
|
|
3680
3694
|
DECL M casadi_stop_diff(const M& expr, const M& var, casadi_int order) {
|
3681
3695
|
return stop_diff(expr, var, order);
|
3682
3696
|
}
|
3697
|
+
DECL std::vector< M > casadi_difference(const std::vector< M >& a, const std::vector< M >& b) {
|
3698
|
+
return difference(a, b);
|
3699
|
+
}
|
3683
3700
|
DECL M casadi_no_hess(const M& expr) {
|
3684
3701
|
return no_hess(expr);
|
3685
3702
|
}
|
@@ -4420,6 +4437,7 @@ namespace casadi {
|
|
4420
4437
|
%include <casadi/core/casadi_meta.hpp>
|
4421
4438
|
%include <casadi/core/integration_tools.hpp>
|
4422
4439
|
%include <casadi/core/nlp_tools.hpp>
|
4440
|
+
%include <casadi/core/tools.hpp>
|
4423
4441
|
%include <casadi/core/nlp_builder.hpp>
|
4424
4442
|
%include <casadi/core/dae_builder.hpp>
|
4425
4443
|
%include <casadi/core/xml_file.hpp>
|
casadi/include/casadi/casadi_c.h
CHANGED
@@ -128,6 +128,8 @@ CASADI_EXPORT int casadi_c_work_id(int id, casadi_int *sz_arg, casadi_int* sz_re
|
|
128
128
|
CASADI_EXPORT int casadi_c_eval_id(int id, const double** arg, double** res,
|
129
129
|
casadi_int* iw, double* w, int mem);
|
130
130
|
|
131
|
+
CASADI_EXPORT void casadi_c_logger_write(const char* msg, int num);
|
132
|
+
CASADI_EXPORT void casadi_c_logger_flush(void);
|
131
133
|
|
132
134
|
#ifdef __cplusplus
|
133
135
|
}
|
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 6
|
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=
|
31
|
+
#define CASADI_VERSION_STRING "3.6.6"
|
32
|
+
#define CASADI_GIT_REVISION "279e0b80886dc5eb43a9d12a1056c550dc3b786e" // NOLINT(whitespace/line_length)
|
33
|
+
#define CASADI_GIT_DESCRIBE "3.6.3-275.279e0b808" // 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=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 * 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=
|
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)
|
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=6 -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_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
|
+
#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)
|
42
42
|
#define CASADI_SHARED_LIBRARY_PREFIX "lib" // NOLINT(whitespace/line_length)
|
43
43
|
#define CASADI_SHARED_LIBRARY_SUFFIX ".so" // NOLINT(whitespace/line_length)
|
@@ -135,6 +135,7 @@ namespace casadi {
|
|
135
135
|
/** \brief Function pointer types for the C API
|
136
136
|
|
137
137
|
\identifier{7j} */
|
138
|
+
typedef int (*config_t)(int, const char**);
|
138
139
|
typedef void (*signal_t)(void);
|
139
140
|
typedef casadi_int (*getint_t)(void);
|
140
141
|
typedef double (*default_t)(casadi_int i);
|
@@ -144,6 +144,12 @@ 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 Return all but the first element of a vector
|
148
|
+
|
149
|
+
\identifier{27y} */
|
150
|
+
template<typename T>
|
151
|
+
std::vector<T> vector_tail(const std::vector<T> &v);
|
152
|
+
|
147
153
|
/** \brief Reverse a list
|
148
154
|
|
149
155
|
\identifier{1la} */
|
@@ -526,6 +532,13 @@ namespace casadi {
|
|
526
532
|
return ret;
|
527
533
|
}
|
528
534
|
|
535
|
+
template<typename T>
|
536
|
+
std::vector<T> vector_tail(const std::vector<T> &v) {
|
537
|
+
std::vector<T> ret;
|
538
|
+
ret.insert(ret.begin(), v.begin()+1, v.end());
|
539
|
+
return ret;
|
540
|
+
}
|
541
|
+
|
529
542
|
template<typename T>
|
530
543
|
std::vector<T> reverse(const std::vector<T> &v) {
|
531
544
|
std::vector<T> ret(v.size());
|
@@ -103,6 +103,16 @@ namespace casadi {
|
|
103
103
|
\identifier{ry} */
|
104
104
|
casadi_int get_constant(const std::vector<casadi_int>& v, bool allow_adding=false);
|
105
105
|
|
106
|
+
/** \brief Get or add a char constant
|
107
|
+
|
108
|
+
\identifier{27l} */
|
109
|
+
casadi_int get_constant(const std::vector<char>& v, bool allow_adding=false);
|
110
|
+
|
111
|
+
/** \brief Get or add a vector<string> constant
|
112
|
+
|
113
|
+
\identifier{27z} */
|
114
|
+
casadi_int get_constant(const std::vector<std::string>& v, bool allow_adding=false);
|
115
|
+
|
106
116
|
/** \brief Represent an array constant; adding it when new
|
107
117
|
|
108
118
|
\identifier{rz} */
|
@@ -128,6 +138,16 @@ namespace casadi {
|
|
128
138
|
\identifier{s1} */
|
129
139
|
std::string constant(const std::vector<double>& v);
|
130
140
|
|
141
|
+
/** \brief Represent an array constant; adding it when new
|
142
|
+
|
143
|
+
\identifier{27m} */
|
144
|
+
std::string constant(const std::vector<char>& v);
|
145
|
+
|
146
|
+
/** \brief Represent an array constant; adding it when new
|
147
|
+
|
148
|
+
\identifier{280} */
|
149
|
+
std::string constant(const std::vector<std::string>& v);
|
150
|
+
|
131
151
|
/** \brief Allocate file scope double read-only memory
|
132
152
|
|
133
153
|
\identifier{s2} */
|
@@ -143,6 +163,10 @@ namespace casadi {
|
|
143
163
|
\identifier{s4} */
|
144
164
|
void define_rom_integer(const void* id, casadi_int size);
|
145
165
|
|
166
|
+
/** \brief Setup a callback
|
167
|
+
|
168
|
+
\identifier{27s} */
|
169
|
+
void setup_callback(const std::string& s, const Function& f);
|
146
170
|
/** \brief Access file scope integer read-only memory
|
147
171
|
|
148
172
|
\identifier{s5} */
|
@@ -153,7 +177,7 @@ namespace casadi {
|
|
153
177
|
\identifier{s6} */
|
154
178
|
std::string operator()(const Function& f, const std::string& arg,
|
155
179
|
const std::string& res, const std::string& iw,
|
156
|
-
const std::string& w);
|
180
|
+
const std::string& w, const std::string& failure_ret="1");
|
157
181
|
|
158
182
|
/** \brief Print a string to buffer
|
159
183
|
|
@@ -232,6 +256,8 @@ namespace casadi {
|
|
232
256
|
\identifier{sk} */
|
233
257
|
std::string initializer(const std::vector<double>& v);
|
234
258
|
std::string initializer(const std::vector<casadi_int>& v);
|
259
|
+
std::string initializer(const std::vector<char>& v);
|
260
|
+
std::string initializer(const std::vector<std::string>& v);
|
235
261
|
|
236
262
|
/** \brief Sanitize source files for codegen
|
237
263
|
|
@@ -603,7 +629,12 @@ namespace casadi {
|
|
603
629
|
AUX_MMIN,
|
604
630
|
AUX_MMAX,
|
605
631
|
AUX_LOGSUMEXP,
|
606
|
-
AUX_SPARSITY
|
632
|
+
AUX_SPARSITY,
|
633
|
+
AUX_BFGS,
|
634
|
+
AUX_ORACLE_CALLBACK,
|
635
|
+
AUX_OCP_BLOCK,
|
636
|
+
AUX_ORACLE,
|
637
|
+
AUX_SCALED_COPY
|
607
638
|
};
|
608
639
|
|
609
640
|
/** \brief Add a built-in auxiliary function
|
@@ -634,12 +665,24 @@ namespace casadi {
|
|
634
665
|
void print_vector(std::ostream &s, const std::string& name,
|
635
666
|
const std::vector<casadi_int>& v);
|
636
667
|
|
668
|
+
/** \brief Print char vector to a c file
|
669
|
+
|
670
|
+
\identifier{27n} */
|
671
|
+
void print_vector(std::ostream &s, const std::string& name,
|
672
|
+
const std::vector<char>& v);
|
673
|
+
|
637
674
|
/** \brief Print real vector to a c file
|
638
675
|
|
639
676
|
\identifier{ts} */
|
640
677
|
void print_vector(std::ostream &s, const std::string& name,
|
641
678
|
const std::vector<double>& v);
|
642
679
|
|
680
|
+
/** \brief Print string vector to a c file
|
681
|
+
|
682
|
+
\identifier{281} */
|
683
|
+
void print_vector(std::ostream &s, const std::string& name,
|
684
|
+
const std::vector<std::string>& v);
|
685
|
+
|
643
686
|
/** \brief Create a copy operation
|
644
687
|
|
645
688
|
\identifier{tt} */
|
@@ -810,6 +853,9 @@ namespace casadi {
|
|
810
853
|
bool with_sfunction;
|
811
854
|
std::vector<std::string> added_sfunctions;
|
812
855
|
|
856
|
+
// Unroll arguments?
|
857
|
+
bool unroll_args;
|
858
|
+
|
813
859
|
// Verbose codegen?
|
814
860
|
bool verbose;
|
815
861
|
|
@@ -874,6 +920,8 @@ namespace casadi {
|
|
874
920
|
std::multimap<Auxiliary, std::vector<std::string>> added_auxiliaries_;
|
875
921
|
std::multimap<size_t, size_t> added_double_constants_;
|
876
922
|
std::multimap<size_t, size_t> added_integer_constants_;
|
923
|
+
std::multimap<size_t, size_t> added_char_constants_;
|
924
|
+
std::multimap<size_t, size_t> added_string_constants_;
|
877
925
|
std::map<std::string, std::pair<std::string, std::string> > local_variables_;
|
878
926
|
std::map<std::string, std::string> local_default_;
|
879
927
|
std::map<const void *, casadi_int> file_scope_double_;
|
@@ -888,9 +936,14 @@ namespace casadi {
|
|
888
936
|
};
|
889
937
|
std::vector<FunctionMeta> added_functions_;
|
890
938
|
|
939
|
+
// Counters for creating unique identifiers
|
940
|
+
std::map<std::string, std::map<FunctionInternal*, casadi_int> > added_wrappers_;
|
941
|
+
|
891
942
|
// Constants
|
892
943
|
std::vector<std::vector<double> > double_constants_;
|
893
944
|
std::vector<std::vector<casadi_int> > integer_constants_;
|
945
|
+
std::vector<std::vector<char> > char_constants_;
|
946
|
+
std::vector<std::vector<std::string> > string_constants_;
|
894
947
|
|
895
948
|
// Does any function need thread-local memory?
|
896
949
|
bool needs_mem_;
|
@@ -898,6 +951,10 @@ namespace casadi {
|
|
898
951
|
// Hash a vector
|
899
952
|
static size_t hash(const std::vector<double>& v);
|
900
953
|
static size_t hash(const std::vector<casadi_int>& v);
|
954
|
+
static size_t hash(const std::vector<char>& v);
|
955
|
+
static size_t hash(const std::vector<std::string>& v);
|
956
|
+
|
957
|
+
std::string wrapper(const Function& base, const std::string& name);
|
901
958
|
|
902
959
|
// Compare two vectors
|
903
960
|
template<typename T>
|
@@ -170,7 +170,7 @@ class GenericExpression : public GenericExpressionCommon {
|
|
170
170
|
///@}
|
171
171
|
|
172
172
|
///@{
|
173
|
-
/** \brief Logical greater or equal to: (x,y) -> x
|
173
|
+
/** \brief Logical greater or equal to: (x,y) -> x >= y
|
174
174
|
|
175
175
|
\identifier{ou} */
|
176
176
|
static ExType ge(const ExType &x, const ExType &y) {
|
@@ -56,7 +56,11 @@ namespace casadi {
|
|
56
56
|
OT_FUNCTION,
|
57
57
|
OT_FUNCTIONVECTOR,
|
58
58
|
OT_VOIDPTR,
|
59
|
-
OT_UNKNOWN
|
59
|
+
OT_UNKNOWN,
|
60
|
+
OT_STRINGVECTORVECTOR,
|
61
|
+
OT_DICTVECTOR,
|
62
|
+
OT_VECTORVECTOR,
|
63
|
+
OT_VECTOR};
|
60
64
|
#endif // SWIG
|
61
65
|
|
62
66
|
/** \brief Generic data type, can hold different types such as bool, casadi_int, std::string etc.
|
@@ -93,10 +97,14 @@ namespace casadi {
|
|
93
97
|
GenericType(const std::vector<double>& dv);
|
94
98
|
GenericType(const std::vector< std::vector<double> >& dv);
|
95
99
|
GenericType(const std::vector<std::string>& sv);
|
100
|
+
GenericType(const std::vector<std::vector<std::string> >& sv);
|
96
101
|
GenericType(const char s[]);
|
97
102
|
GenericType(const Function& f);
|
98
103
|
GenericType(const std::vector<Function>& f);
|
99
104
|
GenericType(const Dict& dict);
|
105
|
+
GenericType(const std::vector<Dict>& dictv);
|
106
|
+
GenericType(const std::vector<std::vector<GenericType> >& gvv);
|
107
|
+
GenericType(const std::vector<GenericType>& gv);
|
100
108
|
GenericType(void* ptr);
|
101
109
|
|
102
110
|
/// Public class name
|
@@ -140,9 +148,13 @@ namespace casadi {
|
|
140
148
|
return to_double_vector_vector();
|
141
149
|
}
|
142
150
|
operator std::vector<std::string>() const { return to_string_vector();}
|
151
|
+
operator std::vector<std::vector<std::string> >() const { return to_string_vector_vector();}
|
143
152
|
operator const Function&() const { return as_function();}
|
144
153
|
operator const std::vector<Function>&() const { return as_function_vector();}
|
145
154
|
operator const Dict&() const { return as_dict();}
|
155
|
+
operator const std::vector<Dict>&() const { return as_dict_vector();}
|
156
|
+
operator const std::vector<std::vector<GenericType> >&() const { return as_vector_vector();}
|
157
|
+
operator const std::vector<GenericType>&() const { return as_vector();}
|
146
158
|
///@}
|
147
159
|
|
148
160
|
bool can_cast_to(TypeID other) const;
|
@@ -169,7 +181,11 @@ namespace casadi {
|
|
169
181
|
bool is_double_vector_vector() const;
|
170
182
|
bool is_bool_vector() const;
|
171
183
|
bool is_string_vector() const;
|
184
|
+
bool is_string_vector_vector() const;
|
172
185
|
bool is_dict() const;
|
186
|
+
bool is_dict_vector() const;
|
187
|
+
bool is_vector_vector() const;
|
188
|
+
bool is_vector() const;
|
173
189
|
bool is_function() const;
|
174
190
|
bool is_function_vector() const;
|
175
191
|
bool is_void_pointer() const;
|
@@ -189,7 +205,11 @@ namespace casadi {
|
|
189
205
|
const std::vector<double>& as_double_vector() const;
|
190
206
|
const std::vector< std::vector<double> >& as_double_vector_vector() const;
|
191
207
|
const std::vector<std::string>& as_string_vector() const;
|
208
|
+
const std::vector<std::vector<std::string> >& as_string_vector_vector() const;
|
192
209
|
const Dict& as_dict() const;
|
210
|
+
const std::vector<Dict>& as_dict_vector() const;
|
211
|
+
const std::vector<std::vector< GenericType> >& as_vector_vector() const;
|
212
|
+
const std::vector<GenericType>& as_vector() const;
|
193
213
|
const Function& as_function() const;
|
194
214
|
const std::vector<Function>& as_function_vector() const;
|
195
215
|
void* const & as_void_pointer() const;
|
@@ -207,7 +227,11 @@ namespace casadi {
|
|
207
227
|
std::vector<double> to_double_vector() const;
|
208
228
|
std::vector< std::vector<double> > to_double_vector_vector() const;
|
209
229
|
std::vector<std::string> to_string_vector() const;
|
230
|
+
std::vector<std::vector<std::string> > to_string_vector_vector() const;
|
210
231
|
Dict to_dict() const;
|
232
|
+
std::vector<Dict> to_dict_vector() const;
|
233
|
+
std::vector<GenericType> to_vector() const;
|
234
|
+
std::vector< std::vector< GenericType> > to_vector_vector() const;
|
211
235
|
Function to_function() const;
|
212
236
|
std::vector<Function> to_function_vector() const;
|
213
237
|
void* to_void_pointer() const;
|
@@ -1050,15 +1050,30 @@ namespace casadi {
|
|
1050
1050
|
|
1051
1051
|
/** \brief Check if symbolic (Dense)
|
1052
1052
|
|
1053
|
+
Check if an expression is a pure symbol.
|
1054
|
+
Pure means that no operations should happen on the symbol
|
1055
|
+
(not even vec, transpose, index, concatenation, ...)
|
1056
|
+
By consequence, a slice of a vector-shaped MX symbol is not a symbol.
|
1057
|
+
However, the SX type is really a container format with scalar entries.
|
1058
|
+
Therefore, a slice of a vector-shaped SX symbol is still a symbol.
|
1059
|
+
|
1053
1060
|
Sparse matrices invariable return false
|
1054
1061
|
|
1062
|
+
\seealso is_valid_input
|
1063
|
+
|
1055
1064
|
\identifier{19r} */
|
1056
1065
|
bool is_symbolic() const;
|
1057
1066
|
|
1058
1067
|
/** \brief Check if matrix can be used to define function inputs.
|
1059
1068
|
|
1069
|
+
|
1070
|
+
is_valid_input is more forgiving than is_symbolic.
|
1071
|
+
Some compositions are allowed: vec, vertcat.
|
1072
|
+
|
1060
1073
|
Sparse matrices can return true if all non-zero elements are symbolic
|
1061
1074
|
|
1075
|
+
\seealso is_symbolic
|
1076
|
+
|
1062
1077
|
\identifier{19s} */
|
1063
1078
|
bool is_valid_input() const;
|
1064
1079
|
|