FourierAnalyzer/include/Signal.hpp

27 lines
453 B
C++
Raw Normal View History

2020-11-09 16:28:19 +00:00
#pragma once
#include <complex>
#include <deque>
typedef std::complex<double> CmplxDouble;
typedef struct {
double t;
CmplxDouble val;
bool valid = true;
} Sample;
static const Sample invalidSample{ 0.f, 0.f, false };
class Signal
{
public:
Signal() = default;
~Signal() = default;
friend Signal& operator<<(Signal& sig, const Sample& sample);
friend Signal& operator>>(Signal& sig, Sample& sample);
private:
std::deque<Sample> buffer;
};