aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/sigProcLib.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Transceiver52M/sigProcLib.cpp')
-rw-r--r--Transceiver52M/sigProcLib.cpp17
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 */