class_docstr: A Poisson subsampled Gaussian privacy random variable.
  
  For details about the formulas for the pdf and cdf, see propositions B1 and B4 in
  https://www.microsoft.com/en-us/research/publication/numerical-composition-of-differential-privacy/
code: def cdf(self, t):
      q = self.sample_rate
      sigma = self.noise_multiplier
  
      # z doesn't matter if t <= log(1-q)
      # this is to avoid userwarning if argument to log is <0
      z = np.log(
          np.where(t > np.log(1 - q), (np.exp(t) + q - 1) / q, 1)
      )
  
      return np.where(
          t > np.log(1 - q),
          -q * erfc((2 * z * sigma**2 - 1) / (2 * SQRT2 * sigma)) / 2
          - (1 - q)
          * erfc((2 * z * sigma**2 + 1) / (2 * SQRT2 * sigma))
          / 2
          + 1.0,
          0.0,
      )
  
imports: from dataclasses import dataclass
  from typing import Tuple
  import numpy
  from scipy import integrate
  from scipy.special import erfc
  from ..rdp import _compute_rdp
  from .domain import Domain
label_desc: Use image node_id 3 for calling the PoissonSubsampledGaussianPRV obj's underlying member method code with example usage: obj.cdf(t) and returns: np