# HG changeset patch # User Chris Cannam # Date 1470065106 -3600 # Node ID fbe0fd84cb507a45b3b2b99ca86b5c3e5b4b33c7 # Parent c7b9c902642f977f527c2b39bf48a30e6ef58e46 Float/double conversion fixes diff -r c7b9c902642f -r fbe0fd84cb50 base/ColumnOp.h --- a/base/ColumnOp.h Mon Aug 01 16:21:01 2016 +0100 +++ b/base/ColumnOp.h Mon Aug 01 16:25:06 2016 +0100 @@ -54,15 +54,15 @@ /** * Scale the given column using the given gain multiplier. */ - static Column applyGain(const Column &in, float gain) { + static Column applyGain(const Column &in, double gain) { - if (gain == 1.f) { + if (gain == 1.0) { return in; } Column out; out.reserve(in.size()); for (auto v: in) { - out.push_back(v * gain); + out.push_back(float(v * gain)); } return out; } @@ -71,7 +71,7 @@ * Scale an FFT output by half the FFT size. */ static Column fftScale(const Column &in, int fftSize) { - return applyGain(in, 2.f / float(fftSize)); + return applyGain(in, 2.0 / fftSize); } /** @@ -140,15 +140,8 @@ } } } - - std::vector out; - out.reserve(in.size()); - for (auto v: in) { - out.push_back(v * scale); - } - - return out; + return applyGain(in, scale); } /**