NormDiff_L2

Norm of difference L2

Supported Technologies

SSE2

Synopsis

FwStatus   fwsNormDiff_L2_32f ( const Fw32f * pSrc1const Fw32f * pSrc2int lenFw32f * pNorm );
FwStatus   fwsNormDiff_L2_64f ( const Fw64f * pSrc1const Fw64f * pSrc2int lenFw64f * pNorm );
FwStatus   fwsNormDiff_L2_16s32f ( const Fw16s * pSrc1const Fw16s * pSrc2int lenFw32f * pNorm );
FwStatus   fwsNormDiff_L2_32fc64f ( const Fw32fc * pSrc1const Fw32fc * pSrc2int lenFw64f * pNorm );
FwStatus   fwsNormDiff_L2_64fc64f ( const Fw64fc * pSrc1const Fw64fc * pSrc2int lenFw64f * pNorm );
FwStatus   fwsNormDiff_L2_16s32s_Sfs ( const Fw16s * pSrc1const Fw16s * pSrc2int lenFw32s * pNormint scaleFactor );

Parameters

len   Specifies the number of elements in a buffer.
pNorm   Pointer to the destination buffer that contains the NormC, NormL1, or NormL2 of the values in the source buffer, depending on the function call.
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).

Description

These functions step through vector elements in two source buffers, calculate the L2 Norm of the difference between the elements in buffer 1 and the elements in buffer 2, and write the value to a location specified by a pointer.

The following formula is used.

 NormDiff = Sqrt(((n = 0) - (len-1)) Sum(Square(|pSrc1[n] - pSrc2[n]|))

The 16-bit signed to 32-bit signed version of the function performs an integer scaling operation on the result.