Условие

Реализовать функцию (оператор), принимающую аргументом функцию от одной переменной f и возвращающую функцию одной переменной, вычисляющую (численно) выражение:

Оптимизировать с использованием мемоизации для задач типа построения графиков (т.е. многократный вызов функции в разных точках)

Использовать метод трапеций с постоянным шагом.

Показать прирост производительности с помощью time.

Обеспечить покрытие тестами.