fdim, , fdimffdiml

Определяет положительную разность между первым и вторым значениями.

Синтаксис

double fdim(
   double x,
   double y
);

float fdim(
   float x,
   float y
); //C++ only

long double fdim(
   long double x,
   long double y
); //C++ only

float fdimf(
   float x,
   float y
);

long double fdiml(
   long double x,
   long double y
);

#define fdim(X) // Requires C11 or higher

Параметры

x
Первое значение в вычитании.

y
Второе значение в вычитании.

Возвращаемое значение

Возвращает положительную разность между x и y:

Возвращаемое значение Сценарий
x-y если x>y
0 if x<= y

В случае неудачи может возвращать одну из следующих ошибок:

Проблема Возврат
Ошибка переполнения диапазона +HUGE_VAL, +HUGE_VALF или +HUGE_VALL
Ошибка недостаточного заполнения диапазона правильное значение (после округления)
x или y имеет значение NaN Не число

Ошибки сообщаются, как указано в _matherr.

Замечания

Поскольку C++ допускает перегрузки, можно вызывать перегрузки функции fdim, принимающие и возвращающие типы float и long double. В программе C, если вы не используете <макрос tgmath.h> для вызова этой функции, fdim всегда принимает и возвращает значение double.

Если вы используете <макрос tgmath.h>fdim() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".

За исключением обработки NaN, эта функция эквивалентна fmax(x - y, 0).

Требования

Function Заголовок C Заголовок C++
fdim, , fdimffdiml <math.h> <cmath>
fdimМакрос <tgmath.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Справочник по алфавитной функции
fmax, , fmaxffmaxl
abs, , labsllabs_abs64