1mlib_MatrixMulSShift_U8_Modm(e3dMiLaILBi)b Library Fumnlcitbi_oMnastrixMulSShift_U8_Mod(3MLIB)
2
3
4

NAME

6       mlib_MatrixMulSShift_U8_Mod,  mlib_MatrixMulSShift_U8_Sat, mlib_Matrix‐
7       MulSShift_U8C_Mod,      mlib_MatrixMulSShift_U8C_Sat,      mlib_Matrix‐
8       MulSShift_S8_Mod,       mlib_MatrixMulSShift_S8_Sat,       mlib_Matrix‐
9       MulSShift_S8C_Mod,      mlib_MatrixMulSShift_S8C_Sat,      mlib_Matrix‐
10       MulSShift_S16_Mod,      mlib_MatrixMulSShift_S16_Sat,      mlib_Matrix‐
11       MulSShift_S16C_Mod,     mlib_MatrixMulSShift_S16C_Sat,     mlib_Matrix‐
12       MulSShift_S32_Mod,      mlib_MatrixMulSShift_S32_Sat,      mlib_Matrix‐
13       MulSShift_S32C_Mod, mlib_MatrixMulSShift_S32C_Sat - matrix  multiplica‐
14       tion by scalar plus shifting, in place
15

SYNOPSIS

17       cc [ flag... ] file... -lmlib [ library... ]
18       #include <mlib.h>
19
20       mlib_status mlib_MatrixMulSShift_U8_Mod(mlib_u8 *xz,
21            const mlib_u8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
22
23
24       mlib_status mlib_MatrixMulSShift_U8_Sat(mlib_u8 *xz,
25            const mlib_u8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
26
27
28       mlib_status mlib_MatrixMulSShift_U8C_Mod(mlib_u8 *xz,
29            const mlib_u8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
30
31
32       mlib_status mlib_MatrixMulSShift_U8C_Sat(mlib_u8 *xz,
33            const mlib_u8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
34
35
36       mlib_status mlib_MatrixMulSShift_S8_Mod(mlib_s8 *xz,
37            const mlib_s8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
38
39
40       mlib_status mlib_MatrixMulSShift_S8_Sat(mlib_s8 *xz,
41            const mlib_s8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
42
43
44       mlib_status mlib_MatrixMulSShift_S8C_Mod(mlib_s8 *xz,
45            const mlib_s8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
46
47
48       mlib_status mlib_MatrixMulSShift_S8C_Sat(mlib_s8 *xz,
49            const mlib_s8 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
50
51
52       mlib_status mlib_MatrixMulSShift_S16_Mod(mlib_s16 *xz,
53            const mlib_s16 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
54
55
56       mlib_status mlib_MatrixMulSShift_S16_Sat(mlib_s16 *xz,
57            const mlib_s16 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
58
59
60       mlib_status mlib_MatrixMulSShift_S16C_Mod(mlib_s16 *xz,
61            const mlib_s16 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
62
63
64       mlib_status mlib_MatrixMulSShift_S16C_Sat(mlib_s16 *xz,
65            const mlib_s16 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
66
67
68       mlib_status mlib_MatrixMulSShift_S32_Mod(mlib_s32 *xz,
69            const mlib_s32 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
70
71
72       mlib_status mlib_MatrixMulSShift_S32_Sat(mlib_s32 *xz,
73            const mlib_s32 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
74
75
76       mlib_status mlib_MatrixMulSShift_S32C_Mod(mlib_s32 *xz,
77            const mlib_s32 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
78
79
80       mlib_status mlib_MatrixMulSShift_S32C_Sat(mlib_s32 *xz,
81            const mlib_s32 *c, mlib_s32 m, mlib_s32 n, mlib_s32 shift);
82
83

DESCRIPTION

85       Each of these functions performs an in-place multiplication of a matrix
86       with a scalar and shifts the result.
87
88
89       For real data, the following equation is used:
90
91         xz[i] = c[0]*xz[i]*2**(-shift)
92
93
94
95       where i = 0, 1, ..., (m*n - 1).
96
97
98       For complex data, the following equation is used:
99
100         tmp         = xz[2*i]
101         xz[2*i]     = (c[0]*tmp - c[1]*xz[2*i + 1])*2**(-shift)
102         xz[2*i + 1] = (c[1]*tmp + c[0]*xz[2*i + 1])*2**(-shift)
103
104
105
106       where i = 0, 1, ..., (m*n - 1).
107
108
109       The ranges of valid shift are:
110
111         1 ≤ shift ≤ 8   for U8, S8, U8C, S8C types
112         1 ≤ shift ≤ 16  for S16, S16C types
113         1 ≤ shift ≤ 31  for S32, S32C types
114
115

PARAMETERS

117       Each of the functions takes the following arguments:
118
119       xz       Pointer to the source and destination matrix.
120
121
122       c        Pointer to the source scalar. When the function is  used  with
123                complex  data  types,  c[0]  contains  the scalar for the real
124                part, and c[1] contains the scalar for the imaginary part.
125
126
127       m        Number of rows in each matrix.
128
129
130       n        Number of columns in each matrix.
131
132
133       shift    Right shifting factor.
134
135

RETURN VALUES

137       Each of the functions returns MLIB_SUCCESS if successful. Otherwise  it
138       returns MLIB_FAILURE.
139

ATTRIBUTES

141       See attributes(5) for descriptions of the following attributes:
142
143
144
145
146       ┌─────────────────────────────┬─────────────────────────────┐
147       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
148       ├─────────────────────────────┼─────────────────────────────┤
149       │Interface Stability          │Committed                    │
150       ├─────────────────────────────┼─────────────────────────────┤
151       │MT-Level                     │MT-Safe                      │
152       └─────────────────────────────┴─────────────────────────────┘
153

SEE ALSO

155       mlib_MatrixMulSShift_U8_U8_Mod(3MLIB), attributes(5)
156
157
158
159SunOS 5.11                        2 Mar 2007mlib_MatrixMulSShift_U8_Mod(3MLIB)
Impressum