class_docstr: Univariate slice sampler step method.
  
  Parameters
  ----------
  vars: list
      List of value variables for sampler.
  w: float
      Initial width of slice (Defaults to 1).
  tune: bool
      Flag for tuning (Defaults to True).
  model: PyMC Model
      Optional model for sampling step. Defaults to None (taken from context).
class_docstr_tok: ["Univariate","slice","sampler","step","method",".","Parameters","--","--","--","--","--","vars",":","list","List","of","value","variables","for","sampler",".","w",":","float","Initial","width","of","slice","(","Defaults","to","1",")",".","tune",":","bool","Flag","for","tuning","(","Defaults","to","True",")",".","model",":","PyMC","Model","Optional","model","for","sampling","step",".","Defaults","to","None","(","taken","from","context",")","."]
code: def competence(var, has_grad):
      if var.dtype in continuous_types:
          if not has_grad and var.ndim == 0:
              return Competence.PREFERRED
          return Competence.COMPATIBLE
      return Competence.INCOMPATIBLE
  
file_path: pymc/pymc/step_methods/slicer.py
imports: from typing import Tuple
  import numpy
  import numpy.random
  from pymc.blocking import RaveledVars, StatsType
  from pymc.model import modelcontext
  from pymc.pytensorf import compile_pymc, join_nonshared_inputs, make_shared_replacements
  from pymc.step_methods.arraystep import ArrayStepShared
  from pymc.step_methods.compound import Competence
  from pymc.util import get_value_vars_from_user_vars
  from pymc.vartypes import continuous_types
label_desc: Use image node_id 3 for calling the Slice obj's underlying member method code with example usage: obj.competence(var, has_grad) and returns: Competence, Competence, Competence