def METHOD_NAME():
    # variable length numpy arrays
    x = np.array(
        [
            np.array([0, 1, 0, -1]),
            np.array([0, 1, 2, 3, 4]),
        ],
        dtype=object,
    )
    for multiplier, snr_value in [
        (0, 1),
        (0.5, 4),
        (1, np.inf),
        (2, 1),
        (3, 0.25),
        (11, 0.01),
    ]:
        assert (perturbation.batch.snr(x, x * multiplier) == [snr_value] * len(x)).all()
        assert (
            perturbation.batch.snr_db(x, x * multiplier)
            == [10 * np.log10(snr_value)] * len(x)
        ).all()
    for addition, snr_value in [
        (0, np.inf),
        (np.inf, 0.0),
    ]:
        assert (perturbation.batch.snr(x, x + addition) == [snr_value] * len(x)).all()
        assert (
            perturbation.batch.snr_db(x, x + addition)
            == [10 * np.log10(snr_value)] * len(x)
        ).all()
    with pytest.raises(ValueError):
        perturbation.batch.snr(x[:1], x[1:])
    with pytest.raises(ValueError):
        perturbation.batch.snr(x, np.array([1]))