This class specializes seqan3::simd::simd_traits for seqan3::detail::builtin_simd types.
More...
#include <seqan3/utility/simd/detail/builtin_simd.hpp>
|
using | mask_type = decltype(std::declval< builtin_simd_t >()==std::declval< builtin_simd_t >()) |
| The type returned by comparison operators (is not defined if simd_t does not model seqan3::simd::simd)
|
|
template<typename new_scalar_type > |
using | rebind = typename detail::builtin_simd< new_scalar_type, length >::type |
| The type used to rebind a simd vector to another scalar_type (is not defined if simd_t does not model seqan3::simd::simd*)
|
|
using | scalar_type = typename detail::builtin_simd_traits_helper< builtin_simd_t >::scalar_type |
| The underlying type of a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
|
|
using | swizzle_type = typename detail::builtin_simd< uint8_t, max_length >::type |
| The type used to define how to swizzle a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
|
|
|
static constexpr auto | length = detail::builtin_simd_traits_helper<builtin_simd_t>::length |
| The number of packed values in a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
|
|
static constexpr auto | max_length = length == 1u ? length : sizeof(scalar_type) * length |
| The maximum number of packable values in a simd vector, if the underlying type would be [u]int8_t (is not defined if simd_t does not model seqan3::simd::simd)
|
|
template<typename builtin_simd_t>
struct seqan3::simd::simd_traits< builtin_simd_t >
This class specializes seqan3::simd::simd_traits for seqan3::detail::builtin_simd types.
- Template Parameters
-
- See also
- seqan3::simd::simd_traits for more information
◆ mask_type
template<typename builtin_simd_t >
The type returned by comparison operators (is not defined if simd_t does not model seqan3::simd::simd)
◆ rebind
template<typename builtin_simd_t >
template<typename new_scalar_type >
The type used to rebind a simd vector to another scalar_type (is not defined if simd_t does not model seqan3::simd::simd*)
◆ scalar_type
template<typename builtin_simd_t >
The underlying type of a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
◆ swizzle_type
template<typename builtin_simd_t >
The type used to define how to swizzle a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
◆ length
template<typename builtin_simd_t >
The number of packed values in a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
◆ max_length
template<typename builtin_simd_t >
The maximum number of packable values in a simd vector, if the underlying type would be [u]int8_t (is not defined if simd_t does not model seqan3::simd::simd)
The documentation for this struct was generated from the following file: