@Appender(DiscreteModel.fit.__doc__)
def fit(self, start_params=None, method='bfgs', maxiter=35, full_output=1, disp=1, callback=None, cov_type='nonrobust', cov_kwds=None, use_t=None, **kwargs):
    if (start_params is None):
        offset = (getattr(self, 'offset', 0) + getattr(self, 'exposure', 0))
        if ((np.size(offset) == 1) and (offset == 0)):
            offset = None
        start_params = self._get_start_params()
    if (callback is None):
        callback = (lambda *x: x)
    mlefit = super(GenericZeroInflated, self).fit(start_params=start_params, maxiter=maxiter, disp=disp, method=method, full_output=full_output, callback=callback, **kwargs)
    zipfit = self.result_class(self, mlefit._results)
    result = self.result_class_wrapper(zipfit)
    if (cov_kwds is None):
        cov_kwds = {}
    result._get_robustcov_results(cov_type=cov_type, use_self=True, use_t=use_t, **cov_kwds)
    return result
@Appender(DiscreteModel.fit.__doc__)
def fit(self, start_params=None, method='bfgs', maxiter=35, full_output=1, disp=1, callback=None, cov_type='nonrobust', cov_kwds=None, use_t=None, **kwargs):
    if (start_params is None):
        offset = (getattr(self, 'offset', 0) + getattr(self, 'exposure', 0))
        if ((np.size(offset) == 1) and (offset == 0)):
            offset = None
        start_params = self._get_start_params()
    if (callback is None):
        callback = (lambda *x: x)
    mlefit = super(GenericZeroInflated, self).fit(start_params=start_params, maxiter=maxiter, disp=disp, method=method, full_output=full_output, callback=callback, **kwargs)
    zipfit = self.result_class(self, mlefit._results)
    result = self.result_class_wrapper(zipfit)
    if (cov_kwds is None):
        cov_kwds = {}
    result._get_robustcov_results(cov_type=cov_type, use_self=True, use_t=use_t, **cov_kwds)
    return result