[swift-evolution] Add max/min to floating point types

Darren Mo darren.mo at me.com
Sun Jun 12 22:59:36 CDT 2016


> On Jun 12, 2016, at 11:35 PM, Stephen Canon <scanon at apple.com> wrote:
> 
> 
>> On Jun 10, 2016, at 5:20 PM, Darren Mo <darren.mo at me.com <mailto:darren.mo at me.com>> wrote:
>> 
>>> – They’re not actually the maximum and minimum values of the type.  In particular, that `max(Float.infinity, .max)` wouldn’t be `Float.max` is pretty seriously confusing.
>> 
>> Infinity is a special value. I would argue that people who use infinity know exactly what they are doing and would not be thrown by Float.infinity being greater than Float.max. I am willing to bet that most regular users don’t even know that infinity can be represented since it is rarely needed in real-world usage.
> 
> For clarity, what use cases do you have in mind where the largest finite value is more appropriate than infinity?

That… is a very good question.

My main use case was laying out fixed-width text. In the Objective-C days, I would use CGFLOAT_MAX. I guess when I started to write the same code in Swift, I didn’t stop to think about whether there was a better value. Now thanks to you, I see that CGFloat.infinity is the clearest and most appropriate value.

Proposal cancelled. Thanks! ☺️
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160612/0b2dad73/attachment.html>


More information about the swift-evolution mailing list