






"""simple docstring"""



from collections.abc import Callable

import numpy as np




def      _lowerCAmelCase		(							UpperCAmelCase__       :					Callable,						UpperCAmelCase__       :					float,						UpperCAmelCase__       :					float,						UpperCAmelCase__       :					float,						UpperCAmelCase__       :					float      )		->np.array:
						A__						:  Dict		  =  int(np.ceil((x_end - xa) / step_size      )      )
						A__						:  Any		  =  np.zeros((n + 1,)      )
						A__						:  Tuple		  =  ya
						A__						:  List[Any]		  =  xa

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

						return y


if __name__ == "__main__":
						import doctest

						doctest.testmod()














"""simple docstring"""



def      _lowerCAmelCase		(							UpperCAmelCase__       :					int,						UpperCAmelCase__       :					int      )		->str:
						if a < 0 or b < 0:
												raise ValueError("""the value of both inputs must be positive"""      )

						A__						:  str		  =  str(bin(UpperCAmelCase__      )      )[2:]  # remove the leading "0b"
						A__						:  List[Any]		  =  str(bin(UpperCAmelCase__      )      )[2:]  # remove the leading "0b"

						A__						:  List[str]		  =  max(len(UpperCAmelCase__      ),						len(UpperCAmelCase__      )      )

						return "0b" + "".join(
						    str(int(char_a == """1""" and char_b == """1"""      )      )
						    for char_a, char_b in zip(a_binary.zfill(UpperCAmelCase__      ),						b_binary.zfill(UpperCAmelCase__      )      )      )


if __name__ == "__main__":
						import doctest

						doctest.testmod()






