Spec-Zone.ru › C

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 <stdio.h>
#include <math.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

Ссылки

  • Стандарт 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)

См. также

isless
(C99)
проверяет, меньше ли первый аргумент с плавающей запятой второго
(функциональная макрос)
fmaxfmaxffmaxl
(C99)(C99)(C99)
определяет большее из двух значений с плавающей запятой
(функция)
Документация C++ для fmin

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/math/fmin

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API