Definition at line 140 of file dqchan.hpp.
141{
142 int tab4[4];
147
151
152
153 shift =
MIN(scalei + 3, 31);
154 shift =
MAX(shift, 0);
155 tab4[0] = 0;
156 tab4[1] = tab16[1] >> shift;
157 tab4[2] = tab16[2] >> shift;
158 tab4[3] = tab16[3] >> shift;
159
160 do {
161
162 sx = *inbuf++;
164
166
168
170
172 y = (scalei < 0) ?
y << -scalei :
y >> scalei;
173
174 } else {
175
177
179
180
182 shift = scalei - 3;
183
184 } else {
185
186
188 shift = 0;
195
197
198
205
206
208 shift = scalei -
pow2exp[shift];
209 }
210
211
212 if (shift < 0) {
213 shift = -shift;
214 if (
y > ((
int32_t)0x7fffffff >> shift))
216 else
218 } else {
220 }
221 }
222
223
225 *outbuf++ = (sx < 0) ? -
y :
y;
226
227 } while (--num);
228
229 return mask;
230}
fl::UISlider scale("Scale", 4,.1, 4,.1)
__inline int32_t MULSHIFT32(int32_t x, int32_t y) FL_NOEXCEPT
Multiply together two 32-bit numbers and return the top 32-bits of the result.
References FL_NOEXCEPT, MAX, MIN, MULSHIFT32(), poly43hi, poly43lo, pow14, pow2exp, pow2frac, pow43, pow43_14, scale, SQRTHALF, fl::x, and fl::y.
Referenced by DequantChannel().