mlib_VectorMulShift_U8_Sat man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

mlib_VectorMulShift_U8_ModmediaLib Library Fumlib_VectorMulShift_U8_Mod(3MLIB)

NAME
       mlib_VectorMulShift_U8_Mod, mlib_VectorMulShift_U8_Sat, mlib_VectorMul‐
       Shift_U8C_Mod, mlib_VectorMulShift_U8C_Sat, mlib_VectorMulShift_S8_Mod,
       mlib_VectorMulShift_S8_Sat,  mlib_VectorMulShift_S8C_Mod,  mlib_Vector‐
       MulShift_S8C_Sat,     mlib_VectorMulShift_S16_Mod,      mlib_VectorMul‐
       Shift_S16_Sat,	    mlib_VectorMulShift_S16C_Mod,      mlib_VectorMul‐
       Shift_S16C_Sat,	    mlib_VectorMulShift_S32_Mod,       mlib_VectorMul‐
       Shift_S32_Sat,	    mlib_VectorMulShift_S32C_Mod,      mlib_VectorMul‐
       Shift_S32C_Sat - vector multiplication with shifting, in place

SYNOPSIS
       cc [ flag... ] file... -lmlib [ library... ]
       #include <mlib.h>

       mlib_status mlib_VectorMulShift_U8_Mod(mlib_u8 *xz,
	   const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_U8_Sat(mlib_u8 *xz,
	   const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_U8C_Mod(mlib_u8 *xz,
	   const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_U8C_Sat(mlib_u8 *xz,
	   const mlib_u8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S8_Mod(mlib_s8 *xz,
	   const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S8_Sat(mlib_s8 *xz,
	   const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S8C_Mod(mlib_s8 *xz,
	   const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S8C_Sat(mlib_s8 *xz,
	   const mlib_s8 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S16_Mod(mlib_s16 *xz,
	   const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S16_Sat(mlib_s16 *xz,
	   const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S16C_Mod(mlib_s16 *xz,
	   const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S16C_Sat(mlib_s16 *xz,
	   const mlib_s16 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S32_Mod(mlib_s32 *xz,
	   const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S32_Sat(mlib_s32 *xz,
	   const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S32C_Mod(mlib_s32 *xz,
	   const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);

       mlib_status mlib_VectorMulShift_S32C_Sat(mlib_s32 *xz,
	   const mlib_s32 *y, mlib_s32 n, mlib_s32 shift);

DESCRIPTION
       Each of these functions performs an in-place multiplication of two vec‐
       tors and shifts the result.

       For real data, the following equation is used:

	 xz[i] = xz[i] * y[i] * 2**(-shift)

       where i = 0, 1, ..., (n - 1).

       For complex data, the following equation is used:

	 tmp	     = xz[2*i]
	 xz[2*i]     = (tmp*y[2*i] - xz[2*i + 1]*y[2*i + 1]) * 2**(-shift)
	 xz[2*i + 1] = (tmp*y[2*i + 1] + xz[2*i + 1]*y[2*i]) * 2**(-shift)

       where i = 0, 1, ..., (n - 1).

PARAMETERS
       Each of the functions takes the following arguments:

       xz	Pointer	 to  the  first element of the first source and result
		vector.

       y	Pointer to the first element of the second source vector.

       n	Number of elements in each vector.

       shift	Right shifting factor. The ranges of valid shift are:

		  1 ≤ shift ≤ 8	  for U8, S8, U8C, S8C types
		  1 ≤ shift ≤ 16  for S16, S16C types
		  1 ≤ shift ≤ 31  for S32, S32C types

RETURN VALUES
       Each of the functions returns MLIB_SUCCESS if successful. Otherwise  it
       returns MLIB_FAILURE.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Committed			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       mlib_VectorMulShift_U8_U8_Mod(3MLIB), attributes(5)

SunOS 5.10			  2 Mar 2007 mlib_VectorMulShift_U8_Mod(3MLIB)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net