C programlama dilindeki float değerlerle ilgili matematiksel işlemler yapmakta kullanılan bazı fonksiyon ve veri türü tanımlamaları C99 standartları ile birlikte standart kütüphaneye katılan fenv.h başlık dosyasında tanımlanmıştır.
Fonksiyonlar
Fonksiyon adı | Açıklama |
---|---|
feclearexcept (C99) |
int feclearexcept(int excepts); Tanımlanan float değer durum değerlerini temizler. |
fegetenv (C99) |
int fegetenv(fenv_t* envp); Geçerli float değer ortamının durum değerlerini bir yapı değişkenine kaydeder. |
fegetexceptflag (C99) |
int fegetexceptflag(fexcept_t* flagp, int excepts); Mevcut durum bayraklarını yükler. |
fegetround (C99) |
int fegetround(); Float değer aktif yuvarlama yöntemini okur. |
feholdexcept (C99) |
int feholdexcept(fenv_t* envp); Geçerli float değer ortamını kaydeder ve tüm istisnaları siler. |
feraiseexcept (C99) |
int feraiseexcept(int excepts); Float değer istisnası oluşturur. |
fesetenv (C99) |
int fesetenv(const fenv_t* envp); Float değer ortamının durum değerlerini bir yapı veri türü değişkeninden yükler. |
fesetexceptflag (C99) |
int fesetexceptflag(const fexcept_t* flagp, int excepts); Mevcut durum bayraklarını ayarlar. |
fesetround (C99) |
int fesetround(int round); Geçerli yuvarlama yönünü ayarlar. |
fetestexcept (C99) |
int fetestexcept(int excepts); Belirli istisnaların devreye girip girmediğini test eder. |
feupdateenv (C99) |
int feupdateenv(const fenv_t* envp); Float değer ortamını geri yükler, ancak mevcut istisnaları korur. |
Makro sabitler
Sabit grubu | Sabit adı | Açıklama | |
---|---|---|---|
İstisnalar (C99) | FE_INVALID | Geçersiz argüman istisnası | |
FE_DENORMAL | Normal | ||
FE_DIVBYZERO | Kutup hata istisnası | ||
FE_OVERFLOW | Aşırı akış aralığı hatası istisnası | ||
FE_UNDERFLOW | Düşük akış aralığı hatası istisnası | ||
FE_INEXACT | Hatalı sonuç istisnası | ||
FE_ALL_EXCEPT | Tüm istisnalar. | ||
Yuvarlama (C99) | FE_DOWNWARD | Aşağı yuvarlama | |
FE_TONEAREST | En yakın değere | ||
FE_TOWARDZERO | Sıfıra yuvarlama | ||
FE_UPWARD | Yukarı yuvarlama | ||
Tüm ortam (C99) | FE_DFL_ENV | Geçerli ortam | |
Pragma'lar (C99) | FENV_ACCESS | Float değer ortamına giriş |
Veriler
Veri türü adı | Değeri | Açıklama |
---|---|---|
fenv_t |
typedef struct { unsigned short __control_word; unsigned short __unused0; unsigned short __status_word; unsigned short __unused1; unsigned short __tag_word; unsigned short __unused2; unsigned int __ip_offset; unsigned short __ip_selector; unsigned short __opcode; unsigned int __data_offset; unsigned short __data_selector; unsigned short __unused3; unsigned int __mxcsr; } fenv_t; |
Float veri ortam veri türü (structure) |
fexcept_t |
typedef unsigned short |
Float veri ortam veri türü (unsigned short) |