code: def main():
      t0 = time()
      parser = ArgumentParser(
          description=__doc__, formatter_class=RawTextHelpFormatter
      )
      parser.add_argument(
          "action",
          type=int,
          choices=[1, 2, 3, 4],
          help="chose what expansion to precompute\n"
          "1 : Series for small a\n"
          "2 : Series for small a and small b\n"
          "3 : Asymptotic series for large x\n"
          "    This may take some time (>4h).\n"
          "4 : Fit optimal eps for integral representation.",
      )
      args = parser.parse_args()
  
      switch = {
          1: lambda: print(series_small_a()),
          2: lambda: print(series_small_a_small_b()),
          3: lambda: print(asymptotic_series()),
          4: lambda: print(optimal_epsilon_integral()),
      }
      switch.get(args.action, lambda: print("Invalid input."))()
      print("\n{:.1f} minutes elapsed.\n".format((time() - t0) / 60))
  
file_path: catboost/contrib/python/scipy/py3/scipy/special/_precompute/wright_bessel.py
imports: from argparse import ArgumentParser, RawTextHelpFormatter
  import numpy
  from scipy.integrate import quad
  from scipy.optimize import minimize_scalar, curve_fit
  from time import time
label_desc: Use image node_id 7 for calling a global function with example usage: main() without return types