std:: asin, std:: asinf, std:: asinl
|
Definiert in Header
<cmath>
|
||
| (1) | ||
|
float
asin
(
float
num
)
;
double
asin
(
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
>
|
(S) | (seit C++26) |
|
Zusätzliche Überladungen
(seit C++11)
|
||
|
Definiert in Header
<cmath>
|
||
|
template
<
class
Integer
>
double asin ( Integer num ) ; |
(A) | (constexpr seit C++26) |
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.
|
(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 |
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) |
|
(C++11)
|
berechnet den Arkussinus einer komplexen Zahl (
arcsin(z)
)
(Funktionsschablone) |
|
wendet die Funktion
std::asin
auf jedes Element des Valarray an
(Funktionsschablone) |
|
|
C-Dokumentation
für
asin
|
|