ATLAS Offline Software
Classes | Namespaces | Macros | Typedefs | Functions
vec_fb.h File Reference

Fallback vectorized class. More...

#include <initializer_list>
#include <type_traits>
#include <algorithm>
#include <cstdint>
#include "boost/integer.hpp"
Include dependency graph for vec_fb.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  CxxUtils::vec_fb< T, N >
 

Namespaces

 CxxUtils
 

Macros

#define BINOP(op)
 
#define UNOP(op)
 
#define RELOP(op)
 

Typedefs

template<typename T , size_t N>
using CxxUtils::ivec = vec_fb< typename boost::int_t< sizeof(T) *8 >::exact, N >
 

Functions

template<typename T , size_t N>
ivec< T, N > CxxUtils::operator! (const vec_fb< T, N > &a)
 Negation. More...
 
template<typename T , size_t N>
ivec< T, N > CxxUtils::operator&& (const vec_fb< T, N > &a, const vec_fb< T, N > &b)
 V1 && V2. More...
 
template<typename T , size_t N, class U >
ivec< T, N > CxxUtils::operator&& (U a, const vec_fb< T, N > &b)
 S && V. More...
 
template<typename T , size_t N, class U >
ivec< T, N > CxxUtils::operator&& (const vec_fb< T, N > &a, U b)
 V && S. More...
 
template<typename T , size_t N>
ivec< T, N > CxxUtils::operator|| (const vec_fb< T, N > &a, const vec_fb< T, N > &b)
 V1 || V2. More...
 

Detailed Description

Fallback vectorized class.

Author
scott snyder snyde.nosp@m.r@bn.nosp@m.l.gov

This is intended to be (mostly) functionally equivalent to the built-in vectorized types. (One difference is that we don't support ?:, as that can't be overloaded.)

Definition in file vec_fb.h.

Macro Definition Documentation

◆ BINOP

#define BINOP (   op)

Definition at line 64 of file vec_fb.h.

◆ RELOP

#define RELOP (   op)
Value:
template<typename T, size_t N> \
inline ivec<T, N> operator op(const vec_fb<T, N>& a, const vec_fb<T, N>& b) \
{ \
ivec<T, N> c; \
for (size_t i = 0; i < N; ++i) \
c.m_arr[i] = a.m_arr[i] op b.m_arr[i]; \
return c; \
}

Definition at line 137 of file vec_fb.h.

◆ UNOP

#define UNOP (   op)
Value:
template<typename T, size_t N> \
inline vec_fb<T, N> operator op(const vec_fb<T, N>& a) \
{ \
vec_fb<T, N> c; \
for (size_t i = 0; i < N; ++i) \
c.m_arr[i] = op a.m_arr[i]; \
return c; \
}

Definition at line 120 of file vec_fb.h.

JetTiledMap::N
@ N
Definition: TiledEtaPhiMap.h:44
lumiFormat.i
int i
Definition: lumiFormat.py:85
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
a
TList * a
Definition: liststreamerinfos.cxx:10
python.compressB64.c
def c
Definition: compressB64.py:93