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

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

Potentially problematic release.


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

Files changed (423) hide show
  1. sequenzo/__init__.py +64 -8
  2. sequenzo/big_data/clara/clara.py +1 -1
  3. sequenzo/big_data/clara/utils/get_weighted_diss.c +157 -157
  4. sequenzo/big_data/clara/utils/get_weighted_diss.cpython-39-darwin.so +0 -0
  5. sequenzo/clustering/KMedoids.py +39 -0
  6. sequenzo/clustering/hierarchical_clustering.py +304 -8
  7. sequenzo/define_sequence_data.py +44 -3
  8. sequenzo/dissimilarity_measures/c_code.cpython-39-darwin.so +0 -0
  9. sequenzo/dissimilarity_measures/get_distance_matrix.py +1 -2
  10. sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +1 -1
  11. sequenzo/dissimilarity_measures/src/DHDdistance.cpp +13 -37
  12. sequenzo/dissimilarity_measures/src/LCPdistance.cpp +13 -37
  13. sequenzo/dissimilarity_measures/src/OMdistance.cpp +12 -47
  14. sequenzo/dissimilarity_measures/src/OMspellDistance.cpp +103 -67
  15. sequenzo/dissimilarity_measures/src/dp_utils.h +160 -0
  16. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_arithmetic.hpp +41 -16
  17. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_complex.hpp +4 -0
  18. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_details.hpp +7 -0
  19. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_logical.hpp +10 -0
  20. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_math.hpp +127 -43
  21. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_memory.hpp +30 -2
  22. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_swizzle.hpp +174 -0
  23. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_trigo.hpp +14 -5
  24. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx.hpp +111 -54
  25. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx2.hpp +131 -9
  26. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512bw.hpp +11 -113
  27. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512dq.hpp +39 -7
  28. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512f.hpp +336 -30
  29. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi.hpp +9 -37
  30. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi2.hpp +58 -0
  31. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common.hpp +1 -0
  32. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common_fwd.hpp +35 -2
  33. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_constants.hpp +3 -1
  34. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_emulated.hpp +17 -0
  35. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx.hpp +13 -0
  36. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_sse.hpp +18 -0
  37. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma4.hpp +13 -0
  38. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_isa.hpp +8 -0
  39. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon.hpp +363 -34
  40. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon64.hpp +7 -0
  41. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_rvv.hpp +13 -0
  42. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_scalar.hpp +41 -4
  43. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse2.hpp +252 -16
  44. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse3.hpp +9 -0
  45. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_ssse3.hpp +12 -1
  46. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sve.hpp +7 -0
  47. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_vsx.hpp +892 -0
  48. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_wasm.hpp +78 -1
  49. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_arch.hpp +3 -1
  50. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_config.hpp +13 -2
  51. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_cpuid.hpp +5 -0
  52. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_inline.hpp +5 -1
  53. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_all_registers.hpp +2 -0
  54. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_api.hpp +64 -1
  55. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch.hpp +36 -0
  56. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_rvv_register.hpp +40 -31
  57. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_traits.hpp +8 -0
  58. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_vsx_register.hpp +77 -0
  59. sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/xsimd.hpp +6 -0
  60. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +157 -157
  61. sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-39-darwin.so +0 -0
  62. sequenzo/dissimilarity_measures/utils/seqconc.c +157 -157
  63. sequenzo/dissimilarity_measures/utils/seqconc.cpython-39-darwin.so +0 -0
  64. sequenzo/dissimilarity_measures/utils/seqdss.c +157 -157
  65. sequenzo/dissimilarity_measures/utils/seqdss.cpython-39-darwin.so +0 -0
  66. sequenzo/dissimilarity_measures/utils/seqdur.c +157 -157
  67. sequenzo/dissimilarity_measures/utils/seqdur.cpython-39-darwin.so +0 -0
  68. sequenzo/dissimilarity_measures/utils/seqlength.c +157 -157
  69. sequenzo/dissimilarity_measures/utils/seqlength.cpython-39-darwin.so +0 -0
  70. sequenzo/multidomain/cat.py +0 -53
  71. sequenzo/multidomain/idcd.py +0 -1
  72. sequenzo/openmp_setup.py +233 -0
  73. sequenzo/sequence_characteristics/__init__.py +4 -0
  74. sequenzo/sequence_characteristics/complexity_index.py +17 -57
  75. sequenzo/sequence_characteristics/overall_cross_sectional_entropy.py +177 -111
  76. sequenzo/sequence_characteristics/plot_characteristics.py +30 -11
  77. sequenzo/sequence_characteristics/simple_characteristics.py +1 -0
  78. sequenzo/sequence_characteristics/state_frequencies_and_entropy_per_sequence.py +9 -3
  79. sequenzo/sequence_characteristics/turbulence.py +47 -67
  80. sequenzo/sequence_characteristics/variance_of_spell_durations.py +19 -9
  81. sequenzo/sequence_characteristics/within_sequence_entropy.py +5 -58
  82. sequenzo/visualization/plot_sequence_index.py +58 -35
  83. sequenzo/visualization/plot_state_distribution.py +57 -36
  84. sequenzo/visualization/plot_transition_matrix.py +21 -22
  85. sequenzo/with_event_history_analysis/__init__.py +35 -0
  86. sequenzo/with_event_history_analysis/sequence_analysis_multi_state_model.py +850 -0
  87. sequenzo/with_event_history_analysis/sequence_history_analysis.py +283 -0
  88. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/METADATA +48 -14
  89. sequenzo-0.1.19.dist-info/RECORD +215 -0
  90. sequenzo/dissimilarity_measures/setup.py +0 -35
  91. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
  92. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
  93. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
  94. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
  95. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
  96. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
  97. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
  98. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
  99. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
  100. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
  101. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
  102. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
  103. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
  104. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
  105. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
  106. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
  107. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
  108. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
  109. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
  110. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
  111. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
  112. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
  113. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
  114. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
  115. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
  116. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
  117. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
  118. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
  119. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
  120. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
  121. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
  122. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
  123. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
  124. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
  125. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
  126. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
  127. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
  128. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
  129. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
  130. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
  131. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
  132. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
  133. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
  134. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
  135. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
  136. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
  137. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
  138. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
  139. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
  140. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
  141. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
  142. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
  143. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
  144. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
  145. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
  146. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
  147. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
  148. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
  149. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
  150. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
  151. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
  152. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
  153. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
  154. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
  155. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
  156. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
  157. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
  158. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
  159. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
  160. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
  161. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
  162. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
  163. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
  164. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
  165. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
  166. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
  167. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
  168. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
  169. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
  170. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
  171. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
  172. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
  173. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
  174. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
  175. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
  176. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
  177. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
  178. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
  179. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
  180. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
  181. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
  182. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
  183. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
  184. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
  185. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
  186. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
  187. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
  188. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
  189. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
  190. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
  191. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
  192. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
  193. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
  194. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
  195. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
  196. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
  197. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
  198. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
  199. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
  200. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
  201. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
  202. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
  203. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
  204. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
  205. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
  206. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
  207. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
  208. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
  209. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
  210. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
  211. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
  212. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
  213. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
  214. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
  215. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
  216. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
  217. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
  218. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
  219. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
  220. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
  221. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
  222. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
  223. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
  224. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
  225. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
  226. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
  227. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
  228. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
  229. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
  230. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
  231. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
  232. sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
  233. sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
  234. sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
  235. sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
  236. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
  237. sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
  238. sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
  239. sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
  240. sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
  241. sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
  242. sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
  243. sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
  244. sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
  245. sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
  246. sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
  247. sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
  248. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
  249. sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
  250. sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
  251. sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
  252. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
  253. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
  254. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
  255. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
  256. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
  257. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
  258. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
  259. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
  260. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
  261. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
  262. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
  263. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
  264. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
  265. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
  266. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
  267. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
  268. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
  269. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
  270. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
  271. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
  272. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
  273. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
  274. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
  275. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
  276. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
  277. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
  278. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
  279. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
  280. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
  281. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
  282. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
  283. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
  284. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
  285. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
  286. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
  287. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
  288. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
  289. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
  290. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
  291. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
  292. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
  293. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
  294. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
  295. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
  296. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
  297. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
  298. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
  299. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
  300. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
  301. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
  302. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
  303. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
  304. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
  305. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
  306. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
  307. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
  308. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
  309. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
  310. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
  311. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
  312. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
  313. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
  314. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
  315. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
  316. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
  317. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
  318. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
  319. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
  320. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
  321. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
  322. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
  323. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
  324. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
  325. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
  326. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
  327. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
  328. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
  329. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
  330. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
  331. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
  332. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
  333. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
  334. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
  335. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
  336. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
  337. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
  338. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
  339. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
  340. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
  341. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
  342. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
  343. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
  344. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
  345. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
  346. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
  347. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
  348. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
  349. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
  350. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
  351. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
  352. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
  353. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
  354. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
  355. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
  356. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
  357. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
  358. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
  359. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
  360. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
  361. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
  362. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
  363. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
  364. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
  365. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
  366. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
  367. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
  368. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
  369. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
  370. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
  371. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
  372. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
  373. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
  374. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
  375. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
  376. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
  377. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
  378. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
  379. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
  380. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
  381. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
  382. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
  383. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
  384. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
  385. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
  386. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
  387. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
  388. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
  389. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
  390. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
  391. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
  392. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
  393. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
  394. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
  395. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
  396. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
  397. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
  398. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
  399. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
  400. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
  401. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
  402. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
  403. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
  404. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
  405. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
  406. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
  407. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
  408. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
  409. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
  410. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
  411. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
  412. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
  413. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
  414. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
  415. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
  416. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
  417. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
  418. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
  419. sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
  420. sequenzo-0.1.17.dist-info/RECORD +0 -537
  421. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/WHEEL +0 -0
  422. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/licenses/LICENSE +0 -0
  423. {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/top_level.txt +0 -0
@@ -116,6 +116,11 @@ namespace xsimd
116
116
  {
117
117
  return fast_cast(self, out, A {});
118
118
  }
119
+ #if defined(__clang__) || __GNUC__
120
+ template <class A, class T_out, class T_in>
121
+ XSIMD_INLINE batch<T_out, A> batch_cast(batch<T_in, A> const& self, batch<T_out, A> const&, requires_arch<common>, with_slow_conversion) noexcept
122
+ __attribute__((no_sanitize("undefined")));
123
+ #endif
119
124
  template <class A, class T_out, class T_in>
120
125
  XSIMD_INLINE batch<T_out, A> batch_cast(batch<T_in, A> const& self, batch<T_out, A> const&, requires_arch<common>, with_slow_conversion) noexcept
121
126
  {
@@ -126,7 +131,8 @@ namespace xsimd
126
131
  alignas(A::alignment()) T_in buffer_in[batch_type_in::size];
127
132
  alignas(A::alignment()) T_out buffer_out[batch_type_out::size];
128
133
  self.store_aligned(&buffer_in[0]);
129
- std::copy(std::begin(buffer_in), std::end(buffer_in), std::begin(buffer_out));
134
+ for (size_t i = 0; i < batch_type_in::size; ++i)
135
+ buffer_out[i] = static_cast<T_out>(buffer_in[i]);
130
136
  return batch_type_out::load_aligned(buffer_out);
131
137
  }
132
138
 
@@ -890,7 +896,9 @@ namespace xsimd
890
896
  batch_type k = reducer_t::reduce(self, x);
891
897
  x = reducer_t::approx(x);
892
898
  x = select(self <= reducer_t::minlog(), batch_type(0.), ldexp(x, to_int(k)));
899
+ #ifndef __FAST_MATH__
893
900
  x = select(self >= reducer_t::maxlog(), constants::infinity<batch_type>(), x);
901
+ #endif
894
902
  return x;
895
903
  }
896
904
 
@@ -904,7 +912,9 @@ namespace xsimd
904
912
  batch_type c = reducer_t::approx(x);
905
913
  c = reducer_t::finalize(x, c, hi, lo);
906
914
  c = select(self <= reducer_t::minlog(), batch_type(0.), ldexp(c, to_int(k)));
915
+ #ifndef __FAST_MATH__
907
916
  c = select(self >= reducer_t::maxlog(), constants::infinity<batch_type>(), c);
917
+ #endif
908
918
  return c;
909
919
  }
910
920
  }
@@ -1008,11 +1018,11 @@ namespace xsimd
1008
1018
  XSIMD_INLINE batch<T, A> expm1(batch<T, A> const& self, requires_arch<common>) noexcept
1009
1019
  {
1010
1020
  using batch_type = batch<T, A>;
1011
- return select(self < constants::logeps<batch_type>(),
1012
- batch_type(-1.),
1013
- select(self > constants::maxlog<batch_type>(),
1014
- constants::infinity<batch_type>(),
1015
- detail::expm1(self)));
1021
+ auto x = detail::expm1(self);
1022
+ #ifndef __FAST_MATH__
1023
+ x = select(self > constants::maxlog<batch_type>(), constants::infinity<batch_type>(), x);
1024
+ #endif
1025
+ return select(self < constants::logeps<batch_type>(), batch_type(-1.), x);
1016
1026
  }
1017
1027
 
1018
1028
  template <class A, class T>
@@ -1077,7 +1087,7 @@ namespace xsimd
1077
1087
  template <class A, class T>
1078
1088
  XSIMD_INLINE batch<T, A> from_bool(batch_bool<T, A> const& self, requires_arch<common>) noexcept
1079
1089
  {
1080
- return batch<T, A>(self.data) & batch<T, A>(1);
1090
+ return batch<T, A>((typename batch<T, A>::register_type)self.data) & batch<T, A>(1);
1081
1091
  }
1082
1092
 
1083
1093
  // horner
@@ -1239,12 +1249,20 @@ namespace xsimd
1239
1249
  batch_type r1 = other(q);
1240
1250
  if (any(ltza))
1241
1251
  {
1252
+ #ifdef __FAST_MATH__
1253
+ r = negative(q, r1);
1254
+ #else
1242
1255
  r = select(inf_result, constants::infinity<batch_type>(), negative(q, r1));
1256
+ #endif
1243
1257
  if (all(ltza))
1244
1258
  return r;
1245
1259
  }
1246
1260
  batch_type r2 = select(ltza, r, r1);
1261
+ #ifdef __FAST_MATH__
1262
+ return r2;
1263
+ #else
1247
1264
  return select(a == constants::minusinfinity<batch_type>(), constants::nan<batch_type>(), select(inf_result, constants::infinity<batch_type>(), r2));
1265
+ #endif
1248
1266
  }
1249
1267
 
1250
1268
  private:
@@ -1365,7 +1383,11 @@ namespace xsimd
1365
1383
  }
1366
1384
  batch_type r1 = other(a);
1367
1385
  batch_type r2 = select(test, r, r1);
1386
+ #ifdef __FAST_MATH__
1387
+ return r2;
1388
+ #else
1368
1389
  return select(a == constants::minusinfinity<batch_type>(), constants::nan<batch_type>(), select(inf_result, constants::infinity<batch_type>(), r2));
1390
+ #endif
1369
1391
  }
1370
1392
 
1371
1393
  private:
@@ -1473,12 +1495,12 @@ namespace xsimd
1473
1495
  batch_type hfsq = batch_type(0.5) * f * f;
1474
1496
  batch_type dk = to_float(k);
1475
1497
  batch_type r = fma(dk, constants::log_2hi<batch_type>(), fma(s, (hfsq + R), dk * constants::log_2lo<batch_type>()) - hfsq + f);
1476
- #ifndef XSIMD_NO_INFINITIES
1477
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1498
+ #ifdef __FAST_MATH__
1499
+ return r;
1478
1500
  #else
1479
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1480
- #endif
1501
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1481
1502
  return select(!(self >= batch_type(0.)), constants::nan<batch_type>(), zz);
1503
+ #endif
1482
1504
  }
1483
1505
 
1484
1506
  template <class A>
@@ -1516,12 +1538,12 @@ namespace xsimd
1516
1538
  batch_type t2 = z * detail::horner<batch_type, 0x3fe5555555555593ll, 0x3fd2492494229359ll, 0x3fc7466496cb03dell, 0x3fc2f112df3e5244ll>(w);
1517
1539
  batch_type R = t2 + t1;
1518
1540
  batch_type r = fma(dk, constants::log_2hi<batch_type>(), fma(s, (hfsq + R), dk * constants::log_2lo<batch_type>()) - hfsq + f);
1519
- #ifndef XSIMD_NO_INFINITIES
1520
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1541
+ #ifdef __FAST_MATH__
1542
+ return r;
1521
1543
  #else
1522
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1523
- #endif
1544
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1524
1545
  return select(!(self >= batch_type(0.)), constants::nan<batch_type>(), zz);
1546
+ #endif
1525
1547
  }
1526
1548
 
1527
1549
  template <class A, class T>
@@ -1563,12 +1585,12 @@ namespace xsimd
1563
1585
  batch_type hfsq = batch_type(0.5) * f * f;
1564
1586
  batch_type dk = to_float(k);
1565
1587
  batch_type r = fma(fms(s, hfsq + R, hfsq) + f, constants::invlog_2<batch_type>(), dk);
1566
- #ifndef XSIMD_NO_INFINITIES
1567
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1588
+ #ifdef __FAST_MATH__
1589
+ return r;
1568
1590
  #else
1569
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1570
- #endif
1591
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1571
1592
  return select(!(self >= batch_type(0.)), constants::nan<batch_type>(), zz);
1593
+ #endif
1572
1594
  }
1573
1595
 
1574
1596
  template <class A>
@@ -1611,12 +1633,12 @@ namespace xsimd
1611
1633
  val_lo += (dk - w1) + val_hi;
1612
1634
  val_hi = w1;
1613
1635
  batch_type r = val_lo + val_hi;
1614
- #ifndef XSIMD_NO_INFINITIES
1615
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1636
+ #ifdef __FAST_MATH__
1637
+ return r;
1616
1638
  #else
1617
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1618
- #endif
1639
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1619
1640
  return select(!(self >= batch_type(0.)), constants::nan<batch_type>(), zz);
1641
+ #endif
1620
1642
  }
1621
1643
 
1622
1644
  namespace detail
@@ -1694,9 +1716,15 @@ namespace xsimd
1694
1716
  #ifndef XSIMD_NO_INFINITIES
1695
1717
  batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1696
1718
  #else
1697
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1719
+ assert(all(isnez) && "Calling log10 on a batch with zero value while XSIMD_NO_INFINITIES is active");
1720
+ batch_type zz = r;
1698
1721
  #endif
1722
+ #ifndef XSIMD_NO_NANS
1699
1723
  return select(!(self >= batch_type(0.)), constants::nan<batch_type>(), zz);
1724
+ #else
1725
+ assert(all(self >= batch_type(0.)) && "Calling log10 on a batch with negative value while XSIMD_NO_NANS is active");
1726
+ return zz;
1727
+ #endif
1700
1728
  }
1701
1729
 
1702
1730
  template <class A>
@@ -1745,12 +1773,12 @@ namespace xsimd
1745
1773
  val_lo += (y - w1) + val_hi;
1746
1774
  val_hi = w1;
1747
1775
  batch_type r = val_lo + val_hi;
1748
- #ifndef XSIMD_NO_INFINITIES
1749
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1776
+ #ifdef __FAST_MATH__
1777
+ return r;
1750
1778
  #else
1751
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1752
- #endif
1779
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1753
1780
  return select(!(self >= batch_type(0.)), constants::nan<batch_type>(), zz);
1781
+ #endif
1754
1782
  }
1755
1783
 
1756
1784
  template <class A, class T>
@@ -1793,12 +1821,12 @@ namespace xsimd
1793
1821
  /* correction term ~ log(1+x)-log(u), avoid underflow in c/u */
1794
1822
  batch_type c = select(batch_bool_cast<float>(k >= i_type(2)), batch_type(1.) - (uf - self), self - (uf - batch_type(1.))) / uf;
1795
1823
  batch_type r = fma(dk, constants::log_2hi<batch_type>(), fma(s, (hfsq + R), dk * constants::log_2lo<batch_type>() + c) - hfsq + f);
1796
- #ifndef XSIMD_NO_INFINITIES
1797
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1824
+ #ifdef __FAST_MATH__
1825
+ return r;
1798
1826
  #else
1799
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1800
- #endif
1827
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1801
1828
  return select(!(uf >= batch_type(0.)), constants::nan<batch_type>(), zz);
1829
+ #endif
1802
1830
  }
1803
1831
 
1804
1832
  template <class A>
@@ -1826,12 +1854,12 @@ namespace xsimd
1826
1854
  batch_type R = t2 + t1;
1827
1855
  batch_type dk = to_float(k);
1828
1856
  batch_type r = fma(dk, constants::log_2hi<batch_type>(), fma(s, hfsq + R, dk * constants::log_2lo<batch_type>() + c) - hfsq + f);
1829
- #ifndef XSIMD_NO_INFINITIES
1830
- batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1857
+ #ifdef __FAST_MATH__
1858
+ return r;
1831
1859
  #else
1832
- batch_type zz = select(isnez, r, constants::minusinfinity<batch_type>());
1833
- #endif
1860
+ batch_type zz = select(isnez, select(self == constants::infinity<batch_type>(), constants::infinity<batch_type>(), r), constants::minusinfinity<batch_type>());
1834
1861
  return select(!(uf >= batch_type(0.)), constants::nan<batch_type>(), zz);
1862
+ #endif
1835
1863
  }
1836
1864
 
1837
1865
  template <class A, class T>
@@ -1876,8 +1904,9 @@ namespace xsimd
1876
1904
  // to v. That's not what we want, so prevent compiler optimization here.
1877
1905
  // FIXME: it may be better to emit a memory barrier here (?).
1878
1906
  #ifdef __FAST_MATH__
1879
- volatile batch_type d0 = v + t2n;
1880
- batch_type d = *(batch_type*)(void*)(&d0) - t2n;
1907
+ batch_type d0 = v + t2n;
1908
+ asm volatile("" ::"r"(&d0) : "memory");
1909
+ batch_type d = d0 - t2n;
1881
1910
  #else
1882
1911
  batch_type d0 = v + t2n;
1883
1912
  batch_type d = d0 - t2n;
@@ -1968,13 +1997,21 @@ namespace xsimd
1968
1997
  static XSIMD_INLINE batch_type next(const batch_type& b) noexcept
1969
1998
  {
1970
1999
  batch_type n = ::xsimd::bitwise_cast<T>(::xsimd::bitwise_cast<int_type>(b) + int_type(1));
2000
+ #ifdef __FAST_MATH__
2001
+ return n;
2002
+ #else
1971
2003
  return select(b == constants::infinity<batch_type>(), b, n);
2004
+ #endif
1972
2005
  }
1973
2006
 
1974
2007
  static XSIMD_INLINE batch_type prev(const batch_type& b) noexcept
1975
2008
  {
1976
2009
  batch_type p = ::xsimd::bitwise_cast<T>(::xsimd::bitwise_cast<int_type>(b) - int_type(1));
2010
+ #ifdef __FAST_MATH__
2011
+ return p;
2012
+ #else
1977
2013
  return select(b == constants::minusinfinity<batch_type>(), b, p);
2014
+ #endif
1978
2015
  }
1979
2016
  };
1980
2017
  }
@@ -2066,6 +2103,19 @@ namespace xsimd
2066
2103
  return { reduce_add(self.real()), reduce_add(self.imag()) };
2067
2104
  }
2068
2105
 
2106
+ template <class A, class T, class /*=typename std::enable_if<std::is_scalar<T>::value, void>::type*/>
2107
+ XSIMD_INLINE T reduce_add(batch<T, A> const& self, requires_arch<common>) noexcept
2108
+ {
2109
+ alignas(A::alignment()) T buffer[batch<T, A>::size];
2110
+ self.store_aligned(buffer);
2111
+ T res = 0;
2112
+ for (T val : buffer)
2113
+ {
2114
+ res += val;
2115
+ }
2116
+ return res;
2117
+ }
2118
+
2069
2119
  namespace detail
2070
2120
  {
2071
2121
  template <class T, T N>
@@ -2073,14 +2123,14 @@ namespace xsimd
2073
2123
  {
2074
2124
  static constexpr T get(T i, T)
2075
2125
  {
2076
- return i >= N ? (i % 2) : i + N;
2126
+ return i < N ? (i + N) : ((i % N) + N);
2077
2127
  }
2078
2128
  };
2079
2129
 
2080
2130
  template <class Op, class A, class T>
2081
2131
  XSIMD_INLINE T reduce(Op, batch<T, A> const& self, std::integral_constant<unsigned, 1>) noexcept
2082
2132
  {
2083
- return self.get(0);
2133
+ return ::xsimd::kernel::first(self, A {});
2084
2134
  }
2085
2135
 
2086
2136
  template <class Op, class A, class T, unsigned Lvl>
@@ -2110,6 +2160,34 @@ namespace xsimd
2110
2160
  self, std::integral_constant<unsigned, batch<T, A>::size>());
2111
2161
  }
2112
2162
 
2163
+ // reduce_mul
2164
+ template <class A, class T>
2165
+ XSIMD_INLINE std::complex<T> reduce_mul(batch<std::complex<T>, A> const& self, requires_arch<common>) noexcept
2166
+ {
2167
+ // FIXME: could do better
2168
+ alignas(A::alignment()) std::complex<T> buffer[batch<std::complex<T>, A>::size];
2169
+ self.store_aligned(buffer);
2170
+ std::complex<T> res = 1;
2171
+ for (auto val : buffer)
2172
+ {
2173
+ res *= val;
2174
+ }
2175
+ return res;
2176
+ }
2177
+
2178
+ template <class A, class T, class /*=typename std::enable_if<std::is_scalar<T>::value, void>::type*/>
2179
+ XSIMD_INLINE T reduce_mul(batch<T, A> const& self, requires_arch<common>) noexcept
2180
+ {
2181
+ alignas(A::alignment()) T buffer[batch<T, A>::size];
2182
+ self.store_aligned(buffer);
2183
+ T res = 1;
2184
+ for (T val : buffer)
2185
+ {
2186
+ res *= val;
2187
+ }
2188
+ return res;
2189
+ }
2190
+
2113
2191
  // remainder
2114
2192
  template <class A>
2115
2193
  XSIMD_INLINE batch<float, A> remainder(batch<float, A> const& self, batch<float, A> const& other, requires_arch<common>) noexcept
@@ -2343,10 +2421,12 @@ namespace xsimd
2343
2421
  y *= v;
2344
2422
  y = select(test, y, y * v);
2345
2423
  y *= constants::sqrt_2pi<batch_type>() * w;
2346
- #ifndef XSIMD_NO_INFINITIES
2424
+ #ifdef __FAST_MATH__
2425
+ return y;
2426
+ #else
2347
2427
  y = select(isinf(x), x, y);
2348
- #endif
2349
2428
  return select(x > stirlinglargelim, constants::infinity<batch_type>(), y);
2429
+ #endif
2350
2430
  }
2351
2431
 
2352
2432
  /* origin: boost/simd/arch/common/detail/common/gamma_kernel.hpp */
@@ -2475,7 +2555,7 @@ namespace xsimd
2475
2555
  {
2476
2556
  using batch_type = batch<T, A>;
2477
2557
  auto nan_result = (self < batch_type(0.) && is_flint(self));
2478
- #ifndef XSIMD_NO_INVALIDS
2558
+ #ifndef XSIMD_NO_NANS
2479
2559
  nan_result = isnan(self) || nan_result;
2480
2560
  #endif
2481
2561
  batch_type q = abs(self);
@@ -2489,7 +2569,11 @@ namespace xsimd
2489
2569
  }
2490
2570
  batch_type r1 = detail::tgamma_other(self, test);
2491
2571
  batch_type r2 = select(test, r, r1);
2572
+ #ifdef __FAST_MATH__
2573
+ return r2;
2574
+ #else
2492
2575
  return select(self == batch_type(0.), copysign(constants::infinity<batch_type>(), self), select(nan_result, constants::nan<batch_type>(), r2));
2576
+ #endif
2493
2577
  }
2494
2578
 
2495
2579
  }
@@ -260,6 +260,25 @@ namespace xsimd
260
260
  return buffer[i];
261
261
  }
262
262
 
263
+ // first
264
+ template <class A, class T>
265
+ XSIMD_INLINE T first(batch<T, A> const& self, requires_arch<common>) noexcept
266
+ {
267
+ return get(self, 0, common {});
268
+ }
269
+
270
+ template <class A, class T>
271
+ XSIMD_INLINE T first(batch_bool<T, A> const& self, requires_arch<common>) noexcept
272
+ {
273
+ return first(batch<T, A>(self), A {});
274
+ }
275
+
276
+ template <class A, class T>
277
+ XSIMD_INLINE auto first(batch<std::complex<T>, A> const& self, requires_arch<common>) noexcept -> typename batch<std::complex<T>, A>::value_type
278
+ {
279
+ return { first(self.real(), A {}), first(self.imag(), A {}) };
280
+ }
281
+
263
282
  // load
264
283
  template <class A, class T>
265
284
  XSIMD_INLINE batch_bool<T, A> load_unaligned(bool const* mem, batch_bool<T, A>, requires_arch<common>) noexcept
@@ -341,7 +360,7 @@ namespace xsimd
341
360
  }
342
361
  };
343
362
 
344
- return swizzle(self, make_batch_constant<as_unsigned_integer_t<T>, rotate_generator, A>(), A {});
363
+ return swizzle(self, make_batch_constant<as_unsigned_integer_t<T>, rotate_generator, A>());
345
364
  }
346
365
 
347
366
  template <size_t N, class A, class T>
@@ -362,7 +381,7 @@ namespace xsimd
362
381
  }
363
382
  };
364
383
 
365
- return swizzle(self, make_batch_constant<as_unsigned_integer_t<T>, rotate_generator, A>(), A {});
384
+ return swizzle(self, make_batch_constant<as_unsigned_integer_t<T>, rotate_generator, A>());
366
385
  }
367
386
 
368
387
  template <size_t N, class A, class T>
@@ -611,6 +630,15 @@ namespace xsimd
611
630
  return batch<T, A>::load_aligned(out_buffer);
612
631
  }
613
632
 
633
+ template <class A, class T, class ITy, ITy... Is>
634
+ XSIMD_INLINE batch<T, A> swizzle(batch<T, A> const& self, batch_constant<ITy, A, Is...>, requires_arch<common>) noexcept
635
+ {
636
+ constexpr size_t size = batch<T, A>::size;
637
+ alignas(A::alignment()) T self_buffer[size];
638
+ store_aligned(&self_buffer[0], self);
639
+ return { self_buffer[Is]... };
640
+ }
641
+
614
642
  template <class A, class T, class ITy>
615
643
  XSIMD_INLINE batch<std::complex<T>, A> swizzle(batch<std::complex<T>, A> const& self, batch<ITy, A> mask, requires_arch<common>) noexcept
616
644
  {
@@ -0,0 +1,174 @@
1
+ /***************************************************************************
2
+ * Copyright (c) Johan Mabille, Sylvain Corlay, Wolf Vollprecht and *
3
+ * Martin Renou *
4
+ * Copyright (c) QuantStack *
5
+ * Copyright (c) Serge Guelton *
6
+ * Copyright (c) Marco Barbone *
7
+ * *
8
+ * Distributed under the terms of the BSD 3-Clause License. *
9
+ * *
10
+ * The full license is in the file LICENSE, distributed with this software.*
11
+ ****************************************************************************/
12
+ #ifndef XSIMD_COMMON_SWIZZLE_HPP
13
+ #define XSIMD_COMMON_SWIZZLE_HPP
14
+
15
+ #include <cstddef>
16
+ #include <cstdint>
17
+ #include <type_traits>
18
+
19
+ namespace xsimd
20
+ {
21
+ template <typename T, class A, T... Values>
22
+ struct batch_constant;
23
+
24
+ namespace kernel
25
+ {
26
+ namespace detail
27
+ {
28
+ // ────────────────────────────────────────────────────────────────────────
29
+ // get_at<I,Values...> → the I-th element of the pack
30
+ template <typename T, std::size_t I, T V0, T... Vs>
31
+ struct get_at
32
+ {
33
+ static constexpr T value = get_at<T, I - 1, Vs...>::value;
34
+ };
35
+ template <typename T, T V0, T... Vs>
36
+ struct get_at<T, 0, V0, Vs...>
37
+ {
38
+ static constexpr T value = V0;
39
+ };
40
+
41
+ // ────────────────────────────────────────────────────────────────────────
42
+ // 1) identity_impl
43
+ template <std::size_t /*I*/, typename T>
44
+ XSIMD_INLINE constexpr bool identity_impl() noexcept { return true; }
45
+ template <std::size_t I, typename T, T V0, T... Vs>
46
+ XSIMD_INLINE constexpr bool identity_impl() noexcept
47
+ {
48
+ return V0 == static_cast<T>(I)
49
+ && identity_impl<I + 1, T, Vs...>();
50
+ }
51
+
52
+ // ────────────────────────────────────────────────────────────────────────
53
+ // 2) bitmask_impl
54
+ template <std::size_t /*I*/, std::size_t /*N*/, typename T>
55
+ XSIMD_INLINE constexpr std::uint32_t bitmask_impl() noexcept { return 0u; }
56
+ template <std::size_t I, std::size_t N, typename T, T V0, T... Vs>
57
+ XSIMD_INLINE constexpr std::uint32_t bitmask_impl() noexcept
58
+ {
59
+ return (1u << (static_cast<std::uint32_t>(V0) & (N - 1)))
60
+ | bitmask_impl<I + 1, N, T, Vs...>();
61
+ }
62
+
63
+ // ────────────────────────────────────────────────────────────────────────
64
+ // 3) dup_lo_impl
65
+ template <std::size_t I, std::size_t N, typename T,
66
+ T... Vs, typename std::enable_if<I == N / 2, int>::type = 0>
67
+ XSIMD_INLINE constexpr bool dup_lo_impl() noexcept { return true; }
68
+
69
+ template <std::size_t I, std::size_t N, typename T,
70
+ T... Vs, typename std::enable_if<(I < N / 2), int>::type = 0>
71
+ XSIMD_INLINE constexpr bool dup_lo_impl() noexcept
72
+ {
73
+ return get_at<T, I, Vs...>::value < static_cast<T>(N / 2)
74
+ && get_at<T, I + N / 2, Vs...>::value == get_at<T, I, Vs...>::value
75
+ && dup_lo_impl<I + 1, N, T, Vs...>();
76
+ }
77
+
78
+ // ────────────────────────────────────────────────────────────────────────
79
+ // 4) dup_hi_impl
80
+ template <std::size_t I, std::size_t N, typename T,
81
+ T... Vs, typename std::enable_if<I == N / 2, int>::type = 0>
82
+ XSIMD_INLINE constexpr bool dup_hi_impl() noexcept { return true; }
83
+
84
+ template <std::size_t I, std::size_t N, typename T,
85
+ T... Vs, typename std::enable_if<(I < N / 2), int>::type = 0>
86
+ XSIMD_INLINE constexpr bool dup_hi_impl() noexcept
87
+ {
88
+ return get_at<T, I, Vs...>::value >= static_cast<T>(N / 2)
89
+ && get_at<T, I, Vs...>::value < static_cast<T>(N)
90
+ && get_at<T, I + N / 2, Vs...>::value == get_at<T, I, Vs...>::value
91
+ && dup_hi_impl<I + 1, N, T, Vs...>();
92
+ }
93
+
94
+ // ────────────────────────────────────────────────────────────────────────
95
+ // 1) helper to get the I-th value from the Vs pack
96
+ template <std::size_t I, uint32_t Head, uint32_t... Tail>
97
+ struct get_nth_value
98
+ {
99
+ static constexpr uint32_t value = get_nth_value<I - 1, Tail...>::value;
100
+ };
101
+ template <uint32_t Head, uint32_t... Tail>
102
+ struct get_nth_value<0, Head, Tail...>
103
+ {
104
+ static constexpr uint32_t value = Head;
105
+ };
106
+
107
+ // ────────────────────────────────────────────────────────────────────────
108
+ // 2) recursive cross‐lane test: true if any output‐lane i pulls from the opposite half
109
+ template <std::size_t I,
110
+ std::size_t N,
111
+ std::size_t H,
112
+ uint32_t... Vs>
113
+ struct cross_impl
114
+ {
115
+ // does element I cross? (i.e. i<H but V>=H) or (i>=H but V<H)
116
+ static constexpr uint32_t Vi = get_nth_value<I, Vs...>::value;
117
+ static constexpr bool curr = (I < H ? (Vi >= H) : (Vi < H));
118
+ static constexpr bool next = cross_impl<I + 1, N, H, Vs...>::value;
119
+ static constexpr bool value = curr || next;
120
+ };
121
+ template <std::size_t N, std::size_t H, uint32_t... Vs>
122
+ struct cross_impl<N, N, H, Vs...>
123
+ {
124
+ static constexpr bool value = false;
125
+ };
126
+ template <std::size_t I, std::size_t N, typename T,
127
+ T... Vs>
128
+ XSIMD_INLINE constexpr bool no_duplicates_impl() noexcept
129
+ {
130
+ // build the bitmask of (Vs & (N-1)) across all lanes
131
+ return detail::bitmask_impl<0, N, T, Vs...>() == ((1u << N) - 1u);
132
+ }
133
+ template <uint32_t... Vs>
134
+ XSIMD_INLINE constexpr bool no_duplicates_v() noexcept
135
+ {
136
+ // forward to your existing no_duplicates_impl
137
+ return no_duplicates_impl<0, sizeof...(Vs), uint32_t, Vs...>();
138
+ }
139
+ template <uint32_t... Vs>
140
+ XSIMD_INLINE constexpr bool is_cross_lane() noexcept
141
+ {
142
+ static_assert(sizeof...(Vs) >= 1, "Need at least one lane");
143
+ return cross_impl<0, sizeof...(Vs), sizeof...(Vs) / 2, Vs...>::value;
144
+ }
145
+ template <typename T, T... Vs>
146
+ XSIMD_INLINE constexpr bool is_identity() noexcept { return detail::identity_impl<0, T, Vs...>(); }
147
+ template <typename T, T... Vs>
148
+ XSIMD_INLINE constexpr bool is_all_different() noexcept
149
+ {
150
+ return detail::bitmask_impl<0, sizeof...(Vs), T, Vs...>() == ((1u << sizeof...(Vs)) - 1);
151
+ }
152
+
153
+ template <typename T, T... Vs>
154
+ XSIMD_INLINE constexpr bool is_dup_lo() noexcept { return detail::dup_lo_impl<0, sizeof...(Vs), T, Vs...>(); }
155
+ template <typename T, T... Vs>
156
+ XSIMD_INLINE constexpr bool is_dup_hi() noexcept { return detail::dup_hi_impl<0, sizeof...(Vs), T, Vs...>(); }
157
+ template <typename T, class A, T... Vs>
158
+ XSIMD_INLINE constexpr bool is_identity(batch_constant<T, A, Vs...>) noexcept { return is_identity<T, Vs...>(); }
159
+ template <typename T, class A, T... Vs>
160
+ XSIMD_INLINE constexpr bool is_all_different(batch_constant<T, A, Vs...>) noexcept { return is_all_different<T, Vs...>(); }
161
+ template <typename T, class A, T... Vs>
162
+ XSIMD_INLINE constexpr bool is_dup_lo(batch_constant<T, A, Vs...>) noexcept { return is_dup_lo<T, Vs...>(); }
163
+ template <typename T, class A, T... Vs>
164
+ XSIMD_INLINE constexpr bool is_dup_hi(batch_constant<T, A, Vs...>) noexcept { return is_dup_hi<T, Vs...>(); }
165
+ template <typename T, class A, T... Vs>
166
+ XSIMD_INLINE constexpr bool is_cross_lane(batch_constant<T, A, Vs...>) noexcept { return detail::is_cross_lane<Vs...>(); }
167
+ template <typename T, class A, T... Vs>
168
+ XSIMD_INLINE constexpr bool no_duplicates(batch_constant<T, A, Vs...>) noexcept { return no_duplicates_impl<0, sizeof...(Vs), T, Vs...>(); }
169
+
170
+ } // namespace detail
171
+ } // namespace kernel
172
+ } // namespace xsimd
173
+
174
+ #endif // XSIMD_COMMON_SWIZZLE_HPP
@@ -310,10 +310,13 @@ namespace xsimd
310
310
  num = x2 + num * num;
311
311
  real_batch den = y - one;
312
312
  den = x2 + den * den;
313
- batch_type res = select((x == real_batch(0.)) && (y == real_batch(1.)),
314
- batch_type(real_batch(0.), constants::infinity<real_batch>()),
315
- batch_type(w, 0.25 * log(num / den)));
316
- return res;
313
+ #ifdef __FAST_MATH__
314
+ return batch_type(w, 0.25 * log(num / den));
315
+ #else
316
+ return select((x == real_batch(0.)) && (y == real_batch(1.)),
317
+ batch_type(real_batch(0.), constants::infinity<real_batch>()),
318
+ batch_type(w, 0.25 * log(num / den)));
319
+ #endif
317
320
  }
318
321
 
319
322
  // atanh
@@ -583,12 +586,14 @@ namespace xsimd
583
586
  for (std::size_t i = 0; i < size; ++i)
584
587
  {
585
588
  double arg = args[i];
589
+ #ifndef __FAST_MATH__
586
590
  if (arg == std::numeric_limits<value_type>::infinity())
587
591
  {
588
592
  tmp[i] = 0.;
589
593
  txr[i] = std::numeric_limits<value_type>::quiet_NaN();
590
594
  }
591
595
  else
596
+ #endif
592
597
  {
593
598
  double y[2];
594
599
  std::int32_t n = ::xsimd::detail::__ieee754_rem_pio2(arg, y);
@@ -841,11 +846,15 @@ namespace xsimd
841
846
  using batch_type = batch<std::complex<T>, A>;
842
847
  using real_batch = typename batch_type::real_batch;
843
848
  real_batch d = cos(2 * z.real()) + cosh(2 * z.imag());
844
- batch_type winf(constants::infinity<real_batch>(), constants::infinity<real_batch>());
845
849
  real_batch wreal = sin(2 * z.real()) / d;
846
850
  real_batch wimag = sinh(2 * z.imag());
851
+ #ifdef __FAST_MATH__
852
+ return batch_type(wreal, real_batch(1.)), batch_type(wreal, wimag / d);
853
+ #else
854
+ batch_type winf(constants::infinity<real_batch>(), constants::infinity<real_batch>());
847
855
  batch_type wres = select(isinf(wimag), batch_type(wreal, real_batch(1.)), batch_type(wreal, wimag / d));
848
856
  return select(d == real_batch(0.), winf, wres);
857
+ #endif
849
858
  }
850
859
 
851
860
  // tanh