[swift-evolution] [Pitch] Add the sign method to the SignedNumberType protocol.

Adam Nemecek adamnemecek at gmail.com
Sun May 22 02:07:51 CDT 2016


Howdy,
I think that the SignedNumberType should implement a method called sign
that will return -1 for negative numbers, 0 for 0 and 1 for positive
numbers. This is similar to the signum method in e.g. Java and similarly
called methods in other languages.

The implementation is fairly straight forward

extension SignedNumberType {
  var sign: Self {
    if self == 0 {
      return 0
    }
    else if self > 0 {
      return 1
    }
    return -1
  }
}

I was trying to implement is without branching by doing (x > 0) - (x < 0)
but I couldn't get the types right so I'm open to suggestions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160522/326b7ad2/attachment.html>


More information about the swift-evolution mailing list