fmin, fminf, fminl
Определено в заголовочном файле <math.h> | ||
|---|---|---|
float fminf( float x, float y ); | (1) | (начиная с C99) |
double fmin( double x, double y ); | (2) | (начиная с C99) |
long double fminl( long double x, long double y ); | (3) | (начиная с C99) |
Определено в заголовочном файле <tgmath.h> | ||
#define fmin( x, y ) | (4) | (начиная с C99) |
1-3) Возвращает меньшее из двух аргументов с плавающей точкой, рассматривая NaN как отсутствующие данные (если один аргумент — NaN, а другой — числовое значение, выбирается числовое значение).
4) Обобщённый по типу макрос: если хотя бы один аргумент имеет тип
long double, вызывается fminl. В противном случае, если хотя бы один аргумент имеет целочисленный тип или тип double, вызывается fmin. В противном случае вызывается fminf.Параметры
| x, y | - | значения с плавающей точкой |
Возвращаемое значение
В случае успеха возвращает меньшее из двух значений с плавающей точкой. Возвращаемое значение является точным и не зависит от режимов округления.
Обработка ошибок
На эту функцию не распространяются условия ошибок, указанные в math_errhandling.
Если реализация поддерживает арифметику с плавающей точкой IEEE (IEC 60559),
- Если один из двух аргументов — NaN, возвращается значение другого аргумента
- Только если оба аргумента — NaN, возвращается NaN
Примечания
Эта функция не обязана учитывать знак нуля, хотя некоторые реализации дополнительно гарантируют, что если один аргумент равен +0, а другой — -0, то возвращается -0.
Пример
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("fmin(2,1) = %f\n", fmin(2, 1));
printf("fmin(-Inf,0) = %f\n", fmin(-INFINITY, 0));
printf("fmin(NaN,-1) = %f\n", fmin(NAN, -1));
}
Возможный вывод:
fmin(2,1) = 1.000000 fmin(-Inf,0) = -inf fmin(NaN,-1) = -1.000000
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.12.12.3 Функции fmin (стр.: TBD)
- 7.25 Обобщённая по типу математика <tgmath.h> (стр.: TBD)
- F.10.9.3 Функции fmin (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.12.12.3 Функции fmin (стр.: TBD)
- 7.25 Обобщённая по типу математика <tgmath.h> (стр.: TBD)
- F.10.9.3 Функции fmin (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12.12.3 Функции fmin (стр.: 258)
- 7.25 Обобщённая по типу математика <tgmath.h> (стр.: 373-375)
- F.10.9.3 Функции fmin (стр.: 530)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12.12.3 Функции fmin (стр.: 239)
- 7.22 Обобщённая по типу математика <tgmath.h> (стр.: 335-337)
- F.9.9.3 Функции fmin (стр.: 466)
См. также
|
(C99) | проверяет, меньше ли первый аргумент с плавающей точкой второго (макрос-функция) |
|
(C99)(C99)(C99) | определяет большее из двух значений с плавающей точкой (функция) |
Документация C++ для fmin |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/math/fmin