class_docstr: Hurdle Gamma log-likelihood.
  
  .. math::
  
      f(x \mid \psi, \alpha, \beta) =
          \left\{
              \begin{array}{l}
              (1 - \psi)  \ \text{if } x = 0 \\
              \psi
              \frac{\text{GammaPDF}(x \mid \alpha, \beta))}
              {1 - \text{GammaCDF}(\epsilon \mid \alpha, \beta)} \ \text{if } x=1,2,3,\ldots
              \end{array}
          \right.
  
  where :math:`\epsilon` is the machine precision.
  
  Parameters
  ----------
  psi : tensor_like of float
      Expected proportion of Gamma variates (0 < psi < 1)
  alpha : tensor_like of float, optional
      Shape parameter (alpha > 0).
  beta : tensor_like of float, optional
      Rate parameter (beta > 0).
  mu : tensor_like of float, optional
      Alternative shape parameter (mu > 0).
  sigma : tensor_like of float, optional
      Alternative scale parameter (sigma > 0).
class_docstr_tok: ["Hurdle","Gamma","log-likelihood",".","..","math",":",":","f","(","x","\\mid","\\psi",",","\\alpha",",","\\beta",")","=","\\left\\","{","\\begin","{","array","}","{","l","}","(","1","-","\\psi",")","\\","\\text","{","if","}","x","=","0","\\\\","\\psi","\\frac","{","\\text","{","GammaPDF","}","(","x","\\mid","\\alpha",",","\\beta",")",")","}","{","1","-","\\text","{","GammaCDF","}","(","\\epsilon","\\mid","\\alpha",",","\\beta",")","}","\\","\\text","{","if","}","x=1,2,3",",","\\ldots","\\end","{","array","}","\\right",".","where",":","math",":","`","\\epsilon","`","is","the","machine","precision",".","Parameters","--","--","--","--","--","psi",":","tensor_like","of","float","Expected","proportion","of","Gamma","variates","(","0","<","psi","<","1",")","alpha",":","tensor_like","of","float",",","optional","Shape","parameter","(","alpha",">","0",")",".","beta",":","tensor_like","of","float",",","optional","Rate","parameter","(","beta",">","0",")",".","mu",":","tensor_like","of","float",",","optional","Alternative","shape","parameter","(","mu",">","0",")",".","sigma",":","tensor_like","of","float",",","optional","Alternative","scale","parameter","(","sigma",">","0",")","."]
code: def dist(
      cls, psi, alpha=None, beta=None, mu=None, sigma=None, **kwargs
  ):
      return _hurdle_mixture(
          name=None,
          nonzero_p=psi,
          nonzero_dist=Gamma.dist(
              alpha=alpha, beta=beta, mu=mu, sigma=sigma
          ),
          dtype="float",
          **kwargs,
      )
  
imports: import warnings
  import numpy
  import pytensor
  import pytensor.tensor
  from pytensor.graph.basic import Node, equal_computations
  from pytensor.tensor import TensorVariable
  from pytensor.tensor.random.op import RandomVariable
  from pymc.distributions import transforms
  from pymc.distributions.continuous import Gamma, LogNormal, Normal, get_tau_sigma
  from pymc.distributions.discrete import Binomial, NegativeBinomial, Poisson
  from pymc.distributions.dist_math import check_parameters
  from pymc.distributions.distribution import DiracDelta, Distribution, SymbolicRandomVariable, _moment, moment
  from pymc.distributions.shape_utils import _change_dist_size, change_dist_size
  from pymc.distributions.transforms import _default_transform
  from pymc.distributions.truncated import Truncated
  from pymc.logprob.abstract import _logcdf, _logcdf_helper, _logprob
  from pymc.logprob.basic import logp
  from pymc.logprob.transforms import IntervalTransform
  from pymc.pytensorf import floatX
  from pymc.util import check_dist_not_registered
  from pymc.vartypes import continuous_types, discrete_types
label_desc: Use image node_id 2 for calling the HurdleGamma obj's underlying member method code with example usage: obj.dist(cls, psi, alpha, beta, mu, sigma) and returns: _hurdle_mixture