diff options
Diffstat (limited to 'Transceiver52M/sigProcLib.cpp')
-rw-r--r-- | Transceiver52M/sigProcLib.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp index 595efa3..5a1ab77 100644 --- a/Transceiver52M/sigProcLib.cpp +++ b/Transceiver52M/sigProcLib.cpp @@ -22,15 +22,20 @@ */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "sigProcLib.h" #include "GSMCommon.h" -using namespace GSM; - extern "C" { #include "convolve.h" +#include "scale.h" } +using namespace GSM; + #define TABLESIZE 1024 /** Lookup tables for trigonometric approximation */ @@ -958,6 +963,13 @@ complex peakDetect(const signalVector &rxBurst, void scaleVector(signalVector &x, complex scale) { +#ifdef HAVE_NEON + int len = x.size(); + + scale_complex((float *) x.begin(), + (float *) x.begin(), + (float *) &scale, len); +#else signalVector::iterator xP = x.begin(); signalVector::iterator xPEnd = x.end(); if (!x.isRealOnly()) { @@ -972,6 +984,7 @@ void scaleVector(signalVector &x, xP++; } } +#endif } /** in-place conjugation */ |