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

Chris Lattner clattner at apple.com
Wed Jul 6 22:46:19 CDT 2016


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



More information about the swift-evolution mailing list