sequenzo 0.1.17__cp39-cp39-win_amd64.whl → 0.1.19__cp39-cp39-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

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