1mlib_VectorMulSAdd_U8_Mod(3mMeLdIiBa)Lib Library Funcmtliiobn_sVectorMulSAdd_U8_Mod(3MLIB)
2
3
4
6 mlib_VectorMulSAdd_U8_Mod, mlib_VectorMulSAdd_U8_Sat, mlib_VectorMul‐
7 SAdd_U8C_Mod, mlib_VectorMulSAdd_U8C_Sat, mlib_VectorMulSAdd_S8_Mod,
8 mlib_VectorMulSAdd_S8_Sat, mlib_VectorMulSAdd_S8C_Mod, mlib_VectorMul‐
9 SAdd_S8C_Sat, mlib_VectorMulSAdd_S16_Mod, mlib_VectorMulSAdd_S16_Sat,
10 mlib_VectorMulSAdd_S16C_Mod, mlib_VectorMulSAdd_S16C_Sat, mlib_Vector‐
11 MulSAdd_S32_Mod, mlib_VectorMulSAdd_S32_Sat, mlib_VectorMul‐
12 SAdd_S32C_Mod, mlib_VectorMulSAdd_S32C_Sat - vector multiplication by
13 scalar plus addition, in place
14
16 cc [ flag... ] file... -lmlib [ library... ]
17 #include <mlib.h>
18
19 mlib_status mlib_VectorMulSAdd_U8_Mod(mlib_u8 *xz,
20 const mlib_u8 *y, const mlib_u8 *c, mlib_s32 n);
21
22
23 mlib_status mlib_VectorMulSAdd_U8_Sat(mlib_u8 *xz,
24 const mlib_u8 *y, const mlib_u8 *c, mlib_s32 n);
25
26
27 mlib_status mlib_VectorMulSAdd_U8C_Mod(mlib_u8 *xz,
28 const mlib_u8 *y, const mlib_u8 *c, mlib_s32 n);
29
30
31 mlib_status mlib_VectorMulSAdd_U8C_Sat(mlib_u8 *xz,
32 const mlib_u8 *y, const mlib_u8 *c, mlib_s32 n);
33
34
35 mlib_status mlib_VectorMulSAdd_S8_Mod(mlib_s8 *xz,
36 const mlib_s8 *y, const mlib_s8 *c, mlib_s32 n);
37
38
39 mlib_status mlib_VectorMulSAdd_S8_Sat(mlib_s8 *xz,
40 const mlib_s8 *y, const mlib_s8 *c, mlib_s32 n);
41
42
43 mlib_status mlib_VectorMulSAdd_S8C_Mod(mlib_s8 *xz,
44 const mlib_s8 *y, const mlib_s8 *c, mlib_s32 n);
45
46
47 mlib_status mlib_VectorMulSAdd_S8C_Sat(mlib_s8 *xz,
48 const mlib_s8 *y, const mlib_s8 *c, mlib_s32 n);
49
50
51 mlib_status mlib_VectorMulSAdd_S16_Mod(mlib_s16 *xz,
52 const mlib_s16 *y, const mlib_s16 *c, mlib_s32 n);
53
54
55 mlib_status mlib_VectorMulSAdd_S16_Sat(mlib_s16 *xz,
56 const mlib_s16 *y, const mlib_s16 *c, mlib_s32 n);
57
58
59 mlib_status mlib_VectorMulSAdd_S16C_Mod(mlib_s16 *xz,
60 const mlib_s16 *y, const mlib_s16 *c, mlib_s32 n);
61
62
63 mlib_status mlib_VectorMulSAdd_S16C_Sat(mlib_s16 *xz,
64 const mlib_s16 *y, const mlib_s16 *c, mlib_s32 n);
65
66
67 mlib_status mlib_VectorMulSAdd_S32_Mod(mlib_s32 *xz,
68 const mlib_s32 *y, const mlib_s32 *c, mlib_s32 n);
69
70
71 mlib_status mlib_VectorMulSAdd_S32_Sat(mlib_s32 *xz,
72 const mlib_s32 *y, const mlib_s32 *c, mlib_s32 n);
73
74
75 mlib_status mlib_VectorMulSAdd_S32C_Mod(mlib_s32 *xz,
76 const mlib_s32 *y, const mlib_s32 *c, mlib_s32 n);
77
78
79 mlib_status mlib_VectorMulSAdd_S32C_Sat(mlib_s32 *xz,
80 const mlib_s32 *y, const mlib_s32 *c, mlib_s32 n);
81
82
84 Each of these functions computes an in-place multiplication of a vector
85 by a scalar and adds the result to another vector.
86
87
88 For real data, the following equation is used:
89
90 xz[i] = xz[i] + y[i]*c[0]
91
92
93
94 where i = 0, 1, ..., (n - 1).
95
96
97 For complex data, the following equation is used:
98
99 xz[2*i] = xz[2*i] + y[2*i]*c[0] - y[2*i + 1]*c[1]
100 xz[2*i + 1] = xz[2*i + 1] + y[2*i]*c[1] + y[2*i + 1]*c[0]
101
102
103
104 where i = 0, 1, ..., (n - 1).
105
107 Each of the functions takes the following arguments:
108
109 xz Pointer to the first element of the first source and destination
110 vector.
111
112
113 y Pointer to the first element of the second source vector.
114
115
116 c Pointer to the source scalar. When the function is used with com‐
117 plex data types, c[0] contains the real part of the scalar, and
118 c[1] contains the imaginary part of the scalar.
119
120
121 n Number of elements in the vectors.
122
123
125 Each of the functions returns MLIB_SUCCESS if successful. Otherwise it
126 returns MLIB_FAILURE.
127
129 See attributes(5) for descriptions of the following attributes:
130
131
132
133
134 ┌─────────────────────────────┬─────────────────────────────┐
135 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
136 ├─────────────────────────────┼─────────────────────────────┤
137 │Interface Stability │Committed │
138 ├─────────────────────────────┼─────────────────────────────┤
139 │MT-Level │MT-Safe │
140 └─────────────────────────────┴─────────────────────────────┘
141
143 mlib_VectorMulSAdd_U8_U8_Mod(3MLIB), attributes(5)
144
145
146
147SunOS 5.11 2 Mar 2007 mlib_VectorMulSAdd_U8_Mod(3MLIB)