75 {
773.24, 7.56, [](
const doublex) {
return log(x) +
exp(x) + x; });
78 std::cout << "Test Case 1" << std::endl;
79 std::cout << "function: log(x) + e^x + x" << std::endl;
80 std::cout << "range: [3.24, 7.56]" << std::endl;
81std::cout <<
"value: "<<
test_1<< std::endl;
83 std::cout << "Test 1 Passed!" << std::endl;
84 std::cout << "=====================" << std::endl;
85
87 returnx * x + cos(x) +
exp(x) +
log(x) *
log(x);
88 });
89 std::cout << "Test Case 2" << std::endl;
90 std::cout << "function: x^2 + cos(x) + e^x + log^2(x)" << std::endl;
91 std::cout << "range: [.023, 3.69]" << std::endl;
92std::cout <<
"value: "<<
test_2<< std::endl;
94 std::cout << "Test 2 Passed!" << std::endl;
95 std::cout << "=====================" << std::endl;
96
98 10.78, 24.899, [](const double x) { return x * x * x - x * x + 378; });
99 std::cout << "Test Case 3" << std::endl;
100 std::cout << "function: x^3 - x^2 + 378" << std::endl;
101 std::cout << "range: [10.78, 24.899]" << std::endl;
102std::cout <<
"value: "<<
test_3<< std::endl;
104 std::cout << "Test 3 Passed!" << std::endl;
105 std::cout << "=====================" << std::endl;
106
108 .101, .505,
109[](
const doublex) {
returncos(x) * tan(x) * x * x +
exp(x); },
110 .00001);
111 std::cout << "Test Case 4" << std::endl;
112 std::cout << "function: cos(x)*tan(x)*x^2 + e^x" << std::endl;
113 std::cout << "range: [.101, .505]" << std::endl;
114 std::cout << "value: " << test_4 << std::endl;
116 std::cout << "Test 4 Passed!" << std::endl;
117 std::cout << "=====================" << std::endl;
118
120-1, 1, [](
const doublex) {
return exp(-1 / (x * x)); });
121 std::cout << "Test Case 5" << std::endl;
122 std::cout << "function: e^(-1/x^2)" << std::endl;
123 std::cout << "range: [-1, 1]" << std::endl;
124 std::cout << "value: " << test_5 << std::endl;
126 std::cout << "Test 5 Passed!" << std::endl;
127}
void log(T msg)
A function to print given message on console.
uint256_t exp(uint256_t number, uint256_t power, const uint256_t &mod)
This function calculates number raised to exponent power under modulo mod using Modular Exponentiatio...
void test_eval(double approx, double expected, double threshold)
Wrapper to evaluate if the approximated value is within .XX% threshold of the exact value.
double integral_approx(double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
Computes integral approximation.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4