Funkcje elementarne

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śli y 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 do n tej potęgi.

    Deklaracja

    static func pow(_ x: Self, _ n: Int) -> Self
  • n ty pierwiastek z x .

    W przypadku typów rzeczywistych, jeśli x jest ujemne, a n 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