-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdifferenceEquation.hpp
More file actions
32 lines (27 loc) · 1.21 KB
/
Copy pathdifferenceEquation.hpp
File metadata and controls
32 lines (27 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef DPSCPP_DIFFERENCEEQUATION_HPP_
#define DPSCPP_DIFFERENCEEQUATION_HPP_
#include <iostream>
#include "signal.hpp"
class differenceEquation : public signal
{
public:
differenceEquation(std::vector<std::complex<double>> a,std::vector<std::complex<double>> b);
differenceEquation(differenceEquation &toCopy) noexcept;
differenceEquation& operator=(differenceEquation &toCopy) noexcept;
differenceEquation(differenceEquation &&toMove) noexcept;
differenceEquation& operator=(differenceEquation &&toMove) noexcept;
std::complex<double> get(long long int n);
const std::vector<std::complex<double>>& getA() const;
void setA(const std::vector<std::complex<double>> &a);
const std::vector<std::complex<double>>& getB() const;
void setB(const std::vector<std::complex<double>> &b);
std::vector<std::complex<double>> impulse(long long int n);
std::vector<std::complex<double>> step(long long int n);
const std::vector<std::complex<double> >& getResponse() const;
void setResponse(const std::vector<std::complex<double> > &response);
private:
std::vector<std::complex<double>> a;
std::vector<std::complex<double>> b;
std::vector<std::complex<double>> response;
};
#endif /* DPSCPP_DIFFERENCEEQUATION_HPP_ */