code: def constant_hop_timebase(hop, end_time):
      
      # Compute new timebase.  Rounding/linspace is to avoid float problems.
      end_time = np.round(end_time, 10)
      times = np.linspace(0, hop*int(np.floor(end_time/hop)),
                          int(np.floor(end_time/hop)) + 1)
      times = np.round(times, 10)
      return times
docs: Generates a time series from 0 to ``end_time`` with times spaced ``hop``
      apart
  
      Parameters
      ----------
      hop : float
          Spacing of samples in the time series
      end_time : float
          Time series will span ``[0, end_time]``
  
      Returns
      -------
      times : np.ndarray
          Generated timebase