Mercurial > hg > vamp-tempogram
diff FIRFilter.cpp @ 20:de7213b35755
* Removed warnings of comparisons with ints and size_t
author | Carl Bussey <c.bussey@se10.qmul.ac.uk> |
---|---|
date | Fri, 15 Aug 2014 15:17:28 +0100 |
parents | 203551cbad47 |
children | c8dd1049b2d3 |
line wrap: on
line diff
--- a/FIRFilter.cpp Fri Aug 15 12:34:07 2014 +0100 +++ b/FIRFilter.cpp Fri Aug 15 15:17:28 2014 +0100 @@ -51,7 +51,7 @@ m_pFftOutputReal = new double[m_lengthFIRFFT]; m_pFftOutputImag = new double[m_lengthFIRFFT]; - for(unsigned int i = 0; i < m_lengthFIRFFT; i++){ + for(int i = 0; i < (int)m_lengthFIRFFT; i++){ m_pFftInput[i] = m_pFftCoefficients[i] = m_pFftReal1[i] = m_pFftImag1[i] = m_pFftReal2[i] = m_pFftImag2[i] = m_pFftFilteredReal[i] = m_pFftFilteredImag[i] = m_pFftOutputReal[i] = m_pFftOutputImag[i] = 0.0; } } @@ -61,16 +61,16 @@ { //Copy to same length FFT buffers - for(unsigned int i = 0; i < m_lengthFIRFFT; i++){ - m_pFftInput[i] = i < m_lengthInput ? pInput[i] : 0.0; - m_pFftCoefficients[i] = i < m_numberOfCoefficients ? pCoefficients[i] : 0.0; + for(int i = 0; i < (int)m_lengthFIRFFT; i++){ + m_pFftInput[i] = i < (int)m_lengthInput ? pInput[i] : 0.0; + m_pFftCoefficients[i] = i < (int)m_numberOfCoefficients ? pCoefficients[i] : 0.0; } FFT::forward(m_lengthFIRFFT, m_pFftInput, 0, m_pFftReal1, m_pFftImag1); FFT::forward(m_lengthFIRFFT, m_pFftCoefficients, 0, m_pFftReal2, m_pFftImag2); //Multiply FFT coefficients. Multiplication in freq domain is convolution in time domain. - for (unsigned int i = 0; i < m_lengthFIRFFT; i++){ + for (int i = 0; i < (int)m_lengthFIRFFT; i++){ m_pFftFilteredReal[i] = (m_pFftReal1[i] * m_pFftReal2[i]) - (m_pFftImag1[i] * m_pFftImag2[i]); m_pFftFilteredImag[i] = (m_pFftReal1[i] * m_pFftImag2[i]) + (m_pFftReal2[i] * m_pFftImag1[i]); } @@ -79,12 +79,12 @@ //copy to output int offset = 0; - unsigned int outputLength = m_lengthInput; - if (outputType == all) outputLength = m_lengthFIRFFT; - else if (outputType == middle) offset = floor((float)m_numberOfCoefficients/2); + int outputLength = m_lengthInput; + if (outputType == all) outputLength = (int)m_lengthFIRFFT; + else if (outputType == middle) offset = floor(m_numberOfCoefficients/2.0f); else if (outputType != first) cerr << "FIRFilter::process(params) - " << outputType << " is not a valid argument. outputType is set to first." << endl; - for (unsigned int i = 0; i < outputLength; i++){ + for (int i = 0; i < outputLength; i++){ pOutput[i] = m_pFftOutputReal[i + offset]; } }