IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IS2Pack.h
Go to the documentation of this file.
1 // IS2Pack.h:
3 // ------------
4 //
13 
14 #ifndef __IPSDKUTIL_INSTRUCTIONSET_IS2PACK_H__
15 #define __IPSDKUTIL_INSTRUCTIONSET_IS2PACK_H__
16 
20 
21 namespace ipsdk {
22 namespace simd {
23 
26 
33 template <eInstructionSet::domain is, typename T>
34 struct IS2Pack
35 {
36 };
37 /*
40 #define IPSDK_INSTRUCTIONSET_TO_PACK(InstructionSet, EnumValue) \
41  template<typename T> struct IS2Pack<eInstructionSet::InstructionSet, T> { \
42  typedef ipsdk::simd::BasePack<ipsdk::simd::ePackType::EnumValue, T> Type; \
43  };
44 
47 IPSDK_INSTRUCTIONSET_TO_PACK(eIS_Standard, ePT_Scalar);
48 IPSDK_INSTRUCTIONSET_TO_PACK(eIS_Sse2, ePT_Sse);
49 IPSDK_INSTRUCTIONSET_TO_PACK(eIS_Avx, ePT_Avx);
50 IPSDK_INSTRUCTIONSET_TO_PACK(eIS_Avx2, ePT_Avx);
52 */
53 
54 template <typename T>
56 {
58 };
59 
60 template <typename T>
62 {
64 };
65 
66 template <typename T>
68 {
70 };
71 
72 template <typename T>
74 {
76 };
77 
78 template <typename T>
80 {
82 };
83 
84 template <typename T>
86 {
88 };
89 
92 
93 } // end of namespace simd
94 } // end of namespace ipsdk
95 
96 #endif // __IPSDKUTIL_INSTRUCTIONSET_IS2PACK_H__
Fused multiply–add.
Definition: InstructionSetTypes.h:46
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Advanced Vector Extensions.
Definition: InstructionSetTypes.h:44
Advanced Vector Extensions 2.
Definition: InstructionSetTypes.h:48
Predefined types associated to instruction set management.
Streaming SIMD Extensions 2.
Definition: InstructionSetTypes.h:36
compiler optimisations only
Definition: InstructionSetTypes.h:34
simd::Pack types
Definition: IS2Pack.h:34
structure containing intrinsic registers used to store vectorized data
Definition: BasePackDecl.h:29