Clean up complex<int16_t> -> complex<float> casting.

This commit is contained in:
Jared Boone 2015-11-20 11:01:41 -08:00
parent 85e984ed3b
commit 600a983d5c
3 changed files with 9 additions and 12 deletions

View File

@ -42,12 +42,7 @@ void AISProcessor::execute(buffer_c8_t buffer) {
*/
for(size_t i=0; i<decimator_out.count; i++) {
// TODO: No idea why implicit cast int16_t->float is not allowed.
const std::complex<float> sample {
static_cast<float>(decimator_out.p[i].real()),
static_cast<float>(decimator_out.p[i].imag())
};
if( mf.execute_once(sample) ) {
if( mf.execute_once(decimator_out.p[i]) ) {
clock_recovery(mf.get_output());
}
}

View File

@ -42,12 +42,7 @@ void TPMSProcessor::execute(buffer_c8_t buffer) {
*/
for(size_t i=0; i<decimator_out.count; i++) {
// TODO: No idea why implicit cast int16_t->float is not allowed.
const std::complex<float> sample {
static_cast<float>(decimator_out.p[i].real()),
static_cast<float>(decimator_out.p[i].imag())
};
if( mf.execute_once(sample) ) {
if( mf.execute_once(decimator_out.p[i]) ) {
clock_recovery(mf.get_output());
}
}

View File

@ -105,6 +105,13 @@ public:
return _rep;
}
constexpr operator std::complex<float>() const {
return {
static_cast<float>(_v[0]),
static_cast<float>(_v[1])
};
}
private:
union {
int16_t _v[2];