fdim
, fdimf
, fdiml
birinci ve ikinci değerler arasındaki pozitif farkı belirler.
Sözdizimi
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
Parametreler
x
İlk değer.
y
İkinci değer.
Dönüş değeri
ile y
arasındaki x
pozitif farkı verir:
Dönüş değeri | Senaryo |
---|---|
x-y |
eğer x >y |
0 | if x <= y |
Aksi takdirde, aşağıdaki hatalardan birini döndürebilir:
Sorun | İade |
---|---|
Taşma aralığı hatası | +HUGE_VAL, +HUGE_VALF veya +HUGE_VALL |
Yetersiz akış aralığı hatası | doğru değer (yuvarlamadan sonra) |
x veya y NaN |
NaN |
Hatalar içinde _matherr
belirtildiği gibi bildirilir.
Açıklamalar
C++ aşırı yüklemeye izin verdiğinden, bu alma ve dönüş float
ile long double
türlerinin fdim
aşırı yüklemelerini çağırabilirsiniz. C programında, bu işlevi çağırmak için tgmath.h makrosunu <kullanmıyorsanız, fdim
her zaman bir double
alır ve döndürür.>
tgmath.h>fdim()
makroyu <kullanırsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .
NaN işlemesi dışında, bu işlev ile fmax(x - y, 0)
eşdeğerdir.
Gereksinimler
İşlev | C üst bilgisi | C++ üst bilgisi |
---|---|---|
fdim , fdimf , fdiml |
<math.h> | <cmath> |
fdim Makro |
<tgmath.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Ayrıca bkz.
Alfabetik işlev başvurusu
fmax
, fmaxf
, fmaxl
abs
, labs
, llabs
, _abs64