SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
alignment_score_matrix_one_column_base.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
2// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
3// SPDX-License-Identifier: BSD-3-Clause
4
10#pragma once
11
12#include <array>
13#include <utility>
14#include <vector>
15
19
20namespace seqan3::detail
21{
22
32template <typename score_t>
34{
35protected:
37 "Score type must either be either an arithmetic type or a simd vector type.");
38
40 using underlying_type = score_t;
48 using size_type = size_t;
49
50public:
54 std::array<underlying_type, 3> cache{}; // Third argument is used to cache next diagonal value in non-banded case.
59};
60
61} // namespace seqan3::detail
Provides seqan3::aligned_allocator.
Allocates uninitialized storage whose memory-alignment is specified by alignment.
Definition aligned_allocator.hpp:74
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
A base class for alignment score matrices using only one column to compute the matrix.
Definition alignment_score_matrix_one_column_base.hpp:34
std::array< underlying_type, 3 > cache
Internal cache for the last diagonal and vertical value during the alignment computation.
Definition alignment_score_matrix_one_column_base.hpp:54
pool_type pool
The linearised memory pool storing only one column of the matrix.
Definition alignment_score_matrix_one_column_base.hpp:52
size_t size_type
The size type.
Definition alignment_score_matrix_one_column_base.hpp:48
score_t underlying_type
The underlying type of the scores.
Definition alignment_score_matrix_one_column_base.hpp:40
size_type num_rows
The number of num_rows.
Definition alignment_score_matrix_one_column_base.hpp:58
std::tuple< underlying_type, underlying_type > element_type
The actual element type.
Definition alignment_score_matrix_one_column_base.hpp:42
size_type num_cols
The number of columns.
Definition alignment_score_matrix_one_column_base.hpp:56
Provides concepts that do not have equivalents in C++20.
Provides seqan3::simd::simd_concept.
Hide me