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

Dave Abrahams dabrahams at apple.com
Thu Jul 7 10:44:06 CDT 2016


Small correction: actually the no-argument cases don't need to be declared as requirements in the protocol. 

Sent from my moss-covered three-handled family gradunza

> On Jul 6, 2016, at 8:46 PM, Chris Lattner <clattner at apple.com> wrote:
> 
> Proposal Link: https://github.com/apple/swift-evolution/blob/master/proposals/0113-rounding-functions-on-floatingpoint.md
> 
> The review of "SE-0113: Add integral rounding functions to FloatingPoint " ran from June 30 ... July 5, 2016. The proposal has been *accepted*:
> 
> The community and core team agree that this proposal helps to “round out" the other Swift 3 numerics work.  One minor revision is necessary to make the proposal implementable in Swift 3.  Since protocol requirements cannot currently have default arguments, the desired behavior should be achieved with two overloads of each operation:
> 
> protocol FloatingPoint {
>  ...
>  /// Returns a rounded representation of `self`, according to the specified rounding rule.
>  func rounded() -> Self
>  func rounded(_ rule: RoundingRule) -> Self
> 
>  /// Mutating form of `rounded`.
>  mutating func round()
>  mutating func round(_ rule: RoundingRule)
> }
> 
> Where the no argument cases can be implemented with a protocol extension that forwards to the single-argument versions.
> 
> Thank you to Karl Wagner for driving this discussion forward!  I filed SR-2010 to track implementation work on this.
> 
> -Chris Lattner
> Review Manager
> 
> _______________________________________________
> swift-evolution-announce mailing list
> swift-evolution-announce at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution-announce


More information about the swift-evolution mailing list