def METHOD_NAME(*shapeargs: int) -> Union[float, ndarray]:
    """
    randn(d0, d1, ..., dn)
    Return a sample (or samples) from the "standard normal" distribution.
    Parameters
    ----------
    d0, d1, ..., dn : int, optional
        The dimensions of the returned array, must be non-negative.
        If no argument is given a single Python float is returned.
    Returns
    -------
    Z : ndarray or float
        A ``(d0, d1, ..., dn)``-shaped array of floating-point samples from
        the standard normal distribution, or a single such float if
        no parameters were supplied.
    See Also
    --------
    numpy.random.randn
    Availability
    --------
    Multiple GPUs, Multiple CPUs
    """
    if shapeargs == ():
        return nprandom.METHOD_NAME()
    result = ndarray(shapeargs, dtype=np.dtype(np.float64))
    result._thunk.random_normal()
    return result