Whoops didn’t check that your example worked as well :D


-- 
Adrian Zubarev
Sent with Airmail

Am 22. Mai 2016 bei 10:27:17, Adrian Zubarev ([email protected]) 
schrieb:

This should do the trick:

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



-- 
Adrian Zubarev
Sent with Airmail

Am 22. Mai 2016 bei 09:08:37, Adam Nemecek via swift-evolution 
([email protected]) schrieb:

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

Reply via email to