-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathintegrals.h
More file actions
40 lines (29 loc) · 1.31 KB
/
integrals.h
File metadata and controls
40 lines (29 loc) · 1.31 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
#include "initial_data_and_functions.h"
// Swap algorithm
void xorSwap (double x, double y);
// function to print solutions of Integrals
void printer(const char * func_name, const char * integral_name,
double integral_val);
// function trafo for open boundary
//double func_trafo(double(*func)(double x, FunctionParams));
// left Riemann sum
double left_riemann_sum(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);
// right Riemann sum
double right_riemann_sum(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);
// Trapezodial Rule
double trapezodial_integral(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);
// Simpson's Rule
double simpson_integral(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);
// Trapezodial Rule semi adaptive stepsize
double trapezodial_integral_sas(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);
// semi adaptive midpoint rule
double midpoint_int(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);
// semi adaptive midpoint rule with [a,inf)
double midpoint_int_to_inf(InitialData A, FunctionParams params,
double(*func)(double, FunctionParams), double eps);