SeqAn3  3.0.3
The Modern C++ library for sequence analysis.
simd_traits.hpp
Go to the documentation of this file.
1 // -----------------------------------------------------------------------------------------------------
2 // Copyright (c) 2006-2020, Knut Reinert & Freie Universität Berlin
3 // Copyright (c) 2016-2020, 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 
15 #include <seqan3/core/platform.hpp>
16 
17 namespace seqan3
18 {
19 
20 inline namespace simd
21 {
22 
38 template <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 } // inline 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