sequenzo 0.1.17__cp311-cp311-macosx_10_9_universal2.whl → 0.1.19__cp311-cp311-macosx_10_9_universal2.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 (423) 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 +155 -155
  4. sequenzo/big_data/clara/utils/get_weighted_diss.cpython-311-darwin.so +0 -0
  5. sequenzo/clustering/KMedoids.py +39 -0
  6. sequenzo/clustering/hierarchical_clustering.py +304 -8
  7. sequenzo/define_sequence_data.py +44 -3
  8. sequenzo/dissimilarity_measures/c_code.cpython-311-darwin.so +0 -0
  9. sequenzo/dissimilarity_measures/get_distance_matrix.py +1 -2
  10. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +1 -1
  11. sequenzo/dissimilarity_measures/src/DHDdistance.cpp +13 -37
  12. sequenzo/dissimilarity_measures/src/LCPdistance.cpp +13 -37
  13. sequenzo/dissimilarity_measures/src/OMdistance.cpp +12 -47
  14. sequenzo/dissimilarity_measures/src/OMspellDistance.cpp +103 -67
  15. sequenzo/dissimilarity_measures/src/dp_utils.h +160 -0
  16. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_arithmetic.hpp +41 -16
  17. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_complex.hpp +4 -0
  18. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_details.hpp +7 -0
  19. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_logical.hpp +10 -0
  20. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_math.hpp +127 -43
  21. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_memory.hpp +30 -2
  22. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_swizzle.hpp +174 -0
  23. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_trigo.hpp +14 -5
  24. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx.hpp +111 -54
  25. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx2.hpp +131 -9
  26. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512bw.hpp +11 -113
  27. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512dq.hpp +39 -7
  28. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512f.hpp +336 -30
  29. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi.hpp +9 -37
  30. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi2.hpp +58 -0
  31. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common.hpp +1 -0
  32. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common_fwd.hpp +35 -2
  33. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_constants.hpp +3 -1
  34. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_emulated.hpp +17 -0
  35. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx.hpp +13 -0
  36. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_sse.hpp +18 -0
  37. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma4.hpp +13 -0
  38. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_isa.hpp +8 -0
  39. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon.hpp +363 -34
  40. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon64.hpp +7 -0
  41. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_rvv.hpp +13 -0
  42. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_scalar.hpp +41 -4
  43. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse2.hpp +252 -16
  44. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse3.hpp +9 -0
  45. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_ssse3.hpp +12 -1
  46. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sve.hpp +7 -0
  47. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_vsx.hpp +892 -0
  48. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_wasm.hpp +78 -1
  49. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_arch.hpp +3 -1
  50. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_config.hpp +13 -2
  51. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_cpuid.hpp +5 -0
  52. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_inline.hpp +5 -1
  53. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_all_registers.hpp +2 -0
  54. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_api.hpp +64 -1
  55. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch.hpp +36 -0
  56. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_rvv_register.hpp +40 -31
  57. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_traits.hpp +8 -0
  58. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_vsx_register.hpp +77 -0
  59. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/xsimd.hpp +6 -0
  60. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +155 -155
  61. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-311-darwin.so +0 -0
  62. sequenzo/dissimilarity_measures/utils/seqconc.c +155 -155
  63. sequenzo/dissimilarity_measures/utils/seqconc.cpython-311-darwin.so +0 -0
  64. sequenzo/dissimilarity_measures/utils/seqdss.c +155 -155
  65. sequenzo/dissimilarity_measures/utils/seqdss.cpython-311-darwin.so +0 -0
  66. sequenzo/dissimilarity_measures/utils/seqdur.c +155 -155
  67. sequenzo/dissimilarity_measures/utils/seqdur.cpython-311-darwin.so +0 -0
  68. sequenzo/dissimilarity_measures/utils/seqlength.c +155 -155
  69. sequenzo/dissimilarity_measures/utils/seqlength.cpython-311-darwin.so +0 -0
  70. sequenzo/multidomain/cat.py +0 -53
  71. sequenzo/multidomain/idcd.py +0 -1
  72. sequenzo/openmp_setup.py +233 -0
  73. sequenzo/sequence_characteristics/__init__.py +4 -0
  74. sequenzo/sequence_characteristics/complexity_index.py +17 -57
  75. sequenzo/sequence_characteristics/overall_cross_sectional_entropy.py +177 -111
  76. sequenzo/sequence_characteristics/plot_characteristics.py +30 -11
  77. sequenzo/sequence_characteristics/simple_characteristics.py +1 -0
  78. sequenzo/sequence_characteristics/state_frequencies_and_entropy_per_sequence.py +9 -3
  79. sequenzo/sequence_characteristics/turbulence.py +47 -67
  80. sequenzo/sequence_characteristics/variance_of_spell_durations.py +19 -9
  81. sequenzo/sequence_characteristics/within_sequence_entropy.py +5 -58
  82. sequenzo/visualization/plot_sequence_index.py +58 -35
  83. sequenzo/visualization/plot_state_distribution.py +57 -36
  84. sequenzo/visualization/plot_transition_matrix.py +21 -22
  85. sequenzo/with_event_history_analysis/__init__.py +35 -0
  86. sequenzo/with_event_history_analysis/sequence_analysis_multi_state_model.py +850 -0
  87. sequenzo/with_event_history_analysis/sequence_history_analysis.py +283 -0
  88. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/METADATA +48 -14
  89. sequenzo-0.1.19.dist-info/RECORD +215 -0
  90. sequenzo/dissimilarity_measures/setup.py +0 -35
  91. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
  92. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
  93. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  94. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  95. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  96. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  97. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  98. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  99. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  100. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  101. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  102. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  103. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  104. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  105. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  106. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  107. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  108. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  109. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
  110. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
  111. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
  112. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
  113. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
  114. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
  115. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  116. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
  117. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
  118. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
  119. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
  120. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
  121. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
  122. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
  123. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  124. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
  125. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
  126. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
  127. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  128. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  129. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  130. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  131. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  132. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  133. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  134. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  135. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
  136. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  137. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
  138. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
  139. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
  140. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
  141. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  142. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
  143. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  144. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
  145. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  146. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
  147. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  148. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  149. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  150. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  151. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  152. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  153. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
  154. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  155. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  156. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
  157. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
  158. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  159. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
  160. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  161. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  162. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  163. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
  164. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  165. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  166. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  167. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
  168. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
  169. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  170. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  171. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  172. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  173. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  174. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  175. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
  176. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  177. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
  178. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  179. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  180. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  181. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
  182. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
  183. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
  184. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  185. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  186. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  187. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  188. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  189. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
  190. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
  191. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
  192. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  193. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
  194. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  195. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  196. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  197. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  198. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  199. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  200. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  201. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  202. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  203. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  204. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  205. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  206. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  207. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  208. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  209. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  210. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
  211. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
  212. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
  213. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
  214. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
  215. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  216. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  217. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
  218. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
  219. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
  220. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
  221. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
  222. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
  223. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
  224. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  225. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  226. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
  227. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  228. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  229. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  230. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  231. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  232. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  233. sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
  234. sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
  235. sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
  236. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
  237. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
  238. sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
  239. sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
  240. sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
  241. sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
  242. sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
  243. sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
  244. sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
  245. sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
  246. sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
  247. sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
  248. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
  249. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
  250. sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
  251. sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
  252. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  253. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  254. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  255. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  256. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  257. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  258. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  259. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  260. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  261. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  262. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  263. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  264. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  265. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  266. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  267. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  268. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  269. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  270. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  271. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  272. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  273. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  274. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  275. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  276. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  277. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  278. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  279. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  280. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  281. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  282. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  283. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  284. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  285. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  286. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  287. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  288. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  289. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  290. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  291. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  292. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  293. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  294. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  295. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  296. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  297. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  298. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  299. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  300. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  301. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  302. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  303. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  304. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  305. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  306. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  307. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  308. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  309. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  310. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  311. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  312. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  313. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  314. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  315. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  316. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  317. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  318. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  319. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  320. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  321. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  322. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  323. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  324. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  325. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  326. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  327. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  328. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  329. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  330. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  331. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  332. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  333. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  334. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  335. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  336. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  337. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  338. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  339. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  340. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  341. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  342. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  343. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  344. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  345. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  346. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  347. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  348. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  349. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  350. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  351. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  352. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  353. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  354. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  355. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  356. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  357. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  358. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  359. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  360. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  361. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  362. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  363. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  364. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  365. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  366. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  367. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  368. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  369. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  370. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  371. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  372. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  373. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  374. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  375. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  376. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  377. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  378. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  379. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  380. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  381. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  382. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  383. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  384. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  385. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  386. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  387. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  388. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  389. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  390. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  391. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  392. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  393. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  394. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  395. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  396. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  397. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  398. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  399. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  400. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  401. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  402. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  403. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  404. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  405. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  406. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  407. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  408. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  409. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  410. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  411. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  412. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  413. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  414. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  415. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  416. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  417. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
  418. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  419. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  420. sequenzo-0.1.17.dist-info/RECORD +0 -537
  421. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/WHEEL +0 -0
  422. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/licenses/LICENSE +0 -0
  423. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/top_level.txt +0 -0
@@ -1,1176 +0,0 @@
1
- // This file is part of Eigen, a lightweight C++ template library
2
- // for linear algebra.
3
- //
4
- // Copyright (C) 2014 Benoit Steiner <benoit.steiner.goog@gmail.com>
5
- //
6
- // This Source Code Form is subject to the terms of the Mozilla
7
- // Public License v. 2.0. If a copy of the MPL was not distributed
8
- // with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
-
10
- #ifndef EIGEN_CXX11_TENSOR_TENSOR_BASE_H
11
- #define EIGEN_CXX11_TENSOR_TENSOR_BASE_H
12
-
13
- // clang-format off
14
-
15
- namespace Eigen {
16
-
17
- /** \class TensorBase
18
- * \ingroup CXX11_Tensor_Module
19
- *
20
- * \brief The tensor base class.
21
- *
22
- * This class is the common parent of the Tensor and TensorMap class, thus
23
- * making it possible to use either class interchangeably in expressions.
24
- */
25
- #ifndef EIGEN_PARSED_BY_DOXYGEN
26
- // FIXME Doxygen does not like the inheritance with different template parameters
27
- // Since there is no doxygen documentation inside, we disable it for now
28
- template<typename Derived>
29
- class TensorBase<Derived, ReadOnlyAccessors>
30
- {
31
- public:
32
- typedef internal::traits<Derived> DerivedTraits;
33
- typedef typename DerivedTraits::Scalar Scalar;
34
- typedef typename DerivedTraits::Index Index;
35
- typedef typename internal::remove_const<Scalar>::type CoeffReturnType;
36
- static const int NumDimensions = DerivedTraits::NumDimensions;
37
-
38
- // Generic nullary operation support.
39
- template <typename CustomNullaryOp> EIGEN_DEVICE_FUNC
40
- EIGEN_STRONG_INLINE const TensorCwiseNullaryOp<CustomNullaryOp, const Derived>
41
- nullaryExpr(const CustomNullaryOp& func) const {
42
- return TensorCwiseNullaryOp<CustomNullaryOp, const Derived>(derived(), func);
43
- }
44
-
45
- // Coefficient-wise nullary operators
46
- EIGEN_DEVICE_FUNC
47
- EIGEN_STRONG_INLINE const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived>
48
- constant(const Scalar& value) const {
49
- return nullaryExpr(internal::scalar_constant_op<Scalar>(value));
50
- }
51
-
52
- EIGEN_DEVICE_FUNC
53
- EIGEN_STRONG_INLINE const TensorCwiseNullaryOp<internal::UniformRandomGenerator<Scalar>, const Derived>
54
- random() const {
55
- return nullaryExpr(internal::UniformRandomGenerator<Scalar>());
56
- }
57
- template <typename RandomGenerator> EIGEN_DEVICE_FUNC
58
- EIGEN_STRONG_INLINE const TensorCwiseNullaryOp<RandomGenerator, const Derived>
59
- random(const RandomGenerator& gen = RandomGenerator()) const {
60
- return nullaryExpr(gen);
61
- }
62
-
63
- // Tensor generation
64
- template <typename Generator> EIGEN_DEVICE_FUNC
65
- EIGEN_STRONG_INLINE const TensorGeneratorOp<Generator, const Derived>
66
- generate(const Generator& generator) const {
67
- return TensorGeneratorOp<Generator, const Derived>(derived(), generator);
68
- }
69
-
70
- // Generic unary operation support.
71
- template <typename CustomUnaryOp> EIGEN_DEVICE_FUNC
72
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<CustomUnaryOp, const Derived>
73
- unaryExpr(const CustomUnaryOp& func) const {
74
- return TensorCwiseUnaryOp<CustomUnaryOp, const Derived>(derived(), func);
75
- }
76
-
77
- // Coefficient-wise unary operators
78
- EIGEN_DEVICE_FUNC
79
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_opposite_op<Scalar>, const Derived>
80
- operator-() const {
81
- return unaryExpr(internal::scalar_opposite_op<Scalar>());
82
- }
83
-
84
- EIGEN_DEVICE_FUNC
85
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_sqrt_op<Scalar>, const Derived>
86
- sqrt() const {
87
- return unaryExpr(internal::scalar_sqrt_op<Scalar>());
88
- }
89
-
90
- EIGEN_DEVICE_FUNC
91
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_sign_op<Scalar>, const Derived>
92
- sign() const {
93
- return unaryExpr(internal::scalar_sign_op<Scalar>());
94
- }
95
-
96
- EIGEN_DEVICE_FUNC
97
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_rsqrt_op<Scalar>, const Derived>
98
- rsqrt() const {
99
- return unaryExpr(internal::scalar_rsqrt_op<Scalar>());
100
- }
101
-
102
- EIGEN_DEVICE_FUNC
103
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_square_op<Scalar>, const Derived>
104
- square() const {
105
- return unaryExpr(internal::scalar_square_op<Scalar>());
106
- }
107
-
108
- EIGEN_DEVICE_FUNC
109
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_cube_op<Scalar>, const Derived>
110
- cube() const {
111
- return unaryExpr(internal::scalar_cube_op<Scalar>());
112
- }
113
-
114
- EIGEN_DEVICE_FUNC
115
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_inverse_op<Scalar>, const Derived>
116
- inverse() const {
117
- return unaryExpr(internal::scalar_inverse_op<Scalar>());
118
- }
119
-
120
- EIGEN_DEVICE_FUNC
121
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_tanh_op<Scalar>, const Derived>
122
- tanh() const {
123
- return unaryExpr(internal::scalar_tanh_op<Scalar>());
124
- }
125
-
126
- EIGEN_DEVICE_FUNC
127
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_lgamma_op<Scalar>, const Derived>
128
- lgamma() const {
129
- return unaryExpr(internal::scalar_lgamma_op<Scalar>());
130
- }
131
-
132
- EIGEN_DEVICE_FUNC
133
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_digamma_op<Scalar>, const Derived>
134
- digamma() const {
135
- return unaryExpr(internal::scalar_digamma_op<Scalar>());
136
- }
137
-
138
- EIGEN_DEVICE_FUNC
139
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_i0_op<Scalar>, const Derived>
140
- bessel_i0() const {
141
- return unaryExpr(internal::scalar_bessel_i0_op<Scalar>());
142
- }
143
-
144
- EIGEN_DEVICE_FUNC
145
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_i0e_op<Scalar>, const Derived>
146
- bessel_i0e() const {
147
- return unaryExpr(internal::scalar_bessel_i0e_op<Scalar>());
148
- }
149
-
150
- EIGEN_DEVICE_FUNC
151
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_i1_op<Scalar>, const Derived>
152
- bessel_i1() const {
153
- return unaryExpr(internal::scalar_bessel_i1_op<Scalar>());
154
- }
155
-
156
- EIGEN_DEVICE_FUNC
157
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_i1e_op<Scalar>, const Derived>
158
- bessel_i1e() const {
159
- return unaryExpr(internal::scalar_bessel_i1e_op<Scalar>());
160
- }
161
-
162
- EIGEN_DEVICE_FUNC
163
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_j0_op<Scalar>, const Derived>
164
- bessel_j0() const {
165
- return unaryExpr(internal::scalar_bessel_j0_op<Scalar>());
166
- }
167
-
168
- EIGEN_DEVICE_FUNC
169
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_y0_op<Scalar>, const Derived>
170
- bessel_y0() const {
171
- return unaryExpr(internal::scalar_bessel_y0_op<Scalar>());
172
- }
173
-
174
- EIGEN_DEVICE_FUNC
175
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_j1_op<Scalar>, const Derived>
176
- bessel_j1() const {
177
- return unaryExpr(internal::scalar_bessel_j1_op<Scalar>());
178
- }
179
-
180
- EIGEN_DEVICE_FUNC
181
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_y1_op<Scalar>, const Derived>
182
- bessel_y1() const {
183
- return unaryExpr(internal::scalar_bessel_y1_op<Scalar>());
184
- }
185
-
186
- EIGEN_DEVICE_FUNC
187
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_k0_op<Scalar>, const Derived>
188
- bessel_k0() const {
189
- return unaryExpr(internal::scalar_bessel_k0_op<Scalar>());
190
- }
191
-
192
- EIGEN_DEVICE_FUNC
193
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_k0e_op<Scalar>, const Derived>
194
- bessel_k0e() const {
195
- return unaryExpr(internal::scalar_bessel_k0e_op<Scalar>());
196
- }
197
-
198
- EIGEN_DEVICE_FUNC
199
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_k1_op<Scalar>, const Derived>
200
- bessel_k1() const {
201
- return unaryExpr(internal::scalar_bessel_k1_op<Scalar>());
202
- }
203
-
204
- EIGEN_DEVICE_FUNC
205
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_bessel_k1e_op<Scalar>, const Derived>
206
- bessel_k1e() const {
207
- return unaryExpr(internal::scalar_bessel_k1e_op<Scalar>());
208
- }
209
-
210
- // igamma(a = this, x = other)
211
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
212
- const TensorCwiseBinaryOp<internal::scalar_igamma_op<Scalar>, const Derived, const OtherDerived>
213
- igamma(const OtherDerived& other) const {
214
- return binaryExpr(other.derived(), internal::scalar_igamma_op<Scalar>());
215
- }
216
-
217
- // igamma_der_a(a = this, x = other)
218
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
219
- const TensorCwiseBinaryOp<internal::scalar_igamma_der_a_op<Scalar>, const Derived, const OtherDerived>
220
- igamma_der_a(const OtherDerived& other) const {
221
- return binaryExpr(other.derived(), internal::scalar_igamma_der_a_op<Scalar>());
222
- }
223
-
224
- // gamma_sample_der_alpha(alpha = this, sample = other)
225
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
226
- const TensorCwiseBinaryOp<internal::scalar_gamma_sample_der_alpha_op<Scalar>, const Derived, const OtherDerived>
227
- gamma_sample_der_alpha(const OtherDerived& other) const {
228
- return binaryExpr(other.derived(), internal::scalar_gamma_sample_der_alpha_op<Scalar>());
229
- }
230
-
231
- // igammac(a = this, x = other)
232
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
233
- const TensorCwiseBinaryOp<internal::scalar_igammac_op<Scalar>, const Derived, const OtherDerived>
234
- igammac(const OtherDerived& other) const {
235
- return binaryExpr(other.derived(), internal::scalar_igammac_op<Scalar>());
236
- }
237
-
238
- // zeta(x = this, q = other)
239
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
240
- const TensorCwiseBinaryOp<internal::scalar_zeta_op<Scalar>, const Derived, const OtherDerived>
241
- zeta(const OtherDerived& other) const {
242
- return binaryExpr(other.derived(), internal::scalar_zeta_op<Scalar>());
243
- }
244
-
245
- // polygamma(n = this, x = other)
246
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
247
- const TensorCwiseBinaryOp<internal::scalar_polygamma_op<Scalar>, const Derived, const OtherDerived>
248
- polygamma(const OtherDerived& other) const {
249
- return binaryExpr(other.derived(), internal::scalar_polygamma_op<Scalar>());
250
- }
251
-
252
- EIGEN_DEVICE_FUNC
253
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_erf_op<Scalar>, const Derived>
254
- erf() const {
255
- return unaryExpr(internal::scalar_erf_op<Scalar>());
256
- }
257
-
258
- EIGEN_DEVICE_FUNC
259
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_erfc_op<Scalar>, const Derived>
260
- erfc() const {
261
- return unaryExpr(internal::scalar_erfc_op<Scalar>());
262
- }
263
-
264
- EIGEN_DEVICE_FUNC
265
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_ndtri_op<Scalar>, const Derived>
266
- ndtri() const {
267
- return unaryExpr(internal::scalar_ndtri_op<Scalar>());
268
- }
269
-
270
- EIGEN_DEVICE_FUNC
271
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_logistic_op<Scalar>, const Derived>
272
- sigmoid() const {
273
- return unaryExpr(internal::scalar_logistic_op<Scalar>());
274
- }
275
-
276
- EIGEN_DEVICE_FUNC
277
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_exp_op<Scalar>, const Derived>
278
- exp() const {
279
- return unaryExpr(internal::scalar_exp_op<Scalar>());
280
- }
281
-
282
- EIGEN_DEVICE_FUNC
283
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_expm1_op<Scalar>, const Derived>
284
- expm1() const {
285
- return unaryExpr(internal::scalar_expm1_op<Scalar>());
286
- }
287
-
288
- EIGEN_DEVICE_FUNC
289
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_log_op<Scalar>, const Derived>
290
- log() const {
291
- return unaryExpr(internal::scalar_log_op<Scalar>());
292
- }
293
-
294
- EIGEN_DEVICE_FUNC
295
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_log1p_op<Scalar>, const Derived>
296
- log1p() const {
297
- return unaryExpr(internal::scalar_log1p_op<Scalar>());
298
- }
299
-
300
- EIGEN_DEVICE_FUNC
301
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_log2_op<Scalar>, const Derived>
302
- log2() const {
303
- return unaryExpr(internal::scalar_log2_op<Scalar>());
304
- }
305
-
306
- EIGEN_DEVICE_FUNC
307
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_abs_op<Scalar>, const Derived>
308
- abs() const {
309
- return unaryExpr(internal::scalar_abs_op<Scalar>());
310
- }
311
-
312
- EIGEN_DEVICE_FUNC
313
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_clamp_op<Scalar>, const Derived>
314
- clip(Scalar min, Scalar max) const {
315
- return unaryExpr(internal::scalar_clamp_op<Scalar>(min, max));
316
- }
317
-
318
- EIGEN_DEVICE_FUNC
319
- EIGEN_STRONG_INLINE const typename internal::conditional<NumTraits<CoeffReturnType>::IsComplex,
320
- TensorCwiseUnaryOp<internal::scalar_conjugate_op<Scalar>, const Derived>,
321
- Derived>::type
322
- conjugate() const {
323
- return choose(Cond<NumTraits<CoeffReturnType>::IsComplex>(), unaryExpr(internal::scalar_conjugate_op<Scalar>()), derived());
324
- }
325
-
326
- EIGEN_DEVICE_FUNC
327
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_pow_op<Scalar,Scalar> >, const Derived>
328
- pow(Scalar exponent) const {
329
- return unaryExpr(internal::bind2nd_op<internal::scalar_pow_op<Scalar,Scalar> >(exponent));
330
- }
331
-
332
- EIGEN_DEVICE_FUNC
333
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_real_op<Scalar>, const Derived>
334
- real() const {
335
- return unaryExpr(internal::scalar_real_op<Scalar>());
336
- }
337
-
338
- EIGEN_DEVICE_FUNC
339
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_imag_op<Scalar>, const Derived>
340
- imag() const {
341
- return unaryExpr(internal::scalar_imag_op<Scalar>());
342
- }
343
-
344
- EIGEN_DEVICE_FUNC
345
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_sum_op<Scalar,Scalar> >, const Derived>
346
- operator+ (Scalar rhs) const {
347
- return unaryExpr(internal::bind2nd_op<internal::scalar_sum_op<Scalar,Scalar> >(rhs));
348
- }
349
-
350
- EIGEN_DEVICE_FUNC
351
- EIGEN_STRONG_INLINE friend
352
- const TensorCwiseUnaryOp<internal::bind1st_op<internal::scalar_sum_op<Scalar> >, const Derived>
353
- operator+ (Scalar lhs, const Derived& rhs) {
354
- return rhs.unaryExpr(internal::bind1st_op<internal::scalar_sum_op<Scalar> >(lhs));
355
- }
356
-
357
- EIGEN_DEVICE_FUNC
358
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_difference_op<Scalar,Scalar> >, const Derived>
359
- operator- (Scalar rhs) const {
360
- EIGEN_STATIC_ASSERT((NumTraits<Scalar>::IsSigned || internal::is_same<Scalar, const std::complex<float> >::value), YOU_MADE_A_PROGRAMMING_MISTAKE);
361
- return unaryExpr(internal::bind2nd_op<internal::scalar_difference_op<Scalar,Scalar> >(rhs));
362
- }
363
-
364
- EIGEN_DEVICE_FUNC
365
- EIGEN_STRONG_INLINE friend
366
- const TensorCwiseUnaryOp<internal::bind1st_op<internal::scalar_difference_op<Scalar> >, const Derived>
367
- operator- (Scalar lhs, const Derived& rhs) {
368
- return rhs.unaryExpr(internal::bind1st_op<internal::scalar_difference_op<Scalar> >(lhs));
369
- }
370
-
371
- EIGEN_DEVICE_FUNC
372
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_product_op<Scalar,Scalar> >, const Derived>
373
- operator* (Scalar rhs) const {
374
- return unaryExpr(internal::bind2nd_op<internal::scalar_product_op<Scalar,Scalar> >(rhs));
375
- }
376
-
377
- EIGEN_DEVICE_FUNC
378
- EIGEN_STRONG_INLINE friend
379
- const TensorCwiseUnaryOp<internal::bind1st_op<internal::scalar_product_op<Scalar> >, const Derived>
380
- operator* (Scalar lhs, const Derived& rhs) {
381
- return rhs.unaryExpr(internal::bind1st_op<internal::scalar_product_op<Scalar> >(lhs));
382
- }
383
-
384
- EIGEN_DEVICE_FUNC
385
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::bind2nd_op<internal::scalar_quotient_op<Scalar,Scalar> >, const Derived>
386
- operator/ (Scalar rhs) const {
387
- return unaryExpr(internal::bind2nd_op<internal::scalar_quotient_op<Scalar,Scalar> >(rhs));
388
- }
389
-
390
- EIGEN_DEVICE_FUNC
391
- EIGEN_STRONG_INLINE friend
392
- const TensorCwiseUnaryOp<internal::bind1st_op<internal::scalar_quotient_op<Scalar> >, const Derived>
393
- operator/ (Scalar lhs, const Derived& rhs) {
394
- return rhs.unaryExpr(internal::bind1st_op<internal::scalar_quotient_op<Scalar> >(lhs));
395
- }
396
-
397
- EIGEN_DEVICE_FUNC
398
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_mod_op<Scalar>, const Derived>
399
- operator% (Scalar rhs) const {
400
- EIGEN_STATIC_ASSERT(NumTraits<Scalar>::IsInteger, YOU_MADE_A_PROGRAMMING_MISTAKE_TRY_MOD);
401
- return unaryExpr(internal::scalar_mod_op<Scalar>(rhs));
402
- }
403
-
404
- template <int NanPropagation=PropagateFast>
405
- EIGEN_DEVICE_FUNC
406
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar,NanPropagation>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
407
- cwiseMax(Scalar threshold) const {
408
- return cwiseMax<NanPropagation>(constant(threshold));
409
- }
410
-
411
- template <int NanPropagation=PropagateFast>
412
- EIGEN_DEVICE_FUNC
413
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar,NanPropagation>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
414
- cwiseMin(Scalar threshold) const {
415
- return cwiseMin<NanPropagation>(constant(threshold));
416
- }
417
-
418
- template<typename NewType>
419
- EIGEN_DEVICE_FUNC
420
- EIGEN_STRONG_INLINE const typename internal::conditional<internal::is_same<NewType, CoeffReturnType>::value,
421
- Derived,
422
- TensorConversionOp<NewType, const Derived> >::type
423
- cast() const {
424
- return choose(Cond<internal::is_same<NewType, CoeffReturnType>::value>(), derived(), TensorConversionOp<NewType, const Derived>(derived()));
425
- }
426
-
427
- EIGEN_DEVICE_FUNC
428
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_round_op<Scalar>, const Derived>
429
- round() const {
430
- return unaryExpr(internal::scalar_round_op<Scalar>());
431
- }
432
-
433
- EIGEN_DEVICE_FUNC
434
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_rint_op<Scalar>, const Derived>
435
- rint() const {
436
- return unaryExpr(internal::scalar_rint_op<Scalar>());
437
- }
438
-
439
- EIGEN_DEVICE_FUNC
440
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_ceil_op<Scalar>, const Derived>
441
- ceil() const {
442
- return unaryExpr(internal::scalar_ceil_op<Scalar>());
443
- }
444
-
445
- EIGEN_DEVICE_FUNC
446
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_floor_op<Scalar>, const Derived>
447
- floor() const {
448
- return unaryExpr(internal::scalar_floor_op<Scalar>());
449
- }
450
-
451
- // Generic binary operation support.
452
- template <typename CustomBinaryOp, typename OtherDerived> EIGEN_DEVICE_FUNC
453
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>
454
- binaryExpr(const OtherDerived& other, const CustomBinaryOp& func) const {
455
- return TensorCwiseBinaryOp<CustomBinaryOp, const Derived, const OtherDerived>(derived(), other, func);
456
- }
457
-
458
- // Coefficient-wise binary operators.
459
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
460
- const TensorCwiseBinaryOp<internal::scalar_sum_op<Scalar>, const Derived, const OtherDerived>
461
- operator+(const OtherDerived& other) const {
462
- return binaryExpr(other.derived(), internal::scalar_sum_op<Scalar>());
463
- }
464
-
465
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
466
- const TensorCwiseBinaryOp<internal::scalar_difference_op<Scalar>, const Derived, const OtherDerived>
467
- operator-(const OtherDerived& other) const {
468
- return binaryExpr(other.derived(), internal::scalar_difference_op<Scalar>());
469
- }
470
-
471
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
472
- const TensorCwiseBinaryOp<internal::scalar_product_op<Scalar>, const Derived, const OtherDerived>
473
- operator*(const OtherDerived& other) const {
474
- return binaryExpr(other.derived(), internal::scalar_product_op<Scalar>());
475
- }
476
-
477
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
478
- const TensorCwiseBinaryOp<internal::scalar_quotient_op<Scalar>, const Derived, const OtherDerived>
479
- operator/(const OtherDerived& other) const {
480
- return binaryExpr(other.derived(), internal::scalar_quotient_op<Scalar>());
481
- }
482
-
483
- template<int NaNPropagation=PropagateFast, typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
484
- const TensorCwiseBinaryOp<internal::scalar_max_op<Scalar,Scalar, NaNPropagation>, const Derived, const OtherDerived>
485
- cwiseMax(const OtherDerived& other) const {
486
- return binaryExpr(other.derived(), internal::scalar_max_op<Scalar,Scalar, NaNPropagation>());
487
- }
488
-
489
- template<int NaNPropagation=PropagateFast, typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
490
- const TensorCwiseBinaryOp<internal::scalar_min_op<Scalar,Scalar, NaNPropagation>, const Derived, const OtherDerived>
491
- cwiseMin(const OtherDerived& other) const {
492
- return binaryExpr(other.derived(), internal::scalar_min_op<Scalar,Scalar, NaNPropagation>());
493
- }
494
-
495
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
496
- const TensorCwiseBinaryOp<internal::scalar_boolean_and_op, const Derived, const OtherDerived>
497
- operator&&(const OtherDerived& other) const {
498
- return binaryExpr(other.derived(), internal::scalar_boolean_and_op());
499
- }
500
-
501
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
502
- const TensorCwiseBinaryOp<internal::scalar_boolean_or_op, const Derived, const OtherDerived>
503
- operator||(const OtherDerived& other) const {
504
- return binaryExpr(other.derived(), internal::scalar_boolean_or_op());
505
- }
506
-
507
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
508
- const TensorCwiseBinaryOp<internal::scalar_boolean_xor_op, const Derived, const OtherDerived>
509
- operator^(const OtherDerived& other) const {
510
- return binaryExpr(other.derived(), internal::scalar_boolean_xor_op());
511
- }
512
-
513
- // Comparisons and tests.
514
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
515
- const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_LT>, const Derived, const OtherDerived>
516
- operator<(const OtherDerived& other) const {
517
- return binaryExpr(other.derived(), internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_LT>());
518
- }
519
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
520
- const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_LE>, const Derived, const OtherDerived>
521
- operator<=(const OtherDerived& other) const {
522
- return binaryExpr(other.derived(), internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_LE>());
523
- }
524
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
525
- const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_GT>, const Derived, const OtherDerived>
526
- operator>(const OtherDerived& other) const {
527
- return binaryExpr(other.derived(), internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_GT>());
528
- }
529
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
530
- const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_GE>, const Derived, const OtherDerived>
531
- operator>=(const OtherDerived& other) const {
532
- return binaryExpr(other.derived(), internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_GE>());
533
- }
534
-
535
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
536
- const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_EQ>, const Derived, const OtherDerived>
537
- operator==(const OtherDerived& other) const {
538
- return binaryExpr(other.derived(), internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_EQ>());
539
- }
540
-
541
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
542
- const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_NEQ>, const Derived, const OtherDerived>
543
- operator!=(const OtherDerived& other) const {
544
- return binaryExpr(other.derived(), internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_NEQ>());
545
- }
546
-
547
- // comparisons and tests for Scalars
548
- EIGEN_DEVICE_FUNC
549
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_LT>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
550
- operator<(Scalar threshold) const {
551
- return operator<(constant(threshold));
552
- }
553
- EIGEN_DEVICE_FUNC
554
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_LE>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
555
- operator<=(Scalar threshold) const {
556
- return operator<=(constant(threshold));
557
- }
558
- EIGEN_DEVICE_FUNC
559
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_GT>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
560
- operator>(Scalar threshold) const {
561
- return operator>(constant(threshold));
562
- }
563
- EIGEN_DEVICE_FUNC
564
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_GE>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
565
- operator>=(Scalar threshold) const {
566
- return operator>=(constant(threshold));
567
- }
568
- EIGEN_DEVICE_FUNC
569
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_EQ>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
570
- operator==(Scalar threshold) const {
571
- return operator==(constant(threshold));
572
- }
573
- EIGEN_DEVICE_FUNC
574
- EIGEN_STRONG_INLINE const TensorCwiseBinaryOp<internal::scalar_cmp_op<Scalar, Scalar, internal::cmp_NEQ>, const Derived, const TensorCwiseNullaryOp<internal::scalar_constant_op<Scalar>, const Derived> >
575
- operator!=(Scalar threshold) const {
576
- return operator!=(constant(threshold));
577
- }
578
-
579
- // Checks
580
- EIGEN_DEVICE_FUNC
581
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_isnan_op<Scalar>, const Derived>
582
- (isnan)() const {
583
- return unaryExpr(internal::scalar_isnan_op<Scalar>());
584
- }
585
- EIGEN_DEVICE_FUNC
586
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_isinf_op<Scalar>, const Derived>
587
- (isinf)() const {
588
- return unaryExpr(internal::scalar_isinf_op<Scalar>());
589
- }
590
- EIGEN_DEVICE_FUNC
591
- EIGEN_STRONG_INLINE const TensorCwiseUnaryOp<internal::scalar_isfinite_op<Scalar>, const Derived>
592
- (isfinite)() const {
593
- return unaryExpr(internal::scalar_isfinite_op<Scalar>());
594
- }
595
-
596
- // Coefficient-wise ternary operators.
597
- template<typename ThenDerived, typename ElseDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
598
- const TensorSelectOp<const Derived, const ThenDerived, const ElseDerived>
599
- select(const ThenDerived& thenTensor, const ElseDerived& elseTensor) const {
600
- return TensorSelectOp<const Derived, const ThenDerived, const ElseDerived>(derived(), thenTensor.derived(), elseTensor.derived());
601
- }
602
-
603
- // Contractions.
604
- typedef Eigen::IndexPair<Index> DimensionPair;
605
-
606
- template<typename OtherDerived, typename Dimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
607
- const TensorContractionOp<const Dimensions, const Derived, const OtherDerived, const NoOpOutputKernel>
608
- contract(const OtherDerived& other, const Dimensions& dims) const {
609
- return TensorContractionOp<const Dimensions, const Derived, const OtherDerived, const NoOpOutputKernel>(derived(), other.derived(), dims);
610
- }
611
-
612
- template<typename OtherDerived, typename Dimensions, typename OutputKernel> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
613
- const TensorContractionOp<const Dimensions, const Derived, const OtherDerived, const OutputKernel>
614
- contract(const OtherDerived& other, const Dimensions& dims, const OutputKernel& output_kernel) const {
615
- return TensorContractionOp<const Dimensions, const Derived, const OtherDerived, const OutputKernel>(derived(), other.derived(), dims, output_kernel);
616
- }
617
-
618
- // Convolutions.
619
- template<typename KernelDerived, typename Dimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
620
- const TensorConvolutionOp<const Dimensions, const Derived, const KernelDerived>
621
- convolve(const KernelDerived& kernel, const Dimensions& dims) const {
622
- return TensorConvolutionOp<const Dimensions, const Derived, const KernelDerived>(derived(), kernel.derived(), dims);
623
- }
624
-
625
- // Fourier transforms
626
- template <int FFTDataType, int FFTDirection, typename FFT> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
627
- const TensorFFTOp<const FFT, const Derived, FFTDataType, FFTDirection>
628
- fft(const FFT& dims) const {
629
- return TensorFFTOp<const FFT, const Derived, FFTDataType, FFTDirection>(derived(), dims);
630
- }
631
-
632
- // Scan.
633
- typedef TensorScanOp<internal::SumReducer<CoeffReturnType>, const Derived> TensorScanSumOp;
634
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
635
- const TensorScanSumOp
636
- cumsum(const Index& axis, bool exclusive = false) const {
637
- return TensorScanSumOp(derived(), axis, exclusive);
638
- }
639
-
640
- typedef TensorScanOp<internal::ProdReducer<CoeffReturnType>, const Derived> TensorScanProdOp;
641
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
642
- const TensorScanProdOp
643
- cumprod(const Index& axis, bool exclusive = false) const {
644
- return TensorScanProdOp(derived(), axis, exclusive);
645
- }
646
-
647
- template <typename Reducer>
648
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
649
- const TensorScanOp<Reducer, const Derived>
650
- scan(const Index& axis, const Reducer& reducer, bool exclusive = false) const {
651
- return TensorScanOp<Reducer, const Derived>(derived(), axis, exclusive, reducer);
652
- }
653
-
654
- // Reductions.
655
- template <typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
656
- const TensorReductionOp<internal::SumReducer<CoeffReturnType>, const Dims, const Derived>
657
- sum(const Dims& dims) const {
658
- return TensorReductionOp<internal::SumReducer<CoeffReturnType>, const Dims, const Derived>(derived(), dims, internal::SumReducer<CoeffReturnType>());
659
- }
660
-
661
- const TensorReductionOp<internal::SumReducer<CoeffReturnType>, const DimensionList<Index, NumDimensions>, const Derived>
662
- sum() const {
663
- DimensionList<Index, NumDimensions> in_dims;
664
- return TensorReductionOp<internal::SumReducer<CoeffReturnType>, const DimensionList<Index, NumDimensions>, const Derived>(derived(), in_dims, internal::SumReducer<CoeffReturnType>());
665
- }
666
-
667
- template <typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
668
- const TensorReductionOp<internal::MeanReducer<CoeffReturnType>, const Dims, const Derived>
669
- mean(const Dims& dims) const {
670
- return TensorReductionOp<internal::MeanReducer<CoeffReturnType>, const Dims, const Derived>(derived(), dims, internal::MeanReducer<CoeffReturnType>());
671
- }
672
-
673
- const TensorReductionOp<internal::MeanReducer<CoeffReturnType>, const DimensionList<Index, NumDimensions>, const Derived>
674
- mean() const {
675
- DimensionList<Index, NumDimensions> in_dims;
676
- return TensorReductionOp<internal::MeanReducer<CoeffReturnType>, const DimensionList<Index, NumDimensions>, const Derived>(derived(), in_dims, internal::MeanReducer<CoeffReturnType>());
677
- }
678
-
679
- template <typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
680
- const TensorReductionOp<internal::ProdReducer<CoeffReturnType>, const Dims, const Derived>
681
- prod(const Dims& dims) const {
682
- return TensorReductionOp<internal::ProdReducer<CoeffReturnType>, const Dims, const Derived>(derived(), dims, internal::ProdReducer<CoeffReturnType>());
683
- }
684
-
685
- const TensorReductionOp<internal::ProdReducer<CoeffReturnType>, const DimensionList<Index, NumDimensions>, const Derived>
686
- prod() const {
687
- DimensionList<Index, NumDimensions> in_dims;
688
- return TensorReductionOp<internal::ProdReducer<CoeffReturnType>, const DimensionList<Index, NumDimensions>, const Derived>(derived(), in_dims, internal::ProdReducer<CoeffReturnType>());
689
- }
690
-
691
- template <typename Dims,int NanPropagation=PropagateFast> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
692
- const TensorReductionOp<internal::MaxReducer<CoeffReturnType,NanPropagation>, const Dims, const Derived>
693
- maximum(const Dims& dims) const {
694
- return TensorReductionOp<internal::MaxReducer<CoeffReturnType,NanPropagation>, const Dims, const Derived>(derived(), dims, internal::MaxReducer<CoeffReturnType,NanPropagation>());
695
- }
696
-
697
- template <int NanPropagation=PropagateFast>
698
- const TensorReductionOp<internal::MaxReducer<CoeffReturnType,NanPropagation>, const DimensionList<Index, NumDimensions>, const Derived>
699
- maximum() const {
700
- DimensionList<Index, NumDimensions> in_dims;
701
- return TensorReductionOp<internal::MaxReducer<CoeffReturnType,NanPropagation>, const DimensionList<Index, NumDimensions>, const Derived>(derived(), in_dims, internal::MaxReducer<CoeffReturnType,NanPropagation>());
702
- }
703
-
704
- template <typename Dims,int NanPropagation=PropagateFast> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
705
- const TensorReductionOp<internal::MinReducer<CoeffReturnType,NanPropagation>, const Dims, const Derived>
706
- minimum(const Dims& dims) const {
707
- return TensorReductionOp<internal::MinReducer<CoeffReturnType,NanPropagation>, const Dims, const Derived>(derived(), dims, internal::MinReducer<CoeffReturnType,NanPropagation>());
708
- }
709
-
710
- template <int NanPropagation=PropagateFast>
711
- const TensorReductionOp<internal::MinReducer<CoeffReturnType,NanPropagation>, const DimensionList<Index, NumDimensions>, const Derived>
712
- minimum() const {
713
- DimensionList<Index, NumDimensions> in_dims;
714
- return TensorReductionOp<internal::MinReducer<CoeffReturnType,NanPropagation>, const DimensionList<Index, NumDimensions>, const Derived>(derived(), in_dims, internal::MinReducer<CoeffReturnType,NanPropagation>());
715
- }
716
-
717
- template <typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
718
- const TensorReductionOp<internal::AndReducer, const Dims, const typename internal::conditional<internal::is_same<bool, CoeffReturnType>::value, Derived, TensorConversionOp<bool, const Derived> >::type >
719
- all(const Dims& dims) const {
720
- return cast<bool>().reduce(dims, internal::AndReducer());
721
- }
722
-
723
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
724
- const TensorReductionOp<internal::AndReducer, const DimensionList<Index, NumDimensions>, const typename internal::conditional<internal::is_same<bool, CoeffReturnType>::value, Derived, TensorConversionOp<bool, const Derived> >::type >
725
- all() const {
726
- DimensionList<Index, NumDimensions> in_dims;
727
- return cast<bool>().reduce(in_dims, internal::AndReducer());
728
- }
729
-
730
- template <typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
731
- const TensorReductionOp<internal::OrReducer, const Dims, const typename internal::conditional<internal::is_same<bool, CoeffReturnType>::value, Derived, TensorConversionOp<bool, const Derived> >::type >
732
- any(const Dims& dims) const {
733
- return cast<bool>().reduce(dims, internal::OrReducer());
734
- }
735
-
736
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
737
- const TensorReductionOp<internal::OrReducer, const DimensionList<Index, NumDimensions>, const typename internal::conditional<internal::is_same<bool, CoeffReturnType>::value, Derived, TensorConversionOp<bool, const Derived> >::type >
738
- any() const {
739
- DimensionList<Index, NumDimensions> in_dims;
740
- return cast<bool>().reduce(in_dims, internal::OrReducer());
741
- }
742
-
743
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
744
- const TensorTupleReducerOp<
745
- internal::ArgMaxTupleReducer<Tuple<Index, CoeffReturnType> >,
746
- const array<Index, NumDimensions>, const Derived>
747
- argmax() const {
748
- array<Index, NumDimensions> in_dims;
749
- for (Index d = 0; d < NumDimensions; ++d) in_dims[d] = d;
750
- return TensorTupleReducerOp<
751
- internal::ArgMaxTupleReducer<Tuple<Index, CoeffReturnType> >,
752
- const array<Index, NumDimensions>,
753
- const Derived>(derived(), internal::ArgMaxTupleReducer<Tuple<Index, CoeffReturnType> >(), -1, in_dims);
754
- }
755
-
756
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
757
- const TensorTupleReducerOp<
758
- internal::ArgMinTupleReducer<Tuple<Index, CoeffReturnType> >,
759
- const array<Index, NumDimensions>, const Derived>
760
- argmin() const {
761
- array<Index, NumDimensions> in_dims;
762
- for (Index d = 0; d < NumDimensions; ++d) in_dims[d] = d;
763
- return TensorTupleReducerOp<
764
- internal::ArgMinTupleReducer<Tuple<Index, CoeffReturnType> >,
765
- const array<Index, NumDimensions>,
766
- const Derived>(derived(), internal::ArgMinTupleReducer<Tuple<Index, CoeffReturnType> >(), -1, in_dims);
767
- }
768
-
769
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
770
- const TensorTupleReducerOp<
771
- internal::ArgMaxTupleReducer<Tuple<Index, CoeffReturnType> >,
772
- const array<Index, 1>, const Derived>
773
- argmax(const Index return_dim) const {
774
- array<Index, 1> in_dims;
775
- in_dims[0] = return_dim;
776
- return TensorTupleReducerOp<
777
- internal::ArgMaxTupleReducer<Tuple<Index, CoeffReturnType> >,
778
- const array<Index, 1>,
779
- const Derived>(derived(), internal::ArgMaxTupleReducer<Tuple<Index, CoeffReturnType> >(), return_dim, in_dims);
780
- }
781
-
782
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
783
- const TensorTupleReducerOp<
784
- internal::ArgMinTupleReducer<Tuple<Index, CoeffReturnType> >,
785
- const array<Index, 1>, const Derived>
786
- argmin(const Index return_dim) const {
787
- array<Index, 1> in_dims;
788
- in_dims[0] = return_dim;
789
- return TensorTupleReducerOp<
790
- internal::ArgMinTupleReducer<Tuple<Index, CoeffReturnType> >,
791
- const array<Index, 1>,
792
- const Derived>(derived(), internal::ArgMinTupleReducer<Tuple<Index, CoeffReturnType> >(), return_dim, in_dims);
793
- }
794
-
795
- template <typename Reducer, typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
796
- const TensorReductionOp<Reducer, const Dims, const Derived>
797
- reduce(const Dims& dims, const Reducer& reducer) const {
798
- return TensorReductionOp<Reducer, const Dims, const Derived>(derived(), dims, reducer);
799
- }
800
-
801
- template <typename Dims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
802
- const TensorTraceOp<const Dims, const Derived>
803
- trace(const Dims& dims) const {
804
- return TensorTraceOp<const Dims, const Derived>(derived(), dims);
805
- }
806
-
807
- const TensorTraceOp<const DimensionList<Index, NumDimensions>, const Derived>
808
- trace() const {
809
- DimensionList<Index, NumDimensions> in_dims;
810
- return TensorTraceOp<const DimensionList<Index, NumDimensions>, const Derived>(derived(), in_dims);
811
- }
812
-
813
- template <typename Broadcast> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
814
- const TensorBroadcastingOp<const Broadcast, const Derived>
815
- broadcast(const Broadcast& bcast) const {
816
- return TensorBroadcastingOp<const Broadcast, const Derived>(derived(), bcast);
817
- }
818
-
819
- template <typename Axis, typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
820
- const TensorConcatenationOp<Axis, const Derived, const OtherDerived>
821
- concatenate(const OtherDerived& other, Axis axis) const {
822
- return TensorConcatenationOp<Axis, const Derived, const OtherDerived>(derived(), other.derived(), axis);
823
- }
824
-
825
- template <typename PatchDims> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
826
- const TensorPatchOp<const PatchDims, const Derived>
827
- extract_patches(const PatchDims& patch_dims) const {
828
- return TensorPatchOp<const PatchDims, const Derived>(derived(), patch_dims);
829
- }
830
-
831
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
832
- const TensorImagePatchOp<Dynamic, Dynamic, const Derived>
833
- extract_image_patches(const Index patch_rows = 1, const Index patch_cols = 1,
834
- const Index row_stride = 1, const Index col_stride = 1,
835
- const Index in_row_stride = 1, const Index in_col_stride = 1,
836
- const PaddingType padding_type = PADDING_SAME, const Scalar padding_value = Scalar(0)) const {
837
- return TensorImagePatchOp<Dynamic, Dynamic, const Derived>(derived(), patch_rows, patch_cols, row_stride, col_stride,
838
- in_row_stride, in_col_stride, 1, 1, padding_type, padding_value);
839
- }
840
-
841
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
842
- const TensorImagePatchOp<Dynamic, Dynamic, const Derived>
843
- extract_image_patches(const Index patch_rows, const Index patch_cols,
844
- const Index row_stride, const Index col_stride,
845
- const Index in_row_stride, const Index in_col_stride,
846
- const Index row_inflate_stride, const Index col_inflate_stride,
847
- const Index padding_top, const Index padding_bottom,
848
- const Index padding_left,const Index padding_right,
849
- const Scalar padding_value) const {
850
- return TensorImagePatchOp<Dynamic, Dynamic, const Derived>(derived(), patch_rows, patch_cols, row_stride, col_stride,
851
- in_row_stride, in_col_stride, row_inflate_stride, col_inflate_stride,
852
- padding_top, padding_bottom, padding_left, padding_right, padding_value);
853
- }
854
-
855
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
856
- const TensorVolumePatchOp<Dynamic, Dynamic, Dynamic, const Derived>
857
- extract_volume_patches(const Index patch_planes, const Index patch_rows, const Index patch_cols,
858
- const Index plane_stride = 1, const Index row_stride = 1, const Index col_stride = 1,
859
- const PaddingType padding_type = PADDING_SAME, const Scalar padding_value = Scalar(0)) const {
860
- return TensorVolumePatchOp<Dynamic, Dynamic, Dynamic, const Derived>(derived(), patch_planes, patch_rows, patch_cols, plane_stride, row_stride, col_stride, 1, 1, 1, 1, 1, 1, padding_type, padding_value);
861
- }
862
-
863
-
864
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
865
- const TensorVolumePatchOp<Dynamic, Dynamic, Dynamic, const Derived>
866
- extract_volume_patches(const Index patch_planes, const Index patch_rows, const Index patch_cols,
867
- const Index plane_stride, const Index row_stride, const Index col_stride,
868
- const Index plane_inflate_stride, const Index row_inflate_stride, const Index col_inflate_stride,
869
- const Index padding_top_z, const Index padding_bottom_z,
870
- const Index padding_top, const Index padding_bottom,
871
- const Index padding_left, const Index padding_right, const Scalar padding_value = Scalar(0)) const {
872
- return TensorVolumePatchOp<Dynamic, Dynamic, Dynamic, const Derived>(derived(), patch_planes, patch_rows, patch_cols, plane_stride, row_stride, col_stride, 1, 1, 1, plane_inflate_stride, row_inflate_stride, col_inflate_stride, padding_top_z, padding_bottom_z, padding_top, padding_bottom, padding_left, padding_right, padding_value);
873
- }
874
-
875
- // Morphing operators.
876
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
877
- const TensorLayoutSwapOp<const Derived>
878
- swap_layout() const {
879
- return TensorLayoutSwapOp<const Derived>(derived());
880
- }
881
- template <typename NewDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
882
- const TensorReshapingOp<const NewDimensions, const Derived>
883
- reshape(const NewDimensions& newDimensions) const {
884
- return TensorReshapingOp<const NewDimensions, const Derived>(derived(), newDimensions);
885
- }
886
- template <typename StartIndices, typename Sizes> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
887
- const TensorSlicingOp<const StartIndices, const Sizes, const Derived>
888
- slice(const StartIndices& startIndices, const Sizes& sizes) const {
889
- return TensorSlicingOp<const StartIndices, const Sizes, const Derived>(derived(), startIndices, sizes);
890
- }
891
- template <typename StartIndices, typename StopIndices, typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
892
- const TensorStridingSlicingOp<const StartIndices, const StopIndices, const Strides, const Derived>
893
- stridedSlice(const StartIndices& startIndices, const StopIndices& stopIndices, const Strides& strides) const {
894
- return TensorStridingSlicingOp<const StartIndices, const StopIndices, const Strides,
895
- const Derived>(derived(), startIndices, stopIndices, strides);
896
- }
897
- template <Index DimId> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
898
- const TensorChippingOp<DimId, const Derived>
899
- chip(const Index offset) const {
900
- return TensorChippingOp<DimId, const Derived>(derived(), offset, DimId);
901
- }
902
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
903
- const TensorChippingOp<Dynamic, const Derived>
904
- chip(const Index offset, const Index dim) const {
905
- return TensorChippingOp<Dynamic, const Derived>(derived(), offset, dim);
906
- }
907
- template <typename ReverseDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
908
- const TensorReverseOp<const ReverseDimensions, const Derived>
909
- reverse(const ReverseDimensions& rev) const {
910
- return TensorReverseOp<const ReverseDimensions, const Derived>(derived(), rev);
911
- }
912
- template <typename PaddingDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
913
- const TensorPaddingOp<const PaddingDimensions, const Derived>
914
- pad(const PaddingDimensions& padding) const {
915
- return TensorPaddingOp<const PaddingDimensions, const Derived>(derived(), padding, internal::scalar_cast_op<int, Scalar>()(0));
916
- }
917
- template <typename PaddingDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
918
- const TensorPaddingOp<const PaddingDimensions, const Derived>
919
- pad(const PaddingDimensions& padding, const Scalar padding_value) const {
920
- return TensorPaddingOp<const PaddingDimensions, const Derived>(derived(), padding, padding_value);
921
- }
922
- template <typename Shuffle> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
923
- const TensorShufflingOp<const Shuffle, const Derived>
924
- shuffle(const Shuffle& shfl) const {
925
- return TensorShufflingOp<const Shuffle, const Derived>(derived(), shfl);
926
- }
927
- template <typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
928
- const TensorStridingOp<const Strides, const Derived>
929
- stride(const Strides& strides) const {
930
- return TensorStridingOp<const Strides, const Derived>(derived(), strides);
931
- }
932
- template <typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
933
- const TensorInflationOp<const Strides, const Derived>
934
- inflate(const Strides& strides) const {
935
- return TensorInflationOp<const Strides, const Derived>(derived(), strides);
936
- }
937
-
938
- // Returns a tensor containing index/value tuples
939
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
940
- const TensorIndexTupleOp<const Derived>
941
- index_tuples() const {
942
- return TensorIndexTupleOp<const Derived>(derived());
943
- }
944
-
945
- // Support for custom unary and binary operations
946
- template <typename CustomUnaryFunc>
947
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
948
- const TensorCustomUnaryOp<const CustomUnaryFunc, const Derived> customOp(const CustomUnaryFunc& op) const {
949
- return TensorCustomUnaryOp<const CustomUnaryFunc, const Derived>(derived(), op);
950
- }
951
- template <typename OtherDerived, typename CustomBinaryFunc>
952
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
953
- const TensorCustomBinaryOp<const CustomBinaryFunc, const Derived, const OtherDerived> customOp(const OtherDerived& other, const CustomBinaryFunc& op) const {
954
- return TensorCustomBinaryOp<const CustomBinaryFunc, const Derived, const OtherDerived>(derived(), other, op);
955
- }
956
-
957
- // Force the evaluation of the expression.
958
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
959
- const TensorForcedEvalOp<const Derived> eval() const {
960
- return TensorForcedEvalOp<const Derived>(derived());
961
- }
962
-
963
- protected:
964
- template <typename Scalar, int NumIndices, int Options, typename IndexType> friend class Tensor;
965
- template <typename Scalar, typename Dimensions, int Option, typename IndexTypes> friend class TensorFixedSize;
966
- // the Eigen:: prefix is required to workaround a compilation issue with nvcc 9.0
967
- template <typename OtherDerived, int AccessLevel> friend class Eigen::TensorBase;
968
- EIGEN_DEVICE_FUNC
969
- EIGEN_STRONG_INLINE const Derived& derived() const { return *static_cast<const Derived*>(this); }
970
- };
971
-
972
- template<typename Derived, int AccessLevel = internal::accessors_level<Derived>::value>
973
- class TensorBase : public TensorBase<Derived, ReadOnlyAccessors> {
974
- public:
975
- typedef TensorBase<Derived, ReadOnlyAccessors> Base;
976
- typedef internal::traits<Derived> DerivedTraits;
977
- typedef typename DerivedTraits::Scalar Scalar;
978
- typedef typename DerivedTraits::Index Index;
979
- typedef Scalar CoeffReturnType;
980
- static const int NumDimensions = DerivedTraits::NumDimensions;
981
-
982
- template <typename Scalar, int NumIndices, int Options, typename IndexType> friend class Tensor;
983
- template <typename Scalar, typename Dimensions, int Option, typename IndexTypes> friend class TensorFixedSize;
984
- // the Eigen:: prefix is required to workaround a compilation issue with nvcc 9.0
985
- template <typename OtherDerived, int OtherAccessLevel> friend class Eigen::TensorBase;
986
-
987
- EIGEN_DEVICE_FUNC
988
- EIGEN_STRONG_INLINE Derived& setZero() {
989
- return setConstant(Scalar(0));
990
- }
991
- EIGEN_DEVICE_FUNC
992
- EIGEN_STRONG_INLINE Derived& setConstant(const Scalar& val) {
993
- return derived() = this->constant(val);
994
- }
995
- EIGEN_DEVICE_FUNC
996
- EIGEN_STRONG_INLINE Derived& setRandom() {
997
- return derived() = this->random();
998
- }
999
- template <typename RandomGenerator> EIGEN_DEVICE_FUNC
1000
- EIGEN_STRONG_INLINE Derived& setRandom() {
1001
- return derived() = this->template random<RandomGenerator>();
1002
- }
1003
-
1004
- #if EIGEN_HAS_VARIADIC_TEMPLATES
1005
- EIGEN_DEVICE_FUNC
1006
- EIGEN_STRONG_INLINE Derived& setValues(
1007
- const typename internal::Initializer<Derived, NumDimensions>::InitList& vals) {
1008
- TensorEvaluator<Derived, DefaultDevice> eval(derived(), DefaultDevice());
1009
- internal::initialize_tensor<Derived, NumDimensions>(eval, vals);
1010
- return derived();
1011
- }
1012
- #endif // EIGEN_HAS_VARIADIC_TEMPLATES
1013
-
1014
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1015
- Derived& operator+=(const OtherDerived& other) {
1016
- return derived() = derived() + other.derived();
1017
- }
1018
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1019
- Derived& operator-=(const OtherDerived& other) {
1020
- return derived() = derived() - other.derived();
1021
- }
1022
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1023
- Derived& operator*=(const OtherDerived& other) {
1024
- return derived() = derived() * other.derived();
1025
- }
1026
- template<typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1027
- Derived& operator/=(const OtherDerived& other) {
1028
- return derived() = derived() / other.derived();
1029
- }
1030
-
1031
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1032
- const TensorLayoutSwapOp<const Derived>
1033
- swap_layout() const {
1034
- return TensorLayoutSwapOp<const Derived>(derived());
1035
- }
1036
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1037
- TensorLayoutSwapOp<Derived>
1038
- swap_layout() {
1039
- return TensorLayoutSwapOp<Derived>(derived());
1040
- }
1041
-
1042
- template <typename Axis, typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1043
- const TensorConcatenationOp<const Axis, const Derived, const OtherDerived>
1044
- concatenate(const OtherDerived& other, const Axis& axis) const {
1045
- return TensorConcatenationOp<const Axis, const Derived, const OtherDerived>(derived(), other, axis);
1046
- }
1047
- template <typename Axis, typename OtherDerived> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1048
- TensorConcatenationOp<const Axis, Derived, OtherDerived>
1049
- concatenate(const OtherDerived& other, const Axis& axis) {
1050
- return TensorConcatenationOp<const Axis, Derived, OtherDerived>(derived(), other, axis);
1051
- }
1052
-
1053
- template <typename NewDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1054
- const TensorReshapingOp<const NewDimensions, const Derived>
1055
- reshape(const NewDimensions& newDimensions) const {
1056
- return TensorReshapingOp<const NewDimensions, const Derived>(derived(), newDimensions);
1057
- }
1058
- template <typename NewDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1059
- TensorReshapingOp<const NewDimensions, Derived>
1060
- reshape(const NewDimensions& newDimensions) {
1061
- return TensorReshapingOp<const NewDimensions, Derived>(derived(), newDimensions);
1062
- }
1063
-
1064
- template <typename StartIndices, typename Sizes> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1065
- const TensorSlicingOp<const StartIndices, const Sizes, const Derived>
1066
- slice(const StartIndices& startIndices, const Sizes& sizes) const {
1067
- return TensorSlicingOp<const StartIndices, const Sizes, const Derived>(derived(), startIndices, sizes);
1068
- }
1069
- template <typename StartIndices, typename Sizes> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1070
- TensorSlicingOp<const StartIndices, const Sizes, Derived>
1071
- slice(const StartIndices& startIndices, const Sizes& sizes) {
1072
- return TensorSlicingOp<const StartIndices, const Sizes, Derived>(derived(), startIndices, sizes);
1073
- }
1074
-
1075
- template <typename StartIndices, typename StopIndices, typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1076
- const TensorStridingSlicingOp<const StartIndices, const StopIndices, const Strides, const Derived>
1077
- stridedSlice(const StartIndices& startIndices, const StopIndices& stopIndices, const Strides& strides) const {
1078
- return TensorStridingSlicingOp<const StartIndices, const StopIndices, const Strides,
1079
- const Derived>(derived(), startIndices, stopIndices, strides);
1080
- }
1081
- template <typename StartIndices, typename StopIndices, typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1082
- TensorStridingSlicingOp<const StartIndices, const StopIndices, const Strides, Derived>
1083
- stridedSlice(const StartIndices& startIndices, const StopIndices& stopIndices, const Strides& strides) {
1084
- return TensorStridingSlicingOp<const StartIndices, const StopIndices, const Strides,
1085
- Derived>(derived(), startIndices, stopIndices, strides);
1086
- }
1087
-
1088
- template <DenseIndex DimId> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1089
- const TensorChippingOp<DimId, const Derived>
1090
- chip(const Index offset) const {
1091
- return TensorChippingOp<DimId, const Derived>(derived(), offset, DimId);
1092
- }
1093
- template <Index DimId> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1094
- TensorChippingOp<DimId, Derived>
1095
- chip(const Index offset) {
1096
- return TensorChippingOp<DimId, Derived>(derived(), offset, DimId);
1097
- }
1098
-
1099
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1100
- const TensorChippingOp<Dynamic, const Derived>
1101
- chip(const Index offset, const Index dim) const {
1102
- return TensorChippingOp<Dynamic, const Derived>(derived(), offset, dim);
1103
- }
1104
- EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1105
- TensorChippingOp<Dynamic, Derived>
1106
- chip(const Index offset, const Index dim) {
1107
- return TensorChippingOp<Dynamic, Derived>(derived(), offset, dim);
1108
- }
1109
-
1110
- template <typename ReverseDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1111
- const TensorReverseOp<const ReverseDimensions, const Derived>
1112
- reverse(const ReverseDimensions& rev) const {
1113
- return TensorReverseOp<const ReverseDimensions, const Derived>(derived(), rev);
1114
- }
1115
- template <typename ReverseDimensions> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1116
- TensorReverseOp<const ReverseDimensions, Derived>
1117
- reverse(const ReverseDimensions& rev) {
1118
- return TensorReverseOp<const ReverseDimensions, Derived>(derived(), rev);
1119
- }
1120
-
1121
- template <typename Shuffle> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1122
- const TensorShufflingOp<const Shuffle, const Derived>
1123
- shuffle(const Shuffle& shfl) const {
1124
- return TensorShufflingOp<const Shuffle, const Derived>(derived(), shfl);
1125
- }
1126
- template <typename Shuffle> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1127
- TensorShufflingOp<const Shuffle, Derived>
1128
- shuffle(const Shuffle& shfl) {
1129
- return TensorShufflingOp<const Shuffle, Derived>(derived(), shfl);
1130
- }
1131
-
1132
- template <typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1133
- const TensorStridingOp<const Strides, const Derived>
1134
- stride(const Strides& strides) const {
1135
- return TensorStridingOp<const Strides, const Derived>(derived(), strides);
1136
- }
1137
- template <typename Strides> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
1138
- TensorStridingOp<const Strides, Derived>
1139
- stride(const Strides& strides) {
1140
- return TensorStridingOp<const Strides, Derived>(derived(), strides);
1141
- }
1142
-
1143
- // Select the device on which to evaluate the expression.
1144
- template <typename DeviceType>
1145
- TensorDevice<Derived, DeviceType> device(const DeviceType& dev) {
1146
- return TensorDevice<Derived, DeviceType>(dev, derived());
1147
- }
1148
-
1149
- // Select the async device on which to evaluate the expression.
1150
- template <typename DeviceType, typename DoneCallback>
1151
- TensorAsyncDevice<Derived, DeviceType, DoneCallback> device(const DeviceType& dev, DoneCallback done) {
1152
- return TensorAsyncDevice<Derived, DeviceType, DoneCallback>(dev, derived(), std::move(done));
1153
- }
1154
-
1155
- protected:
1156
- EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(TensorBase)
1157
- EIGEN_DEFAULT_COPY_CONSTRUCTOR(TensorBase)
1158
-
1159
- template<typename OtherDerived> EIGEN_DEVICE_FUNC
1160
- EIGEN_STRONG_INLINE Derived& operator=(const OtherDerived& other)
1161
- {
1162
- typedef TensorAssignOp<Derived, const OtherDerived> Assign;
1163
- Assign assign(derived(), other.derived());
1164
- internal::TensorExecutor<const Assign, DefaultDevice>::run(assign, DefaultDevice());
1165
- return derived();
1166
- }
1167
-
1168
- EIGEN_DEVICE_FUNC
1169
- EIGEN_STRONG_INLINE Derived& derived() { return *static_cast<Derived*>(this); }
1170
- EIGEN_DEVICE_FUNC
1171
- EIGEN_STRONG_INLINE const Derived& derived() const { return *static_cast<const Derived*>(this); }
1172
- };
1173
- #endif // EIGEN_PARSED_BY_DOXYGEN
1174
- } // end namespace Eigen
1175
-
1176
- #endif // EIGEN_CXX11_TENSOR_TENSOR_BASE_H