sequenzo 0.1.18__cp311-cp311-win_amd64.whl → 0.1.20__cp311-cp311-win_amd64.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.

Potentially problematic release.


This version of sequenzo might be problematic. Click here for more details.

Files changed (399) hide show
  1. sequenzo/__init__.py +39 -7
  2. sequenzo/big_data/clara/utils/get_weighted_diss.c +154 -154
  3. sequenzo/big_data/clara/utils/get_weighted_diss.cp311-win_amd64.pyd +0 -0
  4. sequenzo/clustering/KMedoids.py +39 -0
  5. sequenzo/clustering/clustering_c_code.cp311-win_amd64.pyd +0 -0
  6. sequenzo/clustering/hierarchical_clustering.py +108 -6
  7. sequenzo/define_sequence_data.py +10 -1
  8. sequenzo/dissimilarity_measures/c_code.cp311-win_amd64.pyd +0 -0
  9. sequenzo/dissimilarity_measures/get_distance_matrix.py +2 -3
  10. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +1 -1
  11. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +154 -154
  12. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cp311-win_amd64.pyd +0 -0
  13. sequenzo/dissimilarity_measures/utils/seqconc.c +154 -154
  14. sequenzo/dissimilarity_measures/utils/seqconc.cp311-win_amd64.pyd +0 -0
  15. sequenzo/dissimilarity_measures/utils/seqdss.c +154 -154
  16. sequenzo/dissimilarity_measures/utils/seqdss.cp311-win_amd64.pyd +0 -0
  17. sequenzo/dissimilarity_measures/utils/seqdur.c +154 -154
  18. sequenzo/dissimilarity_measures/utils/seqdur.cp311-win_amd64.pyd +0 -0
  19. sequenzo/dissimilarity_measures/utils/seqlength.c +154 -154
  20. sequenzo/dissimilarity_measures/utils/seqlength.cp311-win_amd64.pyd +0 -0
  21. sequenzo/multidomain/cat.py +0 -53
  22. sequenzo/multidomain/dat.py +11 -3
  23. sequenzo/multidomain/idcd.py +0 -3
  24. sequenzo/multidomain/linked_polyad.py +0 -1
  25. sequenzo/openmp_setup.py +233 -0
  26. sequenzo/visualization/plot_transition_matrix.py +21 -22
  27. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/METADATA +71 -10
  28. sequenzo-0.1.20.dist-info/RECORD +272 -0
  29. sequenzo/dissimilarity_measures/setup.py +0 -35
  30. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
  31. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
  32. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  33. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  34. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  35. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  36. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  37. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  38. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  39. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  40. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  41. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  42. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  43. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  44. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  45. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  46. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  47. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  48. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
  49. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
  50. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
  51. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
  52. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
  53. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
  54. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  55. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
  56. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
  57. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
  58. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
  59. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
  60. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
  61. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
  62. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  63. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
  64. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
  65. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
  66. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  67. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  68. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  69. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  70. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  71. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  72. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  73. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  74. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
  75. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  76. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
  77. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
  78. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
  79. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
  80. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  81. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
  82. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  83. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
  84. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  85. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
  86. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  87. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  88. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  89. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  90. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  91. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  92. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
  93. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  94. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  95. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
  96. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
  97. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  98. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
  99. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  100. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  101. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  102. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
  103. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  104. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  105. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  106. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
  107. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
  108. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  109. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  110. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  111. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  112. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  113. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  114. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
  115. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  116. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
  117. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  118. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  119. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  120. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
  121. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
  122. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
  123. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  124. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  125. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  126. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  127. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  128. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
  129. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
  130. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
  131. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  132. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
  133. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  134. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  135. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  136. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  137. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  138. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  139. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  140. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  141. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  142. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  143. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  144. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  145. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  146. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  147. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  148. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  149. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
  150. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
  151. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
  152. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
  153. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
  154. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  155. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  156. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
  157. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
  158. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
  159. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
  160. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
  161. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
  162. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
  163. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  164. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  165. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
  166. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  167. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  168. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  169. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  170. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  171. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  172. sequenzo/dissimilarity_measures/src/eigen/bench/BenchSparseUtil.h +0 -149
  173. sequenzo/dissimilarity_measures/src/eigen/bench/BenchTimer.h +0 -199
  174. sequenzo/dissimilarity_measures/src/eigen/bench/BenchUtil.h +0 -92
  175. sequenzo/dissimilarity_measures/src/eigen/bench/basicbenchmark.h +0 -63
  176. sequenzo/dissimilarity_measures/src/eigen/bench/btl/generic_bench/utils/utilities.h +0 -90
  177. sequenzo/dissimilarity_measures/src/eigen/bench/btl/libs/BLAS/blas.h +0 -675
  178. sequenzo/dissimilarity_measures/src/eigen/bench/btl/libs/BLAS/c_interface_base.h +0 -73
  179. sequenzo/dissimilarity_measures/src/eigen/bench/perf_monitoring/gemm_common.h +0 -67
  180. sequenzo/dissimilarity_measures/src/eigen/bench/perf_monitoring/gemv_common.h +0 -69
  181. sequenzo/dissimilarity_measures/src/eigen/bench/spbench/spbenchsolver.h +0 -573
  182. sequenzo/dissimilarity_measures/src/eigen/bench/spbench/spbenchstyle.h +0 -95
  183. sequenzo/dissimilarity_measures/src/eigen/bench/tensors/benchmark.h +0 -49
  184. sequenzo/dissimilarity_measures/src/eigen/bench/tensors/tensor_benchmarks.h +0 -597
  185. sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
  186. sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
  187. sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
  188. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
  189. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
  190. sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
  191. sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
  192. sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
  193. sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
  194. sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
  195. sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
  196. sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
  197. sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
  198. sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
  199. sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
  200. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
  201. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
  202. sequenzo/dissimilarity_measures/src/eigen/demos/mandelbrot/mandelbrot.h +0 -71
  203. sequenzo/dissimilarity_measures/src/eigen/demos/mix_eigen_and_c/binary_library.h +0 -71
  204. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/camera.h +0 -118
  205. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/gpuhelper.h +0 -207
  206. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/icosphere.h +0 -30
  207. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/quaternion_demo.h +0 -114
  208. sequenzo/dissimilarity_measures/src/eigen/demos/opengl/trackball.h +0 -42
  209. sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
  210. sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
  211. sequenzo/dissimilarity_measures/src/eigen/test/AnnoyingScalar.h +0 -165
  212. sequenzo/dissimilarity_measures/src/eigen/test/MovableScalar.h +0 -35
  213. sequenzo/dissimilarity_measures/src/eigen/test/SafeScalar.h +0 -30
  214. sequenzo/dissimilarity_measures/src/eigen/test/bug1213.h +0 -8
  215. sequenzo/dissimilarity_measures/src/eigen/test/evaluator_common.h +0 -0
  216. sequenzo/dissimilarity_measures/src/eigen/test/gpu_common.h +0 -176
  217. sequenzo/dissimilarity_measures/src/eigen/test/main.h +0 -857
  218. sequenzo/dissimilarity_measures/src/eigen/test/packetmath_test_shared.h +0 -275
  219. sequenzo/dissimilarity_measures/src/eigen/test/product.h +0 -259
  220. sequenzo/dissimilarity_measures/src/eigen/test/random_without_cast_overflow.h +0 -152
  221. sequenzo/dissimilarity_measures/src/eigen/test/solverbase.h +0 -36
  222. sequenzo/dissimilarity_measures/src/eigen/test/sparse.h +0 -204
  223. sequenzo/dissimilarity_measures/src/eigen/test/sparse_solver.h +0 -699
  224. sequenzo/dissimilarity_measures/src/eigen/test/split_test_helper.h +0 -5994
  225. sequenzo/dissimilarity_measures/src/eigen/test/svd_common.h +0 -521
  226. sequenzo/dissimilarity_measures/src/eigen/test/svd_fill.h +0 -118
  227. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  228. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  229. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  230. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  231. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  232. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  233. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  234. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  235. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  236. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  237. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  238. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  239. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  240. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  241. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  242. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  243. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  244. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  245. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  246. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  247. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  248. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  249. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  250. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  251. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  252. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  253. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  254. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  255. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  256. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  257. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  258. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  259. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  260. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  261. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  262. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  263. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  264. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  265. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  266. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  267. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  268. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  269. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  270. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  271. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  272. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  273. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  274. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  275. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  276. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  277. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  278. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  279. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  280. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  281. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  282. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  283. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  284. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  285. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  286. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  287. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  288. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  289. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  290. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  291. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  292. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  293. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  294. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  295. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  296. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  297. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  298. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  299. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  300. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  301. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  302. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  303. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  304. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  305. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  306. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  307. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  308. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  309. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  310. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  311. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  312. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  313. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  314. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  315. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  316. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  317. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  318. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  319. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  320. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  321. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  322. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  323. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  324. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  325. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  326. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  327. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  328. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  329. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  330. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  331. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  332. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  333. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  334. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  335. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  336. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  337. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  338. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  339. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  340. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  341. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  342. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  343. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  344. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  345. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  346. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  347. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  348. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  349. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  350. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  351. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  352. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  353. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  354. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  355. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  356. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  357. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  358. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  359. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  360. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  361. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  362. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  363. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  364. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  365. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  366. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  367. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  368. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  369. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  370. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  371. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  372. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  373. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  374. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  375. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  376. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  377. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  378. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  379. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  380. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  381. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  382. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  383. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  384. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  385. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  386. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  387. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  388. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  389. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  390. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  391. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  392. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
  393. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  394. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  395. sequenzo/dissimilarity_measures/src/eigen/unsupported/test/matrix_functions.h +0 -67
  396. sequenzo-0.1.18.dist-info/RECORD +0 -638
  397. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/WHEEL +0 -0
  398. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/licenses/LICENSE +0 -0
  399. {sequenzo-0.1.18.dist-info → sequenzo-0.1.20.dist-info}/top_level.txt +0 -0
@@ -1,1442 +0,0 @@
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(); }