Content-type: text/html Man page of mlib_MatrixMul_U8_U8_Mod

mlib_MatrixMul_U8_U8_Mod

Section: mediaLib Library Functions (3MLIB)
Updated: 2 Mar 2007
Index Return to Main Contents
 

NAME

mlib_MatrixMul_U8_U8_Mod, mlib_MatrixMul_U8_U8_Sat, mlib_MatrixMul_U8C_U8C_Mod, mlib_MatrixMul_U8C_U8C_Sat, mlib_MatrixMul_S8_S8_Mod, mlib_MatrixMul_S8_S8_Sat, mlib_MatrixMul_S8C_S8C_Mod, mlib_MatrixMul_S8C_S8C_Sat, mlib_MatrixMul_S16_U8_Mod, mlib_MatrixMul_S16_U8_Sat, mlib_MatrixMul_S16_S8_Mod, mlib_MatrixMul_S16_S8_Sat, mlib_MatrixMul_S16_S16_Mod, mlib_MatrixMul_S16_S16_Sat, mlib_MatrixMul_S16C_U8C_Mod, mlib_MatrixMul_S16C_U8C_Sat, mlib_MatrixMul_S16C_S8C_Mod, mlib_MatrixMul_S16C_S8C_Sat, mlib_MatrixMul_S16C_S16C_Mod, mlib_MatrixMul_S16C_S16C_Sat, mlib_MatrixMul_S32_S16_Mod, mlib_MatrixMul_S32_S16_Sat, mlib_MatrixMul_S32_S32_Mod, mlib_MatrixMul_S32_S32_Sat, mlib_MatrixMul_S32C_S16C_Mod, mlib_MatrixMul_S32C_S16C_Sat, mlib_MatrixMul_S32C_S32C_Mod, mlib_MatrixMul_S32C_S32C_Sat - matrix multiplication  

SYNOPSIS

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

mlib_status mlib_MatrixMul_U8_U8_Mod(mlib_u8 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_U8_U8_Sat(mlib_u8 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_U8C_U8C_Mod(mlib_u8 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_U8C_U8C_Sat(mlib_u8 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S8_S8_Mod(mlib_s8 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S8_S8_Sat(mlib_s8 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S8C_S8C_Mod(mlib_s8 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S8C_S8C_Sat(mlib_s8 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16_U8_Mod(mlib_s16 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16_U8_Sat(mlib_s16 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16_S8_Mod(mlib_s16 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16_S8_Sat(mlib_s16 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16_S16_Mod(mlib_s16 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16_S16_Sat(mlib_s16 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16C_U8C_Mod(mlib_s16 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16C_U8C_Sat(mlib_s16 *z, const mlib_u8 *x,
    const mlib_u8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16C_S8C_Mod(mlib_s16 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16C_S8C_Sat(mlib_s16 *z, const mlib_s8 *x,
    const mlib_s8 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16C_S16C_Mod(mlib_s16 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S16C_S16C_Sat(mlib_s16 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32_S16_Mod(mlib_s32 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32_S16_Sat(mlib_s32 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32_S32_Mod(mlib_s32 *z, const mlib_s32 *x,
    const mlib_s32 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32_S32_Sat(mlib_s32 *z, const mlib_s32 *x,
    const mlib_s32 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32C_S16C_Mod(mlib_s32 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32C_S16C_Sat(mlib_s32 *z, const mlib_s16 *x,
    const mlib_s16 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32C_S32C_Mod(mlib_s32 *z, const mlib_s32 *x,
    const mlib_s32 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

mlib_status mlib_MatrixMul_S32C_S32C_Sat(mlib_s32 *z, const mlib_s32 *x,
    const mlib_s32 *y, mlib_s32 m, mlib_s32 l, mlib_s32 n);

 

DESCRIPTION

Each of these functions performs matrix multiplication of the first matrix to the second matrix or the first complex matrix to the second complex matrix.

For real data, the following equation is used:

             l-1
z[i*n + j] = SUM (x[i*l + k] * y[k*n + j])
            k=0

where i = 0, 1, ..., (m - 1); j = 0, 1, ..., (n - 1).

For complex data, the following equation is used:

                     l-1
z[2*(i*n + j)]     = SUM (xR*yR - xI*yI)
                    k=0

                    l-1
z[2*(i*n + j) + 1] = SUM (xR*yI + xI*yR)
                    k=0

where

xR = x[2*(i*l + k)]
xI = x[2*(i*l + k) + 1]
yR = y[2*(k*n + j)]
yI = y[2*(k*n + j) + 1]
i = 0, 1, ..., (m - 1)
j = 0, 1, ..., (n - 1)

 

PARAMETERS

Each of the functions takes the following arguments:

z

Pointer to the destination matrix.

x

Pointer to the first source matrix.

y

Pointer to the second source matrix.

m

Number of rows in the first matrix.

l

Number of columns in the first matrix, and number of rows in the second matrix.

n

Number of columns in the second matrix.

 

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 TYPEATTRIBUTE VALUE

Interface StabilityCommitted

MT-Level

 

SEE ALSO

mlib_MatrixMulShift_S16_S16_Mod(3MLIB), attributes(5)


 

Index

NAME
SYNOPSIS
DESCRIPTION
PARAMETERS
RETURN VALUES
ATTRIBUTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:37:55 GMT, October 02, 2010