Самый простой способ найти квадратный корень в Swift?

Я пытался выяснить, как программно найти квадратный корень из числа в Swift. Я ищу простейший возможный способ выполнить с помощью небольшого кода. Я сейчас, вероятно, довольно легко выполнить, но не могу понять, как это сделать.

Приветствуются любые материалы или предложения.

Заранее спасибо

Ответ 1

В Swift 3 протокол FloatingPoint имеет метод squareRoot(). Оба Float и Double соответствуют протоколу FloatingPoint. Итак:

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

примерно так же просто, как и он.

В основе сгенерированного кода должна быть одна машинная инструкция x86, без перехода на адрес функции, а затем возврат, потому что это переводится в LLVM, встроенный в промежуточный код. Таким образом, это должно быть быстрее, чем вызов функции библиотеки C sqrt, которая действительно является функцией, а не только макросом для кода сборки.

В Swift 3 вам не нужно ничего импортировать, чтобы сделать эту работу.

Ответ 2

Обратите внимание, что sqrt() потребует импорта хотя бы одного из:

  • UIKit
  • Cocoa
    • Вы можете просто импортировать Дарвина вместо полного Cocoa
  • Фонд

Ответ 3

Первый импорт import UIKit

let result = sqrt(25) // equals to 5

Тогда ваш результат должен быть в переменной "result"

Ответ 4

Функция sqrt, например sqrt(4.0)

Ответ 5

это должно работать для любого рута, 2 - , но вам, вероятно, все равно:

func root(input: Double, base: Int = 2) -> Double {
    var output = 0.0
    var add = 0.0
    while add < 16.0 {
        while pow(output, base) <= input {
            output += pow(10.0, (-1.0 * add))
        }
        output -= pow(10.0, (-1.0 * add))
        add += 1.0
    }
    return output + 0.0
}