def _bessel_poly(n, reverse=False):
 if (abs(int(n)) != n):
  raise ValueError('Polynomial order must be a nonnegative integer')
 else:
  n = int(n)
 out = []
 for k in range((n + 1)):
  num = _falling_factorial(((2 * n) - k), n)
  den = ((2 ** (n - k)) * factorial(k, exact=True))
  out.append((num // den))
 if reverse:
  return out[::(-1)]
 else:
  return out

def _bessel_poly ( n , reverse = False ) : if ( abs ( int ( n ) ) != n ) : raise ValueError ( 'Polynomial order must be a nonnegative integer' ) else : n = int ( n ) out = [ ] for k in range ( ( n + 1 ) ) : num = _falling_factorial ( ( ( 2 * n ) - k ) , n ) den = ( ( 2 ** ( n - k ) ) * factorial ( k , exact = True ) ) out . append ( ( num // den ) ) if reverse : return out [ : : ( - 1 ) ] else : return out
return the coefficients of bessel polynomial of degree n if reverse is true .