Developer Reference

  • 2020
  • 10/21/2020
  • Public Content
Contents

Threshold_LT
,
Threshold_GT

Performs the threshold operation on the elements of a vector by limiting the element values by the specified value.

Syntax

IppStatus ippsThreshold_LT_16s(const Ipp16s*
pSrc
, Ipp16s*
pDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_LT_32s(const Ipp32s*
pSrc
, Ipp32s*
pDst
, int
len
, Ipp32s
level
);
IppStatus ippsThreshold_LT_32f(const Ipp32f*
pSrc
, Ipp32f*
pDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_LT_64f(const Ipp64f*
pSrc
, Ipp64f*
pDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_LT_32fc(const Ipp32fc*
pSrc
, Ipp32fc*
pDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_LT_64fc(const Ipp64fc*
pSrc
, Ipp64fc*
pDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_LT_16sc(const Ipp16sc*
pSrc
, Ipp16sc*
pDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_GT_16s(const Ipp16s*
pSrc
, Ipp16s*
pDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_GT_32s(const Ipp32s*
pSrc
, Ipp32s*
pDst
, int
len
, Ipp32s
level
);
IppStatus ippsThreshold_GT_32f(const Ipp32f*
pSrc
, Ipp32f*
pDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_GT_64f(const Ipp64f*
pSrc
, Ipp64f*
pDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_GT_32fc(const Ipp32fc*
pSrc
, Ipp32fc*
pDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_GT_64fc(const Ipp64fc*
pSrc
, Ipp64fc*
pDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_GT_16sc(const Ipp16sc*
pSrc
, Ipp16sc*
pDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_GT_16s_I(Ipp16s*
pSrcDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_GT_32s_I(Ipp32s*
pSrcDst
, int
len
, Ipp32s
level
);
IppStatus ippsThreshold_GT_32f_I(Ipp32f*
pSrcDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_GT_64f_I(Ipp64f*
pSrcDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_GT_32fc_I(Ipp32fc*
pSrcDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_GT_64fc_I(Ipp64fc*
pSrcDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_GT_16sc_I(Ipp16sc*
pSrcDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_LT_16s_I(Ipp16s*
pSrcDst
, int
len
, Ipp16s
level
);
IppStatus ippsThreshold_LT_32s_I(Ipp32s*
pSrcDst
, int
len
, Ipp32s
level
);
IppStatus ippsThreshold_LT_32f_I(Ipp32f*
pSrcDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_LT_64f_I(Ipp64f*
pSrcDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_LT_32fc_I(Ipp32fc*
pSrcDst
, int
len
, Ipp32f
level
);
IppStatus ippsThreshold_LT_64fc_I(Ipp64fc*
pSrcDst
, int
len
, Ipp64f
level
);
IppStatus ippsThreshold_LT_16sc_I(Ipp16sc*
pSrcDst
, int
len
, Ipp16s
level
);
Include Files
ipps.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
Libraries:
ippcore.lib
,
ippvm.lib
Parameters
pSrc
Pointer to the source vector.
pDst
Pointer to the destination vector.
pSrcDst
Pointer to the source and destination vector for the in-place operation.
len
Number of elements in the vector.
level
Value used to limit each element of
pSrc
or
pSrcDst
.This argument must always be real. For complex versions, it must be positive and represent magnitude.
Description
They implement thresholding of the vector
pSrc
by limiting each element by the threshold value
level
. These functions perform the similar operation to the
ippsThreshold
function but are designed for the fixed type of the compare operation to use:
ippsThreshold_LT
is for the "less than" comparison, while
ippsThreshold_GT
is for the "greater than" comparison.
The in-place flavors perform the threshold operation on the vector
pSrcDst
by limiting each element by the threshold value
level
.
ippsThreshold_LT
.
The
ippsThreshold_LT
function performs the operation “less than”, and
level
is a lower bound for the input. The formula for
ippsThreshold_LT
is the following:
For complex versions of the function
ippsThreshold_LT
, the parameter
level
is always real.
The formula for complex
ippsThreshold_LT
is:
ippsThreshold_GT
.
The function
ippsThreshold_GT
performs the operation “greater than” and
level
is an upper bound for the input.
The formula for
ippsThreshold_GT
is the following:
For complex versions of the function
ippsThreshold_GT
, the parameter
level
is always real.
The formula for complex
ippsThreshold_GT
is:
Application Notes
For all complex versions,
level
must be positive and represents a magnitude. The magnitude of the input is limited, but the phase remains unchanged. Zero-valued input is assumed to have zero phase.
A special rule is applied to the integer complex versions of the threshold functions. In general, the resulting point coordinates at the complex plane are not integer. The function rounds them off to integer in such a way that the threshold operation is not performed. Thus, for the “less than” operation (the
ippsThreshold_LT
function) the coordinates are rounded to the infinity (
+Inf
for positive coordinates, and
-Inf
for negative), and for the “greater than” operation (the
ippsThreshold_GT
function) the coordinates are rounded to 0.
Return Values
ippStsNoErr
Indicates no error.
ippStsNullPtrErr
Indicates an error when the
pSrc
,
pDst
, or
pSrcDst
pointer is
NULL
.
ippStsSizeErr
Indicates an error when
len
is less than or equal to 0
ippStsThreshNegLevelErr
Indicates an error when
level
for the complex version is negative (see appendix A "Handling of Special Cases" for more information).

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804