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.
- sequenzo/__init__.py +64 -8
- sequenzo/big_data/clara/clara.py +1 -1
- sequenzo/big_data/clara/utils/get_weighted_diss.c +157 -157
- sequenzo/big_data/clara/utils/get_weighted_diss.cpython-39-darwin.so +0 -0
- sequenzo/clustering/KMedoids.py +39 -0
- sequenzo/clustering/hierarchical_clustering.py +304 -8
- sequenzo/define_sequence_data.py +44 -3
- sequenzo/dissimilarity_measures/c_code.cpython-39-darwin.so +0 -0
- sequenzo/dissimilarity_measures/get_distance_matrix.py +1 -2
- sequenzo/dissimilarity_measures/get_substitution_cost_matrix.py +1 -1
- sequenzo/dissimilarity_measures/src/DHDdistance.cpp +13 -37
- sequenzo/dissimilarity_measures/src/LCPdistance.cpp +13 -37
- sequenzo/dissimilarity_measures/src/OMdistance.cpp +12 -47
- sequenzo/dissimilarity_measures/src/OMspellDistance.cpp +103 -67
- sequenzo/dissimilarity_measures/src/dp_utils.h +160 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_arithmetic.hpp +41 -16
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_complex.hpp +4 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_details.hpp +7 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_logical.hpp +10 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_math.hpp +127 -43
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_memory.hpp +30 -2
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_swizzle.hpp +174 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/common/xsimd_common_trigo.hpp +14 -5
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx.hpp +111 -54
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx2.hpp +131 -9
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512bw.hpp +11 -113
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512dq.hpp +39 -7
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512f.hpp +336 -30
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi.hpp +9 -37
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_avx512vbmi2.hpp +58 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common.hpp +1 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_common_fwd.hpp +35 -2
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_constants.hpp +3 -1
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_emulated.hpp +17 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_avx.hpp +13 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma3_sse.hpp +18 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_fma4.hpp +13 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_isa.hpp +8 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon.hpp +363 -34
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_neon64.hpp +7 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_rvv.hpp +13 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_scalar.hpp +41 -4
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse2.hpp +252 -16
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sse3.hpp +9 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_ssse3.hpp +12 -1
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_sve.hpp +7 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_vsx.hpp +892 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/arch/xsimd_wasm.hpp +78 -1
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_arch.hpp +3 -1
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_config.hpp +13 -2
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_cpuid.hpp +5 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/config/xsimd_inline.hpp +5 -1
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_all_registers.hpp +2 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_api.hpp +64 -1
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_batch.hpp +36 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_rvv_register.hpp +40 -31
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_traits.hpp +8 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/types/xsimd_vsx_register.hpp +77 -0
- sequenzo/dissimilarity_measures/src/xsimd/include/xsimd/xsimd.hpp +6 -0
- sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.c +157 -157
- sequenzo/dissimilarity_measures/utils/get_sm_trate_substitution_cost_matrix.cpython-39-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqconc.c +157 -157
- sequenzo/dissimilarity_measures/utils/seqconc.cpython-39-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqdss.c +157 -157
- sequenzo/dissimilarity_measures/utils/seqdss.cpython-39-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqdur.c +157 -157
- sequenzo/dissimilarity_measures/utils/seqdur.cpython-39-darwin.so +0 -0
- sequenzo/dissimilarity_measures/utils/seqlength.c +157 -157
- sequenzo/dissimilarity_measures/utils/seqlength.cpython-39-darwin.so +0 -0
- sequenzo/multidomain/cat.py +0 -53
- sequenzo/multidomain/idcd.py +0 -1
- sequenzo/openmp_setup.py +233 -0
- sequenzo/sequence_characteristics/__init__.py +4 -0
- sequenzo/sequence_characteristics/complexity_index.py +17 -57
- sequenzo/sequence_characteristics/overall_cross_sectional_entropy.py +177 -111
- sequenzo/sequence_characteristics/plot_characteristics.py +30 -11
- sequenzo/sequence_characteristics/simple_characteristics.py +1 -0
- sequenzo/sequence_characteristics/state_frequencies_and_entropy_per_sequence.py +9 -3
- sequenzo/sequence_characteristics/turbulence.py +47 -67
- sequenzo/sequence_characteristics/variance_of_spell_durations.py +19 -9
- sequenzo/sequence_characteristics/within_sequence_entropy.py +5 -58
- sequenzo/visualization/plot_sequence_index.py +58 -35
- sequenzo/visualization/plot_state_distribution.py +57 -36
- sequenzo/visualization/plot_transition_matrix.py +21 -22
- sequenzo/with_event_history_analysis/__init__.py +35 -0
- sequenzo/with_event_history_analysis/sequence_analysis_multi_state_model.py +850 -0
- sequenzo/with_event_history_analysis/sequence_history_analysis.py +283 -0
- {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/METADATA +48 -14
- sequenzo-0.1.19.dist-info/RECORD +215 -0
- sequenzo/dissimilarity_measures/setup.py +0 -35
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LDLT.h +0 -688
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT.h +0 -558
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Cholesky/LLT_LAPACKE.h +0 -99
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/CholmodSupport/CholmodSupport.h +0 -682
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexEigenSolver.h +0 -346
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur.h +0 -462
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/ComplexSchur_LAPACKE.h +0 -91
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/EigenSolver.h +0 -622
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h +0 -418
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/GeneralizedSelfAdjointEigenSolver.h +0 -226
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/HessenbergDecomposition.h +0 -374
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h +0 -158
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealQZ.h +0 -657
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur.h +0 -558
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/RealSchur_LAPACKE.h +0 -77
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h +0 -904
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver_LAPACKE.h +0 -87
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h +0 -561
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AlignedBox.h +0 -486
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/AngleAxis.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/EulerAngles.h +0 -114
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Homogeneous.h +0 -501
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Hyperplane.h +0 -282
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/OrthoMethods.h +0 -235
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/ParametrizedLine.h +0 -232
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Quaternion.h +0 -870
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Rotation2D.h +0 -199
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/RotationBase.h +0 -206
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Scaling.h +0 -188
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Transform.h +0 -1563
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Translation.h +0 -202
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/Umeyama.h +0 -166
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Geometry/arch/Geometry_SIMD.h +0 -168
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/BlockHouseholder.h +0 -110
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/Householder.h +0 -176
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Householder/HouseholderSequence.h +0 -545
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +0 -226
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/BiCGSTAB.h +0 -212
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/ConjugateGradient.h +0 -229
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h +0 -394
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h +0 -453
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h +0 -444
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/LeastSquareConjugateGradient.h +0 -198
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/IterativeLinearSolvers/SolveWithGuess.h +0 -117
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/Jacobi/Jacobi.h +0 -483
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/KLUSupport/KLUSupport.h +0 -358
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/Determinant.h +0 -117
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/FullPivLU.h +0 -877
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/InverseImpl.h +0 -432
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU.h +0 -624
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/PartialPivLU_LAPACKE.h +0 -83
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/LU/arch/InverseSize4.h +0 -351
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/MetisSupport/MetisSupport.h +0 -137
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Amd.h +0 -435
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Eigen_Colamd.h +0 -1863
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/OrderingMethods/Ordering.h +0 -153
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PaStiXSupport/PaStiXSupport.h +0 -678
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/PardisoSupport/PardisoSupport.h +0 -545
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR.h +0 -674
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h +0 -97
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/CompleteOrthogonalDecomposition.h +0 -635
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/FullPivHouseholderQR.h +0 -713
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR.h +0 -434
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/QR/HouseholderQR_LAPACKE.h +0 -68
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SPQRSupport/SuiteSparseQRSupport.h +0 -335
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/BDCSVD.h +0 -1366
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD.h +0 -812
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/JacobiSVD_LAPACKE.h +0 -91
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/SVDBase.h +0 -376
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SVD/UpperBidiagonalization.h +0 -414
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky.h +0 -697
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCholesky/SimplicialCholesky_impl.h +0 -174
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/AmbiVector.h +0 -378
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/CompressedStorage.h +0 -274
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h +0 -352
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/MappedSparseMatrix.h +0 -67
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseAssign.h +0 -270
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseBlock.h +0 -571
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseColEtree.h +0 -206
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCompressedBase.h +0 -370
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h +0 -722
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseCwiseUnaryOp.h +0 -150
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDenseProduct.h +0 -342
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h +0 -138
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseDot.h +0 -98
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseFuzzy.h +0 -29
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMap.h +0 -305
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrix.h +0 -1518
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseMatrixBase.h +0 -398
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparsePermutation.h +0 -178
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseProduct.h +0 -181
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRedux.h +0 -49
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseRef.h +0 -397
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h +0 -659
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSolverBase.h +0 -124
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h +0 -198
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTranspose.h +0 -92
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseTriangularView.h +0 -189
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseUtil.h +0 -186
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseVector.h +0 -478
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/SparseView.h +0 -254
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseCore/TriangularSolver.h +0 -315
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU.h +0 -923
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLUImpl.h +0 -66
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Memory.h +0 -226
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Structs.h +0 -110
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h +0 -375
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_Utils.h +0 -80
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_bmod.h +0 -181
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_column_dfs.h +0 -179
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_copy_to_ucol.h +0 -107
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_gemm_kernel.h +0 -280
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_heap_relax_snode.h +0 -126
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_kernel_bmod.h +0 -130
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_bmod.h +0 -223
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_panel_dfs.h +0 -258
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pivotL.h +0 -137
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_pruneL.h +0 -136
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseLU/SparseLU_relax_snode.h +0 -83
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SparseQR/SparseQR.h +0 -758
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdDeque.h +0 -116
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdList.h +0 -106
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/StdVector.h +0 -131
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/StlSupport/details.h +0 -84
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h +0 -1025
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h +0 -642
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Image.h +0 -82
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/Kernel.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/RealSvd2x2.h +0 -55
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/blas.h +0 -440
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapack.h +0 -152
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke.h +0 -16292
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/misc/lapacke_mangling.h +0 -17
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h +0 -358
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ArrayCwiseUnaryOps.h +0 -696
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/BlockMethods.h +0 -1442
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseBinaryOps.h +0 -115
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/CommonCwiseUnaryOps.h +0 -177
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/IndexedViewMethods.h +0 -262
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseBinaryOps.h +0 -152
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/MatrixCwiseUnaryOps.h +0 -95
- sequenzo/dissimilarity_measures/src/eigen/Eigen/src/plugins/ReshapedMethods.h +0 -149
- sequenzo/dissimilarity_measures/src/eigen/blas/BandTriangularSolver.h +0 -97
- sequenzo/dissimilarity_measures/src/eigen/blas/GeneralRank1Update.h +0 -44
- sequenzo/dissimilarity_measures/src/eigen/blas/PackedSelfadjointProduct.h +0 -53
- sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularMatrixVector.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/blas/PackedTriangularSolverVector.h +0 -88
- sequenzo/dissimilarity_measures/src/eigen/blas/Rank2Update.h +0 -57
- sequenzo/dissimilarity_measures/src/eigen/blas/common.h +0 -175
- sequenzo/dissimilarity_measures/src/eigen/blas/f2c/datatypes.h +0 -24
- sequenzo/dissimilarity_measures/src/eigen/blas/level1_cplx_impl.h +0 -155
- sequenzo/dissimilarity_measures/src/eigen/blas/level1_impl.h +0 -144
- sequenzo/dissimilarity_measures/src/eigen/blas/level1_real_impl.h +0 -122
- sequenzo/dissimilarity_measures/src/eigen/blas/level2_cplx_impl.h +0 -360
- sequenzo/dissimilarity_measures/src/eigen/blas/level2_impl.h +0 -553
- sequenzo/dissimilarity_measures/src/eigen/blas/level2_real_impl.h +0 -306
- sequenzo/dissimilarity_measures/src/eigen/blas/level3_impl.h +0 -702
- sequenzo/dissimilarity_measures/src/eigen/debug/gdb/__init__.py +0 -1
- sequenzo/dissimilarity_measures/src/eigen/debug/gdb/printers.py +0 -314
- sequenzo/dissimilarity_measures/src/eigen/lapack/lapack_common.h +0 -29
- sequenzo/dissimilarity_measures/src/eigen/scripts/relicense.py +0 -69
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/Tensor.h +0 -554
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorArgMax.h +0 -329
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBase.h +0 -1176
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBlock.h +0 -1559
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h +0 -1093
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h +0 -518
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConcatenation.h +0 -377
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h +0 -1023
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionBlocking.h +0 -73
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h +0 -6
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionGpu.h +0 -1413
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h +0 -575
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionSycl.h +0 -1650
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h +0 -1679
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConversion.h +0 -456
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h +0 -1132
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolutionSycl.h +0 -544
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCostModel.h +0 -214
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorCustomOp.h +0 -347
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDevice.h +0 -137
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h +0 -6
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceDefault.h +0 -104
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceGpu.h +0 -389
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +0 -1048
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceThreadPool.h +0 -409
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensionList.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDimensions.h +0 -490
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvalTo.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h +0 -983
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExecutor.h +0 -703
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorExpr.h +0 -388
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h +0 -669
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h +0 -379
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h +0 -237
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h +0 -191
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFunctors.h +0 -488
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGenerator.h +0 -302
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGlobalFunctions.h +0 -33
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaDefines.h +0 -99
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorGpuHipCudaUndefines.h +0 -44
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIO.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorImagePatch.h +0 -603
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIndexList.h +0 -738
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInflation.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorInitializer.h +0 -82
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorIntDiv.h +0 -263
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorLayoutSwap.h +0 -216
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMacros.h +0 -98
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMap.h +0 -327
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h +0 -311
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorMorphing.h +0 -1102
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPadding.h +0 -708
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorPatch.h +0 -291
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h +0 -322
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h +0 -998
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionCuda.h +0 -6
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h +0 -966
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReductionSycl.h +0 -582
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRef.h +0 -454
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorReverse.h +0 -465
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScan.h +0 -528
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorScanSycl.h +0 -513
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorShuffling.h +0 -471
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStorage.h +0 -161
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorStriding.h +0 -346
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTrace.h +0 -303
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h +0 -264
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorUInt128.h +0 -249
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorVolumePatch.h +0 -629
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/DynamicSymmetry.h +0 -293
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/StaticSymmetry.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/Symmetry.h +0 -338
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/TensorSymmetry/util/TemplateGroupTheory.h +0 -669
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/Barrier.h +0 -67
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/EventCount.h +0 -249
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/NonBlockingThreadPool.h +0 -486
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/RunQueue.h +0 -236
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadCancel.h +0 -23
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadEnvironment.h +0 -40
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadLocal.h +0 -301
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadPoolInterface.h +0 -48
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/ThreadPool/ThreadYield.h +0 -20
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Meta.h +0 -537
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/CXX11Workarounds.h +0 -88
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/EmulateArray.h +0 -261
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/CXX11/src/util/MaxSizeVector.h +0 -158
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffJacobian.h +0 -108
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffScalar.h +0 -730
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h +0 -220
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h +0 -293
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/BVH/KdBVH.h +0 -223
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +0 -790
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h +0 -355
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h +0 -305
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_fftw_impl.h +0 -261
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h +0 -449
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h +0 -187
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h +0 -511
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h +0 -335
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IDRS.h +0 -436
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IncompleteLU.h +0 -90
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/IterationController.h +0 -154
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/MINRES.h +0 -267
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h +0 -193
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h +0 -305
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMcovar.h +0 -84
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMonestep.h +0 -202
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h +0 -160
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMqrsolv.h +0 -188
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h +0 -396
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixExponential.h +0 -441
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h +0 -569
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixLogarithm.h +0 -373
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h +0 -705
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h +0 -368
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MatrixFunctions/StemFunction.h +0 -117
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/MoreVectorization/MathFunctions.h +0 -95
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h +0 -601
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h +0 -657
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/chkder.h +0 -66
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/covar.h +0 -70
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h +0 -107
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/fdjac1.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/lmpar.h +0 -298
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h +0 -91
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h +0 -30
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/r1updt.h +0 -99
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NonLinearOptimization/rwupdt.h +0 -49
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h +0 -130
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/Companion.h +0 -280
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialSolver.h +0 -428
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Polynomials/PolynomialUtils.h +0 -143
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h +0 -352
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrix.h +0 -862
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h +0 -212
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineProduct.h +0 -295
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineStorage.h +0 -259
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Skyline/SkylineUtil.h +0 -89
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockOfDynamicSparseMatrix.h +0 -122
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h +0 -1079
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h +0 -404
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MarketIO.h +0 -282
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h +0 -247
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SparseExtra/RandomSetter.h +0 -349
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsArrayAPI.h +0 -286
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsBFloat16.h +0 -68
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsFunctors.h +0 -357
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsHalf.h +0 -66
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsImpl.h +0 -1959
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/BesselFunctionsPacketMath.h +0 -118
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/HipVectorCompatibility.h +0 -67
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsArrayAPI.h +0 -167
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsBFloat16.h +0 -58
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsFunctors.h +0 -330
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsHalf.h +0 -58
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h +0 -2045
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsPacketMath.h +0 -79
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/BesselFunctions.h +0 -46
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX/SpecialFunctions.h +0 -16
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/BesselFunctions.h +0 -46
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/AVX512/SpecialFunctions.h +0 -16
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/GPU/SpecialFunctions.h +0 -369
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/BesselFunctions.h +0 -54
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/SpecialFunctions/arch/NEON/SpecialFunctions.h +0 -34
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/Spline.h +0 -507
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFitting.h +0 -431
- sequenzo/dissimilarity_measures/src/eigen/unsupported/Eigen/src/Splines/SplineFwd.h +0 -93
- sequenzo-0.1.17.dist-info/RECORD +0 -537
- {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/WHEEL +0 -0
- {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/licenses/LICENSE +0 -0
- {sequenzo-0.1.17.dist-info → sequenzo-0.1.19.dist-info}/top_level.txt +0 -0
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
#define XSIMD_NEON_HPP
|
|
14
14
|
|
|
15
15
|
#include <algorithm>
|
|
16
|
+
#include <array>
|
|
16
17
|
#include <complex>
|
|
17
18
|
#include <tuple>
|
|
18
19
|
#include <type_traits>
|
|
@@ -717,16 +718,10 @@ namespace xsimd
|
|
|
717
718
|
return vnegq_s32(rhs);
|
|
718
719
|
}
|
|
719
720
|
|
|
720
|
-
template <class A, class T, detail::
|
|
721
|
-
XSIMD_INLINE batch<T, A> neg(batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
722
|
-
{
|
|
723
|
-
return batch<T, A> { -rhs.get(0), -rhs.get(1) };
|
|
724
|
-
}
|
|
725
|
-
|
|
726
|
-
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
721
|
+
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
|
|
727
722
|
XSIMD_INLINE batch<T, A> neg(batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
728
723
|
{
|
|
729
|
-
return
|
|
724
|
+
return 0 - rhs;
|
|
730
725
|
}
|
|
731
726
|
|
|
732
727
|
template <class A>
|
|
@@ -923,16 +918,28 @@ namespace xsimd
|
|
|
923
918
|
return dispatcher.apply(register_type(lhs), register_type(rhs));
|
|
924
919
|
}
|
|
925
920
|
|
|
926
|
-
template <class A, class T, detail::
|
|
921
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
|
|
927
922
|
XSIMD_INLINE batch_bool<T, A> eq(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
928
923
|
{
|
|
929
|
-
|
|
924
|
+
auto eq32 = vceqq_u32(vreinterpretq_u32_u64(lhs.data), vreinterpretq_u32_u64(rhs.data));
|
|
925
|
+
auto rev32 = vrev64q_u32(eq32);
|
|
926
|
+
auto eq64 = vandq_u32(eq32, rev32);
|
|
927
|
+
return batch_bool<T, A>(vreinterpretq_u64_u32(eq64));
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
931
|
+
XSIMD_INLINE batch_bool<T, A> eq(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
932
|
+
{
|
|
933
|
+
auto eq32 = vceqq_u32(vreinterpretq_u32_s64(lhs.data), vreinterpretq_u32_s64(rhs.data));
|
|
934
|
+
auto rev32 = vrev64q_u32(eq32);
|
|
935
|
+
auto eq64 = vandq_u32(eq32, rev32);
|
|
936
|
+
return batch_bool<T, A>(vreinterpretq_u64_u32(eq64));
|
|
930
937
|
}
|
|
931
938
|
|
|
932
939
|
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
|
|
933
940
|
XSIMD_INLINE batch_bool<T, A> eq(batch_bool<T, A> const& lhs, batch_bool<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
934
941
|
{
|
|
935
|
-
return
|
|
942
|
+
return eq(batch<T, A> { lhs.data }, batch<T, A> { rhs.data }, A {});
|
|
936
943
|
}
|
|
937
944
|
|
|
938
945
|
/*************
|
|
@@ -985,10 +992,19 @@ namespace xsimd
|
|
|
985
992
|
return dispatcher.apply(register_type(lhs), register_type(rhs));
|
|
986
993
|
}
|
|
987
994
|
|
|
988
|
-
template <class A, class T, detail::
|
|
995
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
996
|
+
XSIMD_INLINE batch_bool<T, A> lt(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
997
|
+
{
|
|
998
|
+
using register_type = typename batch<T, A>::register_type;
|
|
999
|
+
return batch_bool<T, A>(vreinterpretq_u64_s64(vshrq_n_s64(vqsubq_s64(register_type(lhs), register_type(rhs)), 63)));
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
|
|
989
1003
|
XSIMD_INLINE batch_bool<T, A> lt(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
990
1004
|
{
|
|
991
|
-
|
|
1005
|
+
using register_type = typename batch<T, A>::register_type;
|
|
1006
|
+
register_type acc = { 0x7FFFFFFFFFFFFFFFull, 0x7FFFFFFFFFFFFFFFull };
|
|
1007
|
+
return batch_bool<T, A>(vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_u64(vqaddq_u64(vqsubq_u64(register_type(rhs), register_type(lhs)), acc)), 63)));
|
|
992
1008
|
}
|
|
993
1009
|
|
|
994
1010
|
/******
|
|
@@ -1012,12 +1028,24 @@ namespace xsimd
|
|
|
1012
1028
|
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
|
|
1013
1029
|
XSIMD_INLINE batch_bool<T, A> le(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
1014
1030
|
{
|
|
1015
|
-
return
|
|
1031
|
+
return !(lhs > rhs);
|
|
1016
1032
|
}
|
|
1017
1033
|
|
|
1018
1034
|
/******
|
|
1019
1035
|
* gt *
|
|
1020
1036
|
******/
|
|
1037
|
+
namespace detail
|
|
1038
|
+
{
|
|
1039
|
+
XSIMD_INLINE int64x2_t bitwise_not_s64(int64x2_t arg) noexcept
|
|
1040
|
+
{
|
|
1041
|
+
return vreinterpretq_s64_s32(vmvnq_s32(vreinterpretq_s32_s64(arg)));
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
XSIMD_INLINE uint64x2_t bitwise_not_u64(uint64x2_t arg) noexcept
|
|
1045
|
+
{
|
|
1046
|
+
return vreinterpretq_u64_u32(vmvnq_u32(vreinterpretq_u32_u64(arg)));
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1021
1049
|
|
|
1022
1050
|
WRAP_BINARY_INT_EXCLUDING_64(vcgtq, detail::comp_return_type)
|
|
1023
1051
|
WRAP_BINARY_FLOAT(vcgtq, detail::comp_return_type)
|
|
@@ -1033,10 +1061,19 @@ namespace xsimd
|
|
|
1033
1061
|
return dispatcher.apply(register_type(lhs), register_type(rhs));
|
|
1034
1062
|
}
|
|
1035
1063
|
|
|
1036
|
-
template <class A, class T, detail::
|
|
1064
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
1037
1065
|
XSIMD_INLINE batch_bool<T, A> gt(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
1038
1066
|
{
|
|
1039
|
-
|
|
1067
|
+
using register_type = typename batch<T, A>::register_type;
|
|
1068
|
+
return batch_bool<T, A>(vreinterpretq_u64_s64(vshrq_n_s64(vqsubq_s64(register_type(rhs), register_type(lhs)), 63)));
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
|
|
1072
|
+
XSIMD_INLINE batch_bool<T, A> gt(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
1073
|
+
{
|
|
1074
|
+
using register_type = typename batch<T, A>::register_type;
|
|
1075
|
+
register_type acc = { 0x7FFFFFFFFFFFFFFFull, 0x7FFFFFFFFFFFFFFFull };
|
|
1076
|
+
return batch_bool<T, A>(vreinterpretq_u64_s64(vshrq_n_s64(vreinterpretq_s64_u64(vqaddq_u64(vqsubq_u64(register_type(lhs), register_type(rhs)), acc)), 63)));
|
|
1040
1077
|
}
|
|
1041
1078
|
|
|
1042
1079
|
/******
|
|
@@ -1060,7 +1097,7 @@ namespace xsimd
|
|
|
1060
1097
|
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
|
|
1061
1098
|
XSIMD_INLINE batch_bool<T, A> ge(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
1062
1099
|
{
|
|
1063
|
-
return
|
|
1100
|
+
return !(lhs < rhs);
|
|
1064
1101
|
}
|
|
1065
1102
|
|
|
1066
1103
|
/*******************
|
|
@@ -1212,16 +1249,6 @@ namespace xsimd
|
|
|
1212
1249
|
|
|
1213
1250
|
namespace detail
|
|
1214
1251
|
{
|
|
1215
|
-
XSIMD_INLINE int64x2_t bitwise_not_s64(int64x2_t arg) noexcept
|
|
1216
|
-
{
|
|
1217
|
-
return vreinterpretq_s64_s32(vmvnq_s32(vreinterpretq_s32_s64(arg)));
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
|
-
XSIMD_INLINE uint64x2_t bitwise_not_u64(uint64x2_t arg) noexcept
|
|
1221
|
-
{
|
|
1222
|
-
return vreinterpretq_u64_u32(vmvnq_u32(vreinterpretq_u32_u64(arg)));
|
|
1223
|
-
}
|
|
1224
|
-
|
|
1225
1252
|
XSIMD_INLINE float32x4_t bitwise_not_f32(float32x4_t arg) noexcept
|
|
1226
1253
|
{
|
|
1227
1254
|
return vreinterpretq_f32_u32(vmvnq_u32(vreinterpretq_u32_f32(arg)));
|
|
@@ -1314,7 +1341,7 @@ namespace xsimd
|
|
|
1314
1341
|
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
|
|
1315
1342
|
XSIMD_INLINE batch<T, A> min(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
1316
1343
|
{
|
|
1317
|
-
return
|
|
1344
|
+
return select(lhs > rhs, rhs, lhs);
|
|
1318
1345
|
}
|
|
1319
1346
|
|
|
1320
1347
|
/*******
|
|
@@ -1338,7 +1365,7 @@ namespace xsimd
|
|
|
1338
1365
|
template <class A, class T, detail::enable_sized_integral_t<T, 8> = 0>
|
|
1339
1366
|
XSIMD_INLINE batch<T, A> max(batch<T, A> const& lhs, batch<T, A> const& rhs, requires_arch<neon>) noexcept
|
|
1340
1367
|
{
|
|
1341
|
-
return
|
|
1368
|
+
return select(lhs > rhs, lhs, rhs);
|
|
1342
1369
|
}
|
|
1343
1370
|
|
|
1344
1371
|
/*******
|
|
@@ -1678,14 +1705,21 @@ namespace xsimd
|
|
|
1678
1705
|
* reduce_max *
|
|
1679
1706
|
**************/
|
|
1680
1707
|
|
|
1681
|
-
// Using common implementation because ARM
|
|
1708
|
+
// Using common implementation because ARM does not provide intrinsics
|
|
1682
1709
|
// for this operation
|
|
1683
1710
|
|
|
1684
1711
|
/**************
|
|
1685
1712
|
* reduce_min *
|
|
1686
1713
|
**************/
|
|
1687
1714
|
|
|
1688
|
-
// Using common implementation because ARM
|
|
1715
|
+
// Using common implementation because ARM does not provide intrinsics
|
|
1716
|
+
// for this operation
|
|
1717
|
+
|
|
1718
|
+
/**************
|
|
1719
|
+
* reduce_mul *
|
|
1720
|
+
**************/
|
|
1721
|
+
|
|
1722
|
+
// Using common implementation because ARM does not provide intrinsics
|
|
1689
1723
|
// for this operation
|
|
1690
1724
|
|
|
1691
1725
|
/**********
|
|
@@ -2280,6 +2314,55 @@ namespace xsimd
|
|
|
2280
2314
|
return vshlq_s64(lhs, rhs);
|
|
2281
2315
|
}
|
|
2282
2316
|
|
|
2317
|
+
// immediate variant
|
|
2318
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 1> = 0>
|
|
2319
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2320
|
+
{
|
|
2321
|
+
return vshlq_n_u8(x, shift);
|
|
2322
|
+
}
|
|
2323
|
+
|
|
2324
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 1> = 0>
|
|
2325
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2326
|
+
{
|
|
2327
|
+
return vshlq_n_s8(x, shift);
|
|
2328
|
+
}
|
|
2329
|
+
|
|
2330
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 2> = 0>
|
|
2331
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2332
|
+
{
|
|
2333
|
+
return vshlq_n_u16(x, shift);
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 2> = 0>
|
|
2337
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2338
|
+
{
|
|
2339
|
+
return vshlq_n_s16(x, shift);
|
|
2340
|
+
}
|
|
2341
|
+
|
|
2342
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 4> = 0>
|
|
2343
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2344
|
+
{
|
|
2345
|
+
return vshlq_n_u32(x, shift);
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2348
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 4> = 0>
|
|
2349
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2350
|
+
{
|
|
2351
|
+
return vshlq_n_s32(x, shift);
|
|
2352
|
+
}
|
|
2353
|
+
|
|
2354
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
|
|
2355
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2356
|
+
{
|
|
2357
|
+
return vshlq_n_u64(x, shift);
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
2361
|
+
XSIMD_INLINE batch<T, A> bitwise_lshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2362
|
+
{
|
|
2363
|
+
return vshlq_n_s64(x, shift);
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2283
2366
|
/******************
|
|
2284
2367
|
* bitwise_rshift *
|
|
2285
2368
|
******************/
|
|
@@ -2455,6 +2538,110 @@ namespace xsimd
|
|
|
2455
2538
|
return vshlq_s32(lhs, vnegq_s32(rhs));
|
|
2456
2539
|
}
|
|
2457
2540
|
|
|
2541
|
+
// immediate variant
|
|
2542
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 1> = 0>
|
|
2543
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2544
|
+
{
|
|
2545
|
+
return vshrq_n_u8(x, shift);
|
|
2546
|
+
}
|
|
2547
|
+
|
|
2548
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 1> = 0>
|
|
2549
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2550
|
+
{
|
|
2551
|
+
return vshrq_n_s8(x, shift);
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2554
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 2> = 0>
|
|
2555
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2556
|
+
{
|
|
2557
|
+
return vshrq_n_u16(x, shift);
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 2> = 0>
|
|
2561
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2562
|
+
{
|
|
2563
|
+
return vshrq_n_s16(x, shift);
|
|
2564
|
+
}
|
|
2565
|
+
|
|
2566
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 4> = 0>
|
|
2567
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2568
|
+
{
|
|
2569
|
+
return vshrq_n_u32(x, shift);
|
|
2570
|
+
}
|
|
2571
|
+
|
|
2572
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 4> = 0>
|
|
2573
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2574
|
+
{
|
|
2575
|
+
return vshrq_n_s32(x, shift);
|
|
2576
|
+
}
|
|
2577
|
+
|
|
2578
|
+
template <size_t shift, class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
|
|
2579
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2580
|
+
{
|
|
2581
|
+
return vshrq_n_u64(x, shift);
|
|
2582
|
+
}
|
|
2583
|
+
|
|
2584
|
+
template <size_t shift, class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
2585
|
+
XSIMD_INLINE batch<T, A> bitwise_rshift(batch<T, A> const& x, requires_arch<neon>) noexcept
|
|
2586
|
+
{
|
|
2587
|
+
return vshrq_n_s64(x, shift);
|
|
2588
|
+
}
|
|
2589
|
+
|
|
2590
|
+
// first
|
|
2591
|
+
template <class A>
|
|
2592
|
+
XSIMD_INLINE float first(batch<float, A> const& self, requires_arch<neon>) noexcept
|
|
2593
|
+
{
|
|
2594
|
+
return vgetq_lane_f32(self, 0);
|
|
2595
|
+
}
|
|
2596
|
+
|
|
2597
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 1> = 0>
|
|
2598
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2599
|
+
{
|
|
2600
|
+
return vgetq_lane_u8(val, 0);
|
|
2601
|
+
}
|
|
2602
|
+
|
|
2603
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 1> = 0>
|
|
2604
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2605
|
+
{
|
|
2606
|
+
return vgetq_lane_s8(val, 0);
|
|
2607
|
+
}
|
|
2608
|
+
|
|
2609
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 2> = 0>
|
|
2610
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2611
|
+
{
|
|
2612
|
+
return vgetq_lane_u16(val, 0);
|
|
2613
|
+
}
|
|
2614
|
+
|
|
2615
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 2> = 0>
|
|
2616
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2617
|
+
{
|
|
2618
|
+
return vgetq_lane_s16(val, 0);
|
|
2619
|
+
}
|
|
2620
|
+
|
|
2621
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 4> = 0>
|
|
2622
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2623
|
+
{
|
|
2624
|
+
return vgetq_lane_u32(val, 0);
|
|
2625
|
+
}
|
|
2626
|
+
|
|
2627
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 4> = 0>
|
|
2628
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2629
|
+
{
|
|
2630
|
+
return vgetq_lane_s32(val, 0);
|
|
2631
|
+
}
|
|
2632
|
+
|
|
2633
|
+
template <class A, class T, detail::enable_sized_unsigned_t<T, 8> = 0>
|
|
2634
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2635
|
+
{
|
|
2636
|
+
return vgetq_lane_u64(val, 0);
|
|
2637
|
+
}
|
|
2638
|
+
|
|
2639
|
+
template <class A, class T, detail::enable_sized_signed_t<T, 8> = 0>
|
|
2640
|
+
XSIMD_INLINE T first(batch<T, A> val, requires_arch<neon>) noexcept
|
|
2641
|
+
{
|
|
2642
|
+
return vgetq_lane_s64(val, 0);
|
|
2643
|
+
}
|
|
2644
|
+
|
|
2458
2645
|
// Overloads of bitwise shifts accepting two batches of uint64/int64 are not available with ARMv7
|
|
2459
2646
|
|
|
2460
2647
|
/*******
|
|
@@ -2771,10 +2958,11 @@ namespace xsimd
|
|
|
2771
2958
|
XSIMD_INLINE batch<T, A> rotate_left(batch<T, A> const& a, requires_arch<neon>) noexcept
|
|
2772
2959
|
{
|
|
2773
2960
|
using register_type = typename batch<T, A>::register_type;
|
|
2961
|
+
// Adding modulo to avoid warning.
|
|
2774
2962
|
const detail::neon_dispatcher::binary dispatcher = {
|
|
2775
|
-
std::make_tuple(wrap::rotate_left_u8<N>, wrap::rotate_left_s8<N>, wrap::rotate_left_u16<N>, wrap::rotate_left_s16<N>,
|
|
2776
|
-
wrap::rotate_left_u32<N>, wrap::rotate_left_s32<N>, wrap::rotate_left_u64<N>, wrap::rotate_left_s64<N>,
|
|
2777
|
-
wrap::rotate_left_f32<N>)
|
|
2963
|
+
std::make_tuple(wrap::rotate_left_u8<N>, wrap::rotate_left_s8<N>, wrap::rotate_left_u16<N % 8>, wrap::rotate_left_s16<N % 8>,
|
|
2964
|
+
wrap::rotate_left_u32<N % 4>, wrap::rotate_left_s32<N % 4>, wrap::rotate_left_u64<N % 2>, wrap::rotate_left_s64<N % 2>,
|
|
2965
|
+
wrap::rotate_left_f32<N % 4>)
|
|
2778
2966
|
};
|
|
2779
2967
|
return dispatcher.apply(register_type(a), register_type(a));
|
|
2780
2968
|
}
|
|
@@ -2799,6 +2987,147 @@ namespace xsimd
|
|
|
2799
2987
|
self.store_aligned(data.data());
|
|
2800
2988
|
return set(batch<T, A>(), A(), data[idx]...);
|
|
2801
2989
|
}
|
|
2990
|
+
|
|
2991
|
+
template <class A, uint64_t V0, uint64_t V1>
|
|
2992
|
+
XSIMD_INLINE batch<uint64_t, A> swizzle(batch<uint64_t, A> const& self,
|
|
2993
|
+
batch_constant<uint64_t, A, V0, V1>,
|
|
2994
|
+
requires_arch<neon>) noexcept
|
|
2995
|
+
{
|
|
2996
|
+
XSIMD_IF_CONSTEXPR(V0 == 0 && V1 == 0)
|
|
2997
|
+
{
|
|
2998
|
+
auto lo = vget_low_u64(self);
|
|
2999
|
+
return vcombine_u64(lo, lo);
|
|
3000
|
+
}
|
|
3001
|
+
XSIMD_IF_CONSTEXPR(V0 == 1 && V1 == 1)
|
|
3002
|
+
{
|
|
3003
|
+
auto hi = vget_high_u64(self);
|
|
3004
|
+
return vcombine_u64(hi, hi);
|
|
3005
|
+
}
|
|
3006
|
+
XSIMD_IF_CONSTEXPR(V0 == 0 && V1 == 1)
|
|
3007
|
+
{
|
|
3008
|
+
return self;
|
|
3009
|
+
}
|
|
3010
|
+
else
|
|
3011
|
+
{
|
|
3012
|
+
return vextq_u64(self, self, 1);
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
template <class A, uint64_t V0, uint64_t V1>
|
|
3017
|
+
XSIMD_INLINE batch<int64_t, A> swizzle(batch<int64_t, A> const& self,
|
|
3018
|
+
batch_constant<int64_t, A, V0, V1> mask,
|
|
3019
|
+
requires_arch<neon>) noexcept
|
|
3020
|
+
{
|
|
3021
|
+
return vreinterpretq_s64_u64(swizzle(vreinterpretq_u64_s64(self), mask, A {}));
|
|
3022
|
+
}
|
|
3023
|
+
|
|
3024
|
+
namespace detail
|
|
3025
|
+
{
|
|
3026
|
+
template <uint32_t Va, uint32_t Vb>
|
|
3027
|
+
XSIMD_INLINE uint8x8_t make_mask()
|
|
3028
|
+
{
|
|
3029
|
+
uint8x8_t res = {
|
|
3030
|
+
static_cast<uint8_t>((Va % 2) * 4 + 0),
|
|
3031
|
+
static_cast<uint8_t>((Va % 2) * 4 + 1),
|
|
3032
|
+
static_cast<uint8_t>((Va % 2) * 4 + 2),
|
|
3033
|
+
static_cast<uint8_t>((Va % 2) * 4 + 3),
|
|
3034
|
+
static_cast<uint8_t>((Vb % 2) * 4 + 0),
|
|
3035
|
+
static_cast<uint8_t>((Vb % 2) * 4 + 1),
|
|
3036
|
+
static_cast<uint8_t>((Vb % 2) * 4 + 2),
|
|
3037
|
+
static_cast<uint8_t>((Vb % 2) * 4 + 3),
|
|
3038
|
+
};
|
|
3039
|
+
return res;
|
|
3040
|
+
}
|
|
3041
|
+
}
|
|
3042
|
+
|
|
3043
|
+
template <class A, uint32_t V0, uint32_t V1, uint32_t V2, uint32_t V3>
|
|
3044
|
+
XSIMD_INLINE batch<uint32_t, A> swizzle(batch<uint32_t, A> const& self,
|
|
3045
|
+
batch_constant<uint32_t, A, V0, V1, V2, V3> mask,
|
|
3046
|
+
requires_arch<neon>) noexcept
|
|
3047
|
+
{
|
|
3048
|
+
constexpr bool is_identity = detail::is_identity(mask);
|
|
3049
|
+
constexpr bool is_dup_lo = detail::is_dup_lo(mask);
|
|
3050
|
+
constexpr bool is_dup_hi = detail::is_dup_hi(mask);
|
|
3051
|
+
|
|
3052
|
+
XSIMD_IF_CONSTEXPR(is_identity)
|
|
3053
|
+
{
|
|
3054
|
+
return self;
|
|
3055
|
+
}
|
|
3056
|
+
XSIMD_IF_CONSTEXPR(is_dup_lo)
|
|
3057
|
+
{
|
|
3058
|
+
XSIMD_IF_CONSTEXPR(V0 == 0 && V1 == 1)
|
|
3059
|
+
{
|
|
3060
|
+
return vreinterpretq_u32_u64(vdupq_lane_u64(vget_low_u64(vreinterpretq_u64_u32(self)), 0));
|
|
3061
|
+
}
|
|
3062
|
+
XSIMD_IF_CONSTEXPR(V0 == 1 && V1 == 0)
|
|
3063
|
+
{
|
|
3064
|
+
return vreinterpretq_u32_u64(vdupq_lane_u64(vreinterpret_u64_u32(vrev64_u32(vget_low_u32(self))), 0));
|
|
3065
|
+
}
|
|
3066
|
+
return vdupq_n_u32(vgetq_lane_u32(self, V0));
|
|
3067
|
+
}
|
|
3068
|
+
XSIMD_IF_CONSTEXPR(is_dup_hi)
|
|
3069
|
+
{
|
|
3070
|
+
XSIMD_IF_CONSTEXPR(V0 == 2 && V1 == 3)
|
|
3071
|
+
{
|
|
3072
|
+
return vreinterpretq_u32_u64(vdupq_lane_u64(vget_high_u64(vreinterpretq_u64_u32(self)), 0));
|
|
3073
|
+
}
|
|
3074
|
+
XSIMD_IF_CONSTEXPR(V0 == 3 && V1 == 2)
|
|
3075
|
+
{
|
|
3076
|
+
return vreinterpretq_u32_u64(vdupq_lane_u64(vreinterpret_u64_u32(vrev64_u32(vget_high_u32(self))), 0));
|
|
3077
|
+
}
|
|
3078
|
+
return vdupq_n_u32(vgetq_lane_u32(self, V0));
|
|
3079
|
+
}
|
|
3080
|
+
XSIMD_IF_CONSTEXPR(V0 < 2 && V1 < 2 && V2 < 2 && V3 < 2)
|
|
3081
|
+
{
|
|
3082
|
+
uint8x8_t low = vreinterpret_u8_u64(vget_low_u64(vreinterpretq_u64_u32(self)));
|
|
3083
|
+
uint8x8_t mask_lo = detail::make_mask<V0, V1>();
|
|
3084
|
+
uint8x8_t mask_hi = detail::make_mask<V2, V3>();
|
|
3085
|
+
uint8x8_t lo = vtbl1_u8(low, mask_lo);
|
|
3086
|
+
uint8x8_t hi = vtbl1_u8(low, mask_hi);
|
|
3087
|
+
return vreinterpretq_u32_u8(vcombine_u8(lo, hi));
|
|
3088
|
+
}
|
|
3089
|
+
XSIMD_IF_CONSTEXPR(V0 >= 2 && V1 >= 2 && V2 >= 2 && V3 >= 2)
|
|
3090
|
+
{
|
|
3091
|
+
uint8x8_t high = vreinterpret_u8_u64(vget_high_u64(vreinterpretq_u64_u32(self)));
|
|
3092
|
+
uint8x8_t mask_lo = detail::make_mask<V0, V1>();
|
|
3093
|
+
uint8x8_t mask_hi = detail::make_mask<V2, V3>();
|
|
3094
|
+
uint8x8_t lo = vtbl1_u8(high, mask_lo);
|
|
3095
|
+
uint8x8_t hi = vtbl1_u8(high, mask_hi);
|
|
3096
|
+
return vreinterpretq_u32_u8(vcombine_u8(lo, hi));
|
|
3097
|
+
}
|
|
3098
|
+
|
|
3099
|
+
uint8x8_t mask_lo = detail::make_mask<V0, V1>();
|
|
3100
|
+
uint8x8_t mask_hi = detail::make_mask<V2, V3>();
|
|
3101
|
+
|
|
3102
|
+
uint8x8_t low = vreinterpret_u8_u64(vget_low_u64(vreinterpretq_u64_u32(self)));
|
|
3103
|
+
uint8x8_t lol = vtbl1_u8(low, mask_lo);
|
|
3104
|
+
uint8x8_t loh = vtbl1_u8(low, mask_hi);
|
|
3105
|
+
uint32x4_t true_br = vreinterpretq_u32_u8(vcombine_u8(lol, loh));
|
|
3106
|
+
|
|
3107
|
+
uint8x8_t high = vreinterpret_u8_u64(vget_high_u64(vreinterpretq_u64_u32(self)));
|
|
3108
|
+
uint8x8_t hil = vtbl1_u8(high, mask_lo);
|
|
3109
|
+
uint8x8_t hih = vtbl1_u8(high, mask_hi);
|
|
3110
|
+
uint32x4_t false_br = vreinterpretq_u32_u8(vcombine_u8(hil, hih));
|
|
3111
|
+
|
|
3112
|
+
batch_bool_constant<uint32_t, A, (V0 < 2), (V1 < 2), (V2 < 2), (V3 < 2)> blend_mask;
|
|
3113
|
+
return select(blend_mask, batch<uint32_t, A>(true_br), batch<uint32_t, A>(false_br), A {});
|
|
3114
|
+
}
|
|
3115
|
+
|
|
3116
|
+
template <class A, uint32_t V0, uint32_t V1, uint32_t V2, uint32_t V3>
|
|
3117
|
+
XSIMD_INLINE batch<int32_t, A> swizzle(batch<int32_t, A> const& self,
|
|
3118
|
+
batch_constant<int32_t, A, V0, V1, V2, V3> mask,
|
|
3119
|
+
requires_arch<neon>) noexcept
|
|
3120
|
+
{
|
|
3121
|
+
return vreinterpretq_s32_u32(swizzle(vreinterpretq_u32_s32(self), mask, A {}));
|
|
3122
|
+
}
|
|
3123
|
+
|
|
3124
|
+
template <class A, uint32_t V0, uint32_t V1, uint32_t V2, uint32_t V3>
|
|
3125
|
+
XSIMD_INLINE batch<float, A> swizzle(batch<float, A> const& self,
|
|
3126
|
+
batch_constant<uint32_t, A, V0, V1, V2, V3> mask,
|
|
3127
|
+
requires_arch<neon>) noexcept
|
|
3128
|
+
{
|
|
3129
|
+
return vreinterpretq_f32_u32(swizzle(batch<uint32_t, A>(vreinterpretq_u32_f32(self)), mask, A {}));
|
|
3130
|
+
}
|
|
2802
3131
|
}
|
|
2803
3132
|
|
|
2804
3133
|
}
|
|
@@ -28,6 +28,13 @@ namespace xsimd
|
|
|
28
28
|
{
|
|
29
29
|
using namespace types;
|
|
30
30
|
|
|
31
|
+
// first
|
|
32
|
+
template <class A>
|
|
33
|
+
XSIMD_INLINE double first(batch<double, A> const& self, requires_arch<neon64>) noexcept
|
|
34
|
+
{
|
|
35
|
+
return vgetq_lane_f64(self, 0);
|
|
36
|
+
}
|
|
37
|
+
|
|
31
38
|
/*******
|
|
32
39
|
* all *
|
|
33
40
|
*******/
|
|
@@ -1335,6 +1335,19 @@ namespace xsimd
|
|
|
1335
1335
|
return result;
|
|
1336
1336
|
}
|
|
1337
1337
|
|
|
1338
|
+
// first
|
|
1339
|
+
template <class A, class T, detail::rvv_enable_all_t<T> = 0>
|
|
1340
|
+
XSIMD_INLINE T first(batch<T, A> const& arg, requires_arch<rvv>) noexcept
|
|
1341
|
+
{
|
|
1342
|
+
return detail::rvvmv_lane0(arg);
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
template <class A, class T, detail::rvv_enable_all_t<T> = 0>
|
|
1346
|
+
XSIMD_INLINE std::complex<T> first(batch<std::complex<T>, A> const& arg, requires_arch<rvv>) noexcept
|
|
1347
|
+
{
|
|
1348
|
+
return std::complex<T> { detail::rvvmv_lane0(arg.real()), detail::rvvmv_lane0(arg.imag()) };
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1338
1351
|
// insert
|
|
1339
1352
|
template <class A, class T, size_t I, detail::rvv_enable_all_t<T> = 0>
|
|
1340
1353
|
XSIMD_INLINE batch<T, A> insert(batch<T, A> const& arg, T val, index<I>, requires_arch<rvv>) noexcept
|
|
@@ -300,12 +300,29 @@ namespace xsimd
|
|
|
300
300
|
return x << shift;
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
+
template <size_t shift, class T>
|
|
304
|
+
XSIMD_INLINE typename std::enable_if<std::is_integral<T>::value, T>::type
|
|
305
|
+
bitwise_lshift(T x) noexcept
|
|
306
|
+
{
|
|
307
|
+
constexpr auto bits = std::numeric_limits<T>::digits + std::numeric_limits<T>::is_signed;
|
|
308
|
+
static_assert(shift < bits, "Count must be less than the number of bits in T");
|
|
309
|
+
return x << shift;
|
|
310
|
+
}
|
|
311
|
+
|
|
303
312
|
template <class T0, class T1>
|
|
304
313
|
XSIMD_INLINE typename std::enable_if<std::is_integral<T0>::value && std::is_integral<T1>::value, T0>::type
|
|
305
314
|
bitwise_rshift(T0 x, T1 shift) noexcept
|
|
306
315
|
{
|
|
307
316
|
return x >> shift;
|
|
308
317
|
}
|
|
318
|
+
template <size_t shift, class T>
|
|
319
|
+
XSIMD_INLINE typename std::enable_if<std::is_integral<T>::value, T>::type
|
|
320
|
+
bitwise_rshift(T x) noexcept
|
|
321
|
+
{
|
|
322
|
+
constexpr auto bits = std::numeric_limits<T>::digits + std::numeric_limits<T>::is_signed;
|
|
323
|
+
static_assert(shift < bits, "Count must be less than the number of bits in T");
|
|
324
|
+
return x >> shift;
|
|
325
|
+
}
|
|
309
326
|
|
|
310
327
|
template <class T>
|
|
311
328
|
XSIMD_INLINE typename std::enable_if<std::is_integral<T>::value, T>::type
|
|
@@ -447,16 +464,32 @@ namespace xsimd
|
|
|
447
464
|
XSIMD_INLINE typename std::enable_if<std::is_integral<T0>::value && std::is_integral<T1>::value, T0>::type
|
|
448
465
|
rotl(T0 x, T1 shift) noexcept
|
|
449
466
|
{
|
|
450
|
-
constexpr auto
|
|
451
|
-
return (x << shift) | (x >> (
|
|
467
|
+
constexpr auto bits = std::numeric_limits<T0>::digits + std::numeric_limits<T0>::is_signed;
|
|
468
|
+
return (x << shift) | (x >> (bits - shift));
|
|
469
|
+
}
|
|
470
|
+
template <size_t count, class T>
|
|
471
|
+
XSIMD_INLINE typename std::enable_if<std::is_integral<T>::value, T>::type
|
|
472
|
+
rotl(T x) noexcept
|
|
473
|
+
{
|
|
474
|
+
constexpr auto bits = std::numeric_limits<T>::digits + std::numeric_limits<T>::is_signed;
|
|
475
|
+
static_assert(count < bits, "Count must be less than the number of bits in T");
|
|
476
|
+
return (x << count) | (x >> (bits - count));
|
|
452
477
|
}
|
|
453
478
|
|
|
454
479
|
template <class T0, class T1>
|
|
455
480
|
XSIMD_INLINE typename std::enable_if<std::is_integral<T0>::value && std::is_integral<T1>::value, T0>::type
|
|
456
481
|
rotr(T0 x, T1 shift) noexcept
|
|
457
482
|
{
|
|
458
|
-
constexpr auto
|
|
459
|
-
return (x >> shift) | (x << (
|
|
483
|
+
constexpr auto bits = std::numeric_limits<T0>::digits + std::numeric_limits<T0>::is_signed;
|
|
484
|
+
return (x >> shift) | (x << (bits - shift));
|
|
485
|
+
}
|
|
486
|
+
template <size_t count, class T>
|
|
487
|
+
XSIMD_INLINE typename std::enable_if<std::is_integral<T>::value, T>::type
|
|
488
|
+
rotr(T x) noexcept
|
|
489
|
+
{
|
|
490
|
+
constexpr auto bits = std::numeric_limits<T>::digits + std::numeric_limits<T>::is_signed;
|
|
491
|
+
static_assert(count < bits, "Count must be less than the number of bits in T");
|
|
492
|
+
return (x >> count) | (x << (bits - count));
|
|
460
493
|
}
|
|
461
494
|
|
|
462
495
|
template <class T>
|
|
@@ -510,7 +543,11 @@ namespace xsimd
|
|
|
510
543
|
template <class T, class = typename std::enable_if<std::is_scalar<T>::value>::type>
|
|
511
544
|
XSIMD_INLINE bool is_flint(const T& x) noexcept
|
|
512
545
|
{
|
|
546
|
+
#ifdef __FAST_MATH__
|
|
547
|
+
return (x - std::trunc(x)) == T(0);
|
|
548
|
+
#else
|
|
513
549
|
return std::isnan(x - x) ? false : (x - std::trunc(x)) == T(0);
|
|
550
|
+
#endif
|
|
514
551
|
}
|
|
515
552
|
|
|
516
553
|
template <class T, class = typename std::enable_if<std::is_scalar<T>::value>::type>
|