Logo ROOT  
Reference Guide
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 
25 namespace ROOT {
26 
27 namespace 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 }
37  using Int_v = typename Internal::VectorBackend::Int_v;
39  using UInt_v = typename Internal::VectorBackend::UInt_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 
49 namespace ROOT {
50  using Float_v = Float_t;
51  using Double_v = Double_t;
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
Float_t
float Float_t
Definition: RtypesCore.h:57
Int_t
int Int_t
Definition: RtypesCore.h:45
ROOT::UInt32_v
UInt_t UInt32_v
Definition: Types.h:55
ROOT::Int_v
Int_t Int_v
Definition: Types.h:52
UInt_t
unsigned int UInt_t
Definition: RtypesCore.h:46
ROOT::Double_v
Double_t Double_v
Definition: Types.h:51
unsigned int
Double_t
double Double_t
Definition: RtypesCore.h:59
RtypesCore.h
ROOT::Math::Scalar
Rotation3D::Scalar Scalar
Definition: Rotation3DxAxial.cxx:69
ROOT::Float_v
Float_t Float_v
Definition: Types.h:50
ROOT::Int32_v
Int_t Int32_v
Definition: Types.h:53
ROOT
VSD Structures.
Definition: StringConv.hxx:21
int
ROOT::UInt_v
UInt_t UInt_v
Definition: Types.h:54