Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
Types.h
Go to the documentation of this file.
1#ifndef ROOT_Math_VecTypes
2#define ROOT_Math_VecTypes
3
4#include "RConfigure.h"
5
6#include "RtypesCore.h"
7
8#ifdef R__HAS_STD_EXPERIMENTAL_SIMD
9
10#include <experimental/simd>
11
12namespace ROOT {
13
14namespace Internal {
15
16template <typename T>
17using SIMDTag = std::experimental::simd_abi::native<T>;
18
19} // namespace Internal
20
21// FIXME: Should we introduce Int32_t and UInt32_t in RtypesCore.h?
22using Float_v = std::experimental::simd<Float_t, Internal::SIMDTag<Float_t>>;
23using Double_v = std::experimental::simd<Double_t, Internal::SIMDTag<Double_t>>;
24using Int_v = std::experimental::simd<Int_t, Internal::SIMDTag<Int_t>>;
25using Int32_v = std::experimental::simd<Int_t, Internal::SIMDTag<Int_t>>;
26using UInt_v = std::experimental::simd<UInt_t, Internal::SIMDTag<UInt_t>>;
27using UInt32_v = std::experimental::simd<UInt_t, Internal::SIMDTag<UInt_t>>;
28
29} // namespace ROOT
30
31#endif
32
33#endif // ROOT_Math_VecTypes
Basic types used by ROOT and required by TInterpreter.