class_docstr: Class surrounding CURAND kernels from CUDA 3.2.
  It allows for generating random numbers with uniform
  and normal probability function of various types.
class_docstr_tok: ["Class","surrounding","CURAND","kernels","from","CUDA","3.2",".","It","allows","for","generating","random","numbers","with","uniform","and","normal","probability","function","of","various","types","."]
code: def fill_uniform(self, data, stream=None):
      if data.dtype == np.float32:
          func = self.generators["uniform_float"]
      elif data.dtype == np.float64:
          func = self.generators["uniform_double"]
      elif data.dtype in [np.int32, np.uint32]:
          func = self.generators["uniform_int"]
      elif (
          data.dtype in [np.int64, np.uint64]
          and self.generator_bits >= 64
      ):
          func = self.generators["uniform_long"]
      else:
          raise NotImplementedError
  
      func.prepared_async_call(
          (self.block_count, 1),
          (self.generators_per_block, 1, 1),
          stream,
          self.state,
          data.gpudata,
          data.size,
      )
  
imports: import numpy
  import pycuda.compiler
  import pycuda.driver
  import pycuda.gpuarray
  from pytools import memoize_method
label_desc: Use image node_id 6 for calling the _RandomNumberGeneratorBase obj's underlying member method code with example usage: obj.fill_uniform(data, stream) without return types