BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > C Programlama > C standart kütüphanesi > <fenv.h> (C99)

<fenv.h> (C99)

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)