public protocol ElementaryFunctions
Typ, który ma dostępne funkcje elementarne.
„Funkcja elementarna” to funkcja zbudowana z potęg, pierwiastków, potęg wykładniczych, logarytmów, funkcji trygonometrycznych (sin, cos, tan) i ich odwrotności oraz funkcji hiperbolicznych (sinh, cosh, tanh) i ich odwrotności.
Zgodność z tym protokołem oznacza, że wszystkie te elementy konstrukcyjne są dostępne jako funkcje statyczne na typie.
let x: Float = 1
let y = Float.sin(x) // 0.84147096
Pierwiastek kwadratowy z
x
.W przypadku typów rzeczywistych, jeśli argument jest ujemny, wynikiem jest NaN lub wystąpi błąd warunku wstępnego. W przypadku typów złożonych funkcja ta ma rozgałęzienie przecięte wzdłuż ujemnej osi rzeczywistej.
Deklaracja
static func sqrt(_ x: Self) -> Self
Cosinus
x
.W przypadku typów rzeczywistych
x
jest interpretowane jako kąt mierzony w radianach.Deklaracja
static func cos(_ x: Self) -> Self
Sinus
x
.W przypadku typów rzeczywistych
x
jest interpretowane jako kąt mierzony w radianach.Deklaracja
static func sin(_ x: Self) -> Self
Tangens
x
.Deklaracja
static func tan(_ x: Self) -> Self
Funkcja acos.
Deklaracja
static func acos(_ x: Self) -> Self
Funkcja asina.
Deklaracja
static func asin(_ x: Self) -> Self
Funkcja atana.
Deklaracja
static func atan(_ x: Self) -> Self
Funkcja Cosha.
Deklaracja
static func cosh(_ x: Self) -> Self
Funkcja sinh.
Deklaracja
static func sinh(_ x: Self) -> Self
Funkcja tanha.
Deklaracja
static func tanh(_ x: Self) -> Self
Funkcja acosha.
Deklaracja
static func acosh(_ x: Self) -> Self
Funkcja asinha.
Deklaracja
static func asinh(_ x: Self) -> Self
Funkcja atana.
Deklaracja
static func atanh(_ x: Self) -> Self
Funkcja exp.
Deklaracja
static func exp(_ x: Self) -> Self
Funkcja exp2.
Deklaracja
static func exp2(_ x: Self) -> Self
Funkcja exp10.
Deklaracja
static func exp10(_ x: Self) -> Self
Funkcja expm1.
Deklaracja
static func expm1(_ x: Self) -> Self
Funkcja dziennika.
Deklaracja
static func log(_ x: Self) -> Self
Funkcja log2.
Deklaracja
static func log2(_ x: Self) -> Self
Funkcja log10.
Deklaracja
static func log10(_ x: Self) -> Self
Funkcja log1p.
Deklaracja
static func log1p(_ x: Self) -> Self
exp(y log(x))
obliczone bez utraty precyzji pośredniej.W przypadku typów rzeczywistych, jeśli
x
jest ujemne, wynikiem jest NaN, nawet jeśliy
ma wartość całkowitą. W przypadku typów złożonych następuje odcięcie gałęzi na ujemnej osi rzeczywistej.Deklaracja
static func pow(_ x: Self, _ y: Self) -> Self
x
podniesione don
tej potęgi.Deklaracja
static func pow(_ x: Self, _ n: Int) -> Self
n
-ty pierwiastek zx
.W przypadku typów rzeczywistych, jeśli
x
jest ujemne, an
parzyste, wynikiem jest NaN. W przypadku typów złożonych odgałęzienie jest wycinane wzdłuż ujemnej osi rzeczywistej.Deklaracja
static func root(_ x: Self, _ n: Int) -> Self