2015-06-30 29 views
7

Ho cercato di capire come trovare a livello di codice una radice quadrata di un numero in Swift. Sto cercando il modo più semplice per realizzare con il minimo codice necessario. Ora questo è probabilmente abbastanza facile da realizzare, ma non riesco a capire un modo per farlo.Il modo più semplice per trovare la radice quadrata in Swift?

Qualsiasi input o suggerimento sarebbe molto apprezzato.

Grazie in anticipo

+7

possibile duplicato di [Funzioni matematiche in Swift] (http://stackoverflow.com/questions/24012511/mathematical-functions-in-swift) – Evorlor

risposta

1

funzione sqrt per esempio sqrt(4.0)

7

noti che sqrt() richiede l'importazione di almeno uno di:

  • UIKit
  • cacao
    • Puoi semplicemente importare Darwin invece del pieno Cocoa
  • Fondazione
16

In Swift 3, il protocollo FloatingPoint sembra avere un metodo squareRoot(). Entrambi Float e Double sono conformi al protocollo FloatingPoint. Quindi:

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

è semplice come si ottiene.

Il codice generato sottostante deve essere una singola istruzione macchina x86, non saltare l'indirizzo di una funzione e quindi tornare perché questo si traduce in un LLVM integrato nel codice intermedio. Quindi, questo dovrebbe essere più veloce piuttosto che richiamare la funzione sqrt della libreria C, che in realtà è una funzione e non solo una macro per il codice assembly.

In Swift 3, è necessario non per importare qualsiasi cosa per far funzionare questo.

+1

per favore, controlla la tua sintassi, il tuo codice di esempio NON è in Swift :-) – user3441734

+1

UIKit sqrt (Double) –

+0

Ottima risposta! Dovrebbe essere collegato come miglior risposta. –