poppler/Function.cc | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-)
New commits: commit 98f7cf7cf126a1d28797b4ce9095aefe9656e954 Author: Albert Astals Cid <[email protected]> Date: Fri Jan 18 17:18:39 2019 +0100 Fix e[0] gcc warning diff --git a/poppler/Function.cc b/poppler/Function.cc index 2f53a75d..b8e8e077 100644 --- a/poppler/Function.cc +++ b/poppler/Function.cc @@ -441,23 +441,24 @@ void SampledFunction::transform(const double *in, double *out) const { int e[funcMaxInputs]; double efrac0[funcMaxInputs]; double efrac1[funcMaxInputs]; - int i, j, k, idx0, t; // check the cache - for (i = 0; i < m; ++i) { + bool inCache = true; + for (int i = 0; i < m; ++i) { if (in[i] != cacheIn[i]) { + inCache = false; break; } } - if (i == m) { - for (i = 0; i < n; ++i) { + if (inCache) { + for (int i = 0; i < n; ++i) { out[i] = cacheOut[i]; } return; } // map input values into sample array - for (i = 0; i < m; ++i) { + for (int i = 0; i < m; ++i) { x = (in[i] - domain[i][0]) * inputMul[i] + encode[i][0]; if (x < 0 || x != x) { // x!=x is a more portable version of isnan(x) x = 0; @@ -474,17 +475,17 @@ void SampledFunction::transform(const double *in, double *out) const { } // compute index for the first sample to be used - idx0 = 0; - for (k = m - 1; k >= 1; --k) { + int idx0 = 0; + for (int k = m - 1; k >= 1; --k) { idx0 = (idx0 + e[k]) * sampleSize[k-1]; } idx0 = (idx0 + e[0]) * n; // for each output, do m-linear interpolation - for (i = 0; i < n; ++i) { + for (int i = 0; i < n; ++i) { // pull 2^m values out of the sample array - for (j = 0; j < (1<<m); ++j) { + for (int j = 0; j < (1<<m); ++j) { int idx = idx0 + idxOffset[j] + i; if (likely(idx >= 0 && idx < nSamples)) { sBuf[j] = samples[idx]; @@ -494,8 +495,8 @@ void SampledFunction::transform(const double *in, double *out) const { } // do m sets of interpolations - for (j = 0, t = (1<<m); j < m; ++j, t >>= 1) { - for (k = 0; k < t; k += 2) { + for (int j = 0, t = (1<<m); j < m; ++j, t >>= 1) { + for (int k = 0; k < t; k += 2) { sBuf[k >> 1] = efrac0[j] * sBuf[k] + efrac1[j] * sBuf[k+1]; } } @@ -510,10 +511,10 @@ void SampledFunction::transform(const double *in, double *out) const { } // save current result in the cache - for (i = 0; i < m; ++i) { + for (int i = 0; i < m; ++i) { cacheIn[i] = in[i]; } - for (i = 0; i < n; ++i) { + for (int i = 0; i < n; ++i) { cacheOut[i] = out[i]; } } _______________________________________________ poppler mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/poppler
