Cbrt
Cbrt
Computes cube root of each vector element.
Syntax
IppStatus ippsCbrt_32f_A11 (const Ipp32f*
pSrc
, Ipp32f*
pDst
, Ipp32s
len
);
IppStatus ippsCbrt_32f_A21 (const Ipp32f*
pSrc
, Ipp32f*
pDst
, Ipp32s
len
);
IppStatus ippsCbrt_32f_A24 (const Ipp32f*
pSrc
, Ipp32f*
pDst
, Ipp32s
len
);
IppStatus ippsCbrt_64f_A26 (const Ipp64f*
pSrc
, Ipp64f*
pDst
, Ipp32s
len
);
IppStatus ippsCbrt_64f_A50 (const Ipp64f*
pSrc
, Ipp64f*
pDst
, Ipp32s
len
);
IppStatus ippsCbrt_64f_A53 (const Ipp64f*
pSrc
, Ipp64f*
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 cube root of each element of
pSrc
, and stores the result in the corresponding element of pDst
.For single precision data:
function flavor
ippsCbrt_32f_A11
guarantees 11 correctly rounded bits of significand, or at least 3 exact decimal digits;function flavor
ippsCbrt_32f_A21
guarantees 21 correctly rounded bits of significand, or 4 ulps, or about 6 exact decimal digits;function flavor
ippsCbrt_32f_A24
guarantees 24 correctly rounded bits of significand, including the implied bit, with the maximum guaranteed error within 1 ulp.For double precision data:
function flavor
ippsCbrt_64f_A26
guarantees 26 correctly rounded bits of significand, or 6.7E+7 ulps, or approximately 8 exact decimal digits;function flavor
ippsCbrt_64f_A50
guarantees 50 correctly rounded bits of significand, or 4 ulps, or approximately 15 exact decimal digits;function flavor
ippsCbrt_64f_A53
guarantees 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] = (pSrc
[n])1/3
0 ≤ n <
.len
Return Values
- ippStsNoErr
- Indicates no error.
- ippStsNullPtrErr
- Indicates an error whenpSrcorpDstpointer isNULL.
- ippStsSizeErr
- Indicates an error whenlenis less than or equal to 0.
Example
The example below shows how to use the function
ippsCbrt
.IppStatus ippsCbrt_32f_A21_sample(void)
{
const Ipp32f x[4] = {6456.801, 4932.096, -6517.838, 7178.869};
Ipp32f y[4];
IppStatus st = ippsCbrt_32f_A21( x, y, 4 );
printf(" ippsCbrt_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 results:
ippsCbrt_32f_A21:
x = 6456.801 4932.096 -6517.838 7178.869
y = 18.621 17.022 -18.680 19.291