Atan
Atan
Computes inverse tangent of each vector element.
Syntax
IppStatus ippsAtan_32f_A11 (const Ipp32f*
pSrc
, Ipp32f*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_32f_A21 (const Ipp32f*
pSrc
, Ipp32f*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_32f_A24 (const Ipp32f*
pSrc
, Ipp32f*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_64f_A26 (const Ipp64f*
pSrc
, Ipp64f*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_64f_A50 (const Ipp64f*
pSrc
, Ipp64f*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_64f_A53 (const Ipp64f*
pSrc
, Ipp64f*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_32fc_A11 (const Ipp32fc*
pSrc
, Ipp32fc*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_32fc_A21 (const Ipp32fc*
pSrc
, Ipp32fc*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_32fc_A24 (const Ipp32fc*
pSrc
, Ipp32fc*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_64fc_A26 (const Ipp64fc*
pSrc
, Ipp64fc*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_64fc_A50 (const Ipp64fc*
pSrc
, Ipp64fc*
pDst
, Ipp32s
len
);
IppStatus ippsAtan_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 the inverse tangent of each element of
pSrc
, and stores the result in the corresponding element of pDst
.For single precision data:
function flavors
ippsAtan_32f_A11
and ippsAtan_32cf_A11
guarantee 11 correctly rounded bits of significand, or at least 3 exact decimal digits;function flavors
ippsAtan_32f_A21
and ippsAtan_32fc_A21
guarantee 21 correctly rounded bits of significand, or 4 ulps, or about 6 exact decimal digits;function flavors
ippsAtan_32f_A24
and ippsAtan_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
ippsAtan_64f_A26
and ippsAtan_64fc_A26
guarantee 26 correctly rounded bits of significand, or 6.7E+7 ulps, or approximately 8 exact decimal digits;function flavors
ippsAtan_64f_A50
and ippsAtan_64fc_A50
guarantee 50 correctly rounded bits of significand, or 4 ulps, or approximately 15 exact decimal digits;function flavors
ippsAtan_64f_A53
and ippsAtan_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] = atan(pSrc
[n])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
ippsAtan
. IppStatus ippsAtan_32f_A21_sample(void)
{
const Ipp32f x[4] = {0.994, 0.999, 0.223, -0.215};
Ipp32f y[4];
IppStatus st = ippsAtan_32f_A21( x, y, 4 );
printf(" ippsAtan_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:
ippsAtan_32f_A21:
x = 0.994 0.999 0.223 -0.215
y = 0.782 0.785 0.219 -0.212