ROOT  6.06/09
Reference Guide
Classes | Namespaces | Macros | Typedefs | Functions
vector.h File Reference
#include "intrinsics.h"
#include "types.h"
#include "vectorhelper.h"
#include "mask.h"
#include "../common/aliasingentryhelper.h"
#include "../common/memoryfwd.h"
#include <algorithm>
#include <cmath>
#include "macros.h"
#include "forceToRegisters.tcc"
#include "undomacros.h"
#include "vector.tcc"
#include "math.h"
+ Include dependency graph for vector.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ROOT::Vc::SSE::WriteMaskedVector< T >
 
class  ROOT::Vc::SSE::Vector< T >
 
class  ROOT::Vc::SSE::SwizzledVector< T >
 

Namespaces

 ROOT
 Namespace for new ROOT classes and functions.
 
 ROOT::Vc
 
 ROOT::Vc::SSE
 

Macros

#define OP(symbol, fun)
 
#define OP(symbol, fun)
 
#define OPcmp(symbol, fun)
 

Typedefs

typedef Vector< doubleROOT::Vc::SSE::double_v
 
typedef Vector< float > ROOT::Vc::SSE::float_v
 
typedef Vector< float8 > ROOT::Vc::SSE::sfloat_v
 
typedef Vector< int > ROOT::Vc::SSE::int_v
 
typedef Vector< unsigned int > ROOT::Vc::SSE::uint_v
 
typedef Vector< short > ROOT::Vc::SSE::short_v
 
typedef Vector< unsigned short > ROOT::Vc::SSE::ushort_v
 
typedef double_v::Mask ROOT::Vc::SSE::double_m
 
typedef float_v::Mask ROOT::Vc::SSE::float_m
 
typedef sfloat_v::Mask ROOT::Vc::SSE::sfloat_m
 
typedef int_v::Mask ROOT::Vc::SSE::int_m
 
typedef uint_v::Mask ROOT::Vc::SSE::uint_m
 
typedef short_v::Mask ROOT::Vc::SSE::short_m
 
typedef ushort_v::Mask ROOT::Vc::SSE::ushort_m
 

Functions

static Vc_ALWAYS_INLINE Vc_PURE int_v ROOT::Vc::SSE::min (const int_v &x, const int_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE uint_v ROOT::Vc::SSE::min (const uint_v &x, const uint_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE ushort_v ROOT::Vc::SSE::min (const ushort_v &x, const ushort_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE float_v ROOT::Vc::SSE::min (const float_v &x, const float_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE double_v ROOT::Vc::SSE::min (const double_v &x, const double_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE int_v ROOT::Vc::SSE::max (const int_v &x, const int_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE uint_v ROOT::Vc::SSE::max (const uint_v &x, const uint_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE ushort_v ROOT::Vc::SSE::max (const ushort_v &x, const ushort_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE float_v ROOT::Vc::SSE::max (const float_v &x, const float_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE double_v ROOT::Vc::SSE::max (const double_v &x, const double_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE sfloat_v ROOT::Vc::SSE::min (const sfloat_v &x, const sfloat_v &y)
 
static Vc_ALWAYS_INLINE Vc_PURE sfloat_v ROOT::Vc::SSE::max (const sfloat_v &x, const sfloat_v &y)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T > ROOT::Vc::SSE::sqrt (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T > ROOT::Vc::SSE::rsqrt (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T > ROOT::Vc::SSE::abs (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T > ROOT::Vc::SSE::reciprocal (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T > ROOT::Vc::SSE::round (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T >::Mask ROOT::Vc::SSE::isfinite (const Vector< T > &x)
 
template<typename T >
static Vc_ALWAYS_INLINE Vc_PURE Vector< T >::Mask ROOT::Vc::SSE::isnan (const Vector< T > &x)
 

Macro Definition Documentation

#define OP (   symbol,
  fun 
)
Value:
Vc_INTRINSIC Vector &operator symbol##=(const Vector<T> &x) { data() = VectorHelper<T>::fun(data(), x.data()); return *this; } \
Vc_INTRINSIC Vector &operator symbol##=(EntryType x) { return operator symbol##=(Vector<T>(x)); } \
Vc_INTRINSIC Vector Vc_PURE operator symbol(const Vector<T> &x) const { return HT::fun(data(), x.data()); } \
template<typename TT> Vc_INTRINSIC VC_EXACT_TYPE(TT, EntryType, Vector) Vc_PURE operator symbol(TT x) const { return operator symbol(Vector(x)); }
#define Vc_INTRINSIC
Definition: macros.h:139
#define VC_EXACT_TYPE(_test, _reference, _type)
Definition: macros.h:362
Double_t x[n]
Definition: legend1.C:17
#define Vc_PURE
Definition: macros.h:136

Definition at line 341 of file vector.h.

#define OP (   symbol,
  fun 
)
Value:
Vc_INTRINSIC_L Vector &operator symbol##=(const Vector<T> &x) Vc_INTRINSIC_R; \
Vc_INTRINSIC_L Vector operator symbol(const Vector<T> &x) const Vc_PURE Vc_INTRINSIC_R; \
Vc_INTRINSIC Vector &operator symbol##=(EntryType x) { return operator symbol##=(Vector(x)); } \
template<typename TT> Vc_INTRINSIC VC_EXACT_TYPE(TT, EntryType, Vector) Vc_PURE operator symbol(TT x) const { return operator symbol(Vector(x)); }
#define Vc_INTRINSIC
Definition: macros.h:139
#define VC_EXACT_TYPE(_test, _reference, _type)
Definition: macros.h:362
Double_t x[n]
Definition: legend1.C:17
#define Vc_PURE
Definition: macros.h:136
#define Vc_INTRINSIC_R
Definition: macros.h:141
#define Vc_INTRINSIC_L
Definition: macros.h:140

Definition at line 341 of file vector.h.

#define OPcmp (   symbol,
  fun 
)
Value:
Vc_INTRINSIC Mask Vc_PURE operator symbol(const Vector<T> &x) const { return VectorHelper<T>::fun(data(), x.data()); } \
template<typename TT> Vc_INTRINSIC VC_EXACT_TYPE(TT, EntryType, Mask) Vc_PURE operator symbol(TT x) const { return operator symbol(Vector(x)); }
#define Vc_INTRINSIC
Definition: macros.h:139
#define VC_EXACT_TYPE(_test, _reference, _type)
Definition: macros.h:362
Double_t x[n]
Definition: legend1.C:17
#define Vc_PURE
Definition: macros.h:136

Definition at line 350 of file vector.h.