Standart C Programlama Dili


9.5. fenv.h: Kayan Noktalı Ortam

Bu dosya, kayan noktalı işlemler için mevcut gerçekleştirmedeki durum bayrakları ve kontrol modları gibi ihtiyaçları karşılayan kayan noktalı ortama erişim sağlamak için kullanılan makro, tip ve fonksiyonları tanımlar.

Tipler:

fenv_t      /* kayan noktalı ortamın tamamını içeren yapı tipi */
fexcept_t   /* durum bayrakları değişken tipi */

Ortama göre aşağıdaki makroların bazıları tanımlanır:

FE_DIVBYZERO
FE_INEXACT
FE_INVALID
FE_OVERFLOW
FE_UNDERFLOW
FE_ALL_EXCEPT
FE_DOWNWARD
FE_TONEAREST
FE_TOWARDZERO
FE_UPWARD
FE_DFL_ENV

Fonksiyonlar:

Kayan Nokta İstisnaları

int  feclearexcept(int i)
int  fegetexceptflag(fexcept_t * bg, int i)
int  feraiseexcept(int i)
int  fesetexceptflag(const fexcept_t * bg, int i)
int  fetestexcept(int i)

Yuvarlama

int  fegetround(void)
int  fesetround(int y)

Ortam

int  fegetenv(fenv_t * og)
int  feholdexcept(fenv_t * og)
int  fesetenv(const fenv_t * og)
int  feupdateenv(const fenv_t * og)

Not: FENV_ACCESS pragması, bir programın kayan nokta durum bayraklarını test etmek için kayan noktalı ortama erişebileceğini veya varsayılmayan kayan nokta kontrol modları altında çalışabileceğini derleyiciye belirtmek için bir yol sağlar.