Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference
A newer version of this document is available. Customers should click here to go to the newest version.
Log10
Computes common logarithm of each vector element.
Syntax
IppStatus ippsLog10_32f_A11 (const Ipp32f* pSrc, Ipp32f* pDst, Ipp32s len);
IppStatus ippsLog10_32f_A21 (const Ipp32f* pSrc, Ipp32f* pDst, Ipp32s len);
IppStatus ippsLog10_32f_A24 (const Ipp32f* pSrc, Ipp32f* pDst, Ipp32s len);
IppStatus ippsLog10_64f_A26 (const Ipp64f* pSrc, Ipp64f* pDst, Ipp32s len);
IppStatus ippsLog10_64f_A50 (const Ipp64f* pSrc, Ipp64f* pDst, Ipp32s len);
IppStatus ippsLog10_64f_A53 (const Ipp64f* pSrc, Ipp64f* pDst, Ipp32s len);
IppStatus ippsLog10_32fc_A11 (const Ipp32fc* pSrc, Ipp32fc* pDst, Ipp32s len);
IppStatus ippsLog10_32fc_A21 (const Ipp32fc* pSrc, Ipp32fc* pDst, Ipp32s len);
IppStatus ippsLog10_32fc_A24 (const Ipp32fc* pSrc, Ipp32fc* pDst, Ipp32s len);
IppStatus ippsLog10_64fc_A26 (const Ipp64fc* pSrc, Ipp64fc* pDst, Ipp32s len);
IppStatus ippsLog10_64fc_A50 (const Ipp64fc* pSrc, Ipp64fc* pDst, Ipp32s len);
IppStatus ippsLog10_64fc_A53 (const Ipp64fc* pSrc, Ipp64fc* pDst, Ipp32s len);
Include Files
ippvm.h
Domain Dependencies
Headers: ippcore.h
Libraries: ippcore.lib
Parameters
| pSrc | Pointer to the source vector. | 
| pDst | Pointer to the destination vector. | 
| len | Number of elements in the vectors. | 
Description
This function computes a natural logarithm of each element of pSrc and stores the result in the corresponding element of pDst.
For single precision data:
function flavors ippsLog10_32f_A11and ippsLog10_32cf_A11 guarantee 11 correctly rounded bits of significand, or at least 3 exact decimal digits;
function flavors ippsLog10_32f_A21 and ippsLog10_32fc_A21 guarantee 21 correctly rounded bits of significand, or 4 ulps, or about 6 exact decimal digits;
function flavors ippsLog10_32f_A24 and ippsLog10_32fc_A24 guarantee 24 correctly rounded bits of significand, including the implied bit, with the maximum guaranteed error within 1 ulp.
For double precision data:
function flavors ippsLog10_64f_A26 and ippsLog10_64fc_A26 guarantee 26 correctly rounded bits of significand, or 6.7E+7 ulps, or approximately 8 exact decimal digits;
function flavors ippsLog10_64f_A50 and ippsLog10_64fc_A50 guarantee 50 correctly rounded bits of significand, or 4 ulps, or approximately 15 exact decimal digits;
function flavors ippsLog10_64f_A53 and ippsLog10_64fc_A53 guarantee 53 correctly rounded bits of significand, including the implied bit, with the maximum guaranteed error within 1 ulp.
The computation is performed as follows:
pDst[n] = log10(pSrc[n]), 0 ≤ n < len.
Return Values
| ippStsNoErr | Indicates no error. | 
| ippStsNullPtrErr | Indicates an error when pSrc or pDst pointer is NULL. | 
| ippStsSizeErr | Indicates an error when len is less than or equal to 0. | 
| IppStsDomain | In real functions, indicates a warning that the argument is out of the function domain, that is, at least one of the elements of pSrc is less than 0. | 
| IppStsSingularity | In real functions, indicates a warning that the argument is the singularity point, that is, at least one of the elements of pSrc is equal to 0. | 
Example
The example below shows how to use the function ippsLog10.
IppStatus ippsLog10_32f_A21_sample(void) {
	const Ipp32f x[4] = {6.057, 6.111, 1.746, 6.664};
	Ipp32f y[4];
	IppStatus st = ippsLog10_32f_A21( x, y, 4 );
	
	printf(" ippsLog10_32f_A21:\n");
	printf(" x = %.3f %.3f %.3f %.3f \n", x[0], x[1], x[2], x[3]);
	printf(" y = %.3f %.3f %.3f %.3f \n", y[0], y[1], y[2], y[3]);
	return st;
} 
   Output:
ippsLog10_32f_A21: x = 6.057 6.111 1.746 6.664 y = 0.782 0.786 0.242 0.824