20 namespace seqan3::detail
27 template <u
int8_t nbr_blocks>
43 constexpr uint8_t blocks() const noexcept
64 uint8_t blocks() const noexcept
71 template <u
int8_t nbr_searches, u
int8_t nbr_blocks>
85 template <u
int8_t min_error, u
int8_t max_error>
86 inline int constexpr optimum_search_scheme;
91 inline search_scheme_type<1, 1> constexpr optimum_search_scheme<0, 0>
97 inline search_scheme_type<2, 2> constexpr optimum_search_scheme<0, 1>
99 {{1, 2}, {0, 0}, {0, 1}},
100 {{2, 1}, {0, 1}, {0, 1}}
104 inline search_scheme_type<2, 2> constexpr optimum_search_scheme<1, 1>
106 {{1, 2}, {0, 1}, {0, 1}},
107 {{2, 1}, {0, 1}, {0, 1}}
111 inline search_scheme_type<3, 4> constexpr optimum_search_scheme<0, 2>
113 {{1, 2, 3, 4}, {0, 0, 1, 1}, {0, 0, 2, 2}},
114 {{3, 2, 1, 4}, {0, 0, 0, 0}, {0, 1, 1, 2}},
115 {{4, 3, 2, 1}, {0, 0, 0, 2}, {0, 1, 2, 2}}
119 inline search_scheme_type<3, 4> constexpr optimum_search_scheme<1, 2>
121 {{1, 2, 3, 4}, {0, 0, 0, 1}, {0, 0, 2, 2}},
122 {{3, 2, 1, 4}, {0, 0, 1, 1}, {0, 1, 1, 2}},
123 {{4, 3, 2, 1}, {0, 0, 0, 2}, {0, 1, 2, 2}}
127 inline search_scheme_type<3, 4> constexpr optimum_search_scheme<2, 2>
129 {{4, 3, 2, 1}, {0, 0, 1, 2}, {0, 0, 2, 2}},
130 {{2, 3, 4, 1}, {0, 0, 0, 2}, {0, 1, 1, 2}},
131 {{1, 2, 3, 4}, {0, 0, 0, 2}, {0, 1, 2, 2}}
135 inline search_scheme_type<4, 5> constexpr optimum_search_scheme<0, 3>
138 {{5, 4, 3, 2, 1}, {0, 0, 0, 0, 0}, {0, 0, 3, 3, 3}},
139 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 1}, {0, 1, 1, 2, 3}},
140 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 2}, {0, 1, 2, 2, 3}},
141 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}
145 inline search_scheme_type<4, 5> constexpr optimum_search_scheme<1, 3>
147 {{5, 4, 3, 2, 1}, {0, 0, 0, 0, 1}, {0, 0, 3, 3, 3}},
148 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 1}, {0, 1, 1, 2, 3}},
149 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 2}, {0, 1, 2, 2, 3}},
150 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}
154 inline search_scheme_type<4, 5> constexpr optimum_search_scheme<2, 3>
156 {{5, 4, 3, 2, 1}, {0, 0, 0, 0, 2}, {0, 0, 3, 3, 3}},
157 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 2}, {0, 1, 1, 2, 3}},
158 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 2}, {0, 1, 2, 2, 3}},
159 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}
163 inline search_scheme_type<4, 5> constexpr optimum_search_scheme<3, 3>
165 {{5, 4, 3, 2, 1}, {0, 0, 0, 0, 3}, {0, 0, 3, 3, 3}},
166 {{3, 4, 5, 2, 1}, {0, 0, 1, 1, 3}, {0, 1, 1, 2, 3}},
167 {{2, 3, 4, 5, 1}, {0, 0, 0, 2, 3}, {0, 1, 2, 2, 3}},
168 {{1, 2, 3, 4, 5}, {0, 0, 0, 0, 3}, {0, 2, 2, 3, 3}}