def METHOD_NAME():
    x = mk_seq_array(np, (3,))
    x_num = mk_seq_array(num, (3,))
    values = np.zeros((), dtype=np.int32)
    values_num = num.zeros((), dtype=np.int32)
    mask = (x % 2).astype(bool)
    mask_num = num.array(mask)
    np.putmask(x[:1], mask[2:], values)
    num.putmask(x_num[:1], mask_num[2:], values_num)
    assert np.array_equal(x_num, x)
    x = mk_seq_array(np, (3, 4, 5))
    x_num = mk_seq_array(num, (3, 4, 5))
    mask = (x % 2).astype(bool)
    mask_num = num.array(mask)
    np.putmask(x, mask, 100)
    num.putmask(x_num, mask_num, 100)
    assert np.array_equal(x_num, x)
    x = np.zeros((), dtype=np.int32)
    x_num = num.zeros((), dtype=np.int32)
    mask = False
    mask_num = False
    np.putmask(x, mask, -1)
    num.putmask(x_num, mask_num, -1)
    assert np.array_equal(x_num, x)
    x = np.zeros((), dtype=np.int32)
    x_num = num.zeros((), dtype=np.int32)
    mask = True
    mask_num = True
    np.putmask(x, mask, -1)
    num.putmask(x_num, mask_num, -1)
    assert np.array_equal(x_num, x)
    # testing the case when indices is a scalar
    x = mk_seq_array(np, (3, 4, 5))
    x_num = mk_seq_array(num, (3, 4, 5))
    values = mk_seq_array(np, (6,)) * 10
    values_num = num.array(values)
    mask = (x % 2).astype(bool)
    mask_num = num.array(mask)
    np.putmask(x, mask, values[:1])
    num.putmask(x_num, mask_num, values_num[:1])
    assert np.array_equal(x_num, x)
    # the case when every input is a scalar
    x = num.random.rand(3, 3)
    s = x.sum()
    num.putmask(s, True, 1.0)
    assert s == 1.0