Could you give an example of this method’s usage? Surely your value is either
positive, negative or zero already, so this method doesn’t return anything more
useful.
In other words, anywhere that I might do this:
if myValue.sign > 0 { … }
I could just as easily do:
if myValue > 0 { … }
To the same end result surely? Unless I’m missing something it seems redundant.
If there is a use-case for this, would it make more sense to have the return
type as an enum with cases for Positive, Negative and Zero?
> On 22 May 2016, at 08:07, Adam Nemecek via swift-evolution
> <[email protected]> wrote:
>
> 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.
>
>
> _______________________________________________
> swift-evolution mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-evolution
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution