



'''simple docstring'''

from typing import TYPE_CHECKING

from ....utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


snake_case_      =  {
    """configuration_mctct""": ["""MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP""", """MCTCTConfig"""],
    """feature_extraction_mctct""": ["""MCTCTFeatureExtractor"""],
    """processing_mctct""": ["""MCTCTProcessor"""],
}


try:
	if not is_torch_available():
		raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
	pass
else:
	snake_case_      =  [
	    """MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST""",
	    """MCTCTForCTC""",
	    """MCTCTModel""",
	    """MCTCTPreTrainedModel""",
	]


if TYPE_CHECKING:
	from .configuration_mctct import MCTCT_PRETRAINED_CONFIG_ARCHIVE_MAP, MCTCTConfig
	from .feature_extraction_mctct import MCTCTFeatureExtractor
	from .processing_mctct import MCTCTProcessor

	try:
		if not is_torch_available():
			raise OptionalDependencyNotAvailable()
	except OptionalDependencyNotAvailable:
		pass
	else:
		from .modeling_mctct import MCTCT_PRETRAINED_MODEL_ARCHIVE_LIST, MCTCTForCTC, MCTCTModel, MCTCTPreTrainedModel

else:
	import sys

	snake_case_      =  _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)








'''simple docstring'''






from collections.abc import Callable

import numpy as np


def    _snake_case  (	A					,       A					,       A					,       A					,       A			)		->       np.array:
							lowerCAmelCase__			  =      int(np.ceil((x_end - xa) / step_size			)			)
							lowerCAmelCase__			  =      np.zeros((n + 1,)			)
							lowerCAmelCase__			  =      ya
							lowerCAmelCase__			  =      xa

							for k in range(A			):
														lowerCAmelCase__			  =      y[k] + step_size * ode_func(A					,       y[k]			)
														lowerCAmelCase__			  =      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()