Visible to Intel only — GUID: GUID-26BE037A-6D48-4FCB-B80E-842930A67C1B
Visible to Intel only — GUID: GUID-26BE037A-6D48-4FCB-B80E-842930A67C1B
Powx
Raises each element of a vector to a constant power.
Syntax
IppStatus ippsPowx_32f_A11 (const Ipp32f* pSrc1, const Ipp32f ConstValue, Ipp32f* pDst, Ipp32s len);
IppStatus ippsPowx_32f_A21 (const Ipp32f* pSrc1, const Ipp32f ConstValue, Ipp32f* pDst, Ipp32s len);
IppStatus ippsPowx_32f_A24 (const Ipp32f* pSrc1, const Ipp32f ConstValue, Ipp32f* pDst, Ipp32s len);
IppStatus ippsPowx_64f_A26 (const Ipp64f* pSrc1, const Ipp64f ConstValue, Ipp64f* pDst, Ipp32s len);
IppStatus ippsPowx_64f_A50 (const Ipp64f* pSrc1, const Ipp64f ConstValue, Ipp64f* pDst, Ipp32s len);
IppStatus ippsPowx_64f_A53 (const Ipp64f* pSrc1, const Ipp64f ConstValue, Ipp64f* pDst, Ipp32s len);
IppStatus ippsPowx_32fc_A11 (const Ipp32fc* pSrc1, const Ipp32fc ConstValue, Ipp32fc* pDst, Ipp32s len);
IppStatus ippsPowx_32fc_A21 (const Ipp32fc* pSrc1, const Ipp32fc ConstValue, Ipp32fc* pDst, Ipp32s len);
IppStatus ippsPowx_32fc_A24 (const Ipp32fc* pSrc1, const Ipp32fc ConstValue, Ipp32fc* pDst, Ipp32s len);
IppStatus ippsPowx_64fc_A26 (const Ipp64fc* pSrc1, const Ipp64fc ConstValue, Ipp64fc* pDst, Ipp32s len);
IppStatus ippsPowx_64fc_A50 (const Ipp64fc* pSrc1, const Ipp64fc ConstValue, Ipp64fc* pDst, Ipp32s len);
IppStatus ippsPowx_64fc_A53 (const Ipp64fc* pSrc1, const Ipp64fc ConstValue, Ipp64fc* pDst, Ipp32s len);
Include Files
ippvm.h
Domain Dependencies
Headers: ippcore.h
Libraries: ippcore.lib
Parameters
pSrc1 |
Pointer to the source vector. |
ConstValue |
Constant value. |
pDst |
Pointer to the destination vector. |
len |
Number of elements in the vectors. |
Description
This function raises each element of the vector pSrc1 to the constant power ConstValue and stores the result in the corresponding element of pDst.
For single precision data:
function flavors ippsPowx_32f_A11and ippsPowx_32cf_A11 guarantee 11 correctly rounded bits of significand, or at least 3 exact decimal digits;
function flavors ippsPowx_32f_A21 and ippsPowx_32fc_A21 guarantee 21 correctly rounded bits of significand, or 4 ulps, or about 6 exact decimal digits;
function flavors ippsPowx_32f_A24 and ippsPowx_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 ippsPowx_64f_A26 and ippsPowx_64fc_A26 guarantee 26 correctly rounded bits of significand, or 6.7E+7 ulps, or approximately 8 exact decimal digits;
function flavors ippsPowx_64f_A50 and ippsPowx_64fc_A50 guarantee 50 correctly rounded bits of significand, or 4 ulps, or approximately 15 exact decimal digits;
function flavors ippsPowx_64f_A53 and ippsPowx_64fc_A53 guarantee 53 correctly rounded bits of significand, including the implied bit, with the maximum guaranteed error within 1 ulp.
Note that for ippsPowx complex functions there may be argument ranges where the accuracy specification does not hold.
The computation is performed as follows:
pDst[n] = (pSrc[n])ConstValue, 0 ≤ n < len.
Return Values
ippStsNoErr |
Indicates no error. |
ippStsNullPtrErr |
Indicates an error when pSrc1 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 pair of the elements meets the following condition: element of pSrc1 is finite, less than 0, and ConstValue is finite, non-integer. |
IppStsSingularity |
In real functions, indicates a warning that the argument is the singularity point, that is, at least one pair of the elements is as follows: element of pSrc1 is equal to 0, and ConstValue is integer and less than 0. |
Example
The example below shows how to use the function ippsPowx.
IppStatus ippsPowx_32f_A21_sample(void) { const Ipp32f x1[4] = {0.483, 0.565, 0.776, 0.252}; const Ipp32f x2 = 0.823; Ipp32f y[4]; IppStatus st = ippsPowx_32f_A21( x1, x2, y, 4 ); printf(" ippsPowx_32f_A21:\n"); printf(" x1 = %.3f %.3f %.3f %.3f \n", x1[0], x1[1], x1[2], x1[3]); printf(" x2 = %.3f \n", x2); printf(" y = %.3f %.3f %.3f %.3f \n", y[0], y[1], y[2], y[3]); return st; }
Output results:
ippsPowx_32f_A21: x1 = 0.483 0.565 0.776 0.252 x2 = 0.823 y = 0.549 0.625 0.812 0.322