       props = @toString_properties
       params_str = ("#{key}=#{repr(this[key])}" for key in props).join(", ")
       return "#{class_name}(#{params_str})"
-  
+
   class SingleIntervalScale extends AbstractScale
     constructor: (@interval) ->
       super(['interval'])

      best_mantissa = candidate_mantissas[argsort(errors)[0]]

      interval = best_mantissa * ideal_magnitude
        
      return interval

  # TODO (bev) restore memoization

      intervals = [@min_intervals[scale_ixs[0]], @max_intervals[scale_ixs[1]]]
      errors = intervals.map((interval) ->
        return Math.abs(DESIRED_N_TICKS - (data_range / interval)))

      best_scale_ix = scale_ixs[argmin(errors)]
      best_scale = @scales[best_scale_ix]

