SeqAn3 3.3.0-rc.1
The Modern C++ library for sequence analysis.
simd.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
45template <typename scalar_t,
46 size_t length = detail::default_simd_length<scalar_t, detail::default_simd_backend>,
47 template <typename scalar_t_, size_t length_> typename simd_backend = detail::default_simd_backend>
48struct simd_type : simd_backend<scalar_t, length>
49{
51 using type = typename simd_backend<scalar_t, length>::type;
52};
53
56template <typename scalar_t,
57 size_t length = detail::default_simd_length<scalar_t, detail::default_simd_backend>,
58 template <typename scalar_t_, size_t length_> typename simd_backend = detail::default_simd_backend>
60
61} // namespace simd
62
63} // namespace seqan3
Provides seqan3::detail::default_simd_backend.
builtin_simd< scalar_t, length > default_simd_backend
seqan3::detail::default_simd_backend is the default used implementation of seqan3::simd::simd_type.
Definition: default_simd_backend.hpp:27
typename simd_type< scalar_t, length, simd_backend >::type simd_type_t
Helper type of seqan3::simd::simd_type.
Definition: simd.hpp:59
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
A class that holds the type of a simd implementation called [vector extension] (https://gcc....
Definition: builtin_simd.hpp:60
scalar_t __attribute__((vector_size(sizeof(scalar_t) *length)))) type
The type of the builtin simd.
Definition: builtin_simd.hpp:63
seqan3::simd::simd_type encapsulates simd vector types, which can be manipulated by simd operations.
Definition: simd.hpp:49