casadi 3.7.2__cp314-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.
Files changed (1726) hide show
  1. casadi/__init__.py +92 -0
  2. casadi/_casadi.so +0 -0
  3. casadi/casadi-cli +0 -0
  4. casadi/casadi.py +54468 -0
  5. casadi/cbc +0 -0
  6. casadi/clp +0 -0
  7. casadi/cmake/alpaqa/alpaqaConfig.cmake +24 -0
  8. casadi/cmake/alpaqa/alpaqaConfigVersion.cmake +65 -0
  9. casadi/cmake/alpaqa/alpaqaTargets-release.cmake +29 -0
  10. casadi/cmake/alpaqa/alpaqaTargets.cmake +131 -0
  11. casadi/cmake/casadi-config-version.cmake +11 -0
  12. casadi/cmake/casadi-config.cmake +8 -0
  13. casadi/cmake/casadi-targets-release.cmake +19 -0
  14. casadi/cmake/casadi-targets.cmake +107 -0
  15. casadi/cmake/ghc_filesystem/ghc_filesystem-config-version.cmake +85 -0
  16. casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
  17. casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +107 -0
  18. casadi/cmake/highs/highs-config.cmake +17 -0
  19. casadi/cmake/highs/highs-targets-release.cmake +28 -0
  20. casadi/cmake/highs/highs-targets.cmake +117 -0
  21. casadi/cmake/libzip/libzip-config-version.cmake +43 -0
  22. casadi/cmake/libzip/libzip-config.cmake +69 -0
  23. casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
  24. casadi/cmake/libzip/libzip-targets.cmake +107 -0
  25. casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
  26. casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
  27. casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
  28. casadi/cmake/osqp/osqp-config.cmake +1 -0
  29. casadi/cmake/osqp/osqp-targets-noconfig.cmake +29 -0
  30. casadi/cmake/osqp/osqp-targets.cmake +113 -0
  31. casadi/cmake/proxsuite/find-external/Simde/FindSimde.cmake +39 -0
  32. casadi/cmake/proxsuite/proxsuiteConfig.cmake +177 -0
  33. casadi/cmake/proxsuite/proxsuiteConfigVersion.cmake +65 -0
  34. casadi/cmake/proxsuite/proxsuiteTargets.cmake +115 -0
  35. casadi/cmake/qdldl/qdldl-config.cmake +1 -0
  36. casadi/cmake/qdldl/qdldl-targets-noconfig.cmake +29 -0
  37. casadi/cmake/qdldl/qdldl-targets.cmake +113 -0
  38. casadi/cmake/sleqp/sleqp-config-version.cmake +65 -0
  39. casadi/cmake/sleqp/sleqp-config.cmake +1 -0
  40. casadi/cmake/sleqp/sleqp-targets-release.cmake +20 -0
  41. casadi/cmake/sleqp/sleqp-targets.cmake +106 -0
  42. casadi/cmake/trlib/trlib-config-release.cmake +19 -0
  43. casadi/cmake/trlib/trlib-config-version.cmake +83 -0
  44. casadi/cmake/trlib/trlib-config.cmake +107 -0
  45. casadi/highs +0 -0
  46. casadi/include/casadi/casadi.hpp +31 -0
  47. casadi/include/casadi/casadi.i +4920 -0
  48. casadi/include/casadi/casadi_c.h +138 -0
  49. casadi/include/casadi/casadi_numpy.hpp +97 -0
  50. casadi/include/casadi/config.h +46 -0
  51. casadi/include/casadi/core/archiver.hpp +58 -0
  52. casadi/include/casadi/core/blazing_spline.hpp +47 -0
  53. casadi/include/casadi/core/calculus.hpp +1805 -0
  54. casadi/include/casadi/core/callback.hpp +235 -0
  55. casadi/include/casadi/core/casadi_common.hpp +355 -0
  56. casadi/include/casadi/core/casadi_enum.hpp +90 -0
  57. casadi/include/casadi/core/casadi_export.h +43 -0
  58. casadi/include/casadi/core/casadi_interrupt.hpp +83 -0
  59. casadi/include/casadi/core/casadi_limits.hpp +104 -0
  60. casadi/include/casadi/core/casadi_logger.hpp +134 -0
  61. casadi/include/casadi/core/casadi_meta.hpp +122 -0
  62. casadi/include/casadi/core/casadi_misc.hpp +1022 -0
  63. casadi/include/casadi/core/casadi_types.hpp +66 -0
  64. casadi/include/casadi/core/code_generator.hpp +1071 -0
  65. casadi/include/casadi/core/conic.hpp +213 -0
  66. casadi/include/casadi/core/core.hpp +75 -0
  67. casadi/include/casadi/core/dae_builder.hpp +885 -0
  68. casadi/include/casadi/core/dm.hpp +90 -0
  69. casadi/include/casadi/core/dm_fwd.hpp +39 -0
  70. casadi/include/casadi/core/dple.hpp +138 -0
  71. casadi/include/casadi/core/exception.hpp +167 -0
  72. casadi/include/casadi/core/expm.hpp +84 -0
  73. casadi/include/casadi/core/external.hpp +70 -0
  74. casadi/include/casadi/core/filesystem.hpp +58 -0
  75. casadi/include/casadi/core/fmu.hpp +270 -0
  76. casadi/include/casadi/core/function.hpp +1389 -0
  77. casadi/include/casadi/core/generic_expression.hpp +760 -0
  78. casadi/include/casadi/core/generic_matrix.hpp +1805 -0
  79. casadi/include/casadi/core/generic_shared.hpp +395 -0
  80. casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
  81. casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
  82. casadi/include/casadi/core/generic_type.hpp +314 -0
  83. casadi/include/casadi/core/global_options.hpp +107 -0
  84. casadi/include/casadi/core/im.hpp +52 -0
  85. casadi/include/casadi/core/im_fwd.hpp +35 -0
  86. casadi/include/casadi/core/importer.hpp +221 -0
  87. casadi/include/casadi/core/integration_tools.hpp +292 -0
  88. casadi/include/casadi/core/integrator.hpp +290 -0
  89. casadi/include/casadi/core/interpolant.hpp +163 -0
  90. casadi/include/casadi/core/linsol.hpp +171 -0
  91. casadi/include/casadi/core/matrix_decl.hpp +1423 -0
  92. casadi/include/casadi/core/matrix_fwd.hpp +37 -0
  93. casadi/include/casadi/core/mx.hpp +1014 -0
  94. casadi/include/casadi/core/nlp_builder.hpp +163 -0
  95. casadi/include/casadi/core/nlp_tools.hpp +124 -0
  96. casadi/include/casadi/core/nlpsol.hpp +234 -0
  97. casadi/include/casadi/core/nonzeros.hpp +111 -0
  98. casadi/include/casadi/core/options.hpp +122 -0
  99. casadi/include/casadi/core/optistack.hpp +704 -0
  100. casadi/include/casadi/core/polynomial.hpp +126 -0
  101. casadi/include/casadi/core/printable.hpp +81 -0
  102. casadi/include/casadi/core/resource.hpp +107 -0
  103. casadi/include/casadi/core/rootfinder.hpp +176 -0
  104. casadi/include/casadi/core/runtime/casadi_axpy.hpp +8 -0
  105. casadi/include/casadi/core/runtime/casadi_bfgs.hpp +49 -0
  106. casadi/include/casadi/core/runtime/casadi_bilin.hpp +42 -0
  107. casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
  108. casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
  109. casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
  110. casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
  111. casadi/include/casadi/core/runtime/casadi_bound_consistency.hpp +51 -0
  112. casadi/include/casadi/core/runtime/casadi_cache.hpp +59 -0
  113. casadi/include/casadi/core/runtime/casadi_clear.hpp +27 -0
  114. casadi/include/casadi/core/runtime/casadi_clip_max.hpp +33 -0
  115. casadi/include/casadi/core/runtime/casadi_clip_min.hpp +33 -0
  116. casadi/include/casadi/core/runtime/casadi_convexify.hpp +182 -0
  117. casadi/include/casadi/core/runtime/casadi_copy.hpp +31 -0
  118. casadi/include/casadi/core/runtime/casadi_cvx.hpp +463 -0
  119. casadi/include/casadi/core/runtime/casadi_de_boor.hpp +36 -0
  120. casadi/include/casadi/core/runtime/casadi_dense_lsqr.hpp +247 -0
  121. casadi/include/casadi/core/runtime/casadi_densify.hpp +48 -0
  122. casadi/include/casadi/core/runtime/casadi_dot.hpp +27 -0
  123. casadi/include/casadi/core/runtime/casadi_feasiblesqpmethod.hpp +208 -0
  124. casadi/include/casadi/core/runtime/casadi_file_slurp.hpp +32 -0
  125. casadi/include/casadi/core/runtime/casadi_fill.hpp +27 -0
  126. casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +345 -0
  127. casadi/include/casadi/core/runtime/casadi_flip.hpp +33 -0
  128. casadi/include/casadi/core/runtime/casadi_getu.hpp +35 -0
  129. casadi/include/casadi/core/runtime/casadi_iamax.hpp +36 -0
  130. casadi/include/casadi/core/runtime/casadi_interpn.hpp +39 -0
  131. casadi/include/casadi/core/runtime/casadi_interpn_grad.hpp +72 -0
  132. casadi/include/casadi/core/runtime/casadi_interpn_interpolate.hpp +43 -0
  133. casadi/include/casadi/core/runtime/casadi_interpn_weights.hpp +39 -0
  134. casadi/include/casadi/core/runtime/casadi_ipqp.hpp +868 -0
  135. casadi/include/casadi/core/runtime/casadi_jac.hpp +186 -0
  136. casadi/include/casadi/core/runtime/casadi_kkt.hpp +67 -0
  137. casadi/include/casadi/core/runtime/casadi_kron.hpp +50 -0
  138. casadi/include/casadi/core/runtime/casadi_ldl.hpp +109 -0
  139. casadi/include/casadi/core/runtime/casadi_logsumexp.hpp +41 -0
  140. casadi/include/casadi/core/runtime/casadi_low.hpp +65 -0
  141. casadi/include/casadi/core/runtime/casadi_lsqr.hpp +247 -0
  142. casadi/include/casadi/core/runtime/casadi_masked_norm_inf.hpp +33 -0
  143. casadi/include/casadi/core/runtime/casadi_max_viol.hpp +37 -0
  144. casadi/include/casadi/core/runtime/casadi_mmax.hpp +28 -0
  145. casadi/include/casadi/core/runtime/casadi_mmin.hpp +29 -0
  146. casadi/include/casadi/core/runtime/casadi_mtimes.hpp +75 -0
  147. casadi/include/casadi/core/runtime/casadi_mv.hpp +46 -0
  148. casadi/include/casadi/core/runtime/casadi_mv_dense.hpp +39 -0
  149. casadi/include/casadi/core/runtime/casadi_nd_boor_dual_eval.hpp +127 -0
  150. casadi/include/casadi/core/runtime/casadi_nd_boor_eval.hpp +120 -0
  151. casadi/include/casadi/core/runtime/casadi_newton.hpp +66 -0
  152. casadi/include/casadi/core/runtime/casadi_nlp.hpp +295 -0
  153. casadi/include/casadi/core/runtime/casadi_norm_1.hpp +29 -0
  154. casadi/include/casadi/core/runtime/casadi_norm_2.hpp +24 -0
  155. casadi/include/casadi/core/runtime/casadi_norm_inf.hpp +28 -0
  156. casadi/include/casadi/core/runtime/casadi_norm_inf_mul.hpp +105 -0
  157. casadi/include/casadi/core/runtime/casadi_ocp_block.hpp +55 -0
  158. casadi/include/casadi/core/runtime/casadi_oracle.hpp +44 -0
  159. casadi/include/casadi/core/runtime/casadi_oracle_callback.hpp +39 -0
  160. casadi/include/casadi/core/runtime/casadi_polyval.hpp +29 -0
  161. casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
  162. casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
  163. casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
  164. casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
  165. casadi/include/casadi/core/runtime/casadi_project.hpp +39 -0
  166. casadi/include/casadi/core/runtime/casadi_qp.hpp +86 -0
  167. casadi/include/casadi/core/runtime/casadi_qr.hpp +272 -0
  168. casadi/include/casadi/core/runtime/casadi_qrqp.hpp +1239 -0
  169. casadi/include/casadi/core/runtime/casadi_rank1.hpp +40 -0
  170. casadi/include/casadi/core/runtime/casadi_regularize.hpp +73 -0
  171. casadi/include/casadi/core/runtime/casadi_runtime.hpp +318 -0
  172. casadi/include/casadi/core/runtime/casadi_scal.hpp +26 -0
  173. casadi/include/casadi/core/runtime/casadi_scaled_copy.hpp +31 -0
  174. casadi/include/casadi/core/runtime/casadi_sparsify.hpp +42 -0
  175. casadi/include/casadi/core/runtime/casadi_sparsity.hpp +24 -0
  176. casadi/include/casadi/core/runtime/casadi_sqpmethod.hpp +178 -0
  177. casadi/include/casadi/core/runtime/casadi_sum.hpp +31 -0
  178. casadi/include/casadi/core/runtime/casadi_sum_viol.hpp +37 -0
  179. casadi/include/casadi/core/runtime/casadi_swap.hpp +32 -0
  180. casadi/include/casadi/core/runtime/casadi_trans.hpp +35 -0
  181. casadi/include/casadi/core/runtime/casadi_tri_project.hpp +37 -0
  182. casadi/include/casadi/core/runtime/casadi_trilsolve.hpp +81 -0
  183. casadi/include/casadi/core/runtime/casadi_triusolve.hpp +81 -0
  184. casadi/include/casadi/core/runtime/casadi_vector_fmax.hpp +28 -0
  185. casadi/include/casadi/core/runtime/casadi_vector_fmin.hpp +28 -0
  186. casadi/include/casadi/core/runtime/casadi_vfmax.hpp +28 -0
  187. casadi/include/casadi/core/runtime/casadi_vfmin.hpp +28 -0
  188. casadi/include/casadi/core/runtime/shared.hpp +261 -0
  189. casadi/include/casadi/core/serializer.hpp +264 -0
  190. casadi/include/casadi/core/serializing_stream.hpp +336 -0
  191. casadi/include/casadi/core/shared_object.hpp +182 -0
  192. casadi/include/casadi/core/slice.hpp +149 -0
  193. casadi/include/casadi/core/sparsity.hpp +1507 -0
  194. casadi/include/casadi/core/sparsity_interface.hpp +763 -0
  195. casadi/include/casadi/core/submatrix.hpp +156 -0
  196. casadi/include/casadi/core/sx.hpp +244 -0
  197. casadi/include/casadi/core/sx_elem.hpp +376 -0
  198. casadi/include/casadi/core/sx_fwd.hpp +45 -0
  199. casadi/include/casadi/core/timing.hpp +98 -0
  200. casadi/include/casadi/core/tools.hpp +67 -0
  201. casadi/include/casadi/core/xml_file.hpp +93 -0
  202. casadi/include/casadi/core/xml_node.hpp +212 -0
  203. casadi/include/casadi/doc.i +62244 -0
  204. casadi/include/casadi/doc_merged.i +38499 -0
  205. casadi/include/casadi/mem.h +311 -0
  206. casadi/include/casadi/valgrind-casadi.supp +649 -0
  207. casadi/include/casadi/valgrind-python.supp +3886 -0
  208. casadi/include/coin-or/IpAlgBuilder.hpp +417 -0
  209. casadi/include/coin-or/IpAlgStrategy.hpp +201 -0
  210. casadi/include/coin-or/IpAlgTypes.hpp +64 -0
  211. casadi/include/coin-or/IpAugSystemSolver.hpp +212 -0
  212. casadi/include/coin-or/IpBlas.hpp +426 -0
  213. casadi/include/coin-or/IpCachedResults.hpp +897 -0
  214. casadi/include/coin-or/IpCompoundMatrix.hpp +423 -0
  215. casadi/include/coin-or/IpCompoundSymMatrix.hpp +348 -0
  216. casadi/include/coin-or/IpCompoundVector.hpp +395 -0
  217. casadi/include/coin-or/IpConvCheck.hpp +97 -0
  218. casadi/include/coin-or/IpDebug.hpp +167 -0
  219. casadi/include/coin-or/IpDenseVector.hpp +626 -0
  220. casadi/include/coin-or/IpDiagMatrix.hpp +158 -0
  221. casadi/include/coin-or/IpEqMultCalculator.hpp +76 -0
  222. casadi/include/coin-or/IpException.hpp +156 -0
  223. casadi/include/coin-or/IpExpansionMatrix.hpp +245 -0
  224. casadi/include/coin-or/IpGenTMatrix.hpp +290 -0
  225. casadi/include/coin-or/IpHessianUpdater.hpp +73 -0
  226. casadi/include/coin-or/IpIdentityMatrix.hpp +167 -0
  227. casadi/include/coin-or/IpIpoptAlg.hpp +257 -0
  228. casadi/include/coin-or/IpIpoptApplication.hpp +367 -0
  229. casadi/include/coin-or/IpIpoptCalculatedQuantities.hpp +1009 -0
  230. casadi/include/coin-or/IpIpoptData.hpp +966 -0
  231. casadi/include/coin-or/IpIpoptNLP.hpp +328 -0
  232. casadi/include/coin-or/IpIterateInitializer.hpp +68 -0
  233. casadi/include/coin-or/IpIteratesVector.hpp +840 -0
  234. casadi/include/coin-or/IpIterationOutput.hpp +78 -0
  235. casadi/include/coin-or/IpJournalist.hpp +573 -0
  236. casadi/include/coin-or/IpLapack.hpp +227 -0
  237. casadi/include/coin-or/IpLibraryLoader.hpp +76 -0
  238. casadi/include/coin-or/IpLineSearch.hpp +106 -0
  239. casadi/include/coin-or/IpLinearSolvers.h +46 -0
  240. casadi/include/coin-or/IpMatrix.hpp +434 -0
  241. casadi/include/coin-or/IpMuUpdate.hpp +77 -0
  242. casadi/include/coin-or/IpNLP.hpp +306 -0
  243. casadi/include/coin-or/IpNLPScaling.hpp +582 -0
  244. casadi/include/coin-or/IpObserver.hpp +422 -0
  245. casadi/include/coin-or/IpOptionsList.hpp +412 -0
  246. casadi/include/coin-or/IpOrigIpoptNLP.hpp +603 -0
  247. casadi/include/coin-or/IpPDSystemSolver.hpp +137 -0
  248. casadi/include/coin-or/IpReferenced.hpp +262 -0
  249. casadi/include/coin-or/IpRegOptions.hpp +1152 -0
  250. casadi/include/coin-or/IpReturnCodes.h +23 -0
  251. casadi/include/coin-or/IpReturnCodes.hpp +18 -0
  252. casadi/include/coin-or/IpReturnCodes.inc +71 -0
  253. casadi/include/coin-or/IpReturnCodes_inc.h +45 -0
  254. casadi/include/coin-or/IpScaledMatrix.hpp +291 -0
  255. casadi/include/coin-or/IpSearchDirCalculator.hpp +72 -0
  256. casadi/include/coin-or/IpSmartPtr.hpp +865 -0
  257. casadi/include/coin-or/IpSolveStatistics.hpp +210 -0
  258. casadi/include/coin-or/IpSparseSymLinearSolverInterface.hpp +260 -0
  259. casadi/include/coin-or/IpStdAugSystemSolver.cpp +555 -0
  260. casadi/include/coin-or/IpStdCInterface.h +428 -0
  261. casadi/include/coin-or/IpSumSymMatrix.hpp +186 -0
  262. casadi/include/coin-or/IpSymLinearSolver.hpp +141 -0
  263. casadi/include/coin-or/IpSymMatrix.hpp +167 -0
  264. casadi/include/coin-or/IpSymScaledMatrix.hpp +255 -0
  265. casadi/include/coin-or/IpSymTMatrix.hpp +275 -0
  266. casadi/include/coin-or/IpTNLP.hpp +820 -0
  267. casadi/include/coin-or/IpTNLPAdapter.hpp +648 -0
  268. casadi/include/coin-or/IpTNLPReducer.hpp +274 -0
  269. casadi/include/coin-or/IpTaggedObject.hpp +128 -0
  270. casadi/include/coin-or/IpTimedTask.hpp +218 -0
  271. casadi/include/coin-or/IpTimingStatistics.hpp +323 -0
  272. casadi/include/coin-or/IpTripletHelper.hpp +308 -0
  273. casadi/include/coin-or/IpTypes.h +81 -0
  274. casadi/include/coin-or/IpTypes.hpp +30 -0
  275. casadi/include/coin-or/IpUtils.hpp +166 -0
  276. casadi/include/coin-or/IpVector.hpp +892 -0
  277. casadi/include/coin-or/IpZeroSymMatrix.hpp +155 -0
  278. casadi/include/coin-or/IpoptConfig.h +45 -0
  279. casadi/include/coin-or/SensAlgorithm.hpp +114 -0
  280. casadi/include/coin-or/SensApplication.hpp +188 -0
  281. casadi/include/coin-or/SensBacksolver.hpp +36 -0
  282. casadi/include/coin-or/SensMeasurement.hpp +56 -0
  283. casadi/include/coin-or/SensPCalculator.hpp +137 -0
  284. casadi/include/coin-or/SensRegOp.hpp +21 -0
  285. casadi/include/coin-or/SensSchurData.hpp +182 -0
  286. casadi/include/coin-or/SensSchurDriver.hpp +118 -0
  287. casadi/include/coin-or/SensSimpleBacksolver.hpp +49 -0
  288. casadi/include/coin-or/SensStepCalc.hpp +85 -0
  289. casadi/include/coin-or/SensUtils.hpp +63 -0
  290. casadi/include/coin-or/metis/defs.h +161 -0
  291. casadi/include/coin-or/metis/macros.h +143 -0
  292. casadi/include/coin-or/metis/metis.h +37 -0
  293. casadi/include/coin-or/metis/proto.h +505 -0
  294. casadi/include/coin-or/metis/rename.h +418 -0
  295. casadi/include/coin-or/metis/struct.h +251 -0
  296. casadi/include/coin-or/mumps/dmumps_c.h +142 -0
  297. casadi/include/coin-or/mumps/mumps_c_types.h +72 -0
  298. casadi/include/coin-or/mumps/mumps_compat.h +27 -0
  299. casadi/include/coin-or/mumps/mumps_int_def.h +11 -0
  300. casadi/include/coin-or/mumps/mumps_mpi.h +67 -0
  301. casadi/include/daqp/api.h +46 -0
  302. casadi/include/daqp/auxiliary.h +29 -0
  303. casadi/include/daqp/bnb.h +32 -0
  304. casadi/include/daqp/codegen.h +18 -0
  305. casadi/include/daqp/constants.h +92 -0
  306. casadi/include/daqp/daqp.h +22 -0
  307. casadi/include/daqp/daqp_prox.h +18 -0
  308. casadi/include/daqp/factorization.h +18 -0
  309. casadi/include/daqp/types.h +161 -0
  310. casadi/include/daqp/utils.h +44 -0
  311. casadi/include/eigen3/Eigen/Cholesky +45 -0
  312. casadi/include/eigen3/Eigen/CholmodSupport +48 -0
  313. casadi/include/eigen3/Eigen/Core +384 -0
  314. casadi/include/eigen3/Eigen/Dense +7 -0
  315. casadi/include/eigen3/Eigen/Eigen +2 -0
  316. casadi/include/eigen3/Eigen/Eigenvalues +60 -0
  317. casadi/include/eigen3/Eigen/Geometry +59 -0
  318. casadi/include/eigen3/Eigen/Householder +29 -0
  319. casadi/include/eigen3/Eigen/IterativeLinearSolvers +48 -0
  320. casadi/include/eigen3/Eigen/Jacobi +32 -0
  321. casadi/include/eigen3/Eigen/KLUSupport +41 -0
  322. casadi/include/eigen3/Eigen/LU +47 -0
  323. casadi/include/eigen3/Eigen/MetisSupport +35 -0
  324. casadi/include/eigen3/Eigen/OrderingMethods +70 -0
  325. casadi/include/eigen3/Eigen/PaStiXSupport +49 -0
  326. casadi/include/eigen3/Eigen/PardisoSupport +35 -0
  327. casadi/include/eigen3/Eigen/QR +50 -0
  328. casadi/include/eigen3/Eigen/QtAlignedMalloc +39 -0
  329. casadi/include/eigen3/Eigen/SPQRSupport +34 -0
  330. casadi/include/eigen3/Eigen/SVD +50 -0
  331. casadi/include/eigen3/Eigen/Sparse +34 -0
  332. casadi/include/eigen3/Eigen/SparseCholesky +37 -0
  333. casadi/include/eigen3/Eigen/SparseCore +69 -0
  334. casadi/include/eigen3/Eigen/SparseLU +50 -0
  335. casadi/include/eigen3/Eigen/SparseQR +36 -0
  336. casadi/include/eigen3/Eigen/StdDeque +27 -0
  337. casadi/include/eigen3/Eigen/StdList +26 -0
  338. casadi/include/eigen3/Eigen/StdVector +27 -0
  339. casadi/include/eigen3/Eigen/SuperLUSupport +64 -0
  340. casadi/include/eigen3/Eigen/UmfPackSupport +40 -0
  341. casadi/include/eigen3/Eigen/src/Cholesky/LDLT.h +688 -0
  342. casadi/include/eigen3/Eigen/src/Cholesky/LLT.h +558 -0
  343. casadi/include/eigen3/Eigen/src/Cholesky/LLT_LAPACKE.h +99 -0
  344. casadi/include/eigen3/Eigen/src/CholmodSupport/CholmodSupport.h +682 -0
  345. casadi/include/eigen3/Eigen/src/Core/ArithmeticSequence.h +413 -0
  346. casadi/include/eigen3/Eigen/src/Core/Array.h +417 -0
  347. casadi/include/eigen3/Eigen/src/Core/ArrayBase.h +226 -0
  348. casadi/include/eigen3/Eigen/src/Core/ArrayWrapper.h +209 -0
  349. casadi/include/eigen3/Eigen/src/Core/Assign.h +90 -0
  350. casadi/include/eigen3/Eigen/src/Core/AssignEvaluator.h +1010 -0
  351. casadi/include/eigen3/Eigen/src/Core/Assign_MKL.h +178 -0
  352. casadi/include/eigen3/Eigen/src/Core/BandMatrix.h +353 -0
  353. casadi/include/eigen3/Eigen/src/Core/Block.h +448 -0
  354. casadi/include/eigen3/Eigen/src/Core/BooleanRedux.h +162 -0
  355. casadi/include/eigen3/Eigen/src/Core/CommaInitializer.h +164 -0
  356. casadi/include/eigen3/Eigen/src/Core/ConditionEstimator.h +175 -0
  357. casadi/include/eigen3/Eigen/src/Core/CoreEvaluators.h +1741 -0
  358. casadi/include/eigen3/Eigen/src/Core/CoreIterators.h +132 -0
  359. casadi/include/eigen3/Eigen/src/Core/CwiseBinaryOp.h +183 -0
  360. casadi/include/eigen3/Eigen/src/Core/CwiseNullaryOp.h +1001 -0
  361. casadi/include/eigen3/Eigen/src/Core/CwiseTernaryOp.h +197 -0
  362. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryOp.h +103 -0
  363. casadi/include/eigen3/Eigen/src/Core/CwiseUnaryView.h +132 -0
  364. casadi/include/eigen3/Eigen/src/Core/DenseBase.h +701 -0
  365. casadi/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h +685 -0
  366. casadi/include/eigen3/Eigen/src/Core/DenseStorage.h +652 -0
  367. casadi/include/eigen3/Eigen/src/Core/Diagonal.h +258 -0
  368. casadi/include/eigen3/Eigen/src/Core/DiagonalMatrix.h +391 -0
  369. casadi/include/eigen3/Eigen/src/Core/DiagonalProduct.h +28 -0
  370. casadi/include/eigen3/Eigen/src/Core/Dot.h +318 -0
  371. casadi/include/eigen3/Eigen/src/Core/EigenBase.h +160 -0
  372. casadi/include/eigen3/Eigen/src/Core/ForceAlignedAccess.h +150 -0
  373. casadi/include/eigen3/Eigen/src/Core/Fuzzy.h +155 -0
  374. casadi/include/eigen3/Eigen/src/Core/GeneralProduct.h +465 -0
  375. casadi/include/eigen3/Eigen/src/Core/GenericPacketMath.h +1040 -0
  376. casadi/include/eigen3/Eigen/src/Core/GlobalFunctions.h +194 -0
  377. casadi/include/eigen3/Eigen/src/Core/IO.h +258 -0
  378. casadi/include/eigen3/Eigen/src/Core/IndexedView.h +237 -0
  379. casadi/include/eigen3/Eigen/src/Core/Inverse.h +117 -0
  380. casadi/include/eigen3/Eigen/src/Core/Map.h +171 -0
  381. casadi/include/eigen3/Eigen/src/Core/MapBase.h +310 -0
  382. casadi/include/eigen3/Eigen/src/Core/MathFunctions.h +2057 -0
  383. casadi/include/eigen3/Eigen/src/Core/MathFunctionsImpl.h +200 -0
  384. casadi/include/eigen3/Eigen/src/Core/Matrix.h +565 -0
  385. casadi/include/eigen3/Eigen/src/Core/MatrixBase.h +547 -0
  386. casadi/include/eigen3/Eigen/src/Core/NestByValue.h +85 -0
  387. casadi/include/eigen3/Eigen/src/Core/NoAlias.h +109 -0
  388. casadi/include/eigen3/Eigen/src/Core/NumTraits.h +335 -0
  389. casadi/include/eigen3/Eigen/src/Core/PartialReduxEvaluator.h +232 -0
  390. casadi/include/eigen3/Eigen/src/Core/PermutationMatrix.h +605 -0
  391. casadi/include/eigen3/Eigen/src/Core/PlainObjectBase.h +1128 -0
  392. casadi/include/eigen3/Eigen/src/Core/Product.h +191 -0
  393. casadi/include/eigen3/Eigen/src/Core/ProductEvaluators.h +1179 -0
  394. casadi/include/eigen3/Eigen/src/Core/Random.h +218 -0
  395. casadi/include/eigen3/Eigen/src/Core/Redux.h +515 -0
  396. casadi/include/eigen3/Eigen/src/Core/Ref.h +381 -0
  397. casadi/include/eigen3/Eigen/src/Core/Replicate.h +142 -0
  398. casadi/include/eigen3/Eigen/src/Core/Reshaped.h +454 -0
  399. casadi/include/eigen3/Eigen/src/Core/ReturnByValue.h +119 -0
  400. casadi/include/eigen3/Eigen/src/Core/Reverse.h +217 -0
  401. casadi/include/eigen3/Eigen/src/Core/Select.h +164 -0
  402. casadi/include/eigen3/Eigen/src/Core/SelfAdjointView.h +365 -0
  403. casadi/include/eigen3/Eigen/src/Core/SelfCwiseBinaryOp.h +47 -0
  404. casadi/include/eigen3/Eigen/src/Core/Solve.h +188 -0
  405. casadi/include/eigen3/Eigen/src/Core/SolveTriangular.h +235 -0
  406. casadi/include/eigen3/Eigen/src/Core/SolverBase.h +168 -0
  407. casadi/include/eigen3/Eigen/src/Core/StableNorm.h +251 -0
  408. casadi/include/eigen3/Eigen/src/Core/StlIterators.h +463 -0
  409. casadi/include/eigen3/Eigen/src/Core/Stride.h +116 -0
  410. casadi/include/eigen3/Eigen/src/Core/Swap.h +68 -0
  411. casadi/include/eigen3/Eigen/src/Core/Transpose.h +464 -0
  412. casadi/include/eigen3/Eigen/src/Core/Transpositions.h +386 -0
  413. casadi/include/eigen3/Eigen/src/Core/TriangularMatrix.h +1001 -0
  414. casadi/include/eigen3/Eigen/src/Core/VectorBlock.h +96 -0
  415. casadi/include/eigen3/Eigen/src/Core/VectorwiseOp.h +784 -0
  416. casadi/include/eigen3/Eigen/src/Core/Visitor.h +381 -0
  417. casadi/include/eigen3/Eigen/src/Core/arch/AVX/Complex.h +372 -0
  418. casadi/include/eigen3/Eigen/src/Core/arch/AVX/MathFunctions.h +228 -0
  419. casadi/include/eigen3/Eigen/src/Core/arch/AVX/PacketMath.h +1574 -0
  420. casadi/include/eigen3/Eigen/src/Core/arch/AVX/TypeCasting.h +115 -0
  421. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/Complex.h +422 -0
  422. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/MathFunctions.h +362 -0
  423. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/PacketMath.h +2303 -0
  424. casadi/include/eigen3/Eigen/src/Core/arch/AVX512/TypeCasting.h +89 -0
  425. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/Complex.h +417 -0
  426. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MathFunctions.h +90 -0
  427. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProduct.h +2937 -0
  428. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductCommon.h +221 -0
  429. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/MatrixProductMMA.h +629 -0
  430. casadi/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h +2711 -0
  431. casadi/include/eigen3/Eigen/src/Core/arch/CUDA/Complex.h +258 -0
  432. casadi/include/eigen3/Eigen/src/Core/arch/Default/BFloat16.h +700 -0
  433. casadi/include/eigen3/Eigen/src/Core/arch/Default/ConjHelper.h +117 -0
  434. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctions.h +1649 -0
  435. casadi/include/eigen3/Eigen/src/Core/arch/Default/GenericPacketMathFunctionsFwd.h +110 -0
  436. casadi/include/eigen3/Eigen/src/Core/arch/Default/Half.h +942 -0
  437. casadi/include/eigen3/Eigen/src/Core/arch/Default/Settings.h +49 -0
  438. casadi/include/eigen3/Eigen/src/Core/arch/Default/TypeCasting.h +120 -0
  439. casadi/include/eigen3/Eigen/src/Core/arch/GPU/MathFunctions.h +103 -0
  440. casadi/include/eigen3/Eigen/src/Core/arch/GPU/PacketMath.h +1685 -0
  441. casadi/include/eigen3/Eigen/src/Core/arch/GPU/TypeCasting.h +80 -0
  442. casadi/include/eigen3/Eigen/src/Core/arch/HIP/hcc/math_constants.h +23 -0
  443. casadi/include/eigen3/Eigen/src/Core/arch/MSA/Complex.h +648 -0
  444. casadi/include/eigen3/Eigen/src/Core/arch/MSA/MathFunctions.h +387 -0
  445. casadi/include/eigen3/Eigen/src/Core/arch/MSA/PacketMath.h +1233 -0
  446. casadi/include/eigen3/Eigen/src/Core/arch/NEON/Complex.h +584 -0
  447. casadi/include/eigen3/Eigen/src/Core/arch/NEON/GeneralBlockPanelKernel.h +183 -0
  448. casadi/include/eigen3/Eigen/src/Core/arch/NEON/MathFunctions.h +75 -0
  449. casadi/include/eigen3/Eigen/src/Core/arch/NEON/PacketMath.h +4587 -0
  450. casadi/include/eigen3/Eigen/src/Core/arch/NEON/TypeCasting.h +1419 -0
  451. casadi/include/eigen3/Eigen/src/Core/arch/SSE/Complex.h +351 -0
  452. casadi/include/eigen3/Eigen/src/Core/arch/SSE/MathFunctions.h +199 -0
  453. casadi/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h +1505 -0
  454. casadi/include/eigen3/Eigen/src/Core/arch/SSE/TypeCasting.h +142 -0
  455. casadi/include/eigen3/Eigen/src/Core/arch/SVE/MathFunctions.h +44 -0
  456. casadi/include/eigen3/Eigen/src/Core/arch/SVE/PacketMath.h +752 -0
  457. casadi/include/eigen3/Eigen/src/Core/arch/SVE/TypeCasting.h +49 -0
  458. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/InteropHeaders.h +232 -0
  459. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/MathFunctions.h +301 -0
  460. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/PacketMath.h +670 -0
  461. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/SyclMemoryModel.h +694 -0
  462. casadi/include/eigen3/Eigen/src/Core/arch/SYCL/TypeCasting.h +85 -0
  463. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/Complex.h +426 -0
  464. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/MathFunctions.h +233 -0
  465. casadi/include/eigen3/Eigen/src/Core/arch/ZVector/PacketMath.h +1060 -0
  466. casadi/include/eigen3/Eigen/src/Core/functors/AssignmentFunctors.h +177 -0
  467. casadi/include/eigen3/Eigen/src/Core/functors/BinaryFunctors.h +541 -0
  468. casadi/include/eigen3/Eigen/src/Core/functors/NullaryFunctors.h +189 -0
  469. casadi/include/eigen3/Eigen/src/Core/functors/StlFunctors.h +166 -0
  470. casadi/include/eigen3/Eigen/src/Core/functors/TernaryFunctors.h +25 -0
  471. casadi/include/eigen3/Eigen/src/Core/functors/UnaryFunctors.h +1131 -0
  472. casadi/include/eigen3/Eigen/src/Core/products/GeneralBlockPanelKernel.h +2645 -0
  473. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix.h +517 -0
  474. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular.h +317 -0
  475. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h +145 -0
  476. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixMatrix_BLAS.h +124 -0
  477. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector.h +518 -0
  478. casadi/include/eigen3/Eigen/src/Core/products/GeneralMatrixVector_BLAS.h +136 -0
  479. casadi/include/eigen3/Eigen/src/Core/products/Parallelizer.h +180 -0
  480. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix.h +544 -0
  481. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixMatrix_BLAS.h +295 -0
  482. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector.h +262 -0
  483. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointMatrixVector_BLAS.h +118 -0
  484. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointProduct.h +133 -0
  485. casadi/include/eigen3/Eigen/src/Core/products/SelfadjointRank2Update.h +94 -0
  486. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix.h +472 -0
  487. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h +317 -0
  488. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector.h +350 -0
  489. casadi/include/eigen3/Eigen/src/Core/products/TriangularMatrixVector_BLAS.h +255 -0
  490. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix.h +337 -0
  491. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverMatrix_BLAS.h +167 -0
  492. casadi/include/eigen3/Eigen/src/Core/products/TriangularSolverVector.h +148 -0
  493. casadi/include/eigen3/Eigen/src/Core/util/BlasUtil.h +583 -0
  494. casadi/include/eigen3/Eigen/src/Core/util/ConfigureVectorization.h +512 -0
  495. casadi/include/eigen3/Eigen/src/Core/util/Constants.h +563 -0
  496. casadi/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h +106 -0
  497. casadi/include/eigen3/Eigen/src/Core/util/ForwardDeclarations.h +322 -0
  498. casadi/include/eigen3/Eigen/src/Core/util/IndexedViewHelper.h +186 -0
  499. casadi/include/eigen3/Eigen/src/Core/util/IntegralConstant.h +272 -0
  500. casadi/include/eigen3/Eigen/src/Core/util/MKL_support.h +137 -0
  501. casadi/include/eigen3/Eigen/src/Core/util/Macros.h +1464 -0
  502. casadi/include/eigen3/Eigen/src/Core/util/Memory.h +1163 -0
  503. casadi/include/eigen3/Eigen/src/Core/util/Meta.h +812 -0
  504. casadi/include/eigen3/Eigen/src/Core/util/NonMPL2.h +3 -0
  505. casadi/include/eigen3/Eigen/src/Core/util/ReenableStupidWarnings.h +31 -0
  506. casadi/include/eigen3/Eigen/src/Core/util/ReshapedHelper.h +51 -0
  507. casadi/include/eigen3/Eigen/src/Core/util/StaticAssert.h +221 -0
  508. casadi/include/eigen3/Eigen/src/Core/util/SymbolicIndex.h +293 -0
  509. casadi/include/eigen3/Eigen/src/Core/util/XprHelper.h +856 -0
  510. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexEigenSolver.h +346 -0
  511. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur.h +462 -0
  512. casadi/include/eigen3/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +91 -0
  513. casadi/include/eigen3/Eigen/src/Eigenvalues/EigenSolver.h +622 -0
  514. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +418 -0
  515. casadi/include/eigen3/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +226 -0
  516. casadi/include/eigen3/Eigen/src/Eigenvalues/HessenbergDecomposition.h +374 -0
  517. casadi/include/eigen3/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +158 -0
  518. casadi/include/eigen3/Eigen/src/Eigenvalues/RealQZ.h +657 -0
  519. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur.h +558 -0
  520. casadi/include/eigen3/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +77 -0
  521. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +904 -0
  522. casadi/include/eigen3/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +87 -0
  523. casadi/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h +561 -0
  524. casadi/include/eigen3/Eigen/src/Geometry/AlignedBox.h +486 -0
  525. casadi/include/eigen3/Eigen/src/Geometry/AngleAxis.h +247 -0
  526. casadi/include/eigen3/Eigen/src/Geometry/EulerAngles.h +114 -0
  527. casadi/include/eigen3/Eigen/src/Geometry/Homogeneous.h +501 -0
  528. casadi/include/eigen3/Eigen/src/Geometry/Hyperplane.h +282 -0
  529. casadi/include/eigen3/Eigen/src/Geometry/OrthoMethods.h +235 -0
  530. casadi/include/eigen3/Eigen/src/Geometry/ParametrizedLine.h +232 -0
  531. casadi/include/eigen3/Eigen/src/Geometry/Quaternion.h +870 -0
  532. casadi/include/eigen3/Eigen/src/Geometry/Rotation2D.h +199 -0
  533. casadi/include/eigen3/Eigen/src/Geometry/RotationBase.h +206 -0
  534. casadi/include/eigen3/Eigen/src/Geometry/Scaling.h +188 -0
  535. casadi/include/eigen3/Eigen/src/Geometry/Transform.h +1563 -0
  536. casadi/include/eigen3/Eigen/src/Geometry/Translation.h +202 -0
  537. casadi/include/eigen3/Eigen/src/Geometry/Umeyama.h +166 -0
  538. casadi/include/eigen3/Eigen/src/Geometry/arch/Geometry_SIMD.h +168 -0
  539. casadi/include/eigen3/Eigen/src/Householder/BlockHouseholder.h +110 -0
  540. casadi/include/eigen3/Eigen/src/Householder/Householder.h +176 -0
  541. casadi/include/eigen3/Eigen/src/Householder/HouseholderSequence.h +545 -0
  542. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +226 -0
  543. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +212 -0
  544. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +229 -0
  545. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +394 -0
  546. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +453 -0
  547. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +444 -0
  548. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +198 -0
  549. casadi/include/eigen3/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +117 -0
  550. casadi/include/eigen3/Eigen/src/Jacobi/Jacobi.h +483 -0
  551. casadi/include/eigen3/Eigen/src/KLUSupport/KLUSupport.h +358 -0
  552. casadi/include/eigen3/Eigen/src/LU/Determinant.h +117 -0
  553. casadi/include/eigen3/Eigen/src/LU/FullPivLU.h +877 -0
  554. casadi/include/eigen3/Eigen/src/LU/InverseImpl.h +432 -0
  555. casadi/include/eigen3/Eigen/src/LU/PartialPivLU.h +624 -0
  556. casadi/include/eigen3/Eigen/src/LU/PartialPivLU_LAPACKE.h +83 -0
  557. casadi/include/eigen3/Eigen/src/LU/arch/InverseSize4.h +351 -0
  558. casadi/include/eigen3/Eigen/src/MetisSupport/MetisSupport.h +137 -0
  559. casadi/include/eigen3/Eigen/src/OrderingMethods/Amd.h +435 -0
  560. casadi/include/eigen3/Eigen/src/OrderingMethods/Eigen_Colamd.h +1863 -0
  561. casadi/include/eigen3/Eigen/src/OrderingMethods/Ordering.h +153 -0
  562. casadi/include/eigen3/Eigen/src/PaStiXSupport/PaStiXSupport.h +678 -0
  563. casadi/include/eigen3/Eigen/src/PardisoSupport/PardisoSupport.h +545 -0
  564. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h +674 -0
  565. casadi/include/eigen3/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +97 -0
  566. casadi/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h +635 -0
  567. casadi/include/eigen3/Eigen/src/QR/FullPivHouseholderQR.h +713 -0
  568. casadi/include/eigen3/Eigen/src/QR/HouseholderQR.h +434 -0
  569. casadi/include/eigen3/Eigen/src/QR/HouseholderQR_LAPACKE.h +68 -0
  570. casadi/include/eigen3/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +335 -0
  571. casadi/include/eigen3/Eigen/src/SVD/BDCSVD.h +1366 -0
  572. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD.h +812 -0
  573. casadi/include/eigen3/Eigen/src/SVD/JacobiSVD_LAPACKE.h +91 -0
  574. casadi/include/eigen3/Eigen/src/SVD/SVDBase.h +376 -0
  575. casadi/include/eigen3/Eigen/src/SVD/UpperBidiagonalization.h +414 -0
  576. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky.h +697 -0
  577. casadi/include/eigen3/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +174 -0
  578. casadi/include/eigen3/Eigen/src/SparseCore/AmbiVector.h +378 -0
  579. casadi/include/eigen3/Eigen/src/SparseCore/CompressedStorage.h +274 -0
  580. casadi/include/eigen3/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +352 -0
  581. casadi/include/eigen3/Eigen/src/SparseCore/MappedSparseMatrix.h +67 -0
  582. casadi/include/eigen3/Eigen/src/SparseCore/SparseAssign.h +270 -0
  583. casadi/include/eigen3/Eigen/src/SparseCore/SparseBlock.h +571 -0
  584. casadi/include/eigen3/Eigen/src/SparseCore/SparseColEtree.h +206 -0
  585. casadi/include/eigen3/Eigen/src/SparseCore/SparseCompressedBase.h +370 -0
  586. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +722 -0
  587. casadi/include/eigen3/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +150 -0
  588. casadi/include/eigen3/Eigen/src/SparseCore/SparseDenseProduct.h +342 -0
  589. casadi/include/eigen3/Eigen/src/SparseCore/SparseDiagonalProduct.h +138 -0
  590. casadi/include/eigen3/Eigen/src/SparseCore/SparseDot.h +98 -0
  591. casadi/include/eigen3/Eigen/src/SparseCore/SparseFuzzy.h +29 -0
  592. casadi/include/eigen3/Eigen/src/SparseCore/SparseMap.h +305 -0
  593. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrix.h +1518 -0
  594. casadi/include/eigen3/Eigen/src/SparseCore/SparseMatrixBase.h +398 -0
  595. casadi/include/eigen3/Eigen/src/SparseCore/SparsePermutation.h +178 -0
  596. casadi/include/eigen3/Eigen/src/SparseCore/SparseProduct.h +181 -0
  597. casadi/include/eigen3/Eigen/src/SparseCore/SparseRedux.h +49 -0
  598. casadi/include/eigen3/Eigen/src/SparseCore/SparseRef.h +397 -0
  599. casadi/include/eigen3/Eigen/src/SparseCore/SparseSelfAdjointView.h +659 -0
  600. casadi/include/eigen3/Eigen/src/SparseCore/SparseSolverBase.h +124 -0
  601. casadi/include/eigen3/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +198 -0
  602. casadi/include/eigen3/Eigen/src/SparseCore/SparseTranspose.h +92 -0
  603. casadi/include/eigen3/Eigen/src/SparseCore/SparseTriangularView.h +189 -0
  604. casadi/include/eigen3/Eigen/src/SparseCore/SparseUtil.h +186 -0
  605. casadi/include/eigen3/Eigen/src/SparseCore/SparseVector.h +478 -0
  606. casadi/include/eigen3/Eigen/src/SparseCore/SparseView.h +254 -0
  607. casadi/include/eigen3/Eigen/src/SparseCore/TriangularSolver.h +315 -0
  608. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU.h +923 -0
  609. casadi/include/eigen3/Eigen/src/SparseLU/SparseLUImpl.h +66 -0
  610. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Memory.h +226 -0
  611. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Structs.h +110 -0
  612. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +375 -0
  613. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_Utils.h +80 -0
  614. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_bmod.h +181 -0
  615. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_column_dfs.h +179 -0
  616. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +107 -0
  617. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +280 -0
  618. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +126 -0
  619. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +130 -0
  620. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_bmod.h +223 -0
  621. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_panel_dfs.h +258 -0
  622. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pivotL.h +137 -0
  623. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_pruneL.h +136 -0
  624. casadi/include/eigen3/Eigen/src/SparseLU/SparseLU_relax_snode.h +83 -0
  625. casadi/include/eigen3/Eigen/src/SparseQR/SparseQR.h +758 -0
  626. casadi/include/eigen3/Eigen/src/StlSupport/StdDeque.h +116 -0
  627. casadi/include/eigen3/Eigen/src/StlSupport/StdList.h +106 -0
  628. casadi/include/eigen3/Eigen/src/StlSupport/StdVector.h +131 -0
  629. casadi/include/eigen3/Eigen/src/StlSupport/details.h +84 -0
  630. casadi/include/eigen3/Eigen/src/SuperLUSupport/SuperLUSupport.h +1025 -0
  631. casadi/include/eigen3/Eigen/src/UmfPackSupport/UmfPackSupport.h +642 -0
  632. casadi/include/eigen3/Eigen/src/misc/Image.h +82 -0
  633. casadi/include/eigen3/Eigen/src/misc/Kernel.h +79 -0
  634. casadi/include/eigen3/Eigen/src/misc/RealSvd2x2.h +55 -0
  635. casadi/include/eigen3/Eigen/src/misc/blas.h +440 -0
  636. casadi/include/eigen3/Eigen/src/misc/lapack.h +152 -0
  637. casadi/include/eigen3/Eigen/src/misc/lapacke.h +16292 -0
  638. casadi/include/eigen3/Eigen/src/misc/lapacke_mangling.h +17 -0
  639. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseBinaryOps.h +358 -0
  640. casadi/include/eigen3/Eigen/src/plugins/ArrayCwiseUnaryOps.h +696 -0
  641. casadi/include/eigen3/Eigen/src/plugins/BlockMethods.h +1442 -0
  642. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseBinaryOps.h +115 -0
  643. casadi/include/eigen3/Eigen/src/plugins/CommonCwiseUnaryOps.h +177 -0
  644. casadi/include/eigen3/Eigen/src/plugins/IndexedViewMethods.h +262 -0
  645. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseBinaryOps.h +152 -0
  646. casadi/include/eigen3/Eigen/src/plugins/MatrixCwiseUnaryOps.h +95 -0
  647. casadi/include/eigen3/Eigen/src/plugins/ReshapedMethods.h +149 -0
  648. casadi/include/eigen3/signature_of_eigen3_matrix_library +1 -0
  649. casadi/include/eigen3/unsupported/Eigen/AdolcForward +159 -0
  650. casadi/include/eigen3/unsupported/Eigen/AlignedVector3 +234 -0
  651. casadi/include/eigen3/unsupported/Eigen/ArpackSupport +30 -0
  652. casadi/include/eigen3/unsupported/Eigen/AutoDiff +46 -0
  653. casadi/include/eigen3/unsupported/Eigen/BVH +95 -0
  654. casadi/include/eigen3/unsupported/Eigen/CXX11/Tensor +137 -0
  655. casadi/include/eigen3/unsupported/Eigen/CXX11/TensorSymmetry +42 -0
  656. casadi/include/eigen3/unsupported/Eigen/CXX11/ThreadPool +74 -0
  657. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +554 -0
  658. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +329 -0
  659. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +247 -0
  660. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +1176 -0
  661. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +1559 -0
  662. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +1093 -0
  663. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +518 -0
  664. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +377 -0
  665. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +1023 -0
  666. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +73 -0
  667. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +6 -0
  668. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +1413 -0
  669. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +575 -0
  670. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +1650 -0
  671. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +1679 -0
  672. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +456 -0
  673. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +1132 -0
  674. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +544 -0
  675. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +214 -0
  676. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +347 -0
  677. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +137 -0
  678. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +6 -0
  679. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +104 -0
  680. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +389 -0
  681. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +1048 -0
  682. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +409 -0
  683. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +236 -0
  684. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +490 -0
  685. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +236 -0
  686. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +983 -0
  687. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +703 -0
  688. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +388 -0
  689. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +669 -0
  690. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +379 -0
  691. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +237 -0
  692. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +191 -0
  693. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +488 -0
  694. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +302 -0
  695. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +33 -0
  696. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +99 -0
  697. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +44 -0
  698. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +79 -0
  699. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +603 -0
  700. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +738 -0
  701. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +247 -0
  702. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +82 -0
  703. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +263 -0
  704. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +216 -0
  705. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +98 -0
  706. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +327 -0
  707. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +311 -0
  708. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +1102 -0
  709. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +708 -0
  710. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +291 -0
  711. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +322 -0
  712. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +998 -0
  713. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +6 -0
  714. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +966 -0
  715. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +582 -0
  716. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +454 -0
  717. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +465 -0
  718. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +528 -0
  719. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +513 -0
  720. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +471 -0
  721. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +161 -0
  722. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +346 -0
  723. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +303 -0
  724. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +264 -0
  725. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +249 -0
  726. casadi/include/eigen3/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +629 -0
  727. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +293 -0
  728. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +236 -0
  729. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +338 -0
  730. casadi/include/eigen3/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +669 -0
  731. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +67 -0
  732. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +249 -0
  733. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +486 -0
  734. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +236 -0
  735. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +23 -0
  736. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +40 -0
  737. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +301 -0
  738. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +48 -0
  739. casadi/include/eigen3/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +20 -0
  740. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +537 -0
  741. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +88 -0
  742. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/EmulateArray.h +261 -0
  743. casadi/include/eigen3/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +158 -0
  744. casadi/include/eigen3/unsupported/Eigen/EulerAngles +43 -0
  745. casadi/include/eigen3/unsupported/Eigen/FFT +419 -0
  746. casadi/include/eigen3/unsupported/Eigen/IterativeSolvers +51 -0
  747. casadi/include/eigen3/unsupported/Eigen/KroneckerProduct +36 -0
  748. casadi/include/eigen3/unsupported/Eigen/LevenbergMarquardt +49 -0
  749. casadi/include/eigen3/unsupported/Eigen/MPRealSupport +213 -0
  750. casadi/include/eigen3/unsupported/Eigen/MatrixFunctions +504 -0
  751. casadi/include/eigen3/unsupported/Eigen/MoreVectorization +24 -0
  752. casadi/include/eigen3/unsupported/Eigen/NonLinearOptimization +140 -0
  753. casadi/include/eigen3/unsupported/Eigen/NumericalDiff +56 -0
  754. casadi/include/eigen3/unsupported/Eigen/OpenGLSupport +322 -0
  755. casadi/include/eigen3/unsupported/Eigen/Polynomials +137 -0
  756. casadi/include/eigen3/unsupported/Eigen/Skyline +39 -0
  757. casadi/include/eigen3/unsupported/Eigen/SparseExtra +54 -0
  758. casadi/include/eigen3/unsupported/Eigen/SpecialFunctions +103 -0
  759. casadi/include/eigen3/unsupported/Eigen/Splines +35 -0
  760. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +108 -0
  761. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +730 -0
  762. casadi/include/eigen3/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +220 -0
  763. casadi/include/eigen3/unsupported/Eigen/src/BVH/BVAlgorithms.h +293 -0
  764. casadi/include/eigen3/unsupported/Eigen/src/BVH/KdBVH.h +223 -0
  765. casadi/include/eigen3/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +790 -0
  766. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerAngles.h +355 -0
  767. casadi/include/eigen3/unsupported/Eigen/src/EulerAngles/EulerSystem.h +305 -0
  768. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_fftw_impl.h +261 -0
  769. casadi/include/eigen3/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +449 -0
  770. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +187 -0
  771. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +511 -0
  772. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/GMRES.h +335 -0
  773. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IDRS.h +436 -0
  774. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +90 -0
  775. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/IterationController.h +154 -0
  776. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/MINRES.h +267 -0
  777. casadi/include/eigen3/unsupported/Eigen/src/IterativeSolvers/Scaling.h +193 -0
  778. casadi/include/eigen3/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +305 -0
  779. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +84 -0
  780. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +202 -0
  781. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +160 -0
  782. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +188 -0
  783. casadi/include/eigen3/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +396 -0
  784. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +441 -0
  785. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +569 -0
  786. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +373 -0
  787. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +705 -0
  788. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +368 -0
  789. casadi/include/eigen3/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +117 -0
  790. casadi/include/eigen3/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +95 -0
  791. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +601 -0
  792. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +657 -0
  793. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/chkder.h +66 -0
  794. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/covar.h +70 -0
  795. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +107 -0
  796. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +79 -0
  797. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +298 -0
  798. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +91 -0
  799. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +30 -0
  800. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +99 -0
  801. casadi/include/eigen3/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +49 -0
  802. casadi/include/eigen3/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +130 -0
  803. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/Companion.h +280 -0
  804. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +428 -0
  805. casadi/include/eigen3/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +143 -0
  806. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +352 -0
  807. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrix.h +862 -0
  808. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +212 -0
  809. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineProduct.h +295 -0
  810. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineStorage.h +259 -0
  811. casadi/include/eigen3/unsupported/Eigen/src/Skyline/SkylineUtil.h +89 -0
  812. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +122 -0
  813. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +1079 -0
  814. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +404 -0
  815. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MarketIO.h +282 -0
  816. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +247 -0
  817. casadi/include/eigen3/unsupported/Eigen/src/SparseExtra/RandomSetter.h +349 -0
  818. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +286 -0
  819. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +68 -0
  820. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +357 -0
  821. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +66 -0
  822. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +1959 -0
  823. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +118 -0
  824. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +67 -0
  825. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +167 -0
  826. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +58 -0
  827. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +330 -0
  828. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +58 -0
  829. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +2045 -0
  830. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +79 -0
  831. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +46 -0
  832. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +16 -0
  833. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +46 -0
  834. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +16 -0
  835. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +369 -0
  836. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +54 -0
  837. casadi/include/eigen3/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +34 -0
  838. casadi/include/eigen3/unsupported/Eigen/src/Splines/Spline.h +507 -0
  839. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFitting.h +431 -0
  840. casadi/include/eigen3/unsupported/Eigen/src/Splines/SplineFwd.h +93 -0
  841. casadi/include/highs/HConfig.h +23 -0
  842. casadi/include/highs/Highs.h +1703 -0
  843. casadi/include/highs/filereaderlp/builder.hpp +25 -0
  844. casadi/include/highs/filereaderlp/def.hpp +19 -0
  845. casadi/include/highs/filereaderlp/model.hpp +68 -0
  846. casadi/include/highs/filereaderlp/reader.hpp +10 -0
  847. casadi/include/highs/interfaces/highs_c_api.h +2456 -0
  848. casadi/include/highs/io/Filereader.h +45 -0
  849. casadi/include/highs/io/FilereaderEms.h +30 -0
  850. casadi/include/highs/io/FilereaderLp.h +51 -0
  851. casadi/include/highs/io/FilereaderMps.h +27 -0
  852. casadi/include/highs/io/HMPSIO.h +78 -0
  853. casadi/include/highs/io/HMpsFF.h +238 -0
  854. casadi/include/highs/io/HighsIO.h +114 -0
  855. casadi/include/highs/io/LoadOptions.h +24 -0
  856. casadi/include/highs/ipm/IpxSolution.h +32 -0
  857. casadi/include/highs/ipm/IpxWrapper.h +70 -0
  858. casadi/include/highs/ipm/basiclu/basiclu.h +161 -0
  859. casadi/include/highs/ipm/basiclu/basiclu_factorize.h +247 -0
  860. casadi/include/highs/ipm/basiclu/basiclu_get_factors.h +108 -0
  861. casadi/include/highs/ipm/basiclu/basiclu_initialize.h +119 -0
  862. casadi/include/highs/ipm/basiclu/basiclu_obj_factorize.h +34 -0
  863. casadi/include/highs/ipm/basiclu/basiclu_obj_free.h +19 -0
  864. casadi/include/highs/ipm/basiclu/basiclu_obj_get_factors.h +34 -0
  865. casadi/include/highs/ipm/basiclu/basiclu_obj_initialize.h +46 -0
  866. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_dense.h +29 -0
  867. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_for_update.h +42 -0
  868. casadi/include/highs/ipm/basiclu/basiclu_obj_solve_sparse.h +32 -0
  869. casadi/include/highs/ipm/basiclu/basiclu_obj_update.h +31 -0
  870. casadi/include/highs/ipm/basiclu/basiclu_object.h +30 -0
  871. casadi/include/highs/ipm/basiclu/basiclu_solve_dense.h +75 -0
  872. casadi/include/highs/ipm/basiclu/basiclu_solve_for_update.h +169 -0
  873. casadi/include/highs/ipm/basiclu/basiclu_solve_sparse.h +112 -0
  874. casadi/include/highs/ipm/basiclu/basiclu_update.h +125 -0
  875. casadi/include/highs/ipm/basiclu/lu_def.h +39 -0
  876. casadi/include/highs/ipm/basiclu/lu_file.h +21 -0
  877. casadi/include/highs/ipm/basiclu/lu_internal.h +220 -0
  878. casadi/include/highs/ipm/basiclu/lu_list.h +168 -0
  879. casadi/include/highs/ipm/ipx/basiclu_kernel.h +20 -0
  880. casadi/include/highs/ipm/ipx/basiclu_wrapper.h +47 -0
  881. casadi/include/highs/ipm/ipx/basis.h +351 -0
  882. casadi/include/highs/ipm/ipx/conjugate_residuals.h +74 -0
  883. casadi/include/highs/ipm/ipx/control.h +164 -0
  884. casadi/include/highs/ipm/ipx/crossover.h +157 -0
  885. casadi/include/highs/ipm/ipx/diagonal_precond.h +45 -0
  886. casadi/include/highs/ipm/ipx/forrest_tomlin.h +102 -0
  887. casadi/include/highs/ipm/ipx/guess_basis.h +21 -0
  888. casadi/include/highs/ipm/ipx/indexed_vector.h +113 -0
  889. casadi/include/highs/ipm/ipx/info.h +27 -0
  890. casadi/include/highs/ipm/ipx/ipm.h +94 -0
  891. casadi/include/highs/ipm/ipx/ipx_c.h +47 -0
  892. casadi/include/highs/ipm/ipx/ipx_config.h +9 -0
  893. casadi/include/highs/ipm/ipx/ipx_info.h +111 -0
  894. casadi/include/highs/ipm/ipx/ipx_internal.h +88 -0
  895. casadi/include/highs/ipm/ipx/ipx_parameters.h +76 -0
  896. casadi/include/highs/ipm/ipx/ipx_status.h +57 -0
  897. casadi/include/highs/ipm/ipx/iterate.h +328 -0
  898. casadi/include/highs/ipm/ipx/kkt_solver.h +70 -0
  899. casadi/include/highs/ipm/ipx/kkt_solver_basis.h +66 -0
  900. casadi/include/highs/ipm/ipx/kkt_solver_diag.h +48 -0
  901. casadi/include/highs/ipm/ipx/linear_operator.h +26 -0
  902. casadi/include/highs/ipm/ipx/lp_solver.h +202 -0
  903. casadi/include/highs/ipm/ipx/lu_factorization.h +79 -0
  904. casadi/include/highs/ipm/ipx/lu_update.h +129 -0
  905. casadi/include/highs/ipm/ipx/maxvolume.h +54 -0
  906. casadi/include/highs/ipm/ipx/model.h +413 -0
  907. casadi/include/highs/ipm/ipx/multistream.h +52 -0
  908. casadi/include/highs/ipm/ipx/normal_matrix.h +44 -0
  909. casadi/include/highs/ipm/ipx/power_method.h +44 -0
  910. casadi/include/highs/ipm/ipx/sparse_matrix.h +195 -0
  911. casadi/include/highs/ipm/ipx/sparse_utils.h +58 -0
  912. casadi/include/highs/ipm/ipx/splitted_normal_matrix.h +63 -0
  913. casadi/include/highs/ipm/ipx/starting_basis.h +39 -0
  914. casadi/include/highs/ipm/ipx/symbolic_invert.h +29 -0
  915. casadi/include/highs/ipm/ipx/timer.h +24 -0
  916. casadi/include/highs/ipm/ipx/utils.h +39 -0
  917. casadi/include/highs/lp_data/HConst.h +320 -0
  918. casadi/include/highs/lp_data/HStruct.h +182 -0
  919. casadi/include/highs/lp_data/HighsAnalysis.h +23 -0
  920. casadi/include/highs/lp_data/HighsCallback.h +47 -0
  921. casadi/include/highs/lp_data/HighsCallbackStruct.h +62 -0
  922. casadi/include/highs/lp_data/HighsDebug.h +34 -0
  923. casadi/include/highs/lp_data/HighsIis.h +62 -0
  924. casadi/include/highs/lp_data/HighsInfo.h +329 -0
  925. casadi/include/highs/lp_data/HighsInfoDebug.h +27 -0
  926. casadi/include/highs/lp_data/HighsLp.h +100 -0
  927. casadi/include/highs/lp_data/HighsLpSolverObject.h +45 -0
  928. casadi/include/highs/lp_data/HighsLpUtils.h +298 -0
  929. casadi/include/highs/lp_data/HighsModelUtils.h +112 -0
  930. casadi/include/highs/lp_data/HighsOptions.h +1469 -0
  931. casadi/include/highs/lp_data/HighsRanging.h +43 -0
  932. casadi/include/highs/lp_data/HighsSolution.h +144 -0
  933. casadi/include/highs/lp_data/HighsSolutionDebug.h +87 -0
  934. casadi/include/highs/lp_data/HighsSolve.h +23 -0
  935. casadi/include/highs/lp_data/HighsStatus.h +29 -0
  936. casadi/include/highs/mip/HighsCliqueTable.h +318 -0
  937. casadi/include/highs/mip/HighsConflictPool.h +109 -0
  938. casadi/include/highs/mip/HighsCutGeneration.h +106 -0
  939. casadi/include/highs/mip/HighsCutPool.h +168 -0
  940. casadi/include/highs/mip/HighsDebugSol.h +132 -0
  941. casadi/include/highs/mip/HighsDomain.h +653 -0
  942. casadi/include/highs/mip/HighsDomainChange.h +48 -0
  943. casadi/include/highs/mip/HighsDynamicRowMatrix.h +104 -0
  944. casadi/include/highs/mip/HighsGFkSolve.h +438 -0
  945. casadi/include/highs/mip/HighsImplications.h +170 -0
  946. casadi/include/highs/mip/HighsLpAggregator.h +50 -0
  947. casadi/include/highs/mip/HighsLpRelaxation.h +357 -0
  948. casadi/include/highs/mip/HighsMipAnalysis.h +52 -0
  949. casadi/include/highs/mip/HighsMipSolver.h +112 -0
  950. casadi/include/highs/mip/HighsMipSolverData.h +297 -0
  951. casadi/include/highs/mip/HighsModkSeparator.h +60 -0
  952. casadi/include/highs/mip/HighsNodeQueue.h +311 -0
  953. casadi/include/highs/mip/HighsObjectiveFunction.h +71 -0
  954. casadi/include/highs/mip/HighsPathSeparator.h +39 -0
  955. casadi/include/highs/mip/HighsPrimalHeuristics.h +70 -0
  956. casadi/include/highs/mip/HighsPseudocost.h +360 -0
  957. casadi/include/highs/mip/HighsRedcostFixing.h +42 -0
  958. casadi/include/highs/mip/HighsSearch.h +241 -0
  959. casadi/include/highs/mip/HighsSeparation.h +41 -0
  960. casadi/include/highs/mip/HighsSeparator.h +52 -0
  961. casadi/include/highs/mip/HighsTableauSeparator.h +34 -0
  962. casadi/include/highs/mip/HighsTransformedLp.h +63 -0
  963. casadi/include/highs/mip/MipTimer.h +471 -0
  964. casadi/include/highs/model/HighsHessian.h +54 -0
  965. casadi/include/highs/model/HighsHessianUtils.h +49 -0
  966. casadi/include/highs/model/HighsModel.h +52 -0
  967. casadi/include/highs/parallel/HighsBinarySemaphore.h +113 -0
  968. casadi/include/highs/parallel/HighsCacheAlign.h +87 -0
  969. casadi/include/highs/parallel/HighsCombinable.h +121 -0
  970. casadi/include/highs/parallel/HighsMutex.h +129 -0
  971. casadi/include/highs/parallel/HighsParallel.h +133 -0
  972. casadi/include/highs/parallel/HighsRaceTimer.h +43 -0
  973. casadi/include/highs/parallel/HighsSchedulerConstants.h +24 -0
  974. casadi/include/highs/parallel/HighsSpinMutex.h +53 -0
  975. casadi/include/highs/parallel/HighsSplitDeque.h +583 -0
  976. casadi/include/highs/parallel/HighsTask.h +175 -0
  977. casadi/include/highs/parallel/HighsTaskExecutor.h +222 -0
  978. casadi/include/highs/pdlp/CupdlpWrapper.h +104 -0
  979. casadi/include/highs/pdlp/cupdlp/cupdlp_cs.h +40 -0
  980. casadi/include/highs/pdlp/cupdlp/cupdlp_defs.h +433 -0
  981. casadi/include/highs/pdlp/cupdlp/cupdlp_linalg.h +189 -0
  982. casadi/include/highs/pdlp/cupdlp/cupdlp_proj.h +19 -0
  983. casadi/include/highs/pdlp/cupdlp/cupdlp_restart.h +31 -0
  984. casadi/include/highs/pdlp/cupdlp/cupdlp_scaling.h +26 -0
  985. casadi/include/highs/pdlp/cupdlp/cupdlp_solver.h +98 -0
  986. casadi/include/highs/pdlp/cupdlp/cupdlp_step.h +37 -0
  987. casadi/include/highs/pdlp/cupdlp/cupdlp_utils.c +1807 -0
  988. casadi/include/highs/pdqsort/pdqsort.h +532 -0
  989. casadi/include/highs/presolve/HPresolve.h +405 -0
  990. casadi/include/highs/presolve/HPresolveAnalysis.h +51 -0
  991. casadi/include/highs/presolve/HighsPostsolveStack.h +940 -0
  992. casadi/include/highs/presolve/HighsSymmetry.h +281 -0
  993. casadi/include/highs/presolve/ICrash.h +124 -0
  994. casadi/include/highs/presolve/ICrashUtil.h +62 -0
  995. casadi/include/highs/presolve/ICrashX.h +23 -0
  996. casadi/include/highs/presolve/PresolveComponent.h +90 -0
  997. casadi/include/highs/qpsolver/a_asm.hpp +70 -0
  998. casadi/include/highs/qpsolver/a_quass.hpp +15 -0
  999. casadi/include/highs/qpsolver/basis.hpp +152 -0
  1000. casadi/include/highs/qpsolver/crashsolution.hpp +13 -0
  1001. casadi/include/highs/qpsolver/dantzigpricing.hpp +73 -0
  1002. casadi/include/highs/qpsolver/devexpricing.hpp +101 -0
  1003. casadi/include/highs/qpsolver/eventhandler.hpp +23 -0
  1004. casadi/include/highs/qpsolver/factor.hpp +401 -0
  1005. casadi/include/highs/qpsolver/feasibility_bounded.hpp +107 -0
  1006. casadi/include/highs/qpsolver/feasibility_highs.hpp +294 -0
  1007. casadi/include/highs/qpsolver/gradient.hpp +39 -0
  1008. casadi/include/highs/qpsolver/instance.hpp +63 -0
  1009. casadi/include/highs/qpsolver/matrix.hpp +335 -0
  1010. casadi/include/highs/qpsolver/perturbation.hpp +8 -0
  1011. casadi/include/highs/qpsolver/pricing.hpp +15 -0
  1012. casadi/include/highs/qpsolver/qpconst.hpp +27 -0
  1013. casadi/include/highs/qpsolver/qpvector.hpp +235 -0
  1014. casadi/include/highs/qpsolver/quass.hpp +20 -0
  1015. casadi/include/highs/qpsolver/ratiotest.hpp +19 -0
  1016. casadi/include/highs/qpsolver/runtime.hpp +38 -0
  1017. casadi/include/highs/qpsolver/scaling.hpp +8 -0
  1018. casadi/include/highs/qpsolver/settings.hpp +69 -0
  1019. casadi/include/highs/qpsolver/snippets.hpp +29 -0
  1020. casadi/include/highs/qpsolver/statistics.hpp +23 -0
  1021. casadi/include/highs/qpsolver/steepestedgepricing.hpp +166 -0
  1022. casadi/include/highs/simplex/HApp.h +476 -0
  1023. casadi/include/highs/simplex/HEkk.h +416 -0
  1024. casadi/include/highs/simplex/HEkkDual.h +513 -0
  1025. casadi/include/highs/simplex/HEkkDualRHS.h +134 -0
  1026. casadi/include/highs/simplex/HEkkDualRow.h +201 -0
  1027. casadi/include/highs/simplex/HEkkPrimal.h +191 -0
  1028. casadi/include/highs/simplex/HSimplex.h +42 -0
  1029. casadi/include/highs/simplex/HSimplexDebug.h +48 -0
  1030. casadi/include/highs/simplex/HSimplexNla.h +158 -0
  1031. casadi/include/highs/simplex/HSimplexReport.h +21 -0
  1032. casadi/include/highs/simplex/HighsSimplexAnalysis.h +500 -0
  1033. casadi/include/highs/simplex/SimplexConst.h +273 -0
  1034. casadi/include/highs/simplex/SimplexStruct.h +261 -0
  1035. casadi/include/highs/simplex/SimplexTimer.h +409 -0
  1036. casadi/include/highs/test/DevKkt.h +143 -0
  1037. casadi/include/highs/test/KktCh2.h +79 -0
  1038. casadi/include/highs/util/FactorTimer.h +199 -0
  1039. casadi/include/highs/util/HFactor.h +587 -0
  1040. casadi/include/highs/util/HFactorConst.h +81 -0
  1041. casadi/include/highs/util/HFactorDebug.h +55 -0
  1042. casadi/include/highs/util/HSet.h +89 -0
  1043. casadi/include/highs/util/HVector.h +22 -0
  1044. casadi/include/highs/util/HVectorBase.h +102 -0
  1045. casadi/include/highs/util/HighsCDouble.h +319 -0
  1046. casadi/include/highs/util/HighsComponent.h +53 -0
  1047. casadi/include/highs/util/HighsDataStack.h +83 -0
  1048. casadi/include/highs/util/HighsDisjointSets.h +107 -0
  1049. casadi/include/highs/util/HighsHash.h +1274 -0
  1050. casadi/include/highs/util/HighsHashTree.h +1447 -0
  1051. casadi/include/highs/util/HighsInt.h +36 -0
  1052. casadi/include/highs/util/HighsIntegers.h +212 -0
  1053. casadi/include/highs/util/HighsLinearSumBounds.h +157 -0
  1054. casadi/include/highs/util/HighsMatrixPic.h +37 -0
  1055. casadi/include/highs/util/HighsMatrixSlice.h +561 -0
  1056. casadi/include/highs/util/HighsMatrixUtils.h +54 -0
  1057. casadi/include/highs/util/HighsMemoryAllocation.h +63 -0
  1058. casadi/include/highs/util/HighsRandom.h +242 -0
  1059. casadi/include/highs/util/HighsRbTree.h +452 -0
  1060. casadi/include/highs/util/HighsSort.h +131 -0
  1061. casadi/include/highs/util/HighsSparseMatrix.h +150 -0
  1062. casadi/include/highs/util/HighsSparseVectorSum.h +95 -0
  1063. casadi/include/highs/util/HighsSplay.h +135 -0
  1064. casadi/include/highs/util/HighsTimer.h +381 -0
  1065. casadi/include/highs/util/HighsUtils.h +217 -0
  1066. casadi/include/highs/util/stringutil.h +46 -0
  1067. casadi/include/highs/zstr/strict_fstream.hpp +237 -0
  1068. casadi/include/highs/zstr/zstr.hpp +472 -0
  1069. casadi/include/licenses/FMI-Standard-2.0.2/LICENSE.txt +473 -0
  1070. casadi/include/licenses/FMI-Standard-3.0/LICENSE.txt +464 -0
  1071. casadi/include/licenses/alpaqa-external/LICENSE +165 -0
  1072. casadi/include/licenses/bonmin-external/Bonmin/LICENSE +87 -0
  1073. casadi/include/licenses/bonmin-external/LICENSE +3 -0
  1074. casadi/include/licenses/casadi/LICENSE/LICENSE.txt +165 -0
  1075. casadi/include/licenses/casadi-sundials/LICENSE +64 -0
  1076. casadi/include/licenses/casadi-sundials/cvodes/LICENSE +60 -0
  1077. casadi/include/licenses/casadi-sundials/idas/LICENSE +59 -0
  1078. casadi/include/licenses/casadi-sundials/kinsol/LICENSE +59 -0
  1079. casadi/include/licenses/casadi-sundials/sundials/LICENSE +67 -0
  1080. casadi/include/licenses/cbc-external/Cbc/LICENSE +239 -0
  1081. casadi/include/licenses/cbc-external/LICENSE +245 -0
  1082. casadi/include/licenses/cgl-external/Cgl/LICENSE +239 -0
  1083. casadi/include/licenses/cgl-external/LICENSE +245 -0
  1084. casadi/include/licenses/clp-external/Clp/LICENSE +239 -0
  1085. casadi/include/licenses/clp-external/LICENSE +245 -0
  1086. casadi/include/licenses/coinutils-external/CoinUtils/LICENSE +239 -0
  1087. casadi/include/licenses/coinutils-external/LICENSE +245 -0
  1088. casadi/include/licenses/daqp-external/LICENSE +21 -0
  1089. casadi/include/licenses/ghc-external/LICENSE +19 -0
  1090. casadi/include/licenses/highs-external/LICENSE.txt +21 -0
  1091. casadi/include/licenses/highs-external/extern/filereaderlp/LICENSE +19 -0
  1092. casadi/include/licenses/ipopt-external/LICENSE +260 -0
  1093. casadi/include/licenses/libz-external/LICENSE +22 -0
  1094. casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  1095. casadi/include/licenses/libzip-external/LICENSE +31 -0
  1096. casadi/include/licenses/metis-external/LICENSE +87 -0
  1097. casadi/include/licenses/metis-external/metis-4.0/LICENSE +18 -0
  1098. casadi/include/licenses/mockups-external/LICENSE +21 -0
  1099. casadi/include/licenses/mumps-external/LICENSE +87 -0
  1100. casadi/include/licenses/mumps-external/MUMPS/LICENSE +50 -0
  1101. casadi/include/licenses/openblas-external/LICENSE +29 -0
  1102. casadi/include/licenses/openblas-external/ctest/LICENSE +23 -0
  1103. casadi/include/licenses/openblas-external/lapack-netlib/LAPACKE/LICENSE +26 -0
  1104. casadi/include/licenses/openblas-external/lapack-netlib/LICENSE +48 -0
  1105. casadi/include/licenses/openblas-external/reference/LICENSE +23 -0
  1106. casadi/include/licenses/openblas-external/relapack/LICENSE +22 -0
  1107. casadi/include/licenses/openblas-external/test/LICENSE +23 -0
  1108. casadi/include/licenses/osi-external/LICENSE +245 -0
  1109. casadi/include/licenses/osi-external/Osi/LICENSE +239 -0
  1110. casadi/include/licenses/osqp-external/LICENSE +201 -0
  1111. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/amd/LICENSE +36 -0
  1112. casadi/include/licenses/osqp-external/lin_sys/direct/qdldl/qdldl_sources/LICENSE +201 -0
  1113. casadi/include/licenses/proxqp-external/LICENSE +25 -0
  1114. casadi/include/licenses/proxqp-external/bindings/python/external/pybind11/LICENSE +29 -0
  1115. casadi/include/licenses/proxqp-external/cmake-module/LICENSE +4 -0
  1116. casadi/include/licenses/proxqp-external/cmake-module/doxygen/MathJax/LICENSE +202 -0
  1117. casadi/include/licenses/proxqp-external/external/cereal/LICENSE +24 -0
  1118. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/LICENSE +21 -0
  1119. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/LICENSE +13 -0
  1120. casadi/include/licenses/proxqp-external/external/cereal/include/cereal/external/rapidjson/msinttypes/LICENSE +29 -0
  1121. casadi/include/licenses/qpOASES/LICENSE.txt +503 -0
  1122. casadi/include/licenses/sleqp-external/LICENSE +165 -0
  1123. casadi/include/licenses/superscs-external/LICENSE.txt +24 -0
  1124. casadi/include/licenses/tinyxml2-9.0.0/LICENSE.txt +18 -0
  1125. casadi/include/licenses/trlib-external/LICENSE +21 -0
  1126. casadi/include/osqp/auxil.h +181 -0
  1127. casadi/include/osqp/constants.h +128 -0
  1128. casadi/include/osqp/cs.h +180 -0
  1129. casadi/include/osqp/ctrlc.h +56 -0
  1130. casadi/include/osqp/error.h +38 -0
  1131. casadi/include/osqp/glob_opts.h +167 -0
  1132. casadi/include/osqp/lin_alg.h +216 -0
  1133. casadi/include/osqp/lin_sys.h +54 -0
  1134. casadi/include/osqp/osqp.h +430 -0
  1135. casadi/include/osqp/osqp_configure.h +49 -0
  1136. casadi/include/osqp/polish.h +25 -0
  1137. casadi/include/osqp/proj.h +37 -0
  1138. casadi/include/osqp/scaling.h +44 -0
  1139. casadi/include/osqp/types.h +326 -0
  1140. casadi/include/osqp/util.h +222 -0
  1141. casadi/include/osqp/version.h +9 -0
  1142. casadi/include/proxsuite/config.hpp +68 -0
  1143. casadi/include/proxsuite/deprecated.hpp +56 -0
  1144. casadi/include/proxsuite/fwd.hpp +52 -0
  1145. casadi/include/proxsuite/helpers/common.hpp +70 -0
  1146. casadi/include/proxsuite/helpers/instruction-set.hpp +275 -0
  1147. casadi/include/proxsuite/helpers/optional.hpp +46 -0
  1148. casadi/include/proxsuite/helpers/tl-optional.hpp +2472 -0
  1149. casadi/include/proxsuite/helpers/version.hpp +39 -0
  1150. casadi/include/proxsuite/linalg/dense/core.hpp +863 -0
  1151. casadi/include/proxsuite/linalg/dense/factorize.hpp +375 -0
  1152. casadi/include/proxsuite/linalg/dense/ldlt.hpp +817 -0
  1153. casadi/include/proxsuite/linalg/dense/modify.hpp +333 -0
  1154. casadi/include/proxsuite/linalg/dense/solve.hpp +38 -0
  1155. casadi/include/proxsuite/linalg/dense/update.hpp +330 -0
  1156. casadi/include/proxsuite/linalg/sparse/core.hpp +531 -0
  1157. casadi/include/proxsuite/linalg/sparse/factorize.hpp +1303 -0
  1158. casadi/include/proxsuite/linalg/sparse/rowmod.hpp +443 -0
  1159. casadi/include/proxsuite/linalg/sparse/update.hpp +348 -0
  1160. casadi/include/proxsuite/linalg/veg/internal/assert_impl.hpp +20 -0
  1161. casadi/include/proxsuite/linalg/veg/internal/collection_algo.hpp +93 -0
  1162. casadi/include/proxsuite/linalg/veg/internal/dbg.hpp +15 -0
  1163. casadi/include/proxsuite/linalg/veg/internal/delete_special_members.hpp +77 -0
  1164. casadi/include/proxsuite/linalg/veg/internal/dyn_index.hpp +292 -0
  1165. casadi/include/proxsuite/linalg/veg/internal/epilogue.hpp +31 -0
  1166. casadi/include/proxsuite/linalg/veg/internal/external/hedley.ext.hpp +2074 -0
  1167. casadi/include/proxsuite/linalg/veg/internal/external/unhedley.ext.hpp +148 -0
  1168. casadi/include/proxsuite/linalg/veg/internal/fix_index.hpp +339 -0
  1169. casadi/include/proxsuite/linalg/veg/internal/has_asan.hpp +17 -0
  1170. casadi/include/proxsuite/linalg/veg/internal/integer_seq.hpp +248 -0
  1171. casadi/include/proxsuite/linalg/veg/internal/macros.hpp +1312 -0
  1172. casadi/include/proxsuite/linalg/veg/internal/narrow.hpp +46 -0
  1173. casadi/include/proxsuite/linalg/veg/internal/preprocessor.hpp +434 -0
  1174. casadi/include/proxsuite/linalg/veg/internal/prologue.hpp +157 -0
  1175. casadi/include/proxsuite/linalg/veg/internal/std.hpp +13 -0
  1176. casadi/include/proxsuite/linalg/veg/internal/terminate.hpp +22 -0
  1177. casadi/include/proxsuite/linalg/veg/internal/typedefs.hpp +58 -0
  1178. casadi/include/proxsuite/linalg/veg/memory/address.hpp +97 -0
  1179. casadi/include/proxsuite/linalg/veg/memory/alloc.hpp +352 -0
  1180. casadi/include/proxsuite/linalg/veg/memory/dynamic_stack.hpp +504 -0
  1181. casadi/include/proxsuite/linalg/veg/memory/placement.hpp +202 -0
  1182. casadi/include/proxsuite/linalg/veg/memory/stack_alloc.hpp +239 -0
  1183. casadi/include/proxsuite/linalg/veg/ref.hpp +148 -0
  1184. casadi/include/proxsuite/linalg/veg/slice.hpp +240 -0
  1185. casadi/include/proxsuite/linalg/veg/tuple.hpp +876 -0
  1186. casadi/include/proxsuite/linalg/veg/type_traits/alloc.hpp +169 -0
  1187. casadi/include/proxsuite/linalg/veg/type_traits/assignable.hpp +53 -0
  1188. casadi/include/proxsuite/linalg/veg/type_traits/constructible.hpp +217 -0
  1189. casadi/include/proxsuite/linalg/veg/type_traits/core.hpp +298 -0
  1190. casadi/include/proxsuite/linalg/veg/type_traits/invocable.hpp +47 -0
  1191. casadi/include/proxsuite/linalg/veg/type_traits/primitives.hpp +43 -0
  1192. casadi/include/proxsuite/linalg/veg/type_traits/tags.hpp +47 -0
  1193. casadi/include/proxsuite/linalg/veg/util/assert.hpp +48 -0
  1194. casadi/include/proxsuite/linalg/veg/util/dbg.hpp +6 -0
  1195. casadi/include/proxsuite/linalg/veg/util/defer.hpp +57 -0
  1196. casadi/include/proxsuite/linalg/veg/util/dynstack_alloc.hpp +19 -0
  1197. casadi/include/proxsuite/linalg/veg/util/get.hpp +153 -0
  1198. casadi/include/proxsuite/linalg/veg/util/index.hpp +6 -0
  1199. casadi/include/proxsuite/linalg/veg/util/unreachable.hpp +41 -0
  1200. casadi/include/proxsuite/linalg/veg/vec.hpp +1034 -0
  1201. casadi/include/proxsuite/proxqp/dense/dense.hpp +10 -0
  1202. casadi/include/proxsuite/proxqp/dense/fwd.hpp +55 -0
  1203. casadi/include/proxsuite/proxqp/dense/helpers.hpp +520 -0
  1204. casadi/include/proxsuite/proxqp/dense/linesearch.hpp +517 -0
  1205. casadi/include/proxsuite/proxqp/dense/model.hpp +147 -0
  1206. casadi/include/proxsuite/proxqp/dense/preconditioner/identity.hpp +113 -0
  1207. casadi/include/proxsuite/proxqp/dense/preconditioner/ruiz.hpp +571 -0
  1208. casadi/include/proxsuite/proxqp/dense/solver.hpp +1330 -0
  1209. casadi/include/proxsuite/proxqp/dense/utils.hpp +415 -0
  1210. casadi/include/proxsuite/proxqp/dense/views.hpp +1466 -0
  1211. casadi/include/proxsuite/proxqp/dense/workspace.hpp +264 -0
  1212. casadi/include/proxsuite/proxqp/dense/wrapper.hpp +491 -0
  1213. casadi/include/proxsuite/proxqp/results.hpp +212 -0
  1214. casadi/include/proxsuite/proxqp/settings.hpp +302 -0
  1215. casadi/include/proxsuite/proxqp/sparse/fwd.hpp +58 -0
  1216. casadi/include/proxsuite/proxqp/sparse/helpers.hpp +309 -0
  1217. casadi/include/proxsuite/proxqp/sparse/model.hpp +228 -0
  1218. casadi/include/proxsuite/proxqp/sparse/preconditioner/identity.hpp +64 -0
  1219. casadi/include/proxsuite/proxqp/sparse/preconditioner/ruiz.hpp +569 -0
  1220. casadi/include/proxsuite/proxqp/sparse/solver.hpp +1441 -0
  1221. casadi/include/proxsuite/proxqp/sparse/sparse.hpp +10 -0
  1222. casadi/include/proxsuite/proxqp/sparse/utils.hpp +815 -0
  1223. casadi/include/proxsuite/proxqp/sparse/views.hpp +63 -0
  1224. casadi/include/proxsuite/proxqp/sparse/workspace.hpp +790 -0
  1225. casadi/include/proxsuite/proxqp/sparse/wrapper.hpp +772 -0
  1226. casadi/include/proxsuite/proxqp/status.hpp +46 -0
  1227. casadi/include/proxsuite/proxqp/timings.hpp +101 -0
  1228. casadi/include/proxsuite/proxqp/utils/prints.hpp +47 -0
  1229. casadi/include/proxsuite/proxqp/utils/random_qp_problems.hpp +669 -0
  1230. casadi/include/proxsuite/serialization/archive.hpp +231 -0
  1231. casadi/include/proxsuite/serialization/eigen.hpp +107 -0
  1232. casadi/include/proxsuite/serialization/model.hpp +34 -0
  1233. casadi/include/proxsuite/serialization/results.hpp +74 -0
  1234. casadi/include/proxsuite/serialization/settings.hpp +60 -0
  1235. casadi/include/proxsuite/serialization/wrapper.hpp +24 -0
  1236. casadi/include/proxsuite/warning.hpp +35 -0
  1237. casadi/include/simde/arm/neon/aba.h +208 -0
  1238. casadi/include/simde/arm/neon/abd.h +384 -0
  1239. casadi/include/simde/arm/neon/abdl.h +147 -0
  1240. casadi/include/simde/arm/neon/abs.h +408 -0
  1241. casadi/include/simde/arm/neon/add.h +681 -0
  1242. casadi/include/simde/arm/neon/addl.h +127 -0
  1243. casadi/include/simde/arm/neon/addl_high.h +127 -0
  1244. casadi/include/simde/arm/neon/addlv.h +317 -0
  1245. casadi/include/simde/arm/neon/addv.h +447 -0
  1246. casadi/include/simde/arm/neon/addw.h +222 -0
  1247. casadi/include/simde/arm/neon/addw_high.h +193 -0
  1248. casadi/include/simde/arm/neon/and.h +552 -0
  1249. casadi/include/simde/arm/neon/bic.h +472 -0
  1250. casadi/include/simde/arm/neon/bsl.h +448 -0
  1251. casadi/include/simde/arm/neon/cagt.h +168 -0
  1252. casadi/include/simde/arm/neon/ceq.h +711 -0
  1253. casadi/include/simde/arm/neon/ceqz.h +335 -0
  1254. casadi/include/simde/arm/neon/cge.h +677 -0
  1255. casadi/include/simde/arm/neon/cgez.h +378 -0
  1256. casadi/include/simde/arm/neon/cgt.h +686 -0
  1257. casadi/include/simde/arm/neon/cgtz.h +380 -0
  1258. casadi/include/simde/arm/neon/cle.h +677 -0
  1259. casadi/include/simde/arm/neon/clez.h +378 -0
  1260. casadi/include/simde/arm/neon/cls.h +148 -0
  1261. casadi/include/simde/arm/neon/clt.h +679 -0
  1262. casadi/include/simde/arm/neon/cltz.h +263 -0
  1263. casadi/include/simde/arm/neon/clz.h +423 -0
  1264. casadi/include/simde/arm/neon/cnt.h +145 -0
  1265. casadi/include/simde/arm/neon/combine.h +343 -0
  1266. casadi/include/simde/arm/neon/create.h +186 -0
  1267. casadi/include/simde/arm/neon/cvt.h +492 -0
  1268. casadi/include/simde/arm/neon/dot.h +171 -0
  1269. casadi/include/simde/arm/neon/dot_lane.h +196 -0
  1270. casadi/include/simde/arm/neon/dup_lane.h +702 -0
  1271. casadi/include/simde/arm/neon/dup_n.h +534 -0
  1272. casadi/include/simde/arm/neon/eor.h +552 -0
  1273. casadi/include/simde/arm/neon/ext.h +887 -0
  1274. casadi/include/simde/arm/neon/get_high.h +260 -0
  1275. casadi/include/simde/arm/neon/get_lane.h +499 -0
  1276. casadi/include/simde/arm/neon/get_low.h +276 -0
  1277. casadi/include/simde/arm/neon/hadd.h +287 -0
  1278. casadi/include/simde/arm/neon/hsub.h +287 -0
  1279. casadi/include/simde/arm/neon/ld1.h +399 -0
  1280. casadi/include/simde/arm/neon/ld3.h +609 -0
  1281. casadi/include/simde/arm/neon/ld4.h +448 -0
  1282. casadi/include/simde/arm/neon/max.h +614 -0
  1283. casadi/include/simde/arm/neon/maxnm.h +215 -0
  1284. casadi/include/simde/arm/neon/maxv.h +400 -0
  1285. casadi/include/simde/arm/neon/min.h +660 -0
  1286. casadi/include/simde/arm/neon/minnm.h +215 -0
  1287. casadi/include/simde/arm/neon/minv.h +424 -0
  1288. casadi/include/simde/arm/neon/mla.h +530 -0
  1289. casadi/include/simde/arm/neon/mla_n.h +333 -0
  1290. casadi/include/simde/arm/neon/mlal.h +156 -0
  1291. casadi/include/simde/arm/neon/mlal_high.h +156 -0
  1292. casadi/include/simde/arm/neon/mlal_n.h +128 -0
  1293. casadi/include/simde/arm/neon/mls.h +264 -0
  1294. casadi/include/simde/arm/neon/mlsl.h +124 -0
  1295. casadi/include/simde/arm/neon/mlsl_high.h +124 -0
  1296. casadi/include/simde/arm/neon/mlsl_n.h +96 -0
  1297. casadi/include/simde/arm/neon/movl.h +208 -0
  1298. casadi/include/simde/arm/neon/movl_high.h +126 -0
  1299. casadi/include/simde/arm/neon/movn.h +195 -0
  1300. casadi/include/simde/arm/neon/movn_high.h +125 -0
  1301. casadi/include/simde/arm/neon/mul.h +594 -0
  1302. casadi/include/simde/arm/neon/mul_lane.h +472 -0
  1303. casadi/include/simde/arm/neon/mul_n.h +383 -0
  1304. casadi/include/simde/arm/neon/mull.h +236 -0
  1305. casadi/include/simde/arm/neon/mull_high.h +125 -0
  1306. casadi/include/simde/arm/neon/mull_n.h +158 -0
  1307. casadi/include/simde/arm/neon/mvn.h +426 -0
  1308. casadi/include/simde/arm/neon/neg.h +393 -0
  1309. casadi/include/simde/arm/neon/orn.h +505 -0
  1310. casadi/include/simde/arm/neon/orr.h +552 -0
  1311. casadi/include/simde/arm/neon/padal.h +211 -0
  1312. casadi/include/simde/arm/neon/padd.h +293 -0
  1313. casadi/include/simde/arm/neon/paddl.h +239 -0
  1314. casadi/include/simde/arm/neon/pmax.h +253 -0
  1315. casadi/include/simde/arm/neon/pmin.h +260 -0
  1316. casadi/include/simde/arm/neon/qabs.h +281 -0
  1317. casadi/include/simde/arm/neon/qadd.h +553 -0
  1318. casadi/include/simde/arm/neon/qdmulh.h +125 -0
  1319. casadi/include/simde/arm/neon/qdmull.h +125 -0
  1320. casadi/include/simde/arm/neon/qmovn.h +273 -0
  1321. casadi/include/simde/arm/neon/qmovn_high.h +127 -0
  1322. casadi/include/simde/arm/neon/qmovun.h +159 -0
  1323. casadi/include/simde/arm/neon/qneg.h +301 -0
  1324. casadi/include/simde/arm/neon/qrdmulh.h +165 -0
  1325. casadi/include/simde/arm/neon/qrdmulh_n.h +136 -0
  1326. casadi/include/simde/arm/neon/qshl.h +732 -0
  1327. casadi/include/simde/arm/neon/qsub.h +549 -0
  1328. casadi/include/simde/arm/neon/qtbl.h +455 -0
  1329. casadi/include/simde/arm/neon/qtbx.h +470 -0
  1330. casadi/include/simde/arm/neon/rbit.h +165 -0
  1331. casadi/include/simde/arm/neon/reinterpret.h +3101 -0
  1332. casadi/include/simde/arm/neon/rev16.h +137 -0
  1333. casadi/include/simde/arm/neon/rev32.h +235 -0
  1334. casadi/include/simde/arm/neon/rev64.h +358 -0
  1335. casadi/include/simde/arm/neon/rhadd.h +406 -0
  1336. casadi/include/simde/arm/neon/rnd.h +143 -0
  1337. casadi/include/simde/arm/neon/rndi.h +135 -0
  1338. casadi/include/simde/arm/neon/rndm.h +143 -0
  1339. casadi/include/simde/arm/neon/rndn.h +135 -0
  1340. casadi/include/simde/arm/neon/rndp.h +143 -0
  1341. casadi/include/simde/arm/neon/rshl.h +903 -0
  1342. casadi/include/simde/arm/neon/rshr_n.h +471 -0
  1343. casadi/include/simde/arm/neon/rsra_n.h +209 -0
  1344. casadi/include/simde/arm/neon/set_lane.h +422 -0
  1345. casadi/include/simde/arm/neon/shl.h +805 -0
  1346. casadi/include/simde/arm/neon/shl_n.h +560 -0
  1347. casadi/include/simde/arm/neon/shr_n.h +612 -0
  1348. casadi/include/simde/arm/neon/sra_n.h +202 -0
  1349. casadi/include/simde/arm/neon/st1.h +353 -0
  1350. casadi/include/simde/arm/neon/st1_lane.h +363 -0
  1351. casadi/include/simde/arm/neon/st3.h +426 -0
  1352. casadi/include/simde/arm/neon/st4.h +445 -0
  1353. casadi/include/simde/arm/neon/sub.h +659 -0
  1354. casadi/include/simde/arm/neon/subl.h +127 -0
  1355. casadi/include/simde/arm/neon/subw.h +221 -0
  1356. casadi/include/simde/arm/neon/subw_high.h +222 -0
  1357. casadi/include/simde/arm/neon/tbl.h +224 -0
  1358. casadi/include/simde/arm/neon/tbx.h +247 -0
  1359. casadi/include/simde/arm/neon/trn.h +252 -0
  1360. casadi/include/simde/arm/neon/trn1.h +500 -0
  1361. casadi/include/simde/arm/neon/trn2.h +499 -0
  1362. casadi/include/simde/arm/neon/tst.h +540 -0
  1363. casadi/include/simde/arm/neon/types.h +683 -0
  1364. casadi/include/simde/arm/neon/uqadd.h +325 -0
  1365. casadi/include/simde/arm/neon/uzp.h +252 -0
  1366. casadi/include/simde/arm/neon/uzp1.h +643 -0
  1367. casadi/include/simde/arm/neon/uzp2.h +647 -0
  1368. casadi/include/simde/arm/neon/zip.h +252 -0
  1369. casadi/include/simde/arm/neon/zip1.h +625 -0
  1370. casadi/include/simde/arm/neon/zip2.h +625 -0
  1371. casadi/include/simde/arm/neon.h +166 -0
  1372. casadi/include/simde/check.h +276 -0
  1373. casadi/include/simde/debug-trap.h +85 -0
  1374. casadi/include/simde/hedley.h +1971 -0
  1375. casadi/include/simde/simde-align.h +449 -0
  1376. casadi/include/simde/simde-arch.h +532 -0
  1377. casadi/include/simde/simde-common.h +890 -0
  1378. casadi/include/simde/simde-complex.h +148 -0
  1379. casadi/include/simde/simde-constify.h +397 -0
  1380. casadi/include/simde/simde-detect-clang.h +109 -0
  1381. casadi/include/simde/simde-diagnostic.h +428 -0
  1382. casadi/include/simde/simde-features.h +522 -0
  1383. casadi/include/simde/simde-math.h +1805 -0
  1384. casadi/include/simde/x86/avx.h +6193 -0
  1385. casadi/include/simde/x86/avx2.h +5660 -0
  1386. casadi/include/simde/x86/avx512/2intersect.h +250 -0
  1387. casadi/include/simde/x86/avx512/abs.h +562 -0
  1388. casadi/include/simde/x86/avx512/add.h +641 -0
  1389. casadi/include/simde/x86/avx512/adds.h +390 -0
  1390. casadi/include/simde/x86/avx512/and.h +305 -0
  1391. casadi/include/simde/x86/avx512/andnot.h +193 -0
  1392. casadi/include/simde/x86/avx512/avg.h +258 -0
  1393. casadi/include/simde/x86/avx512/blend.h +293 -0
  1394. casadi/include/simde/x86/avx512/broadcast.h +897 -0
  1395. casadi/include/simde/x86/avx512/cast.h +324 -0
  1396. casadi/include/simde/x86/avx512/cmp.h +587 -0
  1397. casadi/include/simde/x86/avx512/cmpeq.h +179 -0
  1398. casadi/include/simde/x86/avx512/cmpge.h +104 -0
  1399. casadi/include/simde/x86/avx512/cmpgt.h +189 -0
  1400. casadi/include/simde/x86/avx512/cmple.h +103 -0
  1401. casadi/include/simde/x86/avx512/cmplt.h +123 -0
  1402. casadi/include/simde/x86/avx512/copysign.h +86 -0
  1403. casadi/include/simde/x86/avx512/cvt.h +122 -0
  1404. casadi/include/simde/x86/avx512/cvts.h +723 -0
  1405. casadi/include/simde/x86/avx512/div.h +162 -0
  1406. casadi/include/simde/x86/avx512/extract.h +198 -0
  1407. casadi/include/simde/x86/avx512/fmadd.h +136 -0
  1408. casadi/include/simde/x86/avx512/fmsub.h +108 -0
  1409. casadi/include/simde/x86/avx512/fnmadd.h +108 -0
  1410. casadi/include/simde/x86/avx512/fnmsub.h +108 -0
  1411. casadi/include/simde/x86/avx512/insert.h +193 -0
  1412. casadi/include/simde/x86/avx512/kshift.h +152 -0
  1413. casadi/include/simde/x86/avx512/load.h +67 -0
  1414. casadi/include/simde/x86/avx512/loadu.h +113 -0
  1415. casadi/include/simde/x86/avx512/lzcnt.h +209 -0
  1416. casadi/include/simde/x86/avx512/madd.h +155 -0
  1417. casadi/include/simde/x86/avx512/maddubs.h +159 -0
  1418. casadi/include/simde/x86/avx512/max.h +587 -0
  1419. casadi/include/simde/x86/avx512/min.h +587 -0
  1420. casadi/include/simde/x86/avx512/mov.h +859 -0
  1421. casadi/include/simde/x86/avx512/mov_mask.h +372 -0
  1422. casadi/include/simde/x86/avx512/movm.h +460 -0
  1423. casadi/include/simde/x86/avx512/mul.h +279 -0
  1424. casadi/include/simde/x86/avx512/mulhi.h +65 -0
  1425. casadi/include/simde/x86/avx512/mulhrs.h +65 -0
  1426. casadi/include/simde/x86/avx512/mullo.h +117 -0
  1427. casadi/include/simde/x86/avx512/negate.h +88 -0
  1428. casadi/include/simde/x86/avx512/or.h +252 -0
  1429. casadi/include/simde/x86/avx512/packs.h +122 -0
  1430. casadi/include/simde/x86/avx512/packus.h +122 -0
  1431. casadi/include/simde/x86/avx512/permutex2var.h +1645 -0
  1432. casadi/include/simde/x86/avx512/permutexvar.h +1180 -0
  1433. casadi/include/simde/x86/avx512/sad.h +77 -0
  1434. casadi/include/simde/x86/avx512/set.h +477 -0
  1435. casadi/include/simde/x86/avx512/set1.h +331 -0
  1436. casadi/include/simde/x86/avx512/set4.h +140 -0
  1437. casadi/include/simde/x86/avx512/setone.h +66 -0
  1438. casadi/include/simde/x86/avx512/setr.h +144 -0
  1439. casadi/include/simde/x86/avx512/setr4.h +140 -0
  1440. casadi/include/simde/x86/avx512/setzero.h +90 -0
  1441. casadi/include/simde/x86/avx512/shuffle.h +176 -0
  1442. casadi/include/simde/x86/avx512/sll.h +247 -0
  1443. casadi/include/simde/x86/avx512/slli.h +179 -0
  1444. casadi/include/simde/x86/avx512/sllv.h +68 -0
  1445. casadi/include/simde/x86/avx512/sqrt.h +127 -0
  1446. casadi/include/simde/x86/avx512/sra.h +81 -0
  1447. casadi/include/simde/x86/avx512/srai.h +70 -0
  1448. casadi/include/simde/x86/avx512/srav.h +67 -0
  1449. casadi/include/simde/x86/avx512/srl.h +216 -0
  1450. casadi/include/simde/x86/avx512/srli.h +180 -0
  1451. casadi/include/simde/x86/avx512/srlv.h +282 -0
  1452. casadi/include/simde/x86/avx512/store.h +93 -0
  1453. casadi/include/simde/x86/avx512/storeu.h +93 -0
  1454. casadi/include/simde/x86/avx512/sub.h +351 -0
  1455. casadi/include/simde/x86/avx512/subs.h +222 -0
  1456. casadi/include/simde/x86/avx512/test.h +193 -0
  1457. casadi/include/simde/x86/avx512/types.h +380 -0
  1458. casadi/include/simde/x86/avx512/unpackhi.h +380 -0
  1459. casadi/include/simde/x86/avx512/unpacklo.h +104 -0
  1460. casadi/include/simde/x86/avx512/xor.h +263 -0
  1461. casadi/include/simde/x86/avx512/xorsign.h +72 -0
  1462. casadi/include/simde/x86/avx512.h +108 -0
  1463. casadi/include/simde/x86/clmul.h +414 -0
  1464. casadi/include/simde/x86/fma.h +724 -0
  1465. casadi/include/simde/x86/gfni.h +802 -0
  1466. casadi/include/simde/x86/mmx.h +2399 -0
  1467. casadi/include/simde/x86/sse.h +4471 -0
  1468. casadi/include/simde/x86/sse2.h +7389 -0
  1469. casadi/include/simde/x86/sse3.h +499 -0
  1470. casadi/include/simde/x86/sse4.1.h +2216 -0
  1471. casadi/include/simde/x86/sse4.2.h +347 -0
  1472. casadi/include/simde/x86/ssse3.h +1032 -0
  1473. casadi/include/simde/x86/svml.h +12139 -0
  1474. casadi/include/simde/x86/xop.h +3644 -0
  1475. casadi/include/superscs/cones.h +185 -0
  1476. casadi/include/superscs/constants.h +144 -0
  1477. casadi/include/superscs/cs.h +109 -0
  1478. casadi/include/superscs/ctrlc.h +77 -0
  1479. casadi/include/superscs/directions.h +125 -0
  1480. casadi/include/superscs/glbopts.h +240 -0
  1481. casadi/include/superscs/linAlg.h +437 -0
  1482. casadi/include/superscs/linSys.h +205 -0
  1483. casadi/include/superscs/linsys/amatrix.h +77 -0
  1484. casadi/include/superscs/linsys/common.h +49 -0
  1485. casadi/include/superscs/normalize.h +138 -0
  1486. casadi/include/superscs/scs.h +656 -0
  1487. casadi/include/superscs/scs_blas.h +79 -0
  1488. casadi/include/superscs/scs_parser.h +187 -0
  1489. casadi/include/superscs/unit_test_util.h +210 -0
  1490. casadi/include/superscs/util.h +354 -0
  1491. casadi/include/trlib/trlib_eigen_inverse.h +118 -0
  1492. casadi/include/trlib/trlib_krylov.h +493 -0
  1493. casadi/include/trlib/trlib_leftmost.h +181 -0
  1494. casadi/include/trlib/trlib_private.h +109 -0
  1495. casadi/include/trlib/trlib_quadratic_zero.h +57 -0
  1496. casadi/include/trlib/trlib_tri_factor.h +409 -0
  1497. casadi/include/trlib/trlib_types.h +36 -0
  1498. casadi/libCbc.la +35 -0
  1499. casadi/libCbc.so +0 -0
  1500. casadi/libCbc.so.3 +0 -0
  1501. casadi/libCbc.so.3.10.11 +0 -0
  1502. casadi/libCbcSolver.la +35 -0
  1503. casadi/libCbcSolver.so +0 -0
  1504. casadi/libCbcSolver.so.3 +0 -0
  1505. casadi/libCbcSolver.so.3.10.11 +0 -0
  1506. casadi/libCgl.la +35 -0
  1507. casadi/libCgl.so +0 -0
  1508. casadi/libCgl.so.1 +0 -0
  1509. casadi/libCgl.so.1.10.8 +0 -0
  1510. casadi/libClp.la +35 -0
  1511. casadi/libClp.so +0 -0
  1512. casadi/libClp.so.1 +0 -0
  1513. casadi/libClp.so.1.14.9 +0 -0
  1514. casadi/libClpSolver.la +35 -0
  1515. casadi/libClpSolver.so +0 -0
  1516. casadi/libClpSolver.so.1 +0 -0
  1517. casadi/libClpSolver.so.1.14.9 +0 -0
  1518. casadi/libCoinUtils.la +35 -0
  1519. casadi/libCoinUtils.so +0 -0
  1520. casadi/libCoinUtils.so.3 +0 -0
  1521. casadi/libCoinUtils.so.3.11.10 +0 -0
  1522. casadi/libOsi.la +35 -0
  1523. casadi/libOsi.so +0 -0
  1524. casadi/libOsi.so.1 +0 -0
  1525. casadi/libOsi.so.1.13.9 +0 -0
  1526. casadi/libOsiCbc.la +35 -0
  1527. casadi/libOsiCbc.so +0 -0
  1528. casadi/libOsiCbc.so.3 +0 -0
  1529. casadi/libOsiCbc.so.3.10.11 +0 -0
  1530. casadi/libOsiClp.la +35 -0
  1531. casadi/libOsiClp.so +0 -0
  1532. casadi/libOsiClp.so.1 +0 -0
  1533. casadi/libOsiClp.so.1.14.9 +0 -0
  1534. casadi/libOsiCommonTests.la +35 -0
  1535. casadi/libOsiCommonTests.so +0 -0
  1536. casadi/libOsiCommonTests.so.1 +0 -0
  1537. casadi/libOsiCommonTests.so.1.13.9 +0 -0
  1538. casadi/libalpaqa-dl-loader.so +0 -0
  1539. casadi/libalpaqa-dl-loader.so.1.0.0 +0 -0
  1540. casadi/libalpaqa.so +0 -0
  1541. casadi/libalpaqa.so.1.0.0 +0 -0
  1542. casadi/libbonmin.la +35 -0
  1543. casadi/libbonmin.so +0 -0
  1544. casadi/libbonmin.so.4 +0 -0
  1545. casadi/libbonmin.so.4.8.9 +0 -0
  1546. casadi/libcasadi-tp-openblas.so +0 -0
  1547. casadi/libcasadi-tp-openblas.so.0 +0 -0
  1548. casadi/libcasadi-tp-openblas.so.0.3 +0 -0
  1549. casadi/libcasadi.so +0 -0
  1550. casadi/libcasadi.so.3.7 +0 -0
  1551. casadi/libcasadi_archiver_libzip.so +0 -0
  1552. casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
  1553. casadi/libcasadi_conic_cbc.so +0 -0
  1554. casadi/libcasadi_conic_cbc.so.3.7 +0 -0
  1555. casadi/libcasadi_conic_clp.so +0 -0
  1556. casadi/libcasadi_conic_clp.so.3.7 +0 -0
  1557. casadi/libcasadi_conic_daqp.so +0 -0
  1558. casadi/libcasadi_conic_daqp.so.3.7 +0 -0
  1559. casadi/libcasadi_conic_gurobi.so +0 -0
  1560. casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
  1561. casadi/libcasadi_conic_highs.so +0 -0
  1562. casadi/libcasadi_conic_highs.so.3.7 +0 -0
  1563. casadi/libcasadi_conic_ipqp.so +0 -0
  1564. casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
  1565. casadi/libcasadi_conic_nlpsol.so +0 -0
  1566. casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
  1567. casadi/libcasadi_conic_osqp.so +0 -0
  1568. casadi/libcasadi_conic_osqp.so.3.7 +0 -0
  1569. casadi/libcasadi_conic_proxqp.so +0 -0
  1570. casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
  1571. casadi/libcasadi_conic_qpoases.so +0 -0
  1572. casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
  1573. casadi/libcasadi_conic_qrqp.so +0 -0
  1574. casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
  1575. casadi/libcasadi_conic_superscs.so +0 -0
  1576. casadi/libcasadi_conic_superscs.so.3.7 +0 -0
  1577. casadi/libcasadi_filesystem_ghc.so +0 -0
  1578. casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
  1579. casadi/libcasadi_importer_shell.so +0 -0
  1580. casadi/libcasadi_importer_shell.so.3.7 +0 -0
  1581. casadi/libcasadi_integrator_collocation.so +0 -0
  1582. casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
  1583. casadi/libcasadi_integrator_cvodes.so +0 -0
  1584. casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
  1585. casadi/libcasadi_integrator_idas.so +0 -0
  1586. casadi/libcasadi_integrator_idas.so.3.7 +0 -0
  1587. casadi/libcasadi_integrator_rk.so +0 -0
  1588. casadi/libcasadi_integrator_rk.so.3.7 +0 -0
  1589. casadi/libcasadi_interpolant_bspline.so +0 -0
  1590. casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
  1591. casadi/libcasadi_interpolant_linear.so +0 -0
  1592. casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
  1593. casadi/libcasadi_linsol_csparse.so +0 -0
  1594. casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
  1595. casadi/libcasadi_linsol_csparsecholesky.so +0 -0
  1596. casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
  1597. casadi/libcasadi_linsol_lapacklu.so +0 -0
  1598. casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
  1599. casadi/libcasadi_linsol_lapackqr.so +0 -0
  1600. casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
  1601. casadi/libcasadi_linsol_ldl.so +0 -0
  1602. casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
  1603. casadi/libcasadi_linsol_lsqr.so +0 -0
  1604. casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
  1605. casadi/libcasadi_linsol_ma27.so +0 -0
  1606. casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
  1607. casadi/libcasadi_linsol_mumps.so +0 -0
  1608. casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
  1609. casadi/libcasadi_linsol_qr.so +0 -0
  1610. casadi/libcasadi_linsol_qr.so.3.7 +0 -0
  1611. casadi/libcasadi_linsol_symbolicqr.so +0 -0
  1612. casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
  1613. casadi/libcasadi_linsol_tridiag.so +0 -0
  1614. casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
  1615. casadi/libcasadi_nlpsol_alpaqa.so +0 -0
  1616. casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
  1617. casadi/libcasadi_nlpsol_ampl.so +0 -0
  1618. casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
  1619. casadi/libcasadi_nlpsol_blocksqp.so +0 -0
  1620. casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
  1621. casadi/libcasadi_nlpsol_bonmin.so +0 -0
  1622. casadi/libcasadi_nlpsol_bonmin.so.3.7 +0 -0
  1623. casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
  1624. casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
  1625. casadi/libcasadi_nlpsol_ipopt.so +0 -0
  1626. casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
  1627. casadi/libcasadi_nlpsol_knitro.so +0 -0
  1628. casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
  1629. casadi/libcasadi_nlpsol_madnlp.so +0 -0
  1630. casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
  1631. casadi/libcasadi_nlpsol_qrsqp.so +0 -0
  1632. casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
  1633. casadi/libcasadi_nlpsol_scpgen.so +0 -0
  1634. casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
  1635. casadi/libcasadi_nlpsol_sleqp.so +0 -0
  1636. casadi/libcasadi_nlpsol_sleqp.so.3.7 +0 -0
  1637. casadi/libcasadi_nlpsol_snopt.so +0 -0
  1638. casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
  1639. casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
  1640. casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
  1641. casadi/libcasadi_nlpsol_worhp.so +0 -0
  1642. casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
  1643. casadi/libcasadi_rootfinder_fast_newton.so +0 -0
  1644. casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
  1645. casadi/libcasadi_rootfinder_kinsol.so +0 -0
  1646. casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
  1647. casadi/libcasadi_rootfinder_newton.so +0 -0
  1648. casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
  1649. casadi/libcasadi_rootfinder_nlpsol.so +0 -0
  1650. casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
  1651. casadi/libcasadi_sundials_common.so +0 -0
  1652. casadi/libcasadi_sundials_common.so.3.7 +0 -0
  1653. casadi/libcasadi_xmlfile_tinyxml.so +0 -0
  1654. casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
  1655. casadi/libcoinmetis.la +41 -0
  1656. casadi/libcoinmetis.so +0 -0
  1657. casadi/libcoinmetis.so.2 +0 -0
  1658. casadi/libcoinmetis.so.2.0.0 +0 -0
  1659. casadi/libcoinmumps.la +41 -0
  1660. casadi/libcoinmumps.so +0 -0
  1661. casadi/libcoinmumps.so.3 +0 -0
  1662. casadi/libcoinmumps.so.3.0.1 +0 -0
  1663. casadi/libdaqp.so +0 -0
  1664. casadi/libdaqpstat.a +0 -0
  1665. casadi/libgfortran-a8535147.so.5.0.0 +0 -0
  1666. casadi/libgurobi_adaptor.so +0 -0
  1667. casadi/libhighs.so +0 -0
  1668. casadi/libhighs.so.1 +0 -0
  1669. casadi/libhighs.so.1.10.0 +0 -0
  1670. casadi/libindirect.a +0 -0
  1671. casadi/libipopt.la +41 -0
  1672. casadi/libipopt.so +0 -0
  1673. casadi/libipopt.so.3 +0 -0
  1674. casadi/libipopt.so.3.14.11 +0 -0
  1675. casadi/liblinsys.a +0 -0
  1676. casadi/libmatlab_ipc.so +0 -0
  1677. casadi/libosqp.a +0 -0
  1678. casadi/libosqp.so +0 -0
  1679. casadi/libqdldl.a +0 -0
  1680. casadi/libqdldl.so +0 -0
  1681. casadi/libquadmath-e2ac3af2.so.0.0.0 +0 -0
  1682. casadi/libsipopt.la +41 -0
  1683. casadi/libsipopt.so +0 -0
  1684. casadi/libsipopt.so.3 +0 -0
  1685. casadi/libsipopt.so.3.14.11 +0 -0
  1686. casadi/libsleqp.so +0 -0
  1687. casadi/libsleqp.so.1.0.1 +0 -0
  1688. casadi/libspral.a +0 -0
  1689. casadi/libsuperscs.a +0 -0
  1690. casadi/libtrlib.so +0 -0
  1691. casadi/libtrlib.so.0.4 +0 -0
  1692. casadi/libz.a +0 -0
  1693. casadi/libz.so +0 -0
  1694. casadi/libz.so.1 +0 -0
  1695. casadi/libz.so.1.3.1 +0 -0
  1696. casadi/libzip.a +0 -0
  1697. casadi/pkgconfig/blas.pc +11 -0
  1698. casadi/pkgconfig/bonmin.pc +12 -0
  1699. casadi/pkgconfig/casadi.pc +12 -0
  1700. casadi/pkgconfig/cbc.pc +12 -0
  1701. casadi/pkgconfig/cgl.pc +12 -0
  1702. casadi/pkgconfig/clp.pc +12 -0
  1703. casadi/pkgconfig/coinmetis.pc +13 -0
  1704. casadi/pkgconfig/coinmumps.pc +15 -0
  1705. casadi/pkgconfig/coinutils.pc +12 -0
  1706. casadi/pkgconfig/highs.pc +12 -0
  1707. casadi/pkgconfig/ipopt.pc +15 -0
  1708. casadi/pkgconfig/lapack.pc +11 -0
  1709. casadi/pkgconfig/libzip.pc +14 -0
  1710. casadi/pkgconfig/openblas.pc +11 -0
  1711. casadi/pkgconfig/osi-cbc.pc +12 -0
  1712. casadi/pkgconfig/osi-clp.pc +12 -0
  1713. casadi/pkgconfig/osi-unittests.pc +12 -0
  1714. casadi/pkgconfig/osi.pc +12 -0
  1715. casadi/pkgconfig/proxsuite.pc +22 -0
  1716. casadi/pkgconfig/sleqp.pc +10 -0
  1717. casadi/tools/__init__.py +54 -0
  1718. casadi/tools/bounds.py +107 -0
  1719. casadi/tools/graph/__init__.py +35 -0
  1720. casadi/tools/graph/graph.py +747 -0
  1721. casadi/tools/in_out.py +89 -0
  1722. casadi/tools/structure3.py +1441 -0
  1723. casadi-3.7.2.dist-info/METADATA +45 -0
  1724. casadi-3.7.2.dist-info/RECORD +1726 -0
  1725. casadi-3.7.2.dist-info/WHEEL +4 -0
  1726. dummy.txt +1 -0
@@ -0,0 +1,1442 @@
1
+ // This file is part of Eigen, a lightweight C++ template library
2
+ // for linear algebra.
3
+ //
4
+ // Copyright (C) 2008-2010 Gael Guennebaud <gael.guennebaud@inria.fr>
5
+ // Copyright (C) 2006-2010 Benoit Jacob <jacob.benoit.1@gmail.com>
6
+ //
7
+ // This Source Code Form is subject to the terms of the Mozilla
8
+ // Public License v. 2.0. If a copy of the MPL was not distributed
9
+ // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
10
+
11
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
12
+
13
+ /// \internal expression type of a column */
14
+ typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> ColXpr;
15
+ typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, 1, !IsRowMajor> ConstColXpr;
16
+ /// \internal expression type of a row */
17
+ typedef Block<Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> RowXpr;
18
+ typedef const Block<const Derived, 1, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> ConstRowXpr;
19
+ /// \internal expression type of a block of whole columns */
20
+ typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> ColsBlockXpr;
21
+ typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, Dynamic, !IsRowMajor> ConstColsBlockXpr;
22
+ /// \internal expression type of a block of whole rows */
23
+ typedef Block<Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> RowsBlockXpr;
24
+ typedef const Block<const Derived, Dynamic, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> ConstRowsBlockXpr;
25
+ /// \internal expression type of a block of whole columns */
26
+ template<int N> struct NColsBlockXpr { typedef Block<Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor> Type; };
27
+ template<int N> struct ConstNColsBlockXpr { typedef const Block<const Derived, internal::traits<Derived>::RowsAtCompileTime, N, !IsRowMajor> Type; };
28
+ /// \internal expression type of a block of whole rows */
29
+ template<int N> struct NRowsBlockXpr { typedef Block<Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Type; };
30
+ template<int N> struct ConstNRowsBlockXpr { typedef const Block<const Derived, N, internal::traits<Derived>::ColsAtCompileTime, IsRowMajor> Type; };
31
+ /// \internal expression of a block */
32
+ typedef Block<Derived> BlockXpr;
33
+ typedef const Block<const Derived> ConstBlockXpr;
34
+ /// \internal expression of a block of fixed sizes */
35
+ template<int Rows, int Cols> struct FixedBlockXpr { typedef Block<Derived,Rows,Cols> Type; };
36
+ template<int Rows, int Cols> struct ConstFixedBlockXpr { typedef Block<const Derived,Rows,Cols> Type; };
37
+
38
+ typedef VectorBlock<Derived> SegmentReturnType;
39
+ typedef const VectorBlock<const Derived> ConstSegmentReturnType;
40
+ template<int Size> struct FixedSegmentReturnType { typedef VectorBlock<Derived, Size> Type; };
41
+ template<int Size> struct ConstFixedSegmentReturnType { typedef const VectorBlock<const Derived, Size> Type; };
42
+
43
+ /// \internal inner-vector
44
+ typedef Block<Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> InnerVectorReturnType;
45
+ typedef Block<const Derived,IsRowMajor?1:Dynamic,IsRowMajor?Dynamic:1,true> ConstInnerVectorReturnType;
46
+
47
+ /// \internal set of inner-vectors
48
+ typedef Block<Derived,Dynamic,Dynamic,true> InnerVectorsReturnType;
49
+ typedef Block<const Derived,Dynamic,Dynamic,true> ConstInnerVectorsReturnType;
50
+
51
+ #endif // not EIGEN_PARSED_BY_DOXYGEN
52
+
53
+ /// \returns an expression of a block in \c *this with either dynamic or fixed sizes.
54
+ ///
55
+ /// \param startRow the first row in the block
56
+ /// \param startCol the first column in the block
57
+ /// \param blockRows number of rows in the block, specified at either run-time or compile-time
58
+ /// \param blockCols number of columns in the block, specified at either run-time or compile-time
59
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
60
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
61
+ ///
62
+ /// Example using runtime (aka dynamic) sizes: \include MatrixBase_block_int_int_int_int.cpp
63
+ /// Output: \verbinclude MatrixBase_block_int_int_int_int.out
64
+ ///
65
+ /// \newin{3.4}:
66
+ ///
67
+ /// The number of rows \a blockRows and columns \a blockCols can also be specified at compile-time by passing Eigen::fix<N>,
68
+ /// or Eigen::fix<N>(n) as arguments. In the later case, \c n plays the role of a runtime fallback value in case \c N equals Eigen::Dynamic.
69
+ /// Here is an example with a fixed number of rows \c NRows and dynamic number of columns \c cols:
70
+ /// \code
71
+ /// mat.block(i,j,fix<NRows>,cols)
72
+ /// \endcode
73
+ ///
74
+ /// This function thus fully covers the features offered by the following overloads block<NRows,NCols>(Index, Index),
75
+ /// and block<NRows,NCols>(Index, Index, Index, Index) that are thus obsolete. Indeed, this generic version avoids
76
+ /// redundancy, it preserves the argument order, and prevents the need to rely on the template keyword in templated code.
77
+ ///
78
+ /// but with less redundancy and more consistency as it does not modify the argument order
79
+ /// and seamlessly enable hybrid fixed/dynamic sizes.
80
+ ///
81
+ /// \note Even in the case that the returned expression has dynamic size, in the case
82
+ /// when it is applied to a fixed-size matrix, it inherits a fixed maximal size,
83
+ /// which means that evaluating it does not cause a dynamic memory allocation.
84
+ ///
85
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
86
+ ///
87
+ /// \sa class Block, fix, fix<N>(int)
88
+ ///
89
+ template<typename NRowsType, typename NColsType>
90
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
91
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
92
+ typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
93
+ #else
94
+ typename FixedBlockXpr<...,...>::Type
95
+ #endif
96
+ block(Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols)
97
+ {
98
+ return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type(
99
+ derived(), startRow, startCol, internal::get_runtime_value(blockRows), internal::get_runtime_value(blockCols));
100
+ }
101
+
102
+ /// This is the const version of block(Index,Index,NRowsType,NColsType)
103
+ template<typename NRowsType, typename NColsType>
104
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
105
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
106
+ const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
107
+ #else
108
+ const typename ConstFixedBlockXpr<...,...>::Type
109
+ #endif
110
+ block(Index startRow, Index startCol, NRowsType blockRows, NColsType blockCols) const
111
+ {
112
+ return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type(
113
+ derived(), startRow, startCol, internal::get_runtime_value(blockRows), internal::get_runtime_value(blockCols));
114
+ }
115
+
116
+
117
+
118
+ /// \returns a expression of a top-right corner of \c *this with either dynamic or fixed sizes.
119
+ ///
120
+ /// \param cRows the number of rows in the corner
121
+ /// \param cCols the number of columns in the corner
122
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
123
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
124
+ ///
125
+ /// Example with dynamic sizes: \include MatrixBase_topRightCorner_int_int.cpp
126
+ /// Output: \verbinclude MatrixBase_topRightCorner_int_int.out
127
+ ///
128
+ /// The number of rows \a blockRows and columns \a blockCols can also be specified at compile-time by passing Eigen::fix<N>,
129
+ /// or Eigen::fix<N>(n) as arguments. See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
130
+ ///
131
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
132
+ ///
133
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
134
+ ///
135
+ template<typename NRowsType, typename NColsType>
136
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
137
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
138
+ typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
139
+ #else
140
+ typename FixedBlockXpr<...,...>::Type
141
+ #endif
142
+ topRightCorner(NRowsType cRows, NColsType cCols)
143
+ {
144
+ return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
145
+ (derived(), 0, cols() - internal::get_runtime_value(cCols), internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
146
+ }
147
+
148
+ /// This is the const version of topRightCorner(NRowsType, NColsType).
149
+ template<typename NRowsType, typename NColsType>
150
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
151
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
152
+ const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
153
+ #else
154
+ const typename ConstFixedBlockXpr<...,...>::Type
155
+ #endif
156
+ topRightCorner(NRowsType cRows, NColsType cCols) const
157
+ {
158
+ return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
159
+ (derived(), 0, cols() - internal::get_runtime_value(cCols), internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
160
+ }
161
+
162
+ /// \returns an expression of a fixed-size top-right corner of \c *this.
163
+ ///
164
+ /// \tparam CRows the number of rows in the corner
165
+ /// \tparam CCols the number of columns in the corner
166
+ ///
167
+ /// Example: \include MatrixBase_template_int_int_topRightCorner.cpp
168
+ /// Output: \verbinclude MatrixBase_template_int_int_topRightCorner.out
169
+ ///
170
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
171
+ ///
172
+ /// \sa class Block, block<int,int>(Index,Index)
173
+ ///
174
+ template<int CRows, int CCols>
175
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
176
+ typename FixedBlockXpr<CRows,CCols>::Type topRightCorner()
177
+ {
178
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), 0, cols() - CCols);
179
+ }
180
+
181
+ /// This is the const version of topRightCorner<int, int>().
182
+ template<int CRows, int CCols>
183
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
184
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type topRightCorner() const
185
+ {
186
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), 0, cols() - CCols);
187
+ }
188
+
189
+ /// \returns an expression of a top-right corner of \c *this.
190
+ ///
191
+ /// \tparam CRows number of rows in corner as specified at compile-time
192
+ /// \tparam CCols number of columns in corner as specified at compile-time
193
+ /// \param cRows number of rows in corner as specified at run-time
194
+ /// \param cCols number of columns in corner as specified at run-time
195
+ ///
196
+ /// This function is mainly useful for corners where the number of rows is specified at compile-time
197
+ /// and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
198
+ /// information should not contradict. In other words, \a cRows should equal \a CRows unless
199
+ /// \a CRows is \a Dynamic, and the same for the number of columns.
200
+ ///
201
+ /// Example: \include MatrixBase_template_int_int_topRightCorner_int_int.cpp
202
+ /// Output: \verbinclude MatrixBase_template_int_int_topRightCorner_int_int.out
203
+ ///
204
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
205
+ ///
206
+ /// \sa class Block
207
+ ///
208
+ template<int CRows, int CCols>
209
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
210
+ typename FixedBlockXpr<CRows,CCols>::Type topRightCorner(Index cRows, Index cCols)
211
+ {
212
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), 0, cols() - cCols, cRows, cCols);
213
+ }
214
+
215
+ /// This is the const version of topRightCorner<int, int>(Index, Index).
216
+ template<int CRows, int CCols>
217
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
218
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type topRightCorner(Index cRows, Index cCols) const
219
+ {
220
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), 0, cols() - cCols, cRows, cCols);
221
+ }
222
+
223
+
224
+
225
+ /// \returns an expression of a top-left corner of \c *this with either dynamic or fixed sizes.
226
+ ///
227
+ /// \param cRows the number of rows in the corner
228
+ /// \param cCols the number of columns in the corner
229
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
230
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
231
+ ///
232
+ /// Example: \include MatrixBase_topLeftCorner_int_int.cpp
233
+ /// Output: \verbinclude MatrixBase_topLeftCorner_int_int.out
234
+ ///
235
+ /// The number of rows \a blockRows and columns \a blockCols can also be specified at compile-time by passing Eigen::fix<N>,
236
+ /// or Eigen::fix<N>(n) as arguments. See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
237
+ ///
238
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
239
+ ///
240
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
241
+ ///
242
+ template<typename NRowsType, typename NColsType>
243
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
244
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
245
+ typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
246
+ #else
247
+ typename FixedBlockXpr<...,...>::Type
248
+ #endif
249
+ topLeftCorner(NRowsType cRows, NColsType cCols)
250
+ {
251
+ return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
252
+ (derived(), 0, 0, internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
253
+ }
254
+
255
+ /// This is the const version of topLeftCorner(Index, Index).
256
+ template<typename NRowsType, typename NColsType>
257
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
258
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
259
+ const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
260
+ #else
261
+ const typename ConstFixedBlockXpr<...,...>::Type
262
+ #endif
263
+ topLeftCorner(NRowsType cRows, NColsType cCols) const
264
+ {
265
+ return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
266
+ (derived(), 0, 0, internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
267
+ }
268
+
269
+ /// \returns an expression of a fixed-size top-left corner of \c *this.
270
+ ///
271
+ /// The template parameters CRows and CCols are the number of rows and columns in the corner.
272
+ ///
273
+ /// Example: \include MatrixBase_template_int_int_topLeftCorner.cpp
274
+ /// Output: \verbinclude MatrixBase_template_int_int_topLeftCorner.out
275
+ ///
276
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
277
+ ///
278
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
279
+ ///
280
+ template<int CRows, int CCols>
281
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
282
+ typename FixedBlockXpr<CRows,CCols>::Type topLeftCorner()
283
+ {
284
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), 0, 0);
285
+ }
286
+
287
+ /// This is the const version of topLeftCorner<int, int>().
288
+ template<int CRows, int CCols>
289
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
290
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type topLeftCorner() const
291
+ {
292
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), 0, 0);
293
+ }
294
+
295
+ /// \returns an expression of a top-left corner of \c *this.
296
+ ///
297
+ /// \tparam CRows number of rows in corner as specified at compile-time
298
+ /// \tparam CCols number of columns in corner as specified at compile-time
299
+ /// \param cRows number of rows in corner as specified at run-time
300
+ /// \param cCols number of columns in corner as specified at run-time
301
+ ///
302
+ /// This function is mainly useful for corners where the number of rows is specified at compile-time
303
+ /// and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
304
+ /// information should not contradict. In other words, \a cRows should equal \a CRows unless
305
+ /// \a CRows is \a Dynamic, and the same for the number of columns.
306
+ ///
307
+ /// Example: \include MatrixBase_template_int_int_topLeftCorner_int_int.cpp
308
+ /// Output: \verbinclude MatrixBase_template_int_int_topLeftCorner_int_int.out
309
+ ///
310
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
311
+ ///
312
+ /// \sa class Block
313
+ ///
314
+ template<int CRows, int CCols>
315
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
316
+ typename FixedBlockXpr<CRows,CCols>::Type topLeftCorner(Index cRows, Index cCols)
317
+ {
318
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), 0, 0, cRows, cCols);
319
+ }
320
+
321
+ /// This is the const version of topLeftCorner<int, int>(Index, Index).
322
+ template<int CRows, int CCols>
323
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
324
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type topLeftCorner(Index cRows, Index cCols) const
325
+ {
326
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), 0, 0, cRows, cCols);
327
+ }
328
+
329
+
330
+
331
+ /// \returns an expression of a bottom-right corner of \c *this with either dynamic or fixed sizes.
332
+ ///
333
+ /// \param cRows the number of rows in the corner
334
+ /// \param cCols the number of columns in the corner
335
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
336
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
337
+ ///
338
+ /// Example: \include MatrixBase_bottomRightCorner_int_int.cpp
339
+ /// Output: \verbinclude MatrixBase_bottomRightCorner_int_int.out
340
+ ///
341
+ /// The number of rows \a blockRows and columns \a blockCols can also be specified at compile-time by passing Eigen::fix<N>,
342
+ /// or Eigen::fix<N>(n) as arguments. See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
343
+ ///
344
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
345
+ ///
346
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
347
+ ///
348
+ template<typename NRowsType, typename NColsType>
349
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
350
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
351
+ typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
352
+ #else
353
+ typename FixedBlockXpr<...,...>::Type
354
+ #endif
355
+ bottomRightCorner(NRowsType cRows, NColsType cCols)
356
+ {
357
+ return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
358
+ (derived(), rows() - internal::get_runtime_value(cRows), cols() - internal::get_runtime_value(cCols),
359
+ internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
360
+ }
361
+
362
+ /// This is the const version of bottomRightCorner(NRowsType, NColsType).
363
+ template<typename NRowsType, typename NColsType>
364
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
365
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
366
+ const typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
367
+ #else
368
+ const typename ConstFixedBlockXpr<...,...>::Type
369
+ #endif
370
+ bottomRightCorner(NRowsType cRows, NColsType cCols) const
371
+ {
372
+ return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
373
+ (derived(), rows() - internal::get_runtime_value(cRows), cols() - internal::get_runtime_value(cCols),
374
+ internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
375
+ }
376
+
377
+ /// \returns an expression of a fixed-size bottom-right corner of \c *this.
378
+ ///
379
+ /// The template parameters CRows and CCols are the number of rows and columns in the corner.
380
+ ///
381
+ /// Example: \include MatrixBase_template_int_int_bottomRightCorner.cpp
382
+ /// Output: \verbinclude MatrixBase_template_int_int_bottomRightCorner.out
383
+ ///
384
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
385
+ ///
386
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
387
+ ///
388
+ template<int CRows, int CCols>
389
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
390
+ typename FixedBlockXpr<CRows,CCols>::Type bottomRightCorner()
391
+ {
392
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), rows() - CRows, cols() - CCols);
393
+ }
394
+
395
+ /// This is the const version of bottomRightCorner<int, int>().
396
+ template<int CRows, int CCols>
397
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
398
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type bottomRightCorner() const
399
+ {
400
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), rows() - CRows, cols() - CCols);
401
+ }
402
+
403
+ /// \returns an expression of a bottom-right corner of \c *this.
404
+ ///
405
+ /// \tparam CRows number of rows in corner as specified at compile-time
406
+ /// \tparam CCols number of columns in corner as specified at compile-time
407
+ /// \param cRows number of rows in corner as specified at run-time
408
+ /// \param cCols number of columns in corner as specified at run-time
409
+ ///
410
+ /// This function is mainly useful for corners where the number of rows is specified at compile-time
411
+ /// and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
412
+ /// information should not contradict. In other words, \a cRows should equal \a CRows unless
413
+ /// \a CRows is \a Dynamic, and the same for the number of columns.
414
+ ///
415
+ /// Example: \include MatrixBase_template_int_int_bottomRightCorner_int_int.cpp
416
+ /// Output: \verbinclude MatrixBase_template_int_int_bottomRightCorner_int_int.out
417
+ ///
418
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
419
+ ///
420
+ /// \sa class Block
421
+ ///
422
+ template<int CRows, int CCols>
423
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
424
+ typename FixedBlockXpr<CRows,CCols>::Type bottomRightCorner(Index cRows, Index cCols)
425
+ {
426
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
427
+ }
428
+
429
+ /// This is the const version of bottomRightCorner<int, int>(Index, Index).
430
+ template<int CRows, int CCols>
431
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
432
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type bottomRightCorner(Index cRows, Index cCols) const
433
+ {
434
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), rows() - cRows, cols() - cCols, cRows, cCols);
435
+ }
436
+
437
+
438
+
439
+ /// \returns an expression of a bottom-left corner of \c *this with either dynamic or fixed sizes.
440
+ ///
441
+ /// \param cRows the number of rows in the corner
442
+ /// \param cCols the number of columns in the corner
443
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
444
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
445
+ ///
446
+ /// Example: \include MatrixBase_bottomLeftCorner_int_int.cpp
447
+ /// Output: \verbinclude MatrixBase_bottomLeftCorner_int_int.out
448
+ ///
449
+ /// The number of rows \a blockRows and columns \a blockCols can also be specified at compile-time by passing Eigen::fix<N>,
450
+ /// or Eigen::fix<N>(n) as arguments. See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
451
+ ///
452
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
453
+ ///
454
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
455
+ ///
456
+ template<typename NRowsType, typename NColsType>
457
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
458
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
459
+ typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
460
+ #else
461
+ typename FixedBlockXpr<...,...>::Type
462
+ #endif
463
+ bottomLeftCorner(NRowsType cRows, NColsType cCols)
464
+ {
465
+ return typename FixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
466
+ (derived(), rows() - internal::get_runtime_value(cRows), 0,
467
+ internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
468
+ }
469
+
470
+ /// This is the const version of bottomLeftCorner(NRowsType, NColsType).
471
+ template<typename NRowsType, typename NColsType>
472
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
473
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
474
+ typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
475
+ #else
476
+ typename ConstFixedBlockXpr<...,...>::Type
477
+ #endif
478
+ bottomLeftCorner(NRowsType cRows, NColsType cCols) const
479
+ {
480
+ return typename ConstFixedBlockXpr<internal::get_fixed_value<NRowsType>::value,internal::get_fixed_value<NColsType>::value>::Type
481
+ (derived(), rows() - internal::get_runtime_value(cRows), 0,
482
+ internal::get_runtime_value(cRows), internal::get_runtime_value(cCols));
483
+ }
484
+
485
+ /// \returns an expression of a fixed-size bottom-left corner of \c *this.
486
+ ///
487
+ /// The template parameters CRows and CCols are the number of rows and columns in the corner.
488
+ ///
489
+ /// Example: \include MatrixBase_template_int_int_bottomLeftCorner.cpp
490
+ /// Output: \verbinclude MatrixBase_template_int_int_bottomLeftCorner.out
491
+ ///
492
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
493
+ ///
494
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
495
+ ///
496
+ template<int CRows, int CCols>
497
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
498
+ typename FixedBlockXpr<CRows,CCols>::Type bottomLeftCorner()
499
+ {
500
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), rows() - CRows, 0);
501
+ }
502
+
503
+ /// This is the const version of bottomLeftCorner<int, int>().
504
+ template<int CRows, int CCols>
505
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
506
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type bottomLeftCorner() const
507
+ {
508
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), rows() - CRows, 0);
509
+ }
510
+
511
+ /// \returns an expression of a bottom-left corner of \c *this.
512
+ ///
513
+ /// \tparam CRows number of rows in corner as specified at compile-time
514
+ /// \tparam CCols number of columns in corner as specified at compile-time
515
+ /// \param cRows number of rows in corner as specified at run-time
516
+ /// \param cCols number of columns in corner as specified at run-time
517
+ ///
518
+ /// This function is mainly useful for corners where the number of rows is specified at compile-time
519
+ /// and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
520
+ /// information should not contradict. In other words, \a cRows should equal \a CRows unless
521
+ /// \a CRows is \a Dynamic, and the same for the number of columns.
522
+ ///
523
+ /// Example: \include MatrixBase_template_int_int_bottomLeftCorner_int_int.cpp
524
+ /// Output: \verbinclude MatrixBase_template_int_int_bottomLeftCorner_int_int.out
525
+ ///
526
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
527
+ ///
528
+ /// \sa class Block
529
+ ///
530
+ template<int CRows, int CCols>
531
+ EIGEN_STRONG_INLINE
532
+ typename FixedBlockXpr<CRows,CCols>::Type bottomLeftCorner(Index cRows, Index cCols)
533
+ {
534
+ return typename FixedBlockXpr<CRows,CCols>::Type(derived(), rows() - cRows, 0, cRows, cCols);
535
+ }
536
+
537
+ /// This is the const version of bottomLeftCorner<int, int>(Index, Index).
538
+ template<int CRows, int CCols>
539
+ EIGEN_STRONG_INLINE
540
+ const typename ConstFixedBlockXpr<CRows,CCols>::Type bottomLeftCorner(Index cRows, Index cCols) const
541
+ {
542
+ return typename ConstFixedBlockXpr<CRows,CCols>::Type(derived(), rows() - cRows, 0, cRows, cCols);
543
+ }
544
+
545
+
546
+
547
+ /// \returns a block consisting of the top rows of \c *this.
548
+ ///
549
+ /// \param n the number of rows in the block
550
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
551
+ ///
552
+ /// Example: \include MatrixBase_topRows_int.cpp
553
+ /// Output: \verbinclude MatrixBase_topRows_int.out
554
+ ///
555
+ /// The number of rows \a n can also be specified at compile-time by passing Eigen::fix<N>,
556
+ /// or Eigen::fix<N>(n) as arguments.
557
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
558
+ ///
559
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
560
+ ///
561
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
562
+ ///
563
+ template<typename NRowsType>
564
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
565
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
566
+ typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
567
+ #else
568
+ typename NRowsBlockXpr<...>::Type
569
+ #endif
570
+ topRows(NRowsType n)
571
+ {
572
+ return typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
573
+ (derived(), 0, 0, internal::get_runtime_value(n), cols());
574
+ }
575
+
576
+ /// This is the const version of topRows(NRowsType).
577
+ template<typename NRowsType>
578
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
579
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
580
+ const typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
581
+ #else
582
+ const typename ConstNRowsBlockXpr<...>::Type
583
+ #endif
584
+ topRows(NRowsType n) const
585
+ {
586
+ return typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
587
+ (derived(), 0, 0, internal::get_runtime_value(n), cols());
588
+ }
589
+
590
+ /// \returns a block consisting of the top rows of \c *this.
591
+ ///
592
+ /// \tparam N the number of rows in the block as specified at compile-time
593
+ /// \param n the number of rows in the block as specified at run-time
594
+ ///
595
+ /// The compile-time and run-time information should not contradict. In other words,
596
+ /// \a n should equal \a N unless \a N is \a Dynamic.
597
+ ///
598
+ /// Example: \include MatrixBase_template_int_topRows.cpp
599
+ /// Output: \verbinclude MatrixBase_template_int_topRows.out
600
+ ///
601
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
602
+ ///
603
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
604
+ ///
605
+ template<int N>
606
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
607
+ typename NRowsBlockXpr<N>::Type topRows(Index n = N)
608
+ {
609
+ return typename NRowsBlockXpr<N>::Type(derived(), 0, 0, n, cols());
610
+ }
611
+
612
+ /// This is the const version of topRows<int>().
613
+ template<int N>
614
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
615
+ typename ConstNRowsBlockXpr<N>::Type topRows(Index n = N) const
616
+ {
617
+ return typename ConstNRowsBlockXpr<N>::Type(derived(), 0, 0, n, cols());
618
+ }
619
+
620
+
621
+
622
+ /// \returns a block consisting of the bottom rows of \c *this.
623
+ ///
624
+ /// \param n the number of rows in the block
625
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
626
+ ///
627
+ /// Example: \include MatrixBase_bottomRows_int.cpp
628
+ /// Output: \verbinclude MatrixBase_bottomRows_int.out
629
+ ///
630
+ /// The number of rows \a n can also be specified at compile-time by passing Eigen::fix<N>,
631
+ /// or Eigen::fix<N>(n) as arguments.
632
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
633
+ ///
634
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
635
+ ///
636
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
637
+ ///
638
+ template<typename NRowsType>
639
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
640
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
641
+ typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
642
+ #else
643
+ typename NRowsBlockXpr<...>::Type
644
+ #endif
645
+ bottomRows(NRowsType n)
646
+ {
647
+ return typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
648
+ (derived(), rows() - internal::get_runtime_value(n), 0, internal::get_runtime_value(n), cols());
649
+ }
650
+
651
+ /// This is the const version of bottomRows(NRowsType).
652
+ template<typename NRowsType>
653
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
654
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
655
+ const typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
656
+ #else
657
+ const typename ConstNRowsBlockXpr<...>::Type
658
+ #endif
659
+ bottomRows(NRowsType n) const
660
+ {
661
+ return typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
662
+ (derived(), rows() - internal::get_runtime_value(n), 0, internal::get_runtime_value(n), cols());
663
+ }
664
+
665
+ /// \returns a block consisting of the bottom rows of \c *this.
666
+ ///
667
+ /// \tparam N the number of rows in the block as specified at compile-time
668
+ /// \param n the number of rows in the block as specified at run-time
669
+ ///
670
+ /// The compile-time and run-time information should not contradict. In other words,
671
+ /// \a n should equal \a N unless \a N is \a Dynamic.
672
+ ///
673
+ /// Example: \include MatrixBase_template_int_bottomRows.cpp
674
+ /// Output: \verbinclude MatrixBase_template_int_bottomRows.out
675
+ ///
676
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
677
+ ///
678
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
679
+ ///
680
+ template<int N>
681
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
682
+ typename NRowsBlockXpr<N>::Type bottomRows(Index n = N)
683
+ {
684
+ return typename NRowsBlockXpr<N>::Type(derived(), rows() - n, 0, n, cols());
685
+ }
686
+
687
+ /// This is the const version of bottomRows<int>().
688
+ template<int N>
689
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
690
+ typename ConstNRowsBlockXpr<N>::Type bottomRows(Index n = N) const
691
+ {
692
+ return typename ConstNRowsBlockXpr<N>::Type(derived(), rows() - n, 0, n, cols());
693
+ }
694
+
695
+
696
+
697
+ /// \returns a block consisting of a range of rows of \c *this.
698
+ ///
699
+ /// \param startRow the index of the first row in the block
700
+ /// \param n the number of rows in the block
701
+ /// \tparam NRowsType the type of the value handling the number of rows in the block, typically Index.
702
+ ///
703
+ /// Example: \include DenseBase_middleRows_int.cpp
704
+ /// Output: \verbinclude DenseBase_middleRows_int.out
705
+ ///
706
+ /// The number of rows \a n can also be specified at compile-time by passing Eigen::fix<N>,
707
+ /// or Eigen::fix<N>(n) as arguments.
708
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
709
+ ///
710
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
711
+ ///
712
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
713
+ ///
714
+ template<typename NRowsType>
715
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
716
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
717
+ typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
718
+ #else
719
+ typename NRowsBlockXpr<...>::Type
720
+ #endif
721
+ middleRows(Index startRow, NRowsType n)
722
+ {
723
+ return typename NRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
724
+ (derived(), startRow, 0, internal::get_runtime_value(n), cols());
725
+ }
726
+
727
+ /// This is the const version of middleRows(Index,NRowsType).
728
+ template<typename NRowsType>
729
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
730
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
731
+ const typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
732
+ #else
733
+ const typename ConstNRowsBlockXpr<...>::Type
734
+ #endif
735
+ middleRows(Index startRow, NRowsType n) const
736
+ {
737
+ return typename ConstNRowsBlockXpr<internal::get_fixed_value<NRowsType>::value>::Type
738
+ (derived(), startRow, 0, internal::get_runtime_value(n), cols());
739
+ }
740
+
741
+ /// \returns a block consisting of a range of rows of \c *this.
742
+ ///
743
+ /// \tparam N the number of rows in the block as specified at compile-time
744
+ /// \param startRow the index of the first row in the block
745
+ /// \param n the number of rows in the block as specified at run-time
746
+ ///
747
+ /// The compile-time and run-time information should not contradict. In other words,
748
+ /// \a n should equal \a N unless \a N is \a Dynamic.
749
+ ///
750
+ /// Example: \include DenseBase_template_int_middleRows.cpp
751
+ /// Output: \verbinclude DenseBase_template_int_middleRows.out
752
+ ///
753
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
754
+ ///
755
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
756
+ ///
757
+ template<int N>
758
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
759
+ typename NRowsBlockXpr<N>::Type middleRows(Index startRow, Index n = N)
760
+ {
761
+ return typename NRowsBlockXpr<N>::Type(derived(), startRow, 0, n, cols());
762
+ }
763
+
764
+ /// This is the const version of middleRows<int>().
765
+ template<int N>
766
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
767
+ typename ConstNRowsBlockXpr<N>::Type middleRows(Index startRow, Index n = N) const
768
+ {
769
+ return typename ConstNRowsBlockXpr<N>::Type(derived(), startRow, 0, n, cols());
770
+ }
771
+
772
+
773
+
774
+ /// \returns a block consisting of the left columns of \c *this.
775
+ ///
776
+ /// \param n the number of columns in the block
777
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
778
+ ///
779
+ /// Example: \include MatrixBase_leftCols_int.cpp
780
+ /// Output: \verbinclude MatrixBase_leftCols_int.out
781
+ ///
782
+ /// The number of columns \a n can also be specified at compile-time by passing Eigen::fix<N>,
783
+ /// or Eigen::fix<N>(n) as arguments.
784
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
785
+ ///
786
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
787
+ ///
788
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
789
+ ///
790
+ template<typename NColsType>
791
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
792
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
793
+ typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
794
+ #else
795
+ typename NColsBlockXpr<...>::Type
796
+ #endif
797
+ leftCols(NColsType n)
798
+ {
799
+ return typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
800
+ (derived(), 0, 0, rows(), internal::get_runtime_value(n));
801
+ }
802
+
803
+ /// This is the const version of leftCols(NColsType).
804
+ template<typename NColsType>
805
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
806
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
807
+ const typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
808
+ #else
809
+ const typename ConstNColsBlockXpr<...>::Type
810
+ #endif
811
+ leftCols(NColsType n) const
812
+ {
813
+ return typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
814
+ (derived(), 0, 0, rows(), internal::get_runtime_value(n));
815
+ }
816
+
817
+ /// \returns a block consisting of the left columns of \c *this.
818
+ ///
819
+ /// \tparam N the number of columns in the block as specified at compile-time
820
+ /// \param n the number of columns in the block as specified at run-time
821
+ ///
822
+ /// The compile-time and run-time information should not contradict. In other words,
823
+ /// \a n should equal \a N unless \a N is \a Dynamic.
824
+ ///
825
+ /// Example: \include MatrixBase_template_int_leftCols.cpp
826
+ /// Output: \verbinclude MatrixBase_template_int_leftCols.out
827
+ ///
828
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
829
+ ///
830
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
831
+ ///
832
+ template<int N>
833
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
834
+ typename NColsBlockXpr<N>::Type leftCols(Index n = N)
835
+ {
836
+ return typename NColsBlockXpr<N>::Type(derived(), 0, 0, rows(), n);
837
+ }
838
+
839
+ /// This is the const version of leftCols<int>().
840
+ template<int N>
841
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
842
+ typename ConstNColsBlockXpr<N>::Type leftCols(Index n = N) const
843
+ {
844
+ return typename ConstNColsBlockXpr<N>::Type(derived(), 0, 0, rows(), n);
845
+ }
846
+
847
+
848
+
849
+ /// \returns a block consisting of the right columns of \c *this.
850
+ ///
851
+ /// \param n the number of columns in the block
852
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
853
+ ///
854
+ /// Example: \include MatrixBase_rightCols_int.cpp
855
+ /// Output: \verbinclude MatrixBase_rightCols_int.out
856
+ ///
857
+ /// The number of columns \a n can also be specified at compile-time by passing Eigen::fix<N>,
858
+ /// or Eigen::fix<N>(n) as arguments.
859
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
860
+ ///
861
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
862
+ ///
863
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
864
+ ///
865
+ template<typename NColsType>
866
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
867
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
868
+ typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
869
+ #else
870
+ typename NColsBlockXpr<...>::Type
871
+ #endif
872
+ rightCols(NColsType n)
873
+ {
874
+ return typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
875
+ (derived(), 0, cols() - internal::get_runtime_value(n), rows(), internal::get_runtime_value(n));
876
+ }
877
+
878
+ /// This is the const version of rightCols(NColsType).
879
+ template<typename NColsType>
880
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
881
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
882
+ const typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
883
+ #else
884
+ const typename ConstNColsBlockXpr<...>::Type
885
+ #endif
886
+ rightCols(NColsType n) const
887
+ {
888
+ return typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
889
+ (derived(), 0, cols() - internal::get_runtime_value(n), rows(), internal::get_runtime_value(n));
890
+ }
891
+
892
+ /// \returns a block consisting of the right columns of \c *this.
893
+ ///
894
+ /// \tparam N the number of columns in the block as specified at compile-time
895
+ /// \param n the number of columns in the block as specified at run-time
896
+ ///
897
+ /// The compile-time and run-time information should not contradict. In other words,
898
+ /// \a n should equal \a N unless \a N is \a Dynamic.
899
+ ///
900
+ /// Example: \include MatrixBase_template_int_rightCols.cpp
901
+ /// Output: \verbinclude MatrixBase_template_int_rightCols.out
902
+ ///
903
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
904
+ ///
905
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
906
+ ///
907
+ template<int N>
908
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
909
+ typename NColsBlockXpr<N>::Type rightCols(Index n = N)
910
+ {
911
+ return typename NColsBlockXpr<N>::Type(derived(), 0, cols() - n, rows(), n);
912
+ }
913
+
914
+ /// This is the const version of rightCols<int>().
915
+ template<int N>
916
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
917
+ typename ConstNColsBlockXpr<N>::Type rightCols(Index n = N) const
918
+ {
919
+ return typename ConstNColsBlockXpr<N>::Type(derived(), 0, cols() - n, rows(), n);
920
+ }
921
+
922
+
923
+
924
+ /// \returns a block consisting of a range of columns of \c *this.
925
+ ///
926
+ /// \param startCol the index of the first column in the block
927
+ /// \param numCols the number of columns in the block
928
+ /// \tparam NColsType the type of the value handling the number of columns in the block, typically Index.
929
+ ///
930
+ /// Example: \include DenseBase_middleCols_int.cpp
931
+ /// Output: \verbinclude DenseBase_middleCols_int.out
932
+ ///
933
+ /// The number of columns \a n can also be specified at compile-time by passing Eigen::fix<N>,
934
+ /// or Eigen::fix<N>(n) as arguments.
935
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
936
+ ///
937
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
938
+ ///
939
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
940
+ ///
941
+ template<typename NColsType>
942
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
943
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
944
+ typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
945
+ #else
946
+ typename NColsBlockXpr<...>::Type
947
+ #endif
948
+ middleCols(Index startCol, NColsType numCols)
949
+ {
950
+ return typename NColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
951
+ (derived(), 0, startCol, rows(), internal::get_runtime_value(numCols));
952
+ }
953
+
954
+ /// This is the const version of middleCols(Index,NColsType).
955
+ template<typename NColsType>
956
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
957
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
958
+ const typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
959
+ #else
960
+ const typename ConstNColsBlockXpr<...>::Type
961
+ #endif
962
+ middleCols(Index startCol, NColsType numCols) const
963
+ {
964
+ return typename ConstNColsBlockXpr<internal::get_fixed_value<NColsType>::value>::Type
965
+ (derived(), 0, startCol, rows(), internal::get_runtime_value(numCols));
966
+ }
967
+
968
+ /// \returns a block consisting of a range of columns of \c *this.
969
+ ///
970
+ /// \tparam N the number of columns in the block as specified at compile-time
971
+ /// \param startCol the index of the first column in the block
972
+ /// \param n the number of columns in the block as specified at run-time
973
+ ///
974
+ /// The compile-time and run-time information should not contradict. In other words,
975
+ /// \a n should equal \a N unless \a N is \a Dynamic.
976
+ ///
977
+ /// Example: \include DenseBase_template_int_middleCols.cpp
978
+ /// Output: \verbinclude DenseBase_template_int_middleCols.out
979
+ ///
980
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
981
+ ///
982
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
983
+ ///
984
+ template<int N>
985
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
986
+ typename NColsBlockXpr<N>::Type middleCols(Index startCol, Index n = N)
987
+ {
988
+ return typename NColsBlockXpr<N>::Type(derived(), 0, startCol, rows(), n);
989
+ }
990
+
991
+ /// This is the const version of middleCols<int>().
992
+ template<int N>
993
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
994
+ typename ConstNColsBlockXpr<N>::Type middleCols(Index startCol, Index n = N) const
995
+ {
996
+ return typename ConstNColsBlockXpr<N>::Type(derived(), 0, startCol, rows(), n);
997
+ }
998
+
999
+
1000
+
1001
+ /// \returns a fixed-size expression of a block of \c *this.
1002
+ ///
1003
+ /// The template parameters \a NRows and \a NCols are the number of
1004
+ /// rows and columns in the block.
1005
+ ///
1006
+ /// \param startRow the first row in the block
1007
+ /// \param startCol the first column in the block
1008
+ ///
1009
+ /// Example: \include MatrixBase_block_int_int.cpp
1010
+ /// Output: \verbinclude MatrixBase_block_int_int.out
1011
+ ///
1012
+ /// \note The usage of of this overload is discouraged from %Eigen 3.4, better used the generic
1013
+ /// block(Index,Index,NRowsType,NColsType), here is the one-to-one equivalence:
1014
+ /// \code
1015
+ /// mat.template block<NRows,NCols>(i,j) <--> mat.block(i,j,fix<NRows>,fix<NCols>)
1016
+ /// \endcode
1017
+ ///
1018
+ /// \note since block is a templated member, the keyword template has to be used
1019
+ /// if the matrix type is also a template parameter: \code m.template block<3,3>(1,1); \endcode
1020
+ ///
1021
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
1022
+ ///
1023
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
1024
+ ///
1025
+ template<int NRows, int NCols>
1026
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1027
+ typename FixedBlockXpr<NRows,NCols>::Type block(Index startRow, Index startCol)
1028
+ {
1029
+ return typename FixedBlockXpr<NRows,NCols>::Type(derived(), startRow, startCol);
1030
+ }
1031
+
1032
+ /// This is the const version of block<>(Index, Index). */
1033
+ template<int NRows, int NCols>
1034
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1035
+ const typename ConstFixedBlockXpr<NRows,NCols>::Type block(Index startRow, Index startCol) const
1036
+ {
1037
+ return typename ConstFixedBlockXpr<NRows,NCols>::Type(derived(), startRow, startCol);
1038
+ }
1039
+
1040
+ /// \returns an expression of a block of \c *this.
1041
+ ///
1042
+ /// \tparam NRows number of rows in block as specified at compile-time
1043
+ /// \tparam NCols number of columns in block as specified at compile-time
1044
+ /// \param startRow the first row in the block
1045
+ /// \param startCol the first column in the block
1046
+ /// \param blockRows number of rows in block as specified at run-time
1047
+ /// \param blockCols number of columns in block as specified at run-time
1048
+ ///
1049
+ /// This function is mainly useful for blocks where the number of rows is specified at compile-time
1050
+ /// and the number of columns is specified at run-time, or vice versa. The compile-time and run-time
1051
+ /// information should not contradict. In other words, \a blockRows should equal \a NRows unless
1052
+ /// \a NRows is \a Dynamic, and the same for the number of columns.
1053
+ ///
1054
+ /// Example: \include MatrixBase_template_int_int_block_int_int_int_int.cpp
1055
+ /// Output: \verbinclude MatrixBase_template_int_int_block_int_int_int_int.out
1056
+ ///
1057
+ /// \note The usage of of this overload is discouraged from %Eigen 3.4, better used the generic
1058
+ /// block(Index,Index,NRowsType,NColsType), here is the one-to-one complete equivalence:
1059
+ /// \code
1060
+ /// mat.template block<NRows,NCols>(i,j,rows,cols) <--> mat.block(i,j,fix<NRows>(rows),fix<NCols>(cols))
1061
+ /// \endcode
1062
+ /// If we known that, e.g., NRows==Dynamic and NCols!=Dynamic, then the equivalence becomes:
1063
+ /// \code
1064
+ /// mat.template block<Dynamic,NCols>(i,j,rows,NCols) <--> mat.block(i,j,rows,fix<NCols>)
1065
+ /// \endcode
1066
+ ///
1067
+ EIGEN_DOC_BLOCK_ADDONS_NOT_INNER_PANEL
1068
+ ///
1069
+ /// \sa block(Index,Index,NRowsType,NColsType), class Block
1070
+ ///
1071
+ template<int NRows, int NCols>
1072
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1073
+ typename FixedBlockXpr<NRows,NCols>::Type block(Index startRow, Index startCol,
1074
+ Index blockRows, Index blockCols)
1075
+ {
1076
+ return typename FixedBlockXpr<NRows,NCols>::Type(derived(), startRow, startCol, blockRows, blockCols);
1077
+ }
1078
+
1079
+ /// This is the const version of block<>(Index, Index, Index, Index).
1080
+ template<int NRows, int NCols>
1081
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1082
+ const typename ConstFixedBlockXpr<NRows,NCols>::Type block(Index startRow, Index startCol,
1083
+ Index blockRows, Index blockCols) const
1084
+ {
1085
+ return typename ConstFixedBlockXpr<NRows,NCols>::Type(derived(), startRow, startCol, blockRows, blockCols);
1086
+ }
1087
+
1088
+ /// \returns an expression of the \a i-th column of \c *this. Note that the numbering starts at 0.
1089
+ ///
1090
+ /// Example: \include MatrixBase_col.cpp
1091
+ /// Output: \verbinclude MatrixBase_col.out
1092
+ ///
1093
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(column-major)
1094
+ /**
1095
+ * \sa row(), class Block */
1096
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1097
+ ColXpr col(Index i)
1098
+ {
1099
+ return ColXpr(derived(), i);
1100
+ }
1101
+
1102
+ /// This is the const version of col().
1103
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1104
+ ConstColXpr col(Index i) const
1105
+ {
1106
+ return ConstColXpr(derived(), i);
1107
+ }
1108
+
1109
+ /// \returns an expression of the \a i-th row of \c *this. Note that the numbering starts at 0.
1110
+ ///
1111
+ /// Example: \include MatrixBase_row.cpp
1112
+ /// Output: \verbinclude MatrixBase_row.out
1113
+ ///
1114
+ EIGEN_DOC_BLOCK_ADDONS_INNER_PANEL_IF(row-major)
1115
+ /**
1116
+ * \sa col(), class Block */
1117
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1118
+ RowXpr row(Index i)
1119
+ {
1120
+ return RowXpr(derived(), i);
1121
+ }
1122
+
1123
+ /// This is the const version of row(). */
1124
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1125
+ ConstRowXpr row(Index i) const
1126
+ {
1127
+ return ConstRowXpr(derived(), i);
1128
+ }
1129
+
1130
+ /// \returns an expression of a segment (i.e. a vector block) in \c *this with either dynamic or fixed sizes.
1131
+ ///
1132
+ /// \only_for_vectors
1133
+ ///
1134
+ /// \param start the first coefficient in the segment
1135
+ /// \param n the number of coefficients in the segment
1136
+ /// \tparam NType the type of the value handling the number of coefficients in the segment, typically Index.
1137
+ ///
1138
+ /// Example: \include MatrixBase_segment_int_int.cpp
1139
+ /// Output: \verbinclude MatrixBase_segment_int_int.out
1140
+ ///
1141
+ /// The number of coefficients \a n can also be specified at compile-time by passing Eigen::fix<N>,
1142
+ /// or Eigen::fix<N>(n) as arguments.
1143
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
1144
+ ///
1145
+ /// \note Even in the case that the returned expression has dynamic size, in the case
1146
+ /// when it is applied to a fixed-size vector, it inherits a fixed maximal size,
1147
+ /// which means that evaluating it does not cause a dynamic memory allocation.
1148
+ ///
1149
+ /// \sa block(Index,Index,NRowsType,NColsType), fix<N>, fix<N>(int), class Block
1150
+ ///
1151
+ template<typename NType>
1152
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1153
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
1154
+ typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1155
+ #else
1156
+ typename FixedSegmentReturnType<...>::Type
1157
+ #endif
1158
+ segment(Index start, NType n)
1159
+ {
1160
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1161
+ return typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1162
+ (derived(), start, internal::get_runtime_value(n));
1163
+ }
1164
+
1165
+
1166
+ /// This is the const version of segment(Index,NType).
1167
+ template<typename NType>
1168
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1169
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
1170
+ const typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1171
+ #else
1172
+ const typename ConstFixedSegmentReturnType<...>::Type
1173
+ #endif
1174
+ segment(Index start, NType n) const
1175
+ {
1176
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1177
+ return typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1178
+ (derived(), start, internal::get_runtime_value(n));
1179
+ }
1180
+
1181
+ /// \returns an expression of the first coefficients of \c *this with either dynamic or fixed sizes.
1182
+ ///
1183
+ /// \only_for_vectors
1184
+ ///
1185
+ /// \param n the number of coefficients in the segment
1186
+ /// \tparam NType the type of the value handling the number of coefficients in the segment, typically Index.
1187
+ ///
1188
+ /// Example: \include MatrixBase_start_int.cpp
1189
+ /// Output: \verbinclude MatrixBase_start_int.out
1190
+ ///
1191
+ /// The number of coefficients \a n can also be specified at compile-time by passing Eigen::fix<N>,
1192
+ /// or Eigen::fix<N>(n) as arguments.
1193
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
1194
+ ///
1195
+ /// \note Even in the case that the returned expression has dynamic size, in the case
1196
+ /// when it is applied to a fixed-size vector, it inherits a fixed maximal size,
1197
+ /// which means that evaluating it does not cause a dynamic memory allocation.
1198
+ ///
1199
+ /// \sa class Block, block(Index,Index)
1200
+ ///
1201
+ template<typename NType>
1202
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1203
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
1204
+ typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1205
+ #else
1206
+ typename FixedSegmentReturnType<...>::Type
1207
+ #endif
1208
+ head(NType n)
1209
+ {
1210
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1211
+ return typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1212
+ (derived(), 0, internal::get_runtime_value(n));
1213
+ }
1214
+
1215
+ /// This is the const version of head(NType).
1216
+ template<typename NType>
1217
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1218
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
1219
+ const typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1220
+ #else
1221
+ const typename ConstFixedSegmentReturnType<...>::Type
1222
+ #endif
1223
+ head(NType n) const
1224
+ {
1225
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1226
+ return typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1227
+ (derived(), 0, internal::get_runtime_value(n));
1228
+ }
1229
+
1230
+ /// \returns an expression of a last coefficients of \c *this with either dynamic or fixed sizes.
1231
+ ///
1232
+ /// \only_for_vectors
1233
+ ///
1234
+ /// \param n the number of coefficients in the segment
1235
+ /// \tparam NType the type of the value handling the number of coefficients in the segment, typically Index.
1236
+ ///
1237
+ /// Example: \include MatrixBase_end_int.cpp
1238
+ /// Output: \verbinclude MatrixBase_end_int.out
1239
+ ///
1240
+ /// The number of coefficients \a n can also be specified at compile-time by passing Eigen::fix<N>,
1241
+ /// or Eigen::fix<N>(n) as arguments.
1242
+ /// See \link block(Index,Index,NRowsType,NColsType) block() \endlink for the details.
1243
+ ///
1244
+ /// \note Even in the case that the returned expression has dynamic size, in the case
1245
+ /// when it is applied to a fixed-size vector, it inherits a fixed maximal size,
1246
+ /// which means that evaluating it does not cause a dynamic memory allocation.
1247
+ ///
1248
+ /// \sa class Block, block(Index,Index)
1249
+ ///
1250
+ template<typename NType>
1251
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1252
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
1253
+ typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1254
+ #else
1255
+ typename FixedSegmentReturnType<...>::Type
1256
+ #endif
1257
+ tail(NType n)
1258
+ {
1259
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1260
+ return typename FixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1261
+ (derived(), this->size() - internal::get_runtime_value(n), internal::get_runtime_value(n));
1262
+ }
1263
+
1264
+ /// This is the const version of tail(Index).
1265
+ template<typename NType>
1266
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1267
+ #ifndef EIGEN_PARSED_BY_DOXYGEN
1268
+ const typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1269
+ #else
1270
+ const typename ConstFixedSegmentReturnType<...>::Type
1271
+ #endif
1272
+ tail(NType n) const
1273
+ {
1274
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1275
+ return typename ConstFixedSegmentReturnType<internal::get_fixed_value<NType>::value>::Type
1276
+ (derived(), this->size() - internal::get_runtime_value(n), internal::get_runtime_value(n));
1277
+ }
1278
+
1279
+ /// \returns a fixed-size expression of a segment (i.e. a vector block) in \c *this
1280
+ ///
1281
+ /// \only_for_vectors
1282
+ ///
1283
+ /// \tparam N the number of coefficients in the segment as specified at compile-time
1284
+ /// \param start the index of the first element in the segment
1285
+ /// \param n the number of coefficients in the segment as specified at compile-time
1286
+ ///
1287
+ /// The compile-time and run-time information should not contradict. In other words,
1288
+ /// \a n should equal \a N unless \a N is \a Dynamic.
1289
+ ///
1290
+ /// Example: \include MatrixBase_template_int_segment.cpp
1291
+ /// Output: \verbinclude MatrixBase_template_int_segment.out
1292
+ ///
1293
+ /// \sa segment(Index,NType), class Block
1294
+ ///
1295
+ template<int N>
1296
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1297
+ typename FixedSegmentReturnType<N>::Type segment(Index start, Index n = N)
1298
+ {
1299
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1300
+ return typename FixedSegmentReturnType<N>::Type(derived(), start, n);
1301
+ }
1302
+
1303
+ /// This is the const version of segment<int>(Index).
1304
+ template<int N>
1305
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1306
+ typename ConstFixedSegmentReturnType<N>::Type segment(Index start, Index n = N) const
1307
+ {
1308
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1309
+ return typename ConstFixedSegmentReturnType<N>::Type(derived(), start, n);
1310
+ }
1311
+
1312
+ /// \returns a fixed-size expression of the first coefficients of \c *this.
1313
+ ///
1314
+ /// \only_for_vectors
1315
+ ///
1316
+ /// \tparam N the number of coefficients in the segment as specified at compile-time
1317
+ /// \param n the number of coefficients in the segment as specified at run-time
1318
+ ///
1319
+ /// The compile-time and run-time information should not contradict. In other words,
1320
+ /// \a n should equal \a N unless \a N is \a Dynamic.
1321
+ ///
1322
+ /// Example: \include MatrixBase_template_int_start.cpp
1323
+ /// Output: \verbinclude MatrixBase_template_int_start.out
1324
+ ///
1325
+ /// \sa head(NType), class Block
1326
+ ///
1327
+ template<int N>
1328
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1329
+ typename FixedSegmentReturnType<N>::Type head(Index n = N)
1330
+ {
1331
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1332
+ return typename FixedSegmentReturnType<N>::Type(derived(), 0, n);
1333
+ }
1334
+
1335
+ /// This is the const version of head<int>().
1336
+ template<int N>
1337
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1338
+ typename ConstFixedSegmentReturnType<N>::Type head(Index n = N) const
1339
+ {
1340
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1341
+ return typename ConstFixedSegmentReturnType<N>::Type(derived(), 0, n);
1342
+ }
1343
+
1344
+ /// \returns a fixed-size expression of the last coefficients of \c *this.
1345
+ ///
1346
+ /// \only_for_vectors
1347
+ ///
1348
+ /// \tparam N the number of coefficients in the segment as specified at compile-time
1349
+ /// \param n the number of coefficients in the segment as specified at run-time
1350
+ ///
1351
+ /// The compile-time and run-time information should not contradict. In other words,
1352
+ /// \a n should equal \a N unless \a N is \a Dynamic.
1353
+ ///
1354
+ /// Example: \include MatrixBase_template_int_end.cpp
1355
+ /// Output: \verbinclude MatrixBase_template_int_end.out
1356
+ ///
1357
+ /// \sa tail(NType), class Block
1358
+ ///
1359
+ template<int N>
1360
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1361
+ typename FixedSegmentReturnType<N>::Type tail(Index n = N)
1362
+ {
1363
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1364
+ return typename FixedSegmentReturnType<N>::Type(derived(), size() - n);
1365
+ }
1366
+
1367
+ /// This is the const version of tail<int>.
1368
+ template<int N>
1369
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1370
+ typename ConstFixedSegmentReturnType<N>::Type tail(Index n = N) const
1371
+ {
1372
+ EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
1373
+ return typename ConstFixedSegmentReturnType<N>::Type(derived(), size() - n);
1374
+ }
1375
+
1376
+ /// \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
1377
+ /// is col-major (resp. row-major).
1378
+ ///
1379
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1380
+ InnerVectorReturnType innerVector(Index outer)
1381
+ { return InnerVectorReturnType(derived(), outer); }
1382
+
1383
+ /// \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
1384
+ /// is col-major (resp. row-major). Read-only.
1385
+ ///
1386
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1387
+ const ConstInnerVectorReturnType innerVector(Index outer) const
1388
+ { return ConstInnerVectorReturnType(derived(), outer); }
1389
+
1390
+ /// \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
1391
+ /// is col-major (resp. row-major).
1392
+ ///
1393
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1394
+ InnerVectorsReturnType
1395
+ innerVectors(Index outerStart, Index outerSize)
1396
+ {
1397
+ return Block<Derived,Dynamic,Dynamic,true>(derived(),
1398
+ IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
1399
+ IsRowMajor ? outerSize : rows(), IsRowMajor ? cols() : outerSize);
1400
+
1401
+ }
1402
+
1403
+ /// \returns the \a outer -th column (resp. row) of the matrix \c *this if \c *this
1404
+ /// is col-major (resp. row-major). Read-only.
1405
+ ///
1406
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1407
+ const ConstInnerVectorsReturnType
1408
+ innerVectors(Index outerStart, Index outerSize) const
1409
+ {
1410
+ return Block<const Derived,Dynamic,Dynamic,true>(derived(),
1411
+ IsRowMajor ? outerStart : 0, IsRowMajor ? 0 : outerStart,
1412
+ IsRowMajor ? outerSize : rows(), IsRowMajor ? cols() : outerSize);
1413
+
1414
+ }
1415
+
1416
+ /** \returns the i-th subvector (column or vector) according to the \c Direction
1417
+ * \sa subVectors()
1418
+ */
1419
+ template<DirectionType Direction>
1420
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1421
+ typename internal::conditional<Direction==Vertical,ColXpr,RowXpr>::type
1422
+ subVector(Index i)
1423
+ {
1424
+ return typename internal::conditional<Direction==Vertical,ColXpr,RowXpr>::type(derived(),i);
1425
+ }
1426
+
1427
+ /** This is the const version of subVector(Index) */
1428
+ template<DirectionType Direction>
1429
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1430
+ typename internal::conditional<Direction==Vertical,ConstColXpr,ConstRowXpr>::type
1431
+ subVector(Index i) const
1432
+ {
1433
+ return typename internal::conditional<Direction==Vertical,ConstColXpr,ConstRowXpr>::type(derived(),i);
1434
+ }
1435
+
1436
+ /** \returns the number of subvectors (rows or columns) in the direction \c Direction
1437
+ * \sa subVector(Index)
1438
+ */
1439
+ template<DirectionType Direction>
1440
+ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR
1441
+ Index subVectors() const
1442
+ { return (Direction==Vertical)?cols():rows(); }