ACTS
Experiment-independent tracking
Loading...
Searching...
No Matches
vc_aos_concepts.hpp
1// This file is part of the ACTS project.
2//
3// Copyright (C) 2016 CERN for the benefit of the ACTS project
4//
5// This Source Code Form is subject to the terms of the Mozilla Public
6// License, v. 2.0. If a copy of the MPL was not distributed with this
7// file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
9#pragma once
10
11// Project include(s).
12#include "detray/algebra/common/vector.hpp"
13
14// Vc include(s).
15#ifdef _MSC_VER
16#pragma warning(push, 0)
17#endif // MSVC
18#include <Vc/Vc>
19#ifdef _MSC_VER
20#pragma warning(pop)
21#endif // MSVC
22
23// System include(s).
24#include <concepts>
25
26namespace detray::concepts {
27
29template <typename T>
30concept vc_simd_vector = Vc::is_simd_vector<T>::value;
31
33template <typename T>
34concept simd_storage_vector = algebra::detail::is_storage_vector_v<T>;
35
37template <typename T>
39
40} // namespace detray::concepts
Vc SIMD types.
Definition vc_aos_concepts.hpp:34
Vc AoS vector.
Definition vc_aos_concepts.hpp:38
Vc SIMD types.
Definition vc_aos_concepts.hpp:30
Type list concepts.
Definition concepts.hpp:17