class_docstr: Stirling numbers of the first kind
      
class_docstr_tok: ["Stirling","numbers","of","the","first","kind"]
code: def __call__(self, n, k):
      key = str(n) + "," + str(k)
  
      if key in self._cache.keys():
          return self._cache[key]
      if n == k == 0:
          return 1
      if n > 0 and k == 0:
          return 0
      if k > n:
          return 0
      result = sterling1(n - 1, k - 1) + (n - 1) * sterling1(n - 1, k)
      self._cache[key] = result
      return result
  
file_path: statsmodels/statsmodels/distributions/copula/_special.py
imports: import numpy
  from scipy.special import factorial
label_desc: Use image node_id 2 for calling the Sterling1 obj's underlying member method code with example usage: obj.__call__(n, k) and returns: result, self, int, int, int