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#ifdef R__HAS_VECCORE
7
8#if defined(R__HAS_VC)
9
10#pragma GCC diagnostic push
11#pragma GCC diagnostic ignored "-Wall"
12#pragma GCC diagnostic ignored "-Wunused-parameter"
13#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
14
15#ifdef __clang__
16#pragma clang diagnostic ignored "-Wconditional-uninitialized"
17#endif
18
19#include <Vc/Vc>
20#pragma GCC diagnostic pop
21#endif
22
23#include <VecCore/VecCore>
24
25namespace ROOT {
26
27namespace Internal {
28 using ScalarBackend = vecCore::backend::Scalar;
29#ifdef VECCORE_ENABLE_VC
30 using VectorBackend = vecCore::backend::VcVector;
31#else
32 using VectorBackend = vecCore::backend::Scalar;
33#endif
34}
35 using Float_v = typename Internal::VectorBackend::Float_v;
36 using Double_v = typename Internal::VectorBackend::Double_v;
37 using Int_v = typename Internal::VectorBackend::Int_v;
38 using Int32_v = typename Internal::VectorBackend::Int32_v;
39 using UInt_v = typename Internal::VectorBackend::UInt_v;
40 using UInt32_v = typename Internal::VectorBackend::UInt32_v;
41}
42
43#else // R__HAS_VECCORE
44
45// We do not have explicit vectorisation support enabled. Fall back to regular ROOT types.
46
47#include "RtypesCore.h"
48
49namespace ROOT {
52 using Int_v = Int_t;
53 using Int32_v = Int_t; // FIXME: Should we introduce Int32_t in RtypesCore.h?
54 using UInt_v = UInt_t;
55 using UInt32_v = UInt_t; // FIXME: Should we introduce UInt32_t in RtypesCore.h?
56}
57#endif
58
59#endif // ROOT_Math_VecTypes
int Int_t
Definition RtypesCore.h:45
unsigned int UInt_t
Definition RtypesCore.h:46
double Double_t
Definition RtypesCore.h:59
float Float_t
Definition RtypesCore.h:57
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
UInt_t UInt_v
Definition Types.h:54
Int_t Int32_v
Definition Types.h:53
UInt_t UInt32_v
Definition Types.h:55
Int_t Int_v
Definition Types.h:52
Double_t Double_v
Definition Types.h:51
Float_t Float_v
Definition Types.h:50