diff --git a/common/alcomplex.cpp b/common/alcomplex.cpp index 126e2c04..28792928 100644 --- a/common/alcomplex.cpp +++ b/common/alcomplex.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include "albit.h" @@ -148,6 +149,8 @@ void complex_fft(const al::span> buffer, const double sign) void complex_hilbert(const al::span> buffer) { + using namespace std::placeholders; + inverse_fft(buffer); const double inverse_size = 1.0/static_cast(buffer.size()); @@ -156,8 +159,7 @@ void complex_hilbert(const al::span> buffer) *bufiter *= inverse_size; ++bufiter; bufiter = std::transform(bufiter, halfiter, bufiter, - [inverse_size](const std::complex &c) -> std::complex - { return c * (2.0*inverse_size); }); + std::bind(std::multiplies<>{}, _1, 2.0*inverse_size)); *bufiter *= inverse_size; ++bufiter; std::fill(bufiter, buffer.end(), std::complex{});