def METHOD_NAME(seed, ctx, func_name, low, high, shape):
    with nn.context_scope(ctx):
        o = F.rand(low, high, shape, seed=seed)
    assert o.shape == tuple(shape)
    assert o.parent.name == func_name
    o.forward()
    # NOTE: The following should be < high,
    # but use <= high because std::uniform_random contains a bug.
    assert np.all(o.d <= high)
    assert np.all(o.d >= low)
    # Checking recomputation
    func_args = [low, high, shape, seed]
    recomputation_test(rng=None, func=F.rand, vinputs=[],
                       func_args=func_args, func_kwargs={}, ctx=ctx)