original_docstring: 
      Compute arrays of Mie coefficients A and B for a sphere.
  
      This estimates the size of the arrays based on Wiscombe's formula. The length
      of the arrays is chosen so that the error when the series are summed is
      around 1e-6.
  
      Args:
          m: the complex index of refraction of the sphere
          x: the size parameter of the sphere
  
      Returns:
          An, Bn: arrays of Mie coefficents
      
docstring: Compute arrays of Mie coefficients A and B for a sphere.
  This estimates the size of the arrays based on Wiscombe's formula. The length
  of the arrays is chosen so that the error when the series are summed is
  around 1e-6.
docstring_tokens: Compute arrays of Mie coefficients A and B for a sphere . This estimates the size of the arrays based on Wiscombe ' s formula . The length of the arrays is chosen so that the error when the series are summed is around 1e - 6 .
code: def _mie_An_Bn(m, x):
      """
      Compute arrays of Mie coefficients A and B for a sphere.
  
      This estimates the size of the arrays based on Wiscombe's formula. The length
      of the arrays is chosen so that the error when the series are summed is
      around 1e-6.
  
      Args:
          m: the complex index of refraction of the sphere
          x: the size parameter of the sphere
  
      Returns:
          An, Bn: arrays of Mie coefficents
      """
      nstop = int(x + 4.05 * x**0.33333 + 2.0) + 1
  
      if m.real > 0.0:
          D = _D_calc(m, x, nstop + 1)
  
      a = np.zeros(nstop - 1, dtype=complex)
      b = np.zeros(nstop - 1, dtype=complex)
  
      psi_nm1 = np.sin(x)                   # nm1 = n-1 = 0
      psi_n = psi_nm1 / x - np.cos(x)       # n = 1
      xi_nm1 = complex(psi_nm1, np.cos(x))
      xi_n = complex(psi_n, np.cos(x) / x + np.sin(x))
  
      for n in range(1, nstop):
          if m.real == 0.0:
              a[n - 1] = (n * psi_n / x - psi_nm1) / (n * xi_n / x - xi_nm1)
              b[n - 1] = psi_n / xi_n
          else:
              temp = D[n] / m + n / x
              a[n - 1] = (temp * psi_n - psi_nm1) / (temp * xi_n - xi_nm1)
              temp = D[n] * m + n / x
              b[n - 1] = (temp * psi_n - psi_nm1) / (temp * xi_n - xi_nm1)
  
          xi = (2 * n + 1) * xi_n / x - xi_nm1
          xi_nm1 = xi_n
          xi_n = xi
          psi_nm1 = psi_n
          psi_n = xi_n.real
  
      return [a, b]
code_tokens: def _mie_An_Bn ( m , x ) : nstop = int ( x + 4.05 * x ** 0.33333 + 2.0 ) + 1 if m . real > 0.0 : D = _D_calc ( m , x , nstop + 1 ) a = np . zeros ( nstop - 1 , dtype = complex ) b = np . zeros ( nstop - 1 , dtype = complex ) psi_nm1 = np . sin ( x ) psi_n = psi_nm1 / x - np . cos ( x ) xi_nm1 = complex ( psi_nm1 , np . cos ( x ) ) xi_n = complex ( psi_n , np . cos ( x ) / x + np . sin ( x ) ) for n in range ( 1 , nstop ) : if m . real == 0.0 : a [ n - 1 ] = ( n * psi_n / x - psi_nm1 ) / ( n * xi_n / x - xi_nm1 ) b [ n - 1 ] = psi_n / xi_n else : temp = D [ n ] / m + n / x a [ n - 1 ] = ( temp * psi_n - psi_nm1 ) / ( temp * xi_n - xi_nm1 ) temp = D [ n ] * m + n / x b [ n - 1 ] = ( temp * psi_n - psi_nm1 ) / ( temp * xi_n - xi_nm1 ) xi = ( 2 * n + 1 ) * xi_n / x - xi_nm1 xi_nm1 = xi_n xi_n = xi psi_nm1 = psi_n psi_n = xi_n . real return [ a , b ]
short_docstring: Compute arrays of Mie coefficients A and B for a sphere.
short_docstring_tokens: Compute arrays of Mie coefficients A and B for a sphere .
comment: """
      Compute arrays of Mie coefficients A and B for a sphere.
  
      This estimates the size of the arrays based on Wiscombe's formula. The length
      of the arrays is chosen so that the error when the series are summed is
      around 1e-6.
  
      Args:
          m: the complex index of refraction of the sphere
          x: the size parameter of the sphere
  
      Returns:
          An, Bn: arrays of Mie coefficents
      """$SEP$# nm1 = n-1 = 0$SEP$# n = 1