-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcosine.cpp
More file actions
50 lines (44 loc) · 1.03 KB
/
Copy pathcosine.cpp
File metadata and controls
50 lines (44 loc) · 1.03 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "cosine.hpp"
cosine::cosine(double frequency, double phase)
{
setFrequency(frequency);
setPhase(phase);
}
cosine::cosine(const cosine &toCopy) noexcept : frequency{toCopy.getFrequency()}, phase{toCopy.getPhase()}
{
}
cosine& cosine::operator=(const cosine &toCopy) noexcept
{
this->setFrequency(toCopy.getFrequency());
this->setPhase(toCopy.getPhase());
return *this;
}
cosine::cosine(cosine &&toMove) noexcept : frequency{std::move(toMove.getFrequency())}, phase{std::move(toMove.getPhase())}
{
}
cosine& cosine::operator=(cosine &&toMove) noexcept
{
this->setFrequency(std::move(toMove.getFrequency()));
this->setPhase(std::move(toMove.getPhase()));
return *this;
}
double cosine::getFrequency() const
{
return frequency;
}
void cosine::setFrequency(double frequency)
{
this->frequency = frequency;
}
double cosine::getPhase() const
{
return phase;
}
void cosine::setPhase(double phase)
{
this->phase = phase;
}
std::complex<double> cosine::get(long long int n)
{
return cos(2*M_PI*getFrequency()*n+M_PI*getPhase()/180.0);
}