cython
17 строк · 377.0 Байт
1from sin_of_square cimport Function, SinOfSquareFunction
2
3def integrate(Function f, double a, double b, int N):
4cdef int i
5cdef double s, dx
6if f is None:
7raise ValueError("f cannot be None")
8
9s = 0
10dx = (b - a) / N
11
12for i in range(N):
13s += f.evaluate(a + i * dx)
14
15return s * dx
16
17print(integrate(SinOfSquareFunction(), 0, 1, 10000))
18