fdim, , fdimffdiml

Określa dodatnią różnicę między wartościami pierwszymi i drugimi.

Składnia

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

Parametry

x
Pierwsza wartość.

y
Druga wartość.

Wartość zwracana

Zwraca dodatnią różnicę między wartościami x i y:

Wartość zwracana Scenariusz
x-y Jeśli x>y
0 if x<= y

W przeciwnym razie może zwrócić jeden z następujących błędów:

Problem Powrót
Błąd zakresu przepełnienia +HUGE_VAL, +HUGE_VALF lub +HUGE_VALL
Błąd zakresu podpełnienia poprawna wartość (po zaokrągleniu)
x lub y ma wartość NaN NaN

Błędy są zgłaszane zgodnie z określonymi w pliku _matherr.

Uwagi

Ponieważ język C++ umożliwia przeciążenie, można wywołać przeciążenia tych operacji fdim , które przyjmują i zwracają float i long double typy. W programie języka C, chyba że używasz makra <tgmath.h> do wywołania tej funkcji, fdim zawsze przyjmuje i zwraca wartość double.

Jeśli używasz makra <tgmath.h>fdim() , typ argumentu określa, która wersja funkcji jest zaznaczona. Aby uzyskać szczegółowe informacje, zobacz Typy ogólne matematyczne .

Z wyjątkiem obsługi NaN ta funkcja jest równoważna fmax(x - y, 0).

Wymagania

Function Nagłówek języka C Nagłówek języka C++
fdim, , fdimffdiml <math.h> <cmath>
fdim Makro <tgmath.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Zobacz też

Odwołanie do funkcji alfabetycznej
fmax, , fmaxffmaxl
abs, , labs, , llabs_abs64