SeqAn3 3.3.0-rc.1
The Modern C++ library for sequence analysis.
simd_traits.hpp
Go to the documentation of this file.
1// -----------------------------------------------------------------------------------------------------
2// Copyright (c) 2006-2022, Knut Reinert & Freie Universität Berlin
3// Copyright (c) 2016-2022, Knut Reinert & MPI für molekulare Genetik
4// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5// shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
6// -----------------------------------------------------------------------------------------------------
7
13#pragma once
14
16
17namespace seqan3
18{
19
20inline namespace simd
21{
22
38template <typename simd_t>
40#if SEQAN3_DOXYGEN_ONLY(1) 0
41{
45 using scalar_type = IMPLEMENTATION_DEFINED;
49 static constexpr auto length = IMPLEMENTATION_DEFINED;
54 static constexpr auto max_length = IMPLEMENTATION_DEFINED;
58 using mask_type = IMPLEMENTATION_DEFINED;
62 using swizzle_type = IMPLEMENTATION_DEFINED;
66 using rebind = IMPLEMENTATION_DEFINED;
67}
68#endif
69;
70
71} // namespace simd
72
73} // namespace seqan3
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
Provides platform and dependency checks.
seqan3::simd::simd_traits is the trait class that provides uniform interface to the properties of sim...
Definition: simd_traits.hpp:41
static constexpr auto length
The number of packed values in a simd vector (is not defined if simd_t does not model seqan3::simd::s...
Definition: simd_traits.hpp:49
IMPLEMENTATION_DEFINED scalar_type
The underlying type of a simd vector (is not defined if simd_t does not model seqan3::simd::simd)
Definition: simd_traits.hpp:45
IMPLEMENTATION_DEFINED swizzle_type
The type used to define how to swizzle a simd vector (is not defined if simd_t does not model seqan3:...
Definition: simd_traits.hpp:62
IMPLEMENTATION_DEFINED rebind
The type used to rebind a simd vector to another scalar_type (is not defined if simd_t does not model...
Definition: simd_traits.hpp:66
IMPLEMENTATION_DEFINED mask_type
The type returned by comparison operators (is not defined if simd_t does not model seqan3::simd::simd...
Definition: simd_traits.hpp:58
static constexpr auto max_length
The maximum number of packable values in a simd vector, if the underlying type would be [u]int8_t (is...
Definition: simd_traits.hpp:54