class_docstr: .. versionadded:: 2016.2
  
  .. automethod:: fill_uniform
  .. automethod:: uniform
  .. automethod:: fill_normal
  .. automethod:: normal
class_docstr_tok: ["..","versionadded",":",":","2016.2","..","automethod",":",":","fill_uniform","..","automethod",":",":","uniform","..","automethod",":",":","fill_normal","..","automethod",":",":","normal"]
docstr: Fill *ary* with uniformly distributed random numbers in the interval
  *(a, b)*, endpoints excluded.
  
  :return: a :class:`pyopencl.Event`
docstr_tok: ["Fill","*","ary","*","with","uniformly","distributed","random","numbers","in","the","interval","*","(","a",",","b",")","*",",","endpoints","excluded",".",":","return",":","a",":","class",":","`","pyopencl.Event","`"]
code: def _fill(self, distribution, ary, scale, shift, queue=None):
      """Fill *ary* with uniformly distributed random numbers in the interval
      *(a, b)*, endpoints excluded.
  
      :return: a :class:`pyopencl.Event`
      """
  
      if queue is None:
          queue = ary.queue
  
      knl, counter_multiplier, size_multiplier = self.get_gen_kernel(
          ary.dtype, distribution
      )
  
      args = (
          self.key
          + self.counter
          + [ary.data, ary.size * size_multiplier, scale, shift]
      )
  
      n = ary.size
      from pyopencl.array import _splay
  
      gsize, lsize = _splay(queue.device, ary.size)
  
      evt = knl(queue, gsize, lsize, *args)
      ary.add_event(evt)
  
      self.counter[0] += n * counter_multiplier
      c1_incr, self.counter[0] = divmod(
          self.counter[0], self.counter_max
      )
      if c1_incr:
          self.counter[1] += c1_incr
          c2_incr, self.counter[1] = divmod(
              self.counter[1], self.counter_max
          )
          self.counter[2] += c2_incr
  
      return evt
  
imports: import pyopencl
  import pyopencl.array
  import pyopencl.cltypes
  from pyopencl.tools import first_arg_dependent_memoize
  from pytools import memoize_method
  import numpy
label_desc: Use image node_id 6 for calling the Random123GeneratorBase obj's underlying member method code with example usage: obj._fill(distribution, ary, scale, shift, queue) and returns: evt