std:: acos, std:: acosf, std:: acosl
|
Definiert in Header
<cmath>
|
||
| (1) | ||
|
float
acos
(
float
num
)
;
double
acos
(
double
num
)
;
|
(bis C++23) | |
|
/*floating-point-type*/
acos ( /*floating-point-type*/ num ) ; |
(seit C++23)
(constexpr seit C++26) |
|
|
float
acosf
(
float
num
)
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
|
long
double
acosl
(
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 acos ( Integer num ) ; |
(A) | (constexpr seit C++26) |
std::acos
für alle cv-unqualifizierten Gleitkommatypen als Typ des Parameters an.
(since C++23)
|
S)
Die SIMD-Überladung führt eine elementweise
std::acos
auf
v_num
aus.
|
(since 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
Wenn keine Fehler auftreten, wird der Arkuskosinus von num ( arccos(num) ) im Bereich [0, π] zurückgegeben.
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
+1
ist, wird der Wert
+0zurückgegeben. - Wenn |num| > 1 ist, 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 :: acos ( num ) die gleiche Wirkung hat wie std :: acos ( static_cast < double > ( num ) ) .
Beispiel
#include <cerrno> #include <cfenv> #include <cmath> #include <cstring> #include <iostream> // #pragma STDC FENV_ACCESS ON int main() { std::cout << "acos(-1) = " << std::acos(-1) << '\n' << "acos(0.0) = " << std::acos(0.0) << '\n' << "2*acos(0.0) = " << 2 * std::acos(0) << '\n' << "acos(0.5) = " << std::acos(0.5) << '\n' << "3*acos(0.5) = " << 3 * std::acos(0.5) << '\n' << "acos(1) = " << std::acos(1) << '\n'; // Fehlerbehandlung errno = 0; std::feclearexcept(FE_ALL_EXCEPT); std::cout << "acos(1.1) = " << std::acos(1.1) << '\n'; if (errno == EDOM) std::cout << " errno == EDOM: " << std::strerror(errno) << '\n'; if (std::fetestexcept(FE_INVALID)) std::cout << " FE_INVALID ausgelöst" << '\n'; }
Ausgabe:
acos(-1) = 3.14159
acos(0.0) = 1.5708
2*acos(0.0) = 3.14159
acos(0.5) = 1.0472
3*acos(0.5) = 3.14159
acos(1) = 0
acos(1.1) = nan
errno == EDOM: Numerical argument out of domain
FE_INVALID ausgelöst
Siehe auch
|
(C++11)
(C++11)
|
berechnet den Arkussinus (
arcsin(x)
)
(Funktion) |
|
(C++11)
(C++11)
|
berechnet den Arkustangens (
arctan(x)
)
(Funktion) |
|
(C++11)
(C++11)
|
Arkustangens unter Verwendung von Vorzeichen zur Bestimmung der Quadranten
(Funktion) |
|
(C++11)
(C++11)
|
berechnet den Kosinus (
cos(x)
)
(Funktion) |
|
(C++11)
|
berechnet den Arkuskosinus einer komplexen Zahl (
arccos(z)
)
(Funktions-Template) |
|
wendet die Funktion
std::acos
auf jedes Element des valarray an
(Funktions-Template) |
|
|
C-Dokumentation
für
acos
|
|