def add(A, b, offset=0):
    """
    Add b to the view of A in place (!).
    Returns modified A.
    Broadcasting is allowed, thus b can be scalar.

    if offset is not zero, make sure b is of right shape!

    :param ndarray A: 2 dimensional array
    :param ndarray-like b: either one dimensional or scalar
    :param int offset: same as in view.
    :rtype: view of A, which is adjusted inplace
    """
    return _diag_ufunc(A, b, offset, np.add)
Add b to the view of A in place (!).
    Returns modified A.
    Broadcasting is allowed, thus b can be scalar.

    if offset is not zero, make sure b is of right shape!

    :param ndarray A: 2 dimensional array
    :param ndarray-like b: either one dimensional or scalar
    :param int offset: same as in view.
    :rtype: view of A, which is adjusted inplace