From f57b3cdbe110b0178689b73f000ffe68df27a69c Mon Sep 17 00:00:00 2001 From: Martin Larralde <martin.larralde@embl.de> Date: Sat, 15 Jun 2024 09:27:46 +0200 Subject: [PATCH] Make AVX2 implementation of `score_into` with `gather` more generic --- lightmotif/src/pli/platform/avx2.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/lightmotif/src/pli/platform/avx2.rs b/lightmotif/src/pli/platform/avx2.rs index a856458..4baa3d8 100644 --- a/lightmotif/src/pli/platform/avx2.rs +++ b/lightmotif/src/pli/platform/avx2.rs @@ -8,6 +8,7 @@ use std::ops::Range; use typenum::consts::U32; use typenum::consts::U5; +use typenum::consts::U8; use typenum::IsLessOrEqual; use typenum::NonZero; use typenum::Unsigned; @@ -101,8 +102,8 @@ unsafe fn score_avx2_permute<A>( scores: &mut StripedScores<<Avx2 as Backend>::LANES>, ) where A: Alphabet, - <A as Alphabet>::K: IsLessOrEqual<U5>, - <<A as Alphabet>::K as IsLessOrEqual<U5>>::Output: NonZero, + <A as Alphabet>::K: IsLessOrEqual<U8>, + <<A as Alphabet>::K as IsLessOrEqual<U8>>::Output: NonZero, { let data = scores.matrix_mut(); debug_assert!(data.rows() > 0); @@ -613,8 +614,8 @@ impl Avx2 { scores: &mut StripedScores<<Avx2 as Backend>::LANES>, ) where A: Alphabet, - <A as Alphabet>::K: IsLessOrEqual<U5>, - <<A as Alphabet>::K as IsLessOrEqual<U5>>::Output: NonZero, + <A as Alphabet>::K: IsLessOrEqual<U8>, + <<A as Alphabet>::K as IsLessOrEqual<U8>>::Output: NonZero, S: AsRef<StripedSequence<A, <Avx2 as Backend>::LANES>>, M: AsRef<ScoringMatrix<A>>, { -- GitLab