36double simpson(
double from,
double to,
size_t intervals,
const F& function)
39 double dx = (to - from) / intervals;
40 sum = 0.5 * (function(from) + function(to));
43 for (
size_t ix = 1; ix < intervals; ++ix, x += dx)
48 for (
size_t ix = 0; ix < intervals; ++ix, x += dx)
49 sum += 2 * function(x);
51 return sum * dx / 3.0;