fdim
, , fdimf
fdiml
Определяет положительную разность между первым и вторым значениями.
Синтаксис
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 , , fdimf fdiml |
<math.h> | <cmath> |
fdim Макрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
См. также
Справочник по алфавитной функции
fmax
, , fmaxf
fmaxl
abs
, , labs
llabs
_abs64