IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
IsOutOfRangeRegImpl.h
Go to the documentation of this file.
1 // IsOutOfRangeRegImpl.h:
3 // -------------------
4 //
14 
15 #ifndef __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_STD_ISOUTOFRANGEREGIMPL_H__
16 #define __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_STD_ISOUTOFRANGEREGIMPL_H__
17 
22 
23 namespace ipsdk {
24 namespace simd {
25 namespace detail {
26 
29 
30 template <typename T>
31 typename RegMaskType<eInstructionSet::eIS_Standard, T>::Type
32 IsOutOfRangeReg<eInstructionSet::eIS_Standard, T>::act(
33  const T& in,
34  const T& tmin,
35  const T& tmax)
36 {
37  return (in < tmin || in > tmax) ? AllBitsToOneReg<eInstructionSet::eIS_Standard, T>::act() : 0;
38 }
39 
40 template <typename T>
41 void
42 IsOutOfRangeReg<eInstructionSet::eIS_Standard, T>::act(
43  const T& in,
44  const T& tmin,
45  T& tmax,
46  typename RegMaskType<eInstructionSet::eIS_Standard, T>::Type& out)
47 {
48  out = (in < tmin || in > tmax) ? AllBitsToOneReg<eInstructionSet::eIS_Standard, T>::act() : 0;
49 }
50 
53 
54 } // end of namespace detail
55 } // end of namespace simd
56 } // end of namespace ipsdk
57 
58 #endif // __IPSDKUTIL_INSTRUCTIONSET_COMPARISON_DETAIL_STD_ISOUTOFRANGEREGIMPL_H__
Defines the IPSDK_FORCEINLINE.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
BasePack class; defines a set of scalars (for instruction set "standard") or registers (for all other...
Definition of import/export macro for library.