



"""simple docstring"""
from collections.abc import Callable

import numpy as np



def        lowerCAmelCase_(   lowercase_     :							Callable						,   lowercase_     :							float						,   lowercase_     :							float						,   lowercase_     :							float						,   lowercase_     :							float							)	->       Dict:
				_lowerCamelCase        =				int(np.ceil((x_end - xa) / step_size							)							)
				_lowerCamelCase        =				np.zeros((n + 1,)							)
				_lowerCamelCase        =				ya
				_lowerCamelCase        =				xa

				for k in range(lowercase_							):
								_lowerCamelCase        =				y[k] + step_size * ode_func(lowercase_						,   y[k]							)
								_lowerCamelCase        =				y[k] + (
								    (step_size / 2) * (ode_func(lowercase_						,   y[k]							) + ode_func(x + step_size						,   lowercase_							))
								)
								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.
__SCREAMING_SNAKE_CASE  :						Optional[Any]    							=      abspath(join(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        lowerCAmelCase_(   lowercase_     :							List[Any]							)	->       Optional[Any]:
				from diffusers.utils.testing_utils import pytest_addoption_shared

				pytest_addoption_shared(lowercase_							)




def        lowerCAmelCase_(   lowercase_     :							List[str]							)	->       List[str]:
				from diffusers.utils.testing_utils import pytest_terminal_summary_main

				_lowerCamelCase        =				terminalreporter.config.getoption('''--make-reports'''							)
				if make_reports:
								pytest_terminal_summary_main(lowercase_						,   id=lowercase_							)
