ROOT
6.13/01
Reference Guide
math
mathcore
inc
Math
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
14
#ifdef __clang__
15
#pragma clang diagnostic ignored "-Wconditional-uninitialized"
16
#endif
17
18
#include <Vc/Vc>
19
#pragma GCC diagnostic pop
20
#endif
21
22
#include <VecCore/VecCore>
23
24
namespace
ROOT
{
25
26
namespace
Internal {
27
using
ScalarBackend =
vecCore::backend::Scalar
;
28
#ifdef VECCORE_ENABLE_VC
29
using
VectorBackend = vecCore::backend::VcVector;
30
#else
31
using
VectorBackend =
vecCore::backend::Scalar
;
32
#endif
33
}
34
using
Float_v
=
typename
Internal::VectorBackend::Float_v
;
35
using
Double_v
=
typename
Internal::VectorBackend::Double_v
;
36
using
Int_v
=
typename
Internal::VectorBackend::Int_v
;
37
using
Int32_v
=
typename
Internal::VectorBackend::Int32_v
;
38
using
UInt_v
=
typename
Internal::VectorBackend::UInt_v
;
39
using
UInt32_v
=
typename
Internal::VectorBackend::UInt32_v
;
40
}
41
42
#else // R__HAS_VECCORE
43
44
// We do not have explicit vectorisation support enabled. Fall back to regular ROOT types.
45
46
#include "Rtypes.h"
47
48
namespace
ROOT
{
49
using
Float_v
= Float_t;
50
using
Double_v
= Double_t;
51
using
Int_v
= Int_t;
52
using
Int32_v
= Int_t;
// FIXME: Should we introduce Int32_t in RtypesCore.h?
53
using
UInt_v
= UInt_t;
54
using
UInt32_v
= UInt_t;
// FIXME: Should we introduce UInt32_t in RtypesCore.h?
55
}
56
#endif
57
58
#endif // ROOT_Math_VecTypes
ROOT
Namespace for new ROOT classes and functions.
Definition:
TFoamSampler.h:19
ROOT::Int_v
Int_t Int_v
Definition:
Types.h:51
ROOT::Double_v
Double_t Double_v
Definition:
Types.h:50
ROOT::UInt32_v
UInt_t UInt32_v
Definition:
Types.h:54
ROOT::Float_v
Float_t Float_v
Definition:
Types.h:49
ROOT::Int32_v
Int_t Int32_v
Definition:
Types.h:52
ROOT::UInt_v
UInt_t UInt_v
Definition:
Types.h:53
ROOT::Math::Scalar
Rotation3D::Scalar Scalar
Definition:
Rotation3DxAxial.cxx:69