code: def match(to_match, values, na_sentinel=-1):
      
      values = com.asarray_tuplesafe(values)
      htable, _, values, dtype, ndtype = _get_hashtable_algo(values)
      to_match, _, _ = _ensure_data(to_match, dtype)
      table = htable(min(len(to_match), 1000000))
      table.map_locations(values)
      result = table.lookup(to_match)
  
      if na_sentinel != -1:
  
          # replace but return a numpy array
          # use a Series because it handles dtype conversions properly
          from pandas import Series
          result = Series(result.ravel()).replace(-1, na_sentinel)
          result = result.values.reshape(result.shape)
  
      return result
docs: Compute locations of to_match into values
  
      Parameters
      ----------
      to_match : array-like
          values to find positions of
      values : array-like
          Unique set of values
      na_sentinel : int, default -1
          Value to mark "not found"
  
      Examples
      --------
  
      Returns
      -------
      match : ndarray of integers