Developer Reference

  • 2020
  • 07/15/2020
  • Public Content
Contents

Ln

Computes the natural logarithm of pixel values in a source image and writes the results into the destination image.

Syntax

Case 1: Not-in-place operation on integer data
IppStatus ippiLn_<mod>
(
const Ipp<datatype>*
pSrc
,
int
srcStep
,
Ipp<datatype>*
pDst
,
int
dstStep
,
IppiSize
roiSize
,
int
scaleFactor
);
Supported values for
mod
:
8u_C1RSfs
16u_C1RSfs
16s_C1RSfs
8u_C3RSfs
16u_C3RSfs
16s_C3RSfs
Case 2: Not-in-place operation on floating-point data
IppStatus ippiLn_<mod>
(
const Ipp32f*
pSrc
,
int
srcStep
,
Ipp32f*
pDst
,
int
dstStep
,
IppiSize
roiSize
);
Supported values for
mod
:
32f_C1R
32f_C3R
Case 3: In-place operation on integer data
IppStatus ippiLn_<mod>
(
Ipp<datatype>*
pSrcDst
,
int
srcDstStep
,
IppiSize
roiSize
,
int
scaleFactor
);
Supported values for
mod
:
8u_C1IRSfs
16u_C1IRSfs
16s_C1IRSfs
8u_C3IRSfs
16u_C3IRSfs
16s_C3IRSfs
Case 4: In-place operation on floating-point data
IppStatus ippiLn_<mod>
(
Ipp32f*
pSrcDst
,
int
srcDstStep
,
IppiSize
roiSize
);
Supported values for
mod
:
32f_C1IR
32f_C3IR
Include Files
ippi.h
Domain Dependencies
Headers:
ippcore.h
,
ippvm.h
,
ipps.h
Libraries:
ippcore.lib
,
ippvm.lib
,
ipps.lib
Parameters
pSrc
Pointer to the source image ROI.
srcStep
Distance in bytes between starts of consecutive lines in the source image.
pDst
Pointer to the destination image ROI.
dstStep
Distance in bytes between starts of consecutive lines in the destination image.
pSrcDst
Pointer to the source and destination image ROI for the in-place operation.
srcDstStep
Distance in bytes between starts of consecutive lines in the source and destination image for the in-place operation.
roiSize
Size of the source and destination ROI in pixels.
scaleFactor
Scale factor (see Integer Result Scaling).
Description
This function operates with ROI (see Regions of Interest in Intel IPP).
This function computes natural logarithms of pixel values of the source image ROI and writes the resultant values to the destination image ROI. The function flavors operating on integer data apply fixed scaling defined by
scaleFactor
to the internally computed values, and saturate the results before writing them to the destination image ROI.
If a source pixel value is zero or negative, the function issues a corresponding warning and continues execution with the corresponding result value (see appendix “Handling of Special Cases” for more information).
When several inputs have zero or negative value, the status code returned by the function corresponds to the first encountered case as illustrated in the code example below.
Return Values
ippStsNoErr
Indicates no error. Any other value indicates an error or a warning.
ippStsNullPtrErr
Indicates an error condition if one of the specified pointers is
NULL
.
ippStsSizeErr
Indicates an error condition if
roiSize
has a field with zero or negative value.
ippStsStepErr
Indicates an error condition if
srcStep
,
dstStep
, or
srcDstStep
has a zero or negative value.
ippStsLnZeroArg
Indicates a warning that a source pixel has a zero value.
ippStsLnNegArg
Indicates a warning that a source pixel has a negative value.

Example

The code example below shows how to use
Ln
function.
IppStatus ln( void ) { Ipp32f img[8*8]; IppiSize roi = { 8, 8 }; IppStatus st; ippiSet_32f_C1R( (float)IPP_E, img, 8*4, roi ); img[0] = -0; img[1] = -1; st = ippiLn_32f_C1IR( img, 8*sizeof(Ipp32f), roi ); printf( "%f %f %f\n", img[0], img[1], img[2] ); return st; }
Output values:
-1.#INF00 -1.#IND00 1.000000
Status value and message:
(7) Zero value(s) of argument in the Ln function

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