IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
MinPack.h
Go to the documentation of this file.
1 // MinPack.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX_MINPACK_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX_MINPACK_H__
17 
23 
24 namespace ipsdk {
25 namespace simd {
26 namespace detail {
27 namespace reduction {
28 
31 
34 template <>
36 {
37  static IPSDK_FORCEINLINE
38  ipReal32
40  {
42  AvxType<ipReal32>::Type res = MinR::act(in._val[0], in._val[1]);
43  res = MinR::act(res, in._val[2]);
44  res = MinR::act(res, in._val[3]);
46  }
47 };
48 
51 template <>
53 {
54  static IPSDK_FORCEINLINE
55  ipReal64
57  {
59  AvxType<ipReal64>::Type res = MinR::act(in._val[0], in._val[1]);
60  res = MinR::act(res, in._val[2]);
61  res = MinR::act(res, in._val[3]);
62  res = MinR::act(res, in._val[4]);
63  res = MinR::act(res, in._val[5]);
64  res = MinR::act(res, in._val[6]);
65  res = MinR::act(res, in._val[7]);
67  }
68 };
69 
72 
73 } // end of namespace reduction
74 } // end of namespace detail
75 } // end of namespace simd
76 } // end of namespace ipsdk
77 
78 #endif // __IPSDKUTIL_INSTRUCTIONSET_REDUCTION_DETAIL_AVX_MINPACK_H__
MinReg template specialization for instruction set AVX and type ipReal32.
Definition: MinRegDecl.h:53
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>
template structure which is specialized to implement the minimum computation on 2 scalars or 2 regist...
specialization of ipsdk::simd::detail::reduction::MinReg structure for AVX instruction set ...
MinReg template specialization for instruction set AVX and type ipReal64.
Definition: MinRegDecl.h:70
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 MinPack<eInstructionSet::domain instructionSet, typename T, typename Enable=void> ...
Definition: MinPack.h:41
Definition of import/export macro for library.
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