Namespaces
Variants

std:: asin, std:: asinf, std:: asinl

From cppreference.net
Common mathematical functions
Nearest integer floating point operations
(C++11)
(C++11)
(C++11) (C++11) (C++11)
Floating point manipulation functions
(C++11) (C++11)
(C++11)
(C++11)
Classification and comparison
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Types
(C++11)
(C++11)
(C++11)
Macro constants
Definiert in Header <cmath>
(1)
float asin ( float num ) ;

double asin ( double num ) ;

long double asin ( long double num ) ;
(bis C++23)
/*floating-point-type*/
asin ( /*floating-point-type*/ num ) ;
(seit C++23)
(constexpr seit C++26)
float asinf ( float num ) ;
(2) (seit C++11)
(constexpr seit C++26)
long double asinl ( long double num ) ;
(3) (seit C++11)
(constexpr seit C++26)
SIMD-Überladung (seit C++26)
Definiert in Header <simd>
template < /*math-floating-point*/ V >

constexpr /*deduced-simd-t*/ < V >

asin ( const V & v_num ) ;
(S) (seit C++26)
Definiert in Header <cmath>
template < class Integer >
double asin ( Integer num ) ;
(A) (constexpr seit C++26)
1-3) Berechnet den Hauptwert des Arkussinus von num . Die Bibliothek bietet Überladungen von std::asin für alle cv-unqualifizierten Gleitkommatypen als Typ des Parameters an. (since C++23)
S) Die SIMD-Überladung führt eine elementweise std::asin auf v_num aus.
(Siehe math-floating-point und deduced-simd-t für deren Definitionen.)
(seit C++26)
A) Zusätzliche Überladungen werden für alle Ganzzahltypen bereitgestellt, die als double behandelt werden.
(since C++11)

Inhaltsverzeichnis

Parameter

num - Gleitkomma- oder Ganzzahlwert

Rückgabewert

If no errors occur, the arc sine of num ( arcsin(num) ) in the range [-
π
2
, +
π
2
]
, is returned.

Wenn ein Domänenfehler auftritt, wird ein implementierungsdefinierter Wert zurückgegeben (NaN, sofern unterstützt).

Wenn ein Bereichsfehler aufgrund von Unterlauf auftritt, wird das korrekte Ergebnis (nach Rundung) zurückgegeben.

Fehlerbehandlung

Fehler werden gemeldet, wie in math_errhandling spezifiziert.

Ein Domänenfehler tritt auf, wenn num außerhalb des Bereichs [ - 1.0 , 1.0 ] liegt.

Wenn die Implementierung IEEE-Gleitkommaarithmetik (IEC 60559) unterstützt,

  • Wenn das Argument ±0 ist, wird es unverändert zurückgegeben.
  • Wenn |num| > 1 , tritt ein Domänenfehler auf und NaN wird zurückgegeben.
  • Wenn das Argument NaN ist, wird NaN zurückgegeben.

Hinweise

Die zusätzlichen Überladungen müssen nicht exakt wie (A) bereitgestellt werden. Sie müssen lediglich sicherstellen, dass für ihr Argument num vom Ganzzahltyp std :: asin ( num ) die gleiche Wirkung hat wie std :: asin ( static_cast < double > ( num ) ) .

Beispiel

#include <cerrno>
#include <cfenv>
#include <cmath>
#include <cstring>
#include <iostream>
// #pragma STDC FENV_ACCESS ON
int main()
{
    std::cout << "asin(1.0) = " << asin(1) << '\n'
              << "2*asin(1.0) = " << 2 * asin(1) << '\n'
              << "asin(-0.5) = " << asin(-0.5) << '\n'
              << "6*asin(-0.5) =" << 6 * asin(-0.5) << '\n';
    // special values
    std::cout << "asin(0.0) = " << asin(0) << " asin(-0.0)=" << asin(-0.0) << '\n';
    // error handling
    errno = 0;
    std::feclearexcept(FE_ALL_EXCEPT);
    std::cout << "asin(1.1) = " << asin(1.1) << '\n';
    if (errno == EDOM)
        std::cout << "    errno == EDOM: " << std::strerror(errno) << '\n';
    if (std::fetestexcept(FE_INVALID))
        std::cout << "    FE_INVALID raised" << '\n';
}

Mögliche Ausgabe:

asin(1.0) = 1.5708
2*asin(1.0) = 3.14159
asin(-0.5) = -0.523599
6*asin(-0.5) = -3.14159
asin(0.0) = 0 asin(-0.0)=-0
asin(1.1) = nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised

Siehe auch

(C++11) (C++11)
berechnet den Arkuskosinus ( arccos(x) )
(Funktion)
(C++11) (C++11)
berechnet den Arkustangens ( arctan(x) )
(Funktion)
(C++11) (C++11)
Arkustangens unter Verwendung von Vorzeichen zur Quadrantenbestimmung
(Funktion)
(C++11) (C++11)
berechnet den Sinus ( sin(x) )
(Funktion)
berechnet den Arkussinus einer komplexen Zahl ( arcsin(z) )
(Funktionsschablone)
wendet die Funktion std::asin auf jedes Element des Valarray an
(Funktionsschablone)