




from typing import TYPE_CHECKING

from ..utils import _LazyModule


__magic_name__  :  Any					=       {
    """config""": [
        """EXTERNAL_DATA_FORMAT_SIZE_LIMIT""",
        """OnnxConfig""",
        """OnnxConfigWithPast""",
        """OnnxSeq2SeqConfigWithPast""",
        """PatchingSpec""",
    ],
    """convert""": ["""export""", """validate_model_outputs"""],
    """features""": ["""FeaturesManager"""],
    """utils""": ["""ParameterFormat""", """compute_serialized_parameters_size"""],
}


if TYPE_CHECKING:
      from .config import (
          EXTERNAL_DATA_FORMAT_SIZE_LIMIT,
          OnnxConfig,
          OnnxConfigWithPast,
          OnnxSeqaSeqConfigWithPast,
          PatchingSpec,
      )
      from .convert import export, validate_model_outputs
      from .features import FeaturesManager
      from .utils import ParameterFormat, compute_serialized_parameters_size

else:
      import sys

      __magic_name__  :  Optional[Any]					=       _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)







import numpy as np
def 		a_							( __lowerCAmelCase   , __lowerCAmelCase   , __lowerCAmelCase   , __lowerCAmelCase   , __lowerCAmelCase				):
  lowerCAmelCase__										=      int(np.ceil((x_end - xa) / h				)				)
  lowerCAmelCase__										=      np.zeros((n + 1,)				)
  lowerCAmelCase__										=      ya
  lowerCAmelCase__										=      xa

  for k in range(__lowerCAmelCase				):
    lowerCAmelCase__										=      f(__lowerCAmelCase   , y[k]				)
    lowerCAmelCase__										=      f(x + 0.5 * h   , y[k] + 0.5 * h * ka				)
    lowerCAmelCase__										=      f(x + 0.5 * h   , y[k] + 0.5 * h * ka				)
    lowerCAmelCase__										=      f(x + h   , y[k] + h * ka				)
    lowerCAmelCase__										=      y[k] + (1 / 6) * h * (ka + 2 * ka + 2 * ka + ka)
    x += h

  return y


if __name__ == "__main__":
      import doctest

      doctest.testmod()

