Easiest way to find Square Root in Swift?

Bigfoot11 picture Bigfoot11 · Jun 30, 2015 · Viewed 33.2k times · Source

I have been trying to figure out how to programmatically find a square root of a number in Swift. I am looking for the simplest possible way to accomplish with as little code needed. I now this is probably fairly easy to accomplish, but can't figure out a way to do it.

Any input or suggestions would be greatly appreciated.

Thanks in advance

Answer

Paul Buis picture Paul Buis · Dec 1, 2016

In Swift 3, the FloatingPoint protocol appears to have a squareRoot() method. Both Float and Double conform to the FloatingPoint protocol. So:

let x = 4.0
let y = x.squareRoot()

is about as simple as it gets.

The underlying generated code should be a single x86 machine instruction, no jumping to the address of a function and then returning because this translates to an LLVM built-in in the intermediate code. So, this should be faster than invoking the C library's sqrt function, which really is a function and not just a macro for assembly code.

In Swift 3, you do not need to import anything to make this work.