ROOT  6.06/09
Reference Guide
Classes | Macros | Typedefs | Functions
deinterleave.cpp File Reference
#include "unittest.h"
#include <iostream>
#include <limits>
+ Include dependency graph for deinterleave.cpp:

Go to the source code of this file.

Classes

class  TPair< A, B >
 Class used by TMap to store (key,value) pairs. More...
 

Macros

#define _IMPL(STRUCTSIZE, _code_)
 

Typedefs

typedef TPair< float_v, float > float_float
 
typedef TPair< float_v, unsigned short > float_ushort
 
typedef TPair< float_v, short > float_short
 
typedef TPair< sfloat_v, float > sfloat_float
 
typedef TPair< sfloat_v, unsigned short > sfloat_ushort
 
typedef TPair< sfloat_v, short > sfloat_short
 
typedef TPair< double_v, doubledouble_double
 
typedef TPair< short_v, short > short_short
 
typedef TPair< ushort_v, unsigned short > ushort_ushort
 
typedef TPair< int_v, int > int_int
 
typedef TPair< int_v, short > int_short
 
typedef TPair< uint_v, unsigned int > uint_uint
 
typedef TPair< uint_v, unsigned short > uint_ushort
 

Functions

template<typename Pair >
void testDeinterleave ()
 
size_t createNMask (size_t N)
 
template<typename V , size_t StructSize>
void testDeinterleaveGatherImpl ()
 
template<typename V >
void testDeinterleaveGather ()
 
 _IMPL (2, const V v0=V::Random();const V v1=V::Random();V t0;V t1;data[i]=(v0, v1);(t0, t1)=data[i];COMPARE(t0, v0)<< 2;COMPARE(t1, v1)<< 2;)
 
 _IMPL (3, const V v0=V::Random();const V v1=V::Random();const V v2=V::Random();V t0;V t1;V t2;data[i]=(v0, v1, v2);(t0, t1, t2)=data[i];COMPARE(t0, v0)<< 3;COMPARE(t1, v1)<< 3;COMPARE(t2, v2)<< 3;NextTest::test(data, i);)
 
 _IMPL (4, const V v0=V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();V t0;V t1;V t2;V t3;data[i]=(v0, v1, v2, v3);(t0, t1, t2, t3)=data[i];COMPARE(t0, v0)<< 4;COMPARE(t1, v1)<< 4;COMPARE(t2, v2)<< 4;COMPARE(t3, v3)<< 4;NextTest::test(data, i);)
 
 _IMPL (5, const V v0=V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();V t0;V t1;V t2;V t3;V t4;data[i]=(v0, v1, v2, v3, v4);(t0, t1, t2, t3, t4)=data[i];COMPARE(t0, v0)<< 5;COMPARE(t1, v1)<< 5;COMPARE(t2, v2)<< 5;COMPARE(t3, v3)<< 5;COMPARE(t4, v4)<< 5;NextTest::test(data, i);)
 
 _IMPL (6, const V v0=V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();const V v5=V::Random();V t0;V t1;V t2;V t3;V t4;V t5;data[i]=(v0, v1, v2, v3, v4, v5);(t0, t1, t2, t3, t4, t5)=data[i];COMPARE(t0, v0)<< 6;COMPARE(t1, v1)<< 6;COMPARE(t2, v2)<< 6;COMPARE(t3, v3)<< 6;COMPARE(t4, v4)<< 6;COMPARE(t5, v5)<< 6;NextTest::test(data, i);)
 
 _IMPL (7, const V v0=V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();const V v5=V::Random();const V v6=V::Random();V t0;V t1;V t2;V t3;V t4;V t5;V t6;data[i]=(v0, v1, v2, v3, v4, v5, v6);(t0, t1, t2, t3, t4, t5, t6)=data[i];COMPARE(t0, v0)<< 7;COMPARE(t1, v1)<< 7;COMPARE(t2, v2)<< 7;COMPARE(t3, v3)<< 7;COMPARE(t4, v4)<< 7;COMPARE(t5, v5)<< 7;COMPARE(t6, v6)<< 7;NextTest::test(data, i);)
 
 _IMPL (8, const V v0=V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();const V v5=V::Random();const V v6=V::Random();const V v7=V::Random();V t0;V t1;V t2;V t3;V t4;V t5;V t6;V t7;data[i]=(v0, v1, v2, v3, v4, v5, v6, v7);(t0, t1, t2, t3, t4, t5, t6, t7)=data[i];COMPARE(t0, v0)<< 8;COMPARE(t1, v1)<< 8;COMPARE(t2, v2)<< 8;COMPARE(t3, v3)<< 8;COMPARE(t4, v4)<< 8;COMPARE(t5, v5)<< 8;COMPARE(t6, v6)<< 8;COMPARE(t7, v7)<< 8;NextTest::test(data, i);)
 
template<typename V , size_t StructSize>
void testInterleavingScatterImpl ()
 
template<typename V >
void testInterleavingScatter ()
 
int main ()
 

Macro Definition Documentation

#define _IMPL (   STRUCTSIZE,
  _code_ 
)
Value:
template<typename V> struct TestInterleavingScatterCompare<V, STRUCTSIZE> { \
typedef TestInterleavingScatterCompare<V, STRUCTSIZE - 1> NextTest; \
template<typename Wrapper> static void test(Wrapper &data, const typename V::IndexType &i) { \
_code_ \
} \
}

Definition at line 244 of file deinterleave.cpp.

Typedef Documentation

Definition at line 48 of file deinterleave.cpp.

typedef TPair<float_v, float> float_float

Definition at line 40 of file deinterleave.cpp.

typedef TPair<float_v, short> float_short

Definition at line 42 of file deinterleave.cpp.

typedef TPair<float_v, unsigned short> float_ushort

Definition at line 41 of file deinterleave.cpp.

typedef TPair<int_v, int> int_int

Definition at line 52 of file deinterleave.cpp.

typedef TPair<int_v, short> int_short

Definition at line 53 of file deinterleave.cpp.

typedef TPair<sfloat_v, float> sfloat_float

Definition at line 44 of file deinterleave.cpp.

typedef TPair<sfloat_v, short> sfloat_short

Definition at line 46 of file deinterleave.cpp.

typedef TPair<sfloat_v, unsigned short> sfloat_ushort

Definition at line 45 of file deinterleave.cpp.

typedef TPair<short_v, short> short_short

Definition at line 49 of file deinterleave.cpp.

typedef TPair<uint_v, unsigned int> uint_uint

Definition at line 55 of file deinterleave.cpp.

typedef TPair<uint_v, unsigned short> uint_ushort

Definition at line 56 of file deinterleave.cpp.

typedef TPair<ushort_v, unsigned short> ushort_ushort

Definition at line 50 of file deinterleave.cpp.

Function Documentation

_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();V t0;V t1;data[i]=(v0, v1);(t0, t1)=data[i];COMPARE(t0, v0)<< 2;COMPARE(t1v1)<< 2; 
)
_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();const V v2=V::Random();V t0;V t1;V t2;data[i]=(v0, v1, v2);(t0, t1, t2)=data[i];COMPARE(t0, v0)<< 3;COMPARE(t1v1)<< 3;COMPARE(t2, v2)<< 3;NextTest::test(data, i); 
)
_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();V t0;V t1;V t2;V t3;data[i]=(v0, v1, v2, v3);(t0, t1, t2, t3)=data[i];COMPARE(t0, v0)<< 4;COMPARE(t1v1)<< 4;COMPARE(t2, v2)<< 4;COMPARE(t3, v3)<< 4;NextTest::test(data, i); 
)
_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();V t0;V t1;V t2;V t3;V t4;data[i]=(v0, v1, v2, v3, v4);(t0, t1, t2, t3, t4)=data[i];COMPARE(t0, v0)<< 5;COMPARE(t1v1)<< 5;COMPARE(t2, v2)<< 5;COMPARE(t3, v3)<< 5;COMPARE(t4, v4)<< 5;NextTest::test(data, i); 
)
_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();const V v5=V::Random();V t0;V t1;V t2;V t3;V t4;V t5;data[i]=(v0, v1, v2, v3, v4, v5);(t0, t1, t2, t3, t4, t5)=data[i];COMPARE(t0, v0)<< 6;COMPARE(t1v1)<< 6;COMPARE(t2, v2)<< 6;COMPARE(t3, v3)<< 6;COMPARE(t4, v4)<< 6;COMPARE(t5, v5)<< 6;NextTest::test(data, i); 
)
_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();const V v5=V::Random();const V v6=V::Random();V t0;V t1;V t2;V t3;V t4;V t5;V t6;data[i]=(v0, v1, v2, v3, v4, v5, v6);(t0, t1, t2, t3, t4, t5, t6)=data[i];COMPARE(t0, v0)<< 7;COMPARE(t1v1)<< 7;COMPARE(t2, v2)<< 7;COMPARE(t3, v3)<< 7;COMPARE(t4, v4)<< 7;COMPARE(t5, v5)<< 7;COMPARE(t6, v6)<< 7;NextTest::test(data, i); 
)
_IMPL ( ,
const V  v0 = V::Random();const V v1=V::Random();const V v2=V::Random();const V v3=V::Random();const V v4=V::Random();const V v5=V::Random();const V v6=V::Random();const V v7=V::Random();V t0;V t1;V t2;V t3;V t4;V t5;V t6;V t7;data[i]=(v0, v1, v2, v3, v4, v5, v6, v7);(t0, t1, t2, t3, t4, t5, t6, t7)=data[i];COMPARE(t0, v0)<< 8;COMPARE(t1v1)<< 8;COMPARE(t2, v2)<< 8;COMPARE(t3, v3)<< 8;COMPARE(t4, v4)<< 8;COMPARE(t5, v5)<< 8;COMPARE(t6, v6)<< 8;COMPARE(t7, v7)<< 8;NextTest::test(data, i); 
)
size_t createNMask ( size_t  N)

Definition at line 196 of file deinterleave.cpp.

Referenced by testDeinterleaveGatherImpl(), and testInterleavingScatterImpl().

int main ( )

Definition at line 403 of file deinterleave.cpp.

template<typename Pair >
void testDeinterleave ( )

Definition at line 58 of file deinterleave.cpp.

template<typename V >
void testDeinterleaveGather ( )

Definition at line 232 of file deinterleave.cpp.

Referenced by main().

template<typename V , size_t StructSize>
void testDeinterleaveGatherImpl ( )

Definition at line 205 of file deinterleave.cpp.

template<typename V >
void testInterleavingScatter ( )

Definition at line 392 of file deinterleave.cpp.

Referenced by main().

template<typename V , size_t StructSize>
void testInterleavingScatterImpl ( )

Definition at line 364 of file deinterleave.cpp.