ROOT  6.06/09
Reference Guide
Classes | Namespaces | Macros | Functions
vectorhelper.h File Reference
#include <limits>
#include "types.h"
#include "intrinsics.h"
#include "casts.h"
#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::AVX::VectorHelper< m256 >
 
struct  ROOT::Vc::AVX::VectorHelper< m256d >
 
struct  ROOT::Vc::AVX::VectorHelper< m256i >
 
struct  ROOT::Vc::AVX::VectorHelper< m128i >
 
struct  ROOT::Vc::AVX::VectorHelper< double >
 
struct  ROOT::Vc::AVX::VectorHelper< float >
 
struct  ROOT::Vc::AVX::VectorHelper< sfloat >
 
struct  ROOT::Vc::AVX::VectorHelper< int >
 
struct  ROOT::Vc::AVX::VectorHelper< unsigned int >
 
struct  ROOT::Vc::AVX::VectorHelper< signed short >
 
struct  ROOT::Vc::AVX::VectorHelper< unsigned short >
 
struct  ROOT::Vc::AVX::VectorHelper< char >
 
struct  ROOT::Vc::AVX::VectorHelper< unsigned char >
 

Namespaces

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

Macros

#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(VTArg a) { return code; }
 
#define OP2(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(VTArg a, VTArg b) { return code; }
 
#define OP3(name, code)   static Vc_ALWAYS_INLINE Vc_CONST VectorType name(VTArg a, VTArg b, VTArg c) { return code; }
 
#define OP1(op)   static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a) { return CAT(_mm256_##op##_, SUFFIX)(a); }
 
#define OP(op)   static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_##op##_ , SUFFIX)(a, b); }
 
#define OP_(op)   static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_##op , SUFFIX)(a, b); }
 
#define OPx(op, op2)   static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_##op2##_, SUFFIX)(a, b); }
 
#define OPcmp(op)   static Vc_INTRINSIC VectorType Vc_CONST cmp##op(VTArg a, VTArg b) { return CAT(_mm256_cmp##op##_, SUFFIX)(a, b); }
 
#define OP_CAST_(op)
 
#define MINMAX
 
#define SUFFIX   pd
 
#define SUFFIX   ps
 
#define SUFFIX   si256
 
#define SUFFIX   epi32
 
#define SUFFIX   si256
 
#define SUFFIX   epu32
 
#define SUFFIX   epi32
 
#define SUFFIX   epi16
 
#define SUFFIX   epi16
 

Functions

Vc_INTRINSIC Vc_CONST m256 ROOT::Vc::AVX::Internal::exponent (param256 v)
 
Vc_INTRINSIC Vc_CONST m256d ROOT::Vc::AVX::Internal::exponent (param256d v)
 

Macro Definition Documentation

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

Definition at line 226 of file vectorhelper.h.

#define OP (   op)    static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_##op##_ , SUFFIX)(a, b); }

Definition at line 213 of file vectorhelper.h.

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

Definition at line 55 of file vectorhelper.h.

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

Definition at line 211 of file vectorhelper.h.

#define OP1 (   op)    static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a) { return CAT(_mm256_##op##_, SUFFIX)(a); }

Definition at line 211 of file vectorhelper.h.

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

Definition at line 57 of file vectorhelper.h.

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

Definition at line 58 of file vectorhelper.h.

#define OP_ (   op)    static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_##op , SUFFIX)(a, b); }

Definition at line 215 of file vectorhelper.h.

#define OP_CAST_ (   op)
Value:
static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_castps_, SUFFIX)( \
_mm256_##op##ps(CAT(CAT(_mm256_cast, SUFFIX), _ps)(a), \
CAT(CAT(_mm256_cast, SUFFIX), _ps)(b))); \
}
#define SUFFIX
Definition: vectorhelper.h:667
TArc * a
Definition: textangle.C:12
#define Vc_INTRINSIC
Definition: macros.h:139
#define CAT(a, b)
Definition: macros.h:281
#define Vc_CONST
Definition: macros.h:133

Definition at line 221 of file vectorhelper.h.

#define OPcmp (   op)    static Vc_INTRINSIC VectorType Vc_CONST cmp##op(VTArg a, VTArg b) { return CAT(_mm256_cmp##op##_, SUFFIX)(a, b); }

Definition at line 219 of file vectorhelper.h.

#define OPx (   op,
  op2 
)    static Vc_INTRINSIC VectorType Vc_CONST op(VTArg a, VTArg b) { return CAT(_mm256_##op2##_, SUFFIX)(a, b); }

Definition at line 217 of file vectorhelper.h.

#define SUFFIX   pd

Definition at line 667 of file vectorhelper.h.

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

#define SUFFIX   ps

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   si256

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   epi32

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   si256

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   epu32

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   epi32

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   epi16

Definition at line 667 of file vectorhelper.h.

#define SUFFIX   epi16

Definition at line 667 of file vectorhelper.h.