fmax, fmaxf, fmaxl
From cppreference.net
Common mathematical functions
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<math.h>
|
||
|
float
fmaxf
(
float
x,
float
y
)
;
|
(1) | (начиная с C99) |
|
double
fmax
(
double
x,
double
y
)
;
|
(2) | (начиная с C99) |
|
long
double
fmaxl
(
long
double
x,
long
double
y
)
;
|
(3) | (начиная с C99) |
|
Определено в заголовочном файле
<tgmath.h>
|
||
|
#define fmax( x, y )
|
(4) | (начиная с C99) |
1-3)
Возвращает большее из двух аргументов с плавающей точкой, рассматривая NaN как отсутствующие данные (между NaN и числовым значением выбирается числовое значение).
4)
Макрос общего типа: Если любой аргумент имеет тип
long
double
,
fmaxl
вызывается. В противном случае, если любой аргумент имеет целочисленный тип или тип
double
,
fmax
вызывается. В противном случае,
fmaxf
вызывается.
Содержание |
Параметры
| x, y | - | значения с плавающей запятой |
Возвращаемое значение
В случае успеха возвращает большее из двух значений с плавающей точкой. Возвращаемое значение является точным и не зависит от каких-либо режимов округления.
Обработка ошибок
Эта функция не подвержена ни одному из условий ошибок, указанных в
math_errhandling
.
Если реализация поддерживает арифметику с плавающей запятой IEEE (IEC 60559),
- Если один из двух аргументов является NaN, возвращается значение другого аргумента.
- Только если оба аргумента являются NaN, возвращается NaN.
Примечания
Эта функция не обязана быть чувствительной к знаку нуля, хотя некоторые реализации дополнительно требуют, что если один аргумент равен +0, а другой -0, то возвращается +0.
Пример
Запустить этот код
Вывод:
fmax(2,1) = 2.000000 fmax(-Inf,0) = 0.000000 fmax(NaN,-1) = -1.000000
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.12.12.2 Функции fmax (стр.: TBD)
-
- 7.25 Обобщённая математика <tgmath.h> (стр.: TBD)
-
- F.10.9.2 Функции fmax (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.12.12.2 Функции fmax (стр. 188)
-
- 7.25 Обобщенная математика <tgmath.h> (стр. 397)
-
- F.10.9.2 Функции fmax (стр. 386)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.12.12.2 Функции fmax (стр. 257-258)
-
- 7.25 Обобщенная математика <tgmath.h> (стр. 373-375)
-
- F.10.9.2 Функции fmax (стр. 530)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.12.12.2 Функции fmax (стр. 238-239)
-
- 7.22 Обобщённая математика <tgmath.h> (стр. 335-337)
-
- F.9.9.2 Функции fmax (стр. 466)
Смотрите также
|
(C99)
|
проверяет, является ли первый аргумент с плавающей запятой больше второго
(макрос функции) |
|
(C99)
(C99)
(C99)
|
определяет меньшее из двух значений с плавающей запятой
(функция) |
|
C++ documentation
для
fmax
|
|