
"""simple docstring"""



import numpy as np


def 			_UpperCamelCase						(    _A       ,   _A       ,   _A       ,   _A       ,   _A   )     ->	Optional[Any]:





    """simple docstring"""

    _UpperCAmelCase        = int(np.ceil((x_end - xa) / h   )   )
    _UpperCAmelCase        = np.zeros((n + 1,)   )
    _UpperCAmelCase        = ya
    _UpperCAmelCase        = xa

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

    return y


if __name__ == "__main__":
 import doctest

 doctest.testmod()

"""simple docstring"""



def 			_UpperCamelCase						(    _A   )     ->	int:





    """simple docstring"""

    if not isinstance(_A       ,   _A   ) or number < 0:
        raise ValueError("""Input must be a non-negative integer"""   )

    _UpperCAmelCase        = 0
    while number:
        # This way we arrive at next set bit (next 1) instead of looping
        # through each bit and checking for 1s hence the
        # loop won't run 32 times it will only run the number of `1` times
        number &= number - 1
        count += 1
    return count


if __name__ == "__main__":
 import doctest

 doctest.testmod()