|
SeqAn3 3.4.1-rc.1
The Modern C++ library for sequence analysis.
|
Provides algorithms to modify seqan3::simd::simd_type. More...
#include <array>#include <cassert>#include <concepts>#include <utility>#include <seqan3/utility/simd/concept.hpp>#include <seqan3/utility/simd/detail/builtin_simd.hpp>#include <seqan3/utility/simd/detail/simd_algorithm_avx2.hpp>#include <seqan3/utility/simd/detail/simd_algorithm_avx512.hpp>#include <seqan3/utility/simd/detail/simd_algorithm_sse4.hpp>#include <seqan3/utility/simd/simd_traits.hpp>
Include dependency graph for algorithm.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Namespaces | |
| namespace | seqan3 |
| The main SeqAn3 namespace. | |
| namespace | seqan3::detail |
| The internal SeqAn3 namespace. | |
| namespace | seqan3::simd |
| The SeqAn namespace for simd data types, algorithms and meta functions. | |
Functions | |
| template<uint8_t index, simd::simd_concept simd_t> | |
| constexpr simd_t | seqan3::detail::extract_eighth (simd_t const &src) |
| Extracts one eighth of the given simd vector and stores it in the lower eighth of the target vector. | |
| template<uint8_t index, simd::simd_concept simd_t> | |
| constexpr simd_t | seqan3::detail::extract_half (simd_t const &src) |
| Extracts one half of the given simd vector and stores the result in the lower half of the target vector. | |
| template<size_t divisor, simd_concept simd_t> | |
| constexpr simd_t | seqan3::detail::extract_impl (simd_t const &src, uint8_t const mask) |
| Helper function to extract a part of the given simd vector. | |
| template<uint8_t index, simd::simd_concept simd_t> | |
| constexpr simd_t | seqan3::detail::extract_quarter (simd_t const &src) |
| Extracts one quarter of the given simd vector and stores it in the lower quarter of the target vector. | |
| template<simd::simd_concept simd_t> | |
| constexpr simd_t | seqan3::simd::fill (typename simd_traits< simd_t >::scalar_type const scalar) noexcept |
| Fills a seqan3::simd::simd_type vector with a scalar value. | |
| template<simd::simd_concept simd_t, size_t... I> | |
| constexpr simd_t | seqan3::detail::fill_impl (typename simd_traits< simd_t >::scalar_type const scalar, std::index_sequence< I... >) noexcept |
| Helper function for seqan3::simd::fill. | |
| template<simd::simd_concept simd_t> | |
| constexpr simd_t | seqan3::simd::iota (typename simd_traits< simd_t >::scalar_type const offset) |
| Fills a seqan3::simd::simd_type vector with the scalar values offset, offset+1, offset+2, ... | |
| template<simd::simd_concept simd_t, typename scalar_t , scalar_t... I> | |
| constexpr simd_t | seqan3::detail::iota_impl (scalar_t const offset, std::integer_sequence< scalar_t, I... >) |
| Helper function for seqan3::simd::iota. | |
| template<simd::simd_concept simd_t> | |
| constexpr simd_t | seqan3::simd::load (void const *mem_addr) |
| Load simd_t size bits of integral data from memory. | |
| template<simd::simd_concept simd_t> | |
| constexpr void | seqan3::simd::store (void *mem_addr, simd_t const &simd_vec) |
| Store simd_t size bits of integral data into memory. | |
| template<simd::simd_concept simd_t> | |
| constexpr void | seqan3::simd::transpose (std::array< simd_t, simd_traits< simd_t >::length > &matrix) |
| Transposes the given simd vector matrix. | |
| template<simd::simd_concept target_simd_t, simd::simd_concept source_simd_t> | |
| constexpr target_simd_t | seqan3::simd::upcast (source_simd_t const &src) |
| Upcasts the given vector into the target vector using sign extension of packed values. | |
| template<simd::simd_concept target_simd_t, simd::simd_concept source_simd_t> | |
| constexpr target_simd_t | seqan3::detail::upcast_signed (source_simd_t const &src) |
| Upcasts the given vector into the target vector using signed extension of packed values. | |
| template<simd::simd_concept target_simd_t, simd::simd_concept source_simd_t> | |
| constexpr target_simd_t | seqan3::detail::upcast_unsigned (source_simd_t const &src) |
| Upcasts the given vector into the target vector using unsigned extension of packed values. | |
Provides algorithms to modify seqan3::simd::simd_type.