SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
algorithm.hpp File Reference

Provides algorithms to modify seqan3::simd::simd_type. More...

+ 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.
 

Detailed Description

Provides algorithms to modify seqan3::simd::simd_type.

Author
Marcel Ehrhardt <marcel.ehrhardt AT fu-berlin.de>
Hide me