-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFunction.cpp
47 lines (37 loc) · 1.16 KB
/
Function.cpp
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
#include "Function.h"
#include <cmath>
#include <iostream>
Function::Function(double sample_rate): sample_rate{sample_rate} {current_sample = 0;}
/*Function::Function(double sample_rate, std::string function): sample_rate {sammple_rate}, function {function} {
current_sample = 0;
std::string num1;
bool dot {false};
for (char ele : function) {
if (ele >= '0' && ele <= '9')
num1 += ele;
else if (ele == '.' && !dot) {
dot = true;
num1 += ele;
}
else if ()
}
}*/
double Function::next_sample() {
//temporary with set function
current_sample+=sample_rate;
//return std::sin(current_sample*current_sample);
//return current_sample*current_sample;
//return std::sin(current_sample);
//return 1/current_sample;
//return std::tan(current_sample);
return std::sin(current_sample) * std::sin(current_sample);
}
double Function::get_sample_rate() {
return sample_rate;
}
void Function::set_sample_rate(double sample_rate) {
this->sample_rate = sample_rate;
}
void Function::set_current_sample(double new_sample) {
current_sample = new_sample;
}