ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Namespaces | Macros | Functions
vectorhelper.h File Reference
#include "types.h"
#include <limits>
#include "macros.h"
#include "vectorhelper.tcc"
#include "undomacros.h"
Include dependency graph for vectorhelper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ROOT::Vc::SSE::SortHelper< VectorType, Size >
 
struct  ROOT::Vc::SSE::SortHelper< M256, Size >
 
struct  ROOT::Vc::SSE::VectorHelper< M256 >
 
struct  ROOT::Vc::SSE::VectorHelper< _M128 >
 
struct  ROOT::Vc::SSE::VectorHelper< _M128D >
 
struct  ROOT::Vc::SSE::VectorHelper< _M128I >
 
struct  ROOT::Vc::SSE::VectorHelper< double >
 
struct  ROOT::Vc::SSE::VectorHelper< float >
 
struct  ROOT::Vc::SSE::VectorHelper< float8 >
 
struct  ROOT::Vc::SSE::VectorHelper< int >
 
struct  ROOT::Vc::SSE::VectorHelper< unsigned int >
 
struct  ROOT::Vc::SSE::VectorHelper< signed short >
 
struct  ROOT::Vc::SSE::VectorHelper< unsigned short >
 

Namespaces

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

Macros

#define OP0(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name() { return code; }
 
#define OP2(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(VectorTypeArg a, VectorTypeArg b) { return code; }
 
#define OP3(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(VectorTypeArg a, VectorTypeArg b, VectorTypeArg c) { return code; }
 
#define OP0(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name() { return code; }
 
#define OP1(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(const VectorType a) { return code; }
 
#define OP2(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(const VectorType a, const VectorType b) { return code; }
 
#define OP3(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(const VectorType a, const VectorType b, const VectorType c) { return code; }
 
#define OP1(op)   static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a) { return CAT(_mm_##op##_, SUFFIX)(a); }
 
#define OP(op)   static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_##op##_ , SUFFIX)(a, b); }
 
#define OP_(op)   static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_##op , SUFFIX)(a, b); }
 
#define OPx(op, op2)   static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_##op2##_, SUFFIX)(a, b); }
 
#define OPcmp(op)   static Vc_ALWAYS_INLINE Vc_CONST VectorType cmp##op(const VectorType a, const VectorType b) { return CAT(_mm_cmp##op##_, SUFFIX)(a, b); }
 
#define OP_CAST_(op)
 
#define MINMAX
 
#define SUFFIX   pd
 
#define SUFFIX   ps
 
#define REUSE_FLOAT_IMPL1(fun)
 
#define REUSE_FLOAT_IMPL2(fun)
 
#define SUFFIX   si128
 
#define SUFFIX   epi32
 
#define SUFFIX   si128
 
#define SUFFIX   epu32
 
#define SUFFIX   epi32
 
#define SUFFIX   si128
 
#define SUFFIX   epi16
 
#define SUFFIX   si128
 
#define SUFFIX   epu16
 
#define SUFFIX   epi16
 

Functions

Vc_INTRINSIC Vc_CONST __m128 ROOT::Vc::SSE::Internal::exponent (__m128 v)
 
Vc_INTRINSIC Vc_CONST M256 ROOT::Vc::SSE::Internal::exponent (VC_ALIGNED_PARAMETER(M256) v)
 
Vc_INTRINSIC Vc_CONST __m128d ROOT::Vc::SSE::Internal::exponent (__m128d v)
 

Macro Definition Documentation

#define MINMAX
Value:
static Vc_ALWAYS_INLINE Vc_CONST VectorType min(VectorType a, VectorType b) { return CAT(_mm_min_, SUFFIX)(a, b); } \
static Vc_ALWAYS_INLINE Vc_CONST VectorType max(VectorType a, VectorType b) { return CAT(_mm_max_, SUFFIX)(a, b); }
static Vc_ALWAYS_INLINE int_v min(const int_v &x, const int_v &y)
Definition: vector.h:433
TArc * a
Definition: textangle.C:12
#define CAT(a, b)
Definition: macros.h:281
#define SUFFIX
Definition: vectorhelper.h:731
#define Vc_CONST
Definition: macros.h:133
#define Vc_ALWAYS_INLINE
Definition: macros.h:130
static Vc_ALWAYS_INLINE int_v max(const int_v &x, const int_v &y)
Definition: vector.h:440

Definition at line 193 of file vectorhelper.h.

#define OP (   op)    static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_##op##_ , SUFFIX)(a, b); }

Definition at line 180 of file vectorhelper.h.

#define OP0 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name() { return code; }

Definition at line 99 of file vectorhelper.h.

#define OP0 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name() { return code; }

Definition at line 99 of file vectorhelper.h.

#define OP1 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name(const VectorType a) { return code; }

Definition at line 178 of file vectorhelper.h.

#define OP1 (   op)    static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a) { return CAT(_mm_##op##_, SUFFIX)(a); }

Definition at line 178 of file vectorhelper.h.

#define OP2 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name(VectorTypeArg a, VectorTypeArg b) { return code; }

Definition at line 101 of file vectorhelper.h.

#define OP2 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name(const VectorType a, const VectorType b) { return code; }

Definition at line 101 of file vectorhelper.h.

#define OP3 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name(VectorTypeArg a, VectorTypeArg b, VectorTypeArg c) { return code; }

Definition at line 102 of file vectorhelper.h.

#define OP3 (   name,
  code 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType name(const VectorType a, const VectorType b, const VectorType c) { return code; }

Definition at line 102 of file vectorhelper.h.

#define OP_ (   op)    static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_##op , SUFFIX)(a, b); }

Definition at line 182 of file vectorhelper.h.

#define OP_CAST_ (   op)
Value:
static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_castps_, SUFFIX)( \
_mm_##op##ps(CAT(CAT(_mm_cast, SUFFIX), _ps)(a), \
CAT(CAT(_mm_cast, SUFFIX), _ps)(b))); \
}
TArc * a
Definition: textangle.C:12
#define CAT(a, b)
Definition: macros.h:281
#define SUFFIX
Definition: vectorhelper.h:731
#define Vc_CONST
Definition: macros.h:133
#define Vc_ALWAYS_INLINE
Definition: macros.h:130

Definition at line 188 of file vectorhelper.h.

#define OPcmp (   op)    static Vc_ALWAYS_INLINE Vc_CONST VectorType cmp##op(const VectorType a, const VectorType b) { return CAT(_mm_cmp##op##_, SUFFIX)(a, b); }

Definition at line 186 of file vectorhelper.h.

#define OPx (   op,
  op2 
)    static Vc_ALWAYS_INLINE Vc_CONST VectorType op(const VectorType a, const VectorType b) { return CAT(_mm_##op2##_, SUFFIX)(a, b); }

Definition at line 184 of file vectorhelper.h.

#define REUSE_FLOAT_IMPL1 (   fun)
Value:
static Vc_ALWAYS_INLINE Vc_CONST VectorType fun(VectorTypeArg x) { \
return VectorType::create(VectorHelper<float>::fun(x[0]), VectorHelper<float>::fun(x[1])); \
}
Double_t x[n]
Definition: legend1.C:17
return
Definition: TBase64.cxx:62
#define Vc_CONST
Definition: macros.h:133
#define Vc_ALWAYS_INLINE
Definition: macros.h:130

Definition at line 391 of file vectorhelper.h.

#define REUSE_FLOAT_IMPL2 (   fun)
Value:
static Vc_ALWAYS_INLINE Vc_CONST VectorType fun(VectorTypeArg x, VectorTypeArg y) { \
return VectorType::create(VectorHelper<float>::fun(x[0], y[0]), VectorHelper<float>::fun(x[1], y[1])); \
}
Double_t x[n]
Definition: legend1.C:17
return
Definition: TBase64.cxx:62
#define Vc_CONST
Definition: macros.h:133
#define Vc_ALWAYS_INLINE
Definition: macros.h:130
Double_t y[n]
Definition: legend1.C:17

Definition at line 395 of file vectorhelper.h.

#define SUFFIX   pd

Definition at line 731 of file vectorhelper.h.

Referenced by ROOT::Vc::SSE::VectorHelper< double >::abs(), ROOT::Vc::SSE::VectorHelper< float >::abs(), ROOT::Vc::SSE::VectorHelper< unsigned short >::max(), ROOT::Vc::SSE::VectorHelper< unsigned short >::min(), ROOT::Vc::SSE::VectorHelper< int >::notMaskedToZero(), ROOT::Vc::SSE::VectorHelper< unsigned int >::notMaskedToZero(), ROOT::Vc::SSE::VectorHelper< signed short >::notMaskedToZero(), ROOT::Vc::SSE::VectorHelper< unsigned short >::notMaskedToZero(), ROOT::Vc::SSE::VectorHelper< double >::one(), ROOT::Vc::SSE::VectorHelper< float >::one(), ROOT::Vc::SSE::VectorHelper< int >::one(), ROOT::Vc::SSE::VectorHelper< unsigned int >::one(), ROOT::Vc::SSE::VectorHelper< signed short >::one(), ROOT::Vc::SSE::VectorHelper< unsigned short >::one(), ROOT::Vc::SSE::VectorHelper< int >::OP_(), ROOT::Vc::SSE::VectorHelper< signed short >::OP_(), ROOT::Vc::SSE::VectorHelper< unsigned int >::OP_CAST_(), ROOT::Vc::SSE::VectorHelper< unsigned short >::OP_CAST_(), ROOT::Vc::SSE::VectorHelper< double >::set(), ROOT::Vc::SSE::VectorHelper< float >::set(), ROOT::Vc::SSE::VectorHelper< int >::set(), ROOT::Vc::SSE::VectorHelper< unsigned int >::set(), ROOT::Vc::SSE::VectorHelper< signed short >::set(), ROOT::Vc::SSE::VectorHelper< unsigned short >::set(), ROOT::Vc::SSE::VectorHelper< int >::shiftLeft(), ROOT::Vc::SSE::VectorHelper< unsigned int >::shiftLeft(), ROOT::Vc::SSE::VectorHelper< signed short >::shiftLeft(), ROOT::Vc::SSE::VectorHelper< unsigned short >::shiftLeft(), ROOT::Vc::SSE::VectorHelper< int >::shiftRight(), ROOT::Vc::SSE::VectorHelper< unsigned int >::shiftRight(), ROOT::Vc::SSE::VectorHelper< signed short >::shiftRight(), ROOT::Vc::SSE::VectorHelper< unsigned short >::shiftRight(), ROOT::Vc::SSE::VectorHelper< double >::zero(), and ROOT::Vc::SSE::VectorHelper< float >::zero().

#define SUFFIX   ps

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   si128

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   epi32

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   si128

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   epu32

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   epi32

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   si128

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   epi16

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   si128

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   epu16

Definition at line 731 of file vectorhelper.h.

#define SUFFIX   epi16

Definition at line 731 of file vectorhelper.h.