diff --git a/doc/source/array.rst b/doc/source/array.rst
index e2003ff8b3e2446ce92ee0ec92aa4ed14cdcbccf..291228e3cc07d9e49ba0c0769f888608da81782b 100644
--- a/doc/source/array.rst
+++ b/doc/source/array.rst
@@ -426,12 +426,12 @@ Generating Arrays of Random Numbers
         the generator a differing number of times. This function
         ensures efficiency.
 
-.. function:: rand(queue, shape, dtype)
+.. function:: rand(queue, shape, dtype, a=0, b=1)
 
     Return an array of `shape` filled with random values of `dtype`
-    in the range [0,1).
+    in the range [a,b).
 
-.. function:: fill_rand(result, queue=None)
+.. function:: fill_rand(result, queue=None, a=0, b=1)
 
     Fill *result* with random values of `dtype` in the range [0,1).
 
diff --git a/pyopencl/clrandom.py b/pyopencl/clrandom.py
index d0c2a2a001eb79c90ccd95b0f2f332bcb4b847a6..c0475854f5e3b11888f6cc00be2d28c71de63972 100644
--- a/pyopencl/clrandom.py
+++ b/pyopencl/clrandom.py
@@ -222,23 +222,23 @@ def _get_generator(queue, luxury=None):
 
 
 
-def fill_rand(result, queue=None, luxury=4):
+def fill_rand(result, queue=None, luxury=4, a=0, b=1):
     if queue is None:
         queue = result.queue
     gen = _get_generator(queue, luxury=luxury)
-    gen.fill_uniform(result)
+    gen.fill_uniform(result, a=a, b=b)
 
 
 
 
 def rand(*args, **kwargs):
-    def inner_rand(queue, shape, dtype, luxury=None):
+    def inner_rand(queue, shape, dtype, luxury=None, a=0, b=1):
         from pyopencl.array import Array
         luxury = kwargs.pop("luxury", None)
 
         gen = _get_generator(queue, luxury)
         result = Array(queue, shape, dtype)
-        gen.fill_uniform(result)
+        gen.fill_uniform(result, a=a, b=b)
         return result
 
     if isinstance(args[0], cl.Context):