template<typename score_t>
struct seqan3::detail::alignment_optimum< score_t >
Stores the current optimum of the alignment algorithm.
- Template Parameters
-
score_t | The type of the tracked alignment score; must model either seqan3::arithmetic or seqan3::simd_concept. |
Stores the optimal score of the alignment computation and the corresponding indices of the cell with the optimal score within the alignment matrix. In case the optimum is used for the vectorised alignment computation this optimum stores the optimal scores and the respective cells as simd vectors.
template<typename score_t >
template<typename column_index_t , typename row_index_t >
Compares the score with the given score and updates the optimum if the new score is bigger than the current one.
- Template Parameters
-
column_index_t | The index type for the column index; must model std::unsigned_integral. |
row_index_t | The index type for the row index; must model std::unsigned_integral. |
- Parameters
-
[in] | compare_score | The new score to compare with. |
[in] | column_index | The respective column index of the alignment matrix. |
[in] | row_index | The respective row index of the alignment matrix. |
Only updates the current optimum if the new score is greater than the current one. Note in the case of computing a vectorised alignment only the positions of the simd vector are updated whose score is greater than the current scores.