parameters: (self, k, M, n, N)
return_statement: return np.asarray(res)
docstring: More precise calculation than log(sf)
docstring_summary: More precise calculation than log(sf)
docstring_tokens: More precise calculation than log ( sf )
function: def _logsf(self, k, M, n, N):
          """
          More precise calculation than log(sf)
          """
          res = []
          for quant, tot, good, draw in zip(k, M, n, N):
              # Integration over probability mass function using logsumexp
              k2 = np.arange(quant + 1, draw + 1)
              res.append(logsumexp(self._logpmf(k2, tot, good, draw)))
          return np.asarray(res)
function_tokens: def _logsf ( self , k , M , n , N ) : res = [ ] for quant , tot , good , draw in zip ( k , M , n , N ) : # Integration over probability mass function using logsumexp k2 = np . arange ( quant + 1 , draw + 1 ) res . append ( logsumexp ( self . _logpmf ( k2 , tot , good , draw ) ) ) return np . asarray ( res )