





"""simple docstring"""






from collections.abc import Callable

import numpy as np

def     __A      (			a_						:Callable   ,       a_						:float   ,       a_						:float   ,       a_						:float   ,       a_						:float)		->		np.array:
				__a :						Tuple			       =  int(np.ceil((x_end - xa) / step_size))
				__a :						Any			       =  np.zeros((n + 1,))
				__a :						Any			       =  ya
				__a :						int			       =  xa

				for k in range(a_):
								__a :						List[Any]			       =  y[k] + step_size * ode_func(a_   ,       y[k])
								__a :						str			       =  y[k] + (
								    (step_size / 2) * (ode_func(a_   ,       y[k]) + ode_func(x + step_size   ,       a_))
								)
								x += step_size

				return y


if __name__ == "__main__":
		import doctest

		doctest.testmod()






"""simple docstring"""






# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
A 			=  abspath(join(dirname(dirname(dirname(__file__))), '''src'''))
sys.path.insert(1, git_repo_path)


# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='''ignore''', category=FutureWarning)

def     __A      (			a_						:Tuple)		->		Dict:
				from transformers.testing_utils import pytest_addoption_shared

				pytest_addoption_shared(a_)






def     __A      (			a_						:Any)		->		int:
				from transformers.testing_utils import pytest_terminal_summary_main

				__a :						str			       =  terminalreporter.config.getoption('''--make-reports''')
				if make_reports:
								pytest_terminal_summary_main(a_   ,       id=a_)