1mlib_VectorMulMShift_S16_S1m6e_dMioadL(i3bMLLIiBb)ramrlyibF_uVneccttioornMsulMShift_S16_S16_Mod(3MLIB)
2
3
4

NAME

6       mlib_VectorMulMShift_S16_S16_Mod,     mlib_VectorMulMShift_S16_S16_Sat,
7       mlib_VectorMulMShift_S16C_S16C_Mod,  mlib_VectorMulMShift_S16C_S16C_Sat
8       - multiplication of vector by matrix with shifting
9

SYNOPSIS

11       cc [ flag... ] file... -lmlib [ library... ]
12       #include <mlib.h>
13
14       mlib_status mlib_VectorMulMShift_S16_S16_Mod(mlib_s16 *z,
15            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 m,
16            mlib_s32 n, mlib_s32 shift);
17
18
19       mlib_status mlib_VectorMulMShift_S16_S16_Sat(mlib_s16 *z,
20            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 m,
21            mlib_s32 n, mlib_s32 shift);
22
23
24       mlib_status mlib_VectorMulMShift_S16C_S16C_Mod(mlib_s16 *z,
25            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 m,
26            mlib_s32 n, mlib_s32 shift);
27
28
29       mlib_status mlib_VectorMulMShift_S16C_S16C_Sat(mlib_s16 *z,
30            const mlib_s16 *x, const mlib_s16 *y, mlib_s32 m,
31            mlib_s32 n, mlib_s32 shift);
32
33

DESCRIPTION

35       Each  of these functions multiplies a vector by a matrix and shifts the
36       results.
37
38
39       For real data, the following equation is used:
40
41                  m-1
42         z[i] = { SUM (x[j] * y[j*m + i]) } * 2**(-shift)
43                  j=0
44
45
46
47       where i = 0, 1, ..., (n - 1).
48
49
50       For complex data, the following equation is used:
51
52                        m-1
53         z[2*i ]    = { SUM (xR*yR - xI*yI) } * 2**(-shift)
54                        j=0
55
56                        m-1
57         z[2*i + 1] = { SUM (xR*yI + xI*yR) } * 2**(-shift)
58                        j=0
59
60
61
62       where i = 0, 1, ..., (n - 1), and
63
64         xR = x[2*j]
65         xI = x[2*j + 1]
66         yR = y[2*(j*m + i)]
67         yI = y[2*(j*m + i) + 1]
68
69

PARAMETERS

71       Each of the functions takes the following arguments:
72
73       z        Pointer to the first element of the destination vector.
74
75
76       x        Pointer to the first element of the source vector.
77
78
79       y        Pointer to the first element of the source matrix.
80
81
82       m        Number of rows in the matrix, and number of  elements  in  the
83                source vector.
84
85
86       n        Number of columns in the matrix, and number of elements in the
87                destination vector.
88
89
90       shift    Right shifting factor.
91
92

RETURN VALUES

94       Each of the functions returns MLIB_SUCCESS if successful. Otherwise  it
95       returns MLIB_FAILURE.
96

ATTRIBUTES

98       See attributes(5) for descriptions of the following attributes:
99
100
101
102
103       ┌─────────────────────────────┬─────────────────────────────┐
104       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
105       ├─────────────────────────────┼─────────────────────────────┤
106       │Interface Stability          │Committed                    │
107       ├─────────────────────────────┼─────────────────────────────┤
108       │MT-Level                     │MT-Safe                      │
109       └─────────────────────────────┴─────────────────────────────┘
110

SEE ALSO

112       mlib_VectorMulM_U8_U8_Mod(3MLIB), attributes(5)
113
114
115
116SunOS 5.11                        2 Marm2l0i0b7_VectorMulMShift_S16_S16_Mod(3MLIB)
Impressum