IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
ConditionalAddReg.h
1 // ConditionalAddReg.h:
3 // -----------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_STD_CONDITIONALADDREG_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_STD_CONDITIONALADDREG_H__
17 
19 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/ConditionalAddReg.h>
20 #include <IPSDKUtil/InstructionSet/Arithmetic/detail/AddReg.h>
27 
28 namespace ipsdk {
29 namespace simd {
30 namespace detail {
31 
34 
35 template <typename T>
37  static IPSDK_FORCEINLINE
41  const T& in2)
42  {
44  act(mask, in1, in2, out);
45  return out;
46  }
47 
48  static IPSDK_FORCEINLINE
49  void
52  const T& in2,
54  {
58  BitwiseAndReg<eInstructionSet::eIS_Standard, T>::act(regFromMask, in2, maskAndIn2);
60  }
61 };
62 
65 
66 } // end of namespace detail
67 } // end of namespace simd
68 } // end of namespace ipsdk
69 
70 #endif // __IPSDKUTIL_INSTRUCTIONSET_LOGICAL_STD_CONDITIONALADDREG_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
Definition: CastReg.h:30
RegType class.
eInstructionSet
Enumerate for processor instruction set description.
Definition: InstructionSetTypes.h:31
Definition: ConditionalAddReg.h:36
RegMaskType class.
Definition of import/export macro for library.
template structure which is specialized to implement the arithmetic addition on 2 scalars or 2 regist...
Definition: AddReg.h:37
Definition: RegMaskType.h:29
compiler optimisations only
Definition: InstructionSetTypes.h:34
Definition: RegType.h:29
Definition: BitwiseAndReg.h:30