Dot Product
SSE2
FwStatus | fwsDotProd_16s32f | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32f * pDp ); | |
FwStatus | fwsDotProd_16s64s | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw64s * pDp ); | |
FwStatus | fwsDotProd_16s16sc64sc | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw64sc * pDp ); | |
FwStatus | fwsDotProd_16s16sc32fc | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw32f * pDp ); | |
FwStatus | fwsDotProd_32f64f | ( | const Fw32f * pSrc1, const Fw32f * pSrc2, int len, Fw64f * pDp ); | |
FwStatus | fwsDotProd_32f32fc | ( | const Fw32f * pSrc1, const Fw32fc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32f32fc64fc | ( | const Fw32f * pSrc1, const Fw32fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_64f | ( | const Fw64f * pSrc1, const Fw64f * pSrc2, int len, Fw64f * pDp ); | |
FwStatus | fwsDotProd_64f64fc | ( | const Fw64f * pSrc1, const Fw64fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_16sc64sc | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw64sc * pDp ); | |
FwStatus | fwsDotProd_16sc32fc | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw32fc * pDp ); | |
FwStatus | fwsDotProd_32fc64fc | ( | const Fw32fc * pSrc1, const Fw32fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_64fc | ( | const Fw64fc * pSrc1, const Fw64fc * pSrc2, int len, Fw64fc * pDp ); | |
FwStatus | fwsDotProd_16s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw16s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s32s_Sfs | ( | const Fw16s * pSrc1, const Fw16s * pSrc2, int len, Fw32s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s16sc32sc_Sfs | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s32s32s_Sfs | ( | const Fw16s * pSrc1, const Fw32s * pSrc2, int len, Fw32s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16s16sc_Sfs | ( | const Fw16s * pSrc1, const Fw16sc * pSrc2, int len, Fw16sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_32s_Sfs | ( | const Fw32s * pSrc1, const Fw32s * pSrc2, int len, Fw32s * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_32s32sc_Sfs | ( | const Fw32s * pSrc1, const Fw32sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw16sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_16sc32sc_Sfs | ( | const Fw16sc * pSrc1, const Fw16sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); | |
FwStatus | fwsDotProd_32sc_Sfs | ( | const Fw32sc * pSrc1, const Fw32sc * pSrc2, int len, Fw32sc * pDp, int scaleFactor ); |
len | Specifies the number of elements in a buffer. | |
pDp | Pointer to the destination buffer that contains the dot product of the source buffers. | |
pSrc1 | Pointer to source buffer one. | |
pSrc2 | Pointer to source buffer two. | |
scaleFactor | Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor). |
These functions step through vector elements in two buffers, calculate the dot product of the vectors, and write the result to a location specified by a pointer.
The following formula is used.
DotProduct = ((n = 0) - (len-1)) Sum(pSrc1[n] *pSrc2[n])
There are 16-bit and 32-bit signed and signed complex versions that perform an integer scaling operation on the result.