ROOT  6.06/09
Reference Guide
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
vector.h File Reference
#include <assert.h>
#include <algorithm>
#include <cmath>
#include "../common/memoryfwd.h"
#include "macros.h"
#include "types.h"
#include "mask.h"
#include "writemaskedvector.h"
#include "vector.tcc"
#include "math.h"
#include "undomacros.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::Scalar::Vector< T >
 
class  ROOT::Vc::Scalar::SwizzledVector< T >
 

Namespaces

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

Macros

#define OPshift(symbol)
 
#define OPshift_int(symbol)   Vc_ALWAYS_INLINE Vector operator symbol(int x) const { return Vector(m_data symbol x); }
 
#define OP(symbol)
 
#define OPcmp(symbol)
 

Typedefs

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

Enumerations

enum  ROOT::Vc::Scalar::VectorAlignmentEnum { ROOT::Vc::Scalar::VectorAlignment = 4 }
 

Functions

template<typename T >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T > &x01)
 
template<>
Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< float > &x01)
 
template<>
Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< double > &x01)
 
template<typename T1 , typename T2 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &x01, const Vector< T2 > &x02)
 
template<typename T1 , typename T2 , typename T3 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &, const Vector< T11 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &, const Vector< T11 > &, const Vector< T12 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &, const Vector< T11 > &, const Vector< T12 > &, const Vector< T13 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &, const Vector< T11 > &, const Vector< T12 > &, const Vector< T13 > &, const Vector< T14 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &, const Vector< T11 > &, const Vector< T12 > &, const Vector< T13 > &, const Vector< T14 > &, const Vector< T15 > &)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 , typename T11 , typename T12 , typename T13 , typename T14 , typename T15 , typename T16 >
static Vc_ALWAYS_INLINE void ROOT::Vc::Scalar::forceToRegisters (const Vector< T1 > &, const Vector< T2 > &, const Vector< T3 > &, const Vector< T4 > &, const Vector< T5 > &, const Vector< T6 > &, const Vector< T7 > &, const Vector< T8 > &, const Vector< T9 > &, const Vector< T10 > &, const Vector< T11 > &, const Vector< T12 > &, const Vector< T13 > &, const Vector< T14 > &, const Vector< T15 > &, const Vector< T16 > &)
 

Macro Definition Documentation

#define OP (   symbol)
Value:
OPshift(symbol) \
template<typename TT> Vc_ALWAYS_INLINE VC_EXACT_TYPE(TT, EntryType, Vector) operator symbol(TT x) const { return operator symbol(Vector(x)); }
#define OPshift(symbol)
Definition: vector.h:212
#define VC_EXACT_TYPE(_test, _reference, _type)
Definition: macros.h:362
Double_t x[n]
Definition: legend1.C:17
#define Vc_ALWAYS_INLINE
Definition: macros.h:130

Definition at line 218 of file vector.h.

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

Definition at line 221 of file vector.h.

#define OPshift (   symbol)
Value:
Vc_ALWAYS_INLINE Vector &operator symbol##=(const Vector<T> &x) { m_data symbol##= x.m_data; return *this; } \
Vc_ALWAYS_INLINE Vector &operator symbol##=(EntryType x) { return operator symbol##=(Vector(x)); } \
Vc_ALWAYS_INLINE Vector operator symbol(const Vector<T> &x) const { return Vector<T>(m_data symbol x.m_data); }
Double_t x[n]
Definition: legend1.C:17
#define Vc_ALWAYS_INLINE
Definition: macros.h:130

Definition at line 212 of file vector.h.

#define OPshift_int (   symbol)    Vc_ALWAYS_INLINE Vector operator symbol(int x) const { return Vector(m_data symbol x); }

Definition at line 216 of file vector.h.