IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
AllBitsToZeroReg.h
Go to the documentation of this file.
1 // AllBitsToZeroReg.h:
3 // -------------------
4 //
13 
14 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_ALLBITSTOZEROREG_H__
15 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_ALLBITSTOZEROREG_H__
16 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <eInstructionSet::domain IS, typename T, typename Enable=void>
32 {
33 };
34 
35 #define IMPLEMENT_ALLBITSTOZEROREG_INT(type) \
36 template <eInstructionSet::domain IS> \
37 struct AllBitsToZeroReg<IS, type> \
38 { \
39  static IPSDK_FORCEINLINE \
40  typename RegType<IS, type>::Type \
41  act() \
42  { \
43  return AssignReg<IS, ipUInt8>::act(0x0); \
44  } \
45 };
46 
47 IMPLEMENT_ALLBITSTOZEROREG_INT(ipInt8)
48 IMPLEMENT_ALLBITSTOZEROREG_INT(ipUInt8)
49 IMPLEMENT_ALLBITSTOZEROREG_INT(ipInt16)
50 IMPLEMENT_ALLBITSTOZEROREG_INT(ipUInt16)
51 IMPLEMENT_ALLBITSTOZEROREG_INT(ipInt32)
52 IMPLEMENT_ALLBITSTOZEROREG_INT(ipUInt32)
53 IMPLEMENT_ALLBITSTOZEROREG_INT(ipInt64)
54 IMPLEMENT_ALLBITSTOZEROREG_INT(ipUInt64)
55 /*
57 template <eInstructionSet::domain IS, typename T>
58 struct AllBitsToZeroReg<
59  IS,
60  T,
61  typename boost::enable_if<boost::is_integral<T>>
62 >
63 {
64  static IPSDK_FORCEINLINE
65  typename RegType<IS, T>::Type
66  act()
67  {
68  return AssignReg<IS, ipUInt8>::act(0x0);
69  }
70 };*/
71 
72 template <eInstructionSet::domain IS>
75 {
76  static IPSDK_FORCEINLINE
78  act()
79  {
82  }
83 };
84 
86 template <eInstructionSet::domain IS>
88 {
89  static IPSDK_FORCEINLINE
91  act()
92  {
95  }
96 };
97 
100 
101 } // end of namespace detail
102 } // end of namespace simd
103 } // end of namespace ipsdk
104 
105 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_DETAIL_ALLBITSTOZEROREG_H__
int8_t ipInt8
Base types definition.
Definition: BaseTypes.h:48
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
uint64_t ipUInt64
Base types definition.
Definition: BaseTypes.h:55
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
int32_t ipInt32
Base types definition.
Definition: BaseTypes.h:52
int16_t ipInt16
Base types definition.
Definition: BaseTypes.h:50
uint8_t ipUInt8
Base types definition.
Definition: BaseTypes.h:49
RegType class.
Definition of import/export macro for library.
Definition: AllBitsToZeroReg.h:31
Definition: BitwiseCastReg.h:29
int64_t ipInt64
Base types definition.
Definition: BaseTypes.h:54
Definition: RegType.h:29
uint16_t ipUInt16
Base types definition.
Definition: BaseTypes.h:51
Definition: AssignRegDecl.h:31
float ipReal32
Base types definition.
Definition: BaseTypes.h:56
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53