type SeatSeconds … const MaxSeatSeconds … const MinSeatSeconds … // SeatsTimeDuration produces the SeatSeconds value for the given factors. // This is intended only to produce small values, increments in work // rather than amount of work done since process start. func SeatsTimesDuration(seats float64, duration time.Duration) SeatSeconds { … } // ToFloat converts to a floating-point representation. // This conversion may lose precision. func (ss SeatSeconds) ToFloat() float64 { … } // DurationPerSeat returns duration per seat. // This division may lose precision. func (ss SeatSeconds) DurationPerSeat(seats float64) time.Duration { … } // String converts to a string. // This is suitable for large as well as small values. func (ss SeatSeconds) String() string { … } const ssScale …