IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AssignPackDecl.h
Go to the documentation of this file.
1 // AssignPackDecl.h:
3 // ------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_ASSIGNPACKDECL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_ASSIGNPACKDECL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <typename T>
32  typename boost::enable_if_c<sizeof(T)==1>::type>
33 {
34  static IPSDK_FORCEINLINE
35  BasePack<ePackType::ePT_Avx512, T> act(const T& value);
36 
37  static IPSDK_FORCEINLINE void act(BasePack<ePackType::ePT_Avx512, T>& pack, const T& value);
38 };
39 
40 template <typename T>
42  typename boost::enable_if_c<sizeof(T)==2>::type>
43 {
44  static IPSDK_FORCEINLINE
45  BasePack<ePackType::ePT_Avx512, T> act(const T& value);
46 
47  static IPSDK_FORCEINLINE void act(BasePack<ePackType::ePT_Avx512, T>& pack,
48  const T& value);
49 };
50 
51 template <typename T>
53  typename boost::enable_if_c<sizeof(T)==4>::type>
54 {
55  static IPSDK_FORCEINLINE
56  BasePack<ePackType::ePT_Avx512, T> act(const T& value);
57 
58  static IPSDK_FORCEINLINE void act(BasePack<ePackType::ePT_Avx512, T>& pack, const T& value);
59 };
60 
61 template <typename T>
63  typename boost::enable_if_c<sizeof(T)==8>::type>
64 {
65  static IPSDK_FORCEINLINE
66  BasePack<ePackType::ePT_Avx512, T> act(const T& value);
67 
68  static IPSDK_FORCEINLINE void act(BasePack<ePackType::ePT_Avx512, T>& pack, const T& value);
69 };
70 
73 
74 } // end of namespace detail
75 } // end of namespace simd
76 } // end of namespace ipsdk
77 
78 #endif // __IPSDKUTIL_INSTRUCTIONSET_DETAIL_AVX512_ASSIGNPACKDECL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: AssignPackDecl.h:30
(including fundation and byte and word instructions)
Definition: InstructionSetTypes.h:51
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition of import/export macro for library.