atan, atanf, atanl
Определено в заголовочном файле <math.h> | ||
|---|---|---|
float atanf( float arg ); | (1) | (с C99) |
double atan( double arg ); | (2) | |
long double atanl( long double arg ); | (3) | (с C99) |
_Decimal32 atand32( _Decimal32 arg ); | (4) | (с C23) |
_Decimal64 atand64( _Decimal64 arg ); | (5) | (с C23) |
_Decimal128 atand128( _Decimal128 arg ); | (6) | (с C23) |
Определено в заголовочном файле <tgmath.h> | ||
#define atan( arg ) | (7) | (с C99) |
arg. long double, вызывается (3) (atanl). В противном случае, если аргумент имеет целочисленный тип или тип double, вызывается (2) (atan). В противном случае, вызывается (1) (atanf). Если аргумент является комплексным, макрос вызывает соответствующую комплексную функцию (catanf, catan, catanl).| Функции (4-6) объявляются только в том случае, если реализация предварительно определяет | (с C23) |
Параметры
| arg | - | значение с плавающей запятой |
Возвращаемое значение
Если ошибки не возникло, возвращается арктангенсarg (arctan(arg)) в диапазоне [−π/2 ; +π/2] радиан. Если возникает ошибка из-за подпотока, возвращается правильный результат (после округления).
Обработка ошибок
Ошибки сообщаются в соответствии с указаниями в math_errhandling.
Если реализация поддерживает арифметику с плавающей запятой IEEE (IEC 60559):
- если аргумент равен ±0, он возвращается без изменений;
- если аргумент равен +∞, возвращается +π/2;
- если аргумент равен -∞, возвращается -π/2;
- если аргумент равен NaN, возвращается NaN.
Примечания
POSIX предписывает, что в случае подпотока, arg возвращается без изменений, а если это не поддерживается, возвращается значение, определенное реализацией, не превышающее DBL_MIN, FLT_MIN, и LDBL_MIN.
Пример
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("atan(1) = %f, 4*atan(1)=%f\n", atan(1), 4 * atan(1));
// special values
printf("atan(Inf) = %f, 2*atan(Inf) = %f\n", atan(INFINITY), 2 * atan(INFINITY));
printf("atan(-0.0) = %+f, atan(+0.0) = %+f\n", atan(-0.0), atan(0));
}Вывод:
atan(1) = 0.785398, 4*atan(1)=3.141593 atan(Inf) = 1.570796, 2*atan(Inf) = 3.141593 atan(-0.0) = -0.000000, atan(+0.0) = +0.000000
Ссылки
- Стандарт C23 (ISO/IEC 9899:2023):
- 7.12.4.3 Функции atan (п: TBD)
- 7.25 Универсальная математика типа <tgmath.h> (п: TBD)
- F.10.1.3 Функции atan (п: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.12.4.3 Функции atan (п: 174)
- 7.25 Универсальная математика типа <tgmath.h> (п: 272-273)
- F.10.1.3 Функции atan (п: 378)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12.4.3 Функции atan (п: 238-239)
- 7.25 Универсальная математика типа <tgmath.h> (п: 373-375)
- F.10.1.3 Функции atan (п: 519)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12.4.3 Функции atan (п: 219)
- 7.22 Универсальная математика типа <tgmath.h> (п: 335-337)
- F.9.1.3 Функции atan (п: 456)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.5.2.3 Функция atan
См. также
|
(C99)(C99) | вычисляет арктангенс, используя знаки для определения квадрантов (функция) |
|
(C99)(C99) | вычисляет арксинус (\({\small\arcsin{x} }\)arcsin(x)) (функция) |
|
(C99)(C99) | вычисляет арккосинус (\({\small\arccos{x} }\)arccos(x)) (функция) |
|
(C99)(C99) | вычисляет тангенс (\({\small\tan{x} }\)tan(x)) (функция) |
|
(C99)(C99)(C99) | вычисляет комплексный арктангенс (функция) |
Документация C++ для atan |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/math/atan