Mul

Multiply

Supported Technologies

MT, SSE2, Family10h

Synopsis

FwStatus   fwsMul_16s ( const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len );
FwStatus   fwsMul_32f ( const Fw32f * pSrc1, const Fw32f * pSrc2, Fw32f * pDst, int len );
FwStatus   fwsMul_64f ( const Fw64f * pSrc1, const Fw64f * pSrc2, Fw64f * pDst, int len );
FwStatus   fwsMul_32fc ( const Fw32fc * pSrc1, const Fw32fc * pSrc2, Fw32fc * pDst, int len );
FwStatus   fwsMul_64fc ( const Fw64fc * pSrc1, const Fw64fc * pSrc2, Fw64fc * pDst, int len );
FwStatus   fwsMul_8u16u ( const Fw8u * pSrc1, const Fw8u * pSrc2, Fw16u * pDst, int len );
FwStatus   fwsMul_16s32f ( const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32f * pDst, int len );
FwStatus   fwsMul_16s_I ( const Fw16s * pSrc, Fw16s * pSrcDst, int len );
FwStatus   fwsMul_32f_I ( const Fw32f * pSrc, Fw32f * pSrcDst, int len );
FwStatus   fwsMul_64f_I ( const Fw64f * pSrc, Fw64f * pSrcDst, int len );
FwStatus   fwsMul_32fc_I ( const Fw32fc * pSrc, Fw32fc * pSrcDst, int len );
FwStatus   fwsMul_64fc_I ( const Fw64fc * pSrc, Fw64fc * pSrcDst, int len );
FwStatus   fwsMul_8u_Sfs ( const Fw8u * pSrc1, const Fw8u * pSrc2, Fw8u * pDst, int len, int scaleFactor );
FwStatus   fwsMul_16s_Sfs ( const Fw16s * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor );
FwStatus   fwsMul_32s_Sfs ( const Fw32s * pSrc1, const Fw32s * pSrc2, Fw32s * pDst, int len, int scaleFactor );
FwStatus   fwsMul_16sc_Sfs ( const Fw16sc * pSrc1, const Fw16sc * pSrc2, Fw16sc * pDst, int len, int scaleFactor );
FwStatus   fwsMul_32sc_Sfs ( const Fw32sc * pSrc1, const Fw32sc * pSrc2, Fw32sc * pDst, int len, int scaleFactor );
FwStatus   fwsMul_16u16s_Sfs ( const Fw16u * pSrc1, const Fw16s * pSrc2, Fw16s * pDst, int len, int scaleFactor );
FwStatus   fwsMul_16s32s_Sfs ( const Fw16s * pSrc1, const Fw16s * pSrc2, Fw32s * pDst, int len, int scaleFactor );
FwStatus   fwsMul_32s32sc_Sfs ( const Fw32s * pSrc1, const Fw32sc * pSrc2, Fw32sc * pDst, int len, int scaleFactor );
FwStatus   fwsMul_8u_ISfs ( const Fw8u * pSrc, Fw8u * pSrcDst, int len, int scaleFactor );
FwStatus   fwsMul_16s_ISfs ( const Fw16s * pSrc, Fw16s * pSrcDst, int len, int scaleFactor );
FwStatus   fwsMul_32s_ISfs ( const Fw32s * pSrc, Fw32s * pSrcDst, int len, int scaleFactor );
FwStatus   fwsMul_16sc_ISfs ( const Fw16sc * pSrc, Fw16sc * pSrcDst, int len, int scaleFactor );
FwStatus   fwsMul_32sc_ISfs ( const Fw32sc * pSrc, Fw32sc * pSrcDst, int len, int scaleFactor );
FwStatus   fwsMul_32s32sc_ISfs ( const Fw32s * pSrc, Fw32sc * pSrcDst, int len, int scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pDst   Pointer to a destination buffer.
pSrc   Pointer to a source buffer.
pSrc1   Pointer to source buffer one.
pSrc2   Pointer to source buffer two.
pSrcDst   Pointer to a buffer that is both the source and destination.
scaleFactor   Specifies an integer scaling factor for the Sfs operation. The returned result is multiplied by 2^(-scaleFactor).

Description

These functions step through vector elements in two source buffers and multiply the data in buffer 1 by the data in buffer 2.

The product can be written to a destination buffer or written back to the source buffer.

The 8-bit unsigned, 16-bit signed, 16-bit signed complex, and 32-bit signed complex versions perform an integer scaling operation before writing the results.