[swift-evolution] [swift-evolution-announce] [Review] SE-0113: Add integral rounding functions to FloatingPoint

Stephen Canon scanon at apple.com
Fri Jul 1 12:26:07 CDT 2016


> On Jul 1, 2016, at 1:20 PM, Erica Sadun <erica at ericasadun.com> wrote:
> 
> 
>> On Jul 1, 2016, at 11:13 AM, Stephen Canon via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>> 
>>> On Jul 1, 2016, at 1:11 PM, Jordan Rose via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> [Proposal: https://github.com/apple/swift-evolution/blob/master/proposals/0113-rounding-functions-on-floatingpoint.md <https://github.com/apple/swift-evolution/blob/master/proposals/0113-rounding-functions-on-floatingpoint.md> ]
>>> 
>>> Just wondering, why no 'awayFromZero' case?
>> 
>> It’s not defined or required by IEEE 754.  The others are.  I wouldn’t be opposed to adding some other rounding modes, but the IEEE 754 set is as good as any as a starting point.
> 
> I'm  hearing a lot of "Wouldn't it be nice if"s, for items falling outside IEEE 754. Could we have a native Math module that offered such niceties under a separate umbrella proposal? Would it be too cluttery to allow things like Double.tau, etc via a Math.Double extension or however that might work?

I expect we will at some point in the future!

For constants specifically, while I would still want to keep them out of the top-level namespace on the types, I think it would make a lot of sense to have something like Double.Constant.xxx which could swallow pretty much anything that there’s a reasonable argument to justify.

We also wouldn’t want these to be a requirement of FloatingPoint, unless there were default implementations to *compute* all of them to full precision, to avoid placing too high of a burden on folks who want to conform to the protocol.

That would be pretty solidly in the “post swift 3” pile, however.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160701/5f4f2541/attachment.html>


More information about the swift-evolution mailing list