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