class_docstr: .. warning::
  
      This class is deprecated, to be removed in PyOpenCL 2018.x.
  
  .. versionadded:: 2011.2
  
  .. attribute:: state
  
      A :class:`pyopencl.array.Array` containing the state of the generator.
  
  .. attribute:: nskip
  
      nskip is an integer which can (optionally) be defined in the kernel
      code as RANLUXCL_NSKIP. If this is done the generator will be faster
      for luxury setting 0 and 1, or when the p-value is manually set to a
      multiple of 24.
class_docstr_tok: ["..","warning",":",":","This","class","is","deprecated",",","to","be","removed","in","PyOpenCL","2018.x",".","..","versionadded",":",":","2011.2","..","attribute",":",":","state","A",":","class",":","`","pyopencl.array.Array","`","containing","the","state","of","the","generator",".","..","attribute",":",":","nskip","nskip","is","an","integer","which","can","(","optionally",")","be","defined","in","the","kernel","code","as","RANLUXCL_NSKIP",".","If","this","is","done","the","generator","will","be","faster","for","luxury","setting","0","and","1",",","or","when","the","p-value","is","manually","set","to","a","multiple","of","24","."]
code: def generate_settings_defines(self, include_double_pragma=True):
      lines = []
      if include_double_pragma and self.support_double:
          lines.append(
              """
                  #if __OPENCL_C_VERSION__ < 120
                  #pragma OPENCL EXTENSION cl_khr_fp64: enable
                  #endif
                  """
          )
  
      lines.append("#define RANLUXCL_LUX %d" % self.luxury)
  
      if self.no_warmup:
          lines.append("#define RANLUXCL_NO_WARMUP")
  
      if self.support_double:
          lines.append("#define RANLUXCL_SUPPORT_DOUBLE")
  
      if self.use_legacy_init:
          lines.append("#define RANLUXCL_USE_LEGACY_INITIALIZATION")
  
          if self.max_work_items:
              lines.append(
                  "#define RANLUXCL_MAXWORKITEMS %d"
                  % self.max_work_items
              )
  
      return "\n".join(lines)
  
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 2 for calling the RanluxGenerator obj's underlying member method code with example usage: obj.generate_settings_defines(include_double_pragma) and returns: str