code: def getArguments(names, local_dict=None, global_dict=None):
      
      call_frame = sys._getframe(2)
  
      clear_local_dict = False
      if local_dict is None:
          local_dict = call_frame.f_locals
          clear_local_dict = True
      try:
          frame_globals = call_frame.f_globals
          if global_dict is None:
              global_dict = frame_globals
  
          # If `call_frame` is the top frame of the interpreter we can't clear its 
          # `local_dict`, because it is actually the `global_dict`.
          clear_local_dict = clear_local_dict and not frame_globals is local_dict
  
          arguments = []
          for name in names:
              try:
                  a = local_dict[name]
              except KeyError:
                  a = global_dict[name]
              arguments.append(numpy.asarray(a))
      finally:
          # If we generated local_dict via an explicit reference to f_locals,
          # clear the dict to prevent creating extra ref counts in the caller's scope
          # See https://github.com/pydata/numexpr/issues/310
          if clear_local_dict:
              local_dict.clear()
  
      return arguments
docs: Get the arguments based on the names.