IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
MaxPack.h
Go to the documentation of this file.
1 // MaxPack.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX_MAXPACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX_MAXPACK_H__
17 
21 
22 namespace ipsdk {
23 namespace simd {
24 namespace detail {
25 namespace reduction {
26 
29 
32 template <>
34 {
35  static IPSDK_FORCEINLINE
36  ipReal32
38  {
39  const AvxType<ipReal32>::Type res0 =
41  in._val[0], in._val[1]);
42  const AvxType<ipReal32>::Type res1 =
44  res0, in._val[2]);
45  const AvxType<ipReal32>::Type res =
47  res1, in._val[3]);
49  }
50 };
51 
54 template <>
56 {
57  static IPSDK_FORCEINLINE
58  ipReal64
60  {
62  AvxType<ipReal64>::Type res = MaxR::act(in._val[0], in._val[1]);
63  res = MaxR::act(res, in._val[2]);
64  res = MaxR::act(res, in._val[3]);
65  res = MaxR::act(res, in._val[4]);
66  res = MaxR::act(res, in._val[5]);
67  res = MaxR::act(res, in._val[6]);
68  res = MaxR::act(res, in._val[7]);
70  }
71 };
72 
75 
76 } // end of namespace reduction
77 } // end of namespace detail
78 } // end of namespace simd
79 } // end of namespace ipsdk
80 
81 #endif // __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX_MAXREGIMPL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
cast function; casts a Pack<instructionSet, TIn> to a Pack<instructionSet, TOut>
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions.
Definition: InstructionSetTypes.h:44
structure MaxPack<eInstructionSet::domain instructionSet, typename T, typename Enable=void> ...
Definition: MaxPack.h:40
Definition: MaxRegDecl.h:29
Definition of import/export macro for library.
MaxReg template specialization for instruction set AVX and type ipReal64.
Definition: MaxRegDecl.h:70
structure used to retrieve AVX type associated to a base type
Definition: AvxTypes.h:33
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29