Mul

Multiplies elements of two vectors.

Syntax

Intel IPP style:

IppStatus ippsqMul_32f(const Ipp32f* pSrc1, const Ipp32f* pSrc2, Ipp32f* pDst, Ipp32u len);

IppStatus ippsqMulQ15_16s_Rm(const Ipp16s* pSrc1, const Ipp16s* pSrc2, Ipp16s* pDst, Ipp32u len);

IppStatus ippsqMulQ31_32s_Rm(const Ipp32s* pSrc1, const Ipp32s* pSrc2, Ipp32s* pDst, Ipp32u len);

IppStatus ippsqMul_32fc(const Ipp32fc* pSrc1, const Ipp32fc* pSrc2, Ipp32fc* pDst, Ipp32u len);

IppStatus ippsqMulQ15Q13_16sc_Rm(const Ipp16sc* pSrc1, const Ipp16sc* pSrc2, Ipp16sc* pDst, Ipp32u len);

IppStatus ippsqMulQ31Q29_32sc_Rm(const Ipp32sc* pSrc1, const Ipp32sc* pSrc2, Ipp32sc* pDst, Ipp32u len);

IppStatus ippsqMul_32f32fc(const Ipp32f* pSrc1, const Ipp32fc* pSrc2, Ipp32fc* pDst, Ipp32u len);

IppStatus ippsqMulQ15_16s16sc_Rm(const Ipp16s* pSrc1, const Ipp16sc* pSrc2, Ipp16sc* pDst, Ipp32u len);

IppStatus ippsqMulQ31_32s32sc_Rm(const Ipp32s* pSrc1, const Ipp32sc* pSrc2, Ipp32sc* pDst, Ipp32u len);

DSP style:

void ippsq_mult_f32(const float32_t* pSrc1, const float32_t* pSrc2, float32_t* pDst, uint32_t len);

void ippsq_mult_q15(const q15_t* pSrc1, const q15_t* pSrc2, q15_t* pDst, uint32_t len);

void ippsq_mult_q31(const q31_t* pSrc1, const q31_t* pSrc2, q31_t* pDst, uint32_t len);

void ippsq_cmplx_mult_cmplx_f32(const float32_t* pSrc1, const float32_t* pSrc2, float32_t* pDst, uint32_t len);

void ippsq_cmplx_mult_cmplx_q15(const q15_t* pSrc1, const q15_t* pSrc2, q15_t* pDst, uint32_t len);

void ippsq_cmplx_mult_cmplx_q31(const q31_t* pSrc1, const q31_t* pSrc2, q31_t* pDst, uint32_t len);

void ippsq_cmplx_mult_real_f32(const float32_t* pSrc1, const float32_t* pSrc2, float32_t* pDst, uint32_t len);

void ippsq_cmplx_mult_real_q15(const q15_t* pSrc1, const q15_t* pSrc2, q15_t* pDst, uint32_t len);

void ippsq_cmplx_mult_real_q31(const q31_t* pSrc1, const q31_t* pSrc2, q31_t* pDst, uint32_t len);

Include Files

ippsq.h

dsp.h

Parameters

pSrc1, pSrc2

Pointers to the source vectors.

pDst

Pointer to the destination vector.

len

Number of elements in the vector.

Description

This function multiplies the elements of the pSrc1 vector by the elements of the pSrc2 vector and stores the result in pDst. Function flavors with the _Rm suffix round down the resulting value.

Scaling, Truncation, Saturation

Function Description

ippsqMulQ15_16s_Rm

ippsq_mult_q15

The result of Q15 pSrc1 and pSrc2 values multiplication is represented in Q2.30 format. After that the function shifts right the resulting values by 15 bits. Finally, the pDst values are represented in Q15 format.

ippsqMulQ15_16s16sc_Rm

ippsq_cmplx_mult_real_q15

The pSrc1 values are represented in Q15 and pSrc2 are represented in Q15 complex format. The real and imaginary part of pSrc2 complex numbers are multiplied by pSrc1 real values separately; results are represented in Q2.30. After that the function shifts right the resulting values by 15 bits. Finally, the pDst values are represented in Q15 complex format.

ippsqMulQ15Q13_16sc_Rm

ippsq_cmplx_mult_cmplx_q15

The result of Q15 complex pSrc1 and pSrc2 values complex multiplication is represented in Q2.30 complex format. After that the function shifts right the real and imaginary values of the result by 17 bits. Finally, the pDst values are represented in Q3.13 complex format.

ippsqMulQ31_32s_Rm

ippsq_mult_q31

The result of Q31 pSrc1 and pSrc2 values multiplication is represented in Q2.62 format. After that the function shifts right the resulting values by 31 bits. Finally, the pDst values are represented in Q31 format.

ippsqMulQ31_32s32sc_Rm

ippsq_cmplx_mult_real_q31

The pSrc1 values are represented in Q31 and pSrc2 are represented in Q31 complex format. The real and imaginary part of pSrc2 complex numbers are multiplied by pSrc1 real values separately; results are represented in Q2.62. After that the function shifts right the resulting values by 33 bits. Finally, the pDst values are represented in Q3.29 complex format.

ippsqMulQ31Q29_32sc_Rm

ippsq_cmplx_mult_cmplx_q31

The result of Q31 complex pSrc1 and pSrc2 values complex multiplication is represented in Q2.62 complex format. After that the function shifts right the real and imaginary values of the result by 33 bits. Finally, the pDst values are represented in Q3.29 complex format.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when any of the specified pointers is NULL.
For more complete information about compiler optimizations, see our Optimization Notice.