1mlib_VectorMulSAdd_U8_Mod(3mMeLdIiBa)Lib Library Funcmtliiobn_sVectorMulSAdd_U8_Mod(3MLIB)
2
3
4

NAME

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

SYNOPSIS

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

DESCRIPTION

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

PARAMETERS

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

RETURN VALUES

125       Each of the functions returns MLIB_SUCCESS if successful. Otherwise  it
126       returns MLIB_FAILURE.
127

ATTRIBUTES

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

SEE ALSO

143       mlib_VectorMulSAdd_U8_U8_Mod(3MLIB), attributes(5)
144
145
146
147SunOS 5.11                        2 Mar 2007  mlib_VectorMulSAdd_U8_Mod(3MLIB)
Impressum