SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::simd::simd_traits< simd_t > Struct Template Reference

seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of simd_t types. More...

#include <seqan3/utility/simd/simd_traits.hpp>

Public Types

using mask_type = IMPLEMENTATION_DEFINED
 The type returned by comparison operators (is not defined if simd_t does not model seqan3::simd::simd)
 
using rebind = IMPLEMENTATION_DEFINED
 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 = IMPLEMENTATION_DEFINED
 The underlying type of a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
 
using swizzle_type = IMPLEMENTATION_DEFINED
 The type used to define how to swizzle a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
 

Static Public Attributes

static constexpr auto length = IMPLEMENTATION_DEFINED
 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 = IMPLEMENTATION_DEFINED
 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)
 

Detailed Description

template<typename simd_t>
struct seqan3::simd::simd_traits< simd_t >

seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of simd_t types.

Template Parameters
simd_tThe simd type that satisfies seqan3::simd::simd_concept.

The class defines the following member variables and types:

  • scalar_type - the underlying type of a simd vector
  • length - the number of packed values in a simd vector
  • max_length - the maximum number of packable values in a simd vector, if the underlying type would be [u]int8_t
  • mask_type - the type returned by comparison operators
  • swizzle_type - the type used to define how to swizzle a simd vector
  • rebind - the type used to rebind a simd vector to another scalar_type
// SPDX-FileCopyrightText: 2006-2024 Knut Reinert & Freie Universität Berlin
// SPDX-FileCopyrightText: 2016-2024 Knut Reinert & MPI für molekulare Genetik
// SPDX-License-Identifier: CC0-1.0
static_assert(std::is_same_v<seqan3::simd::simd_traits<uint16x8_t>::scalar_type, uint16_t>);
typename simd_type< scalar_t, length, simd_backend >::type simd_type_t
Helper type of seqan3::simd::simd_type.
Definition simd.hpp:56
seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of sim...
Definition simd_traits.hpp:38
Meta-header for the Utility / SIMD submodule .

The documentation for this struct was generated from the following file:
Hide me