mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-02-03 09:44:01 -05:00
Added define for 32 bit sample compilation
This commit is contained in:
parent
5a594629b3
commit
f34750716a
@ -22,13 +22,17 @@
|
||||
#include <vector>
|
||||
#include <QtGlobal>
|
||||
|
||||
#ifdef SAMPLE_32BIT
|
||||
#define SDR_SAMP_SZ 32 // internal fixed arithmetic sample size
|
||||
typedef qint32 FixReal;
|
||||
#else
|
||||
#define SDR_SAMP_SZ 16 // internal fixed arithmetic sample size
|
||||
typedef qint16 FixReal;
|
||||
#endif
|
||||
|
||||
typedef float Real;
|
||||
typedef std::complex<Real> Complex;
|
||||
|
||||
typedef qint16 FixReal;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
struct Sample
|
||||
{
|
||||
|
@ -70,7 +70,7 @@ public:
|
||||
{
|
||||
case 0:
|
||||
// insert sample into ring-buffer
|
||||
storeSample(0, 0);
|
||||
storeSample((FixReal) 0, (FixReal) 0);
|
||||
// save result
|
||||
doFIR(SampleOut);
|
||||
// advance write-pointer
|
||||
@ -131,7 +131,7 @@ public:
|
||||
bool workDecimateCenter(int32_t *x, int32_t *y)
|
||||
{
|
||||
// insert sample into ring-buffer
|
||||
storeSample(*x, *y);
|
||||
storeSample32(*x, *y);
|
||||
|
||||
switch(m_state)
|
||||
{
|
||||
@ -215,7 +215,7 @@ public:
|
||||
{
|
||||
case 0:
|
||||
// insert sample into ring-buffer
|
||||
storeSample(0, 0);
|
||||
storeSample((FixReal) 0, (FixReal) 0);
|
||||
|
||||
// save result
|
||||
doFIR(&s);
|
||||
@ -251,7 +251,7 @@ public:
|
||||
|
||||
case 2:
|
||||
// insert sample into ring-buffer
|
||||
storeSample(0, 0);
|
||||
storeSample((FixReal) 0, (FixReal) 0);
|
||||
|
||||
// save result
|
||||
doFIR(&s);
|
||||
@ -414,7 +414,7 @@ public:
|
||||
{
|
||||
case 0:
|
||||
// insert sample into ring-buffer
|
||||
storeSample(0, 0);
|
||||
storeSample((FixReal) 0, (FixReal) 0);
|
||||
|
||||
// save result
|
||||
doFIR(&s);
|
||||
@ -450,7 +450,7 @@ public:
|
||||
|
||||
case 2:
|
||||
// insert sample into ring-buffer
|
||||
storeSample(0, 0);
|
||||
storeSample((FixReal) 0, (FixReal) 0);
|
||||
|
||||
// save result
|
||||
doFIR(&s);
|
||||
@ -565,10 +565,10 @@ public:
|
||||
|
||||
void myDecimate(int32_t x1, int32_t y1, int32_t *x2, int32_t *y2)
|
||||
{
|
||||
storeSample(x1, y1);
|
||||
storeSample32(x1, y1);
|
||||
advancePointer();
|
||||
|
||||
storeSample(*x2, *y2);
|
||||
storeSample32(*x2, *y2);
|
||||
doFIR(x2, y2);
|
||||
advancePointer();
|
||||
}
|
||||
@ -580,7 +580,7 @@ public:
|
||||
doFIR(sample1);
|
||||
advancePointer();
|
||||
|
||||
storeSample(0, 0);
|
||||
storeSample((FixReal) 0, (FixReal) 0);
|
||||
doFIR(sample2);
|
||||
advancePointer();
|
||||
}
|
||||
@ -588,11 +588,11 @@ public:
|
||||
/** Simple zero stuffing and filter */
|
||||
void myInterpolateZeroStuffing(int32_t *x1, int32_t *y1, int32_t *x2, int32_t *y2)
|
||||
{
|
||||
storeSample(*x1, *y1);
|
||||
storeSample32(*x1, *y1);
|
||||
doFIR(x1, y1);
|
||||
advancePointer();
|
||||
|
||||
storeSample(0, 0);
|
||||
storeSample32(0, 0);
|
||||
doFIR(x2, y2);
|
||||
advancePointer();
|
||||
}
|
||||
@ -648,7 +648,7 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
void storeSample(int32_t x, int32_t y)
|
||||
void storeSample32(int32_t x, int32_t y)
|
||||
{
|
||||
if ((m_ptr % 2) == 0)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user