fesetexceptflag

Geçerli kayan nokta ortamında belirtilen kayan nokta durum bayraklarını ayarlar.

Sözdizimi

int fesetexceptflag(
     const fexcept_t *pstatus,
     int excepts
);

Parametreler

pstatus
Özel durum bayraklarının ayarlanacağı değerleri içeren nesne fexcept_t işaretçisi. nesnesi önceki bir çağrısı fegetexceptflagtarafından ayarlanabilir.

excepts
Kayan nokta özel durum durumu, ayarlanacağı şekilde işaretlenir.

Dönüş değeri

Belirtilen tüm özel durum bayrakları başarıyla ayarlanırsa, 0 döndürür. Aksi takdirde sıfır olmayan bir değer döndürür.

Açıklamalar

işlevi, fesetexceptflag tarafından excepts belirtilen kayan nokta özel durum bayraklarının durumunu, tarafından işaret edilen nesnede fexcept_t ayarlanan karşılık gelen değerlere pstatusayarlar. Özel durumları tetiklemiyor. İşaretçi pstatus geçerli fexcept_t bir nesneye işaret etmelidir veya sonraki davranış tanımlanmamıştır. fesetexceptflag işlevi, içinde fenv.h> içinde <tanımlanan şu özel durum makro değerlerini exceptsdestekler:

Özel Durum Makro Açıklama
FE_DIVBYZERO Daha önceki bir kayan nokta işleminde tekillik veya kutup hatası oluştu; bir sonsuzluk değeri oluşturuldu.
FE_INEXACT İşlev, önceki bir kayan nokta işleminin depolanan sonucunu yuvarlatmaya zorlandı.
FE_INVALID Önceki kayan nokta işleminde bir etki alanı hatası oluştu.
FE_OVERFLOW Bir aralık hatası oluştu; Önceki kayan noktalı işlem sonucu temsil edilemeyecek kadar büyükdü.
FE_UNDERFLOW Önceki kayan noktalı işlem sonucu, tam duyarlıkla temsil edilemeyecek kadar küçüktür; bir normal dışı değer oluşturuldu.
FE_ALL_EXCEPT Desteklenen tüm kayan nokta özel durumlarının bit düzeyinde OR değeri.

excepts Bağımsız değişken sıfır, desteklenen kayan nokta özel durum makrolarından biri veya iki veya daha fazla makronun bit düzeyinde VEYA olabilir. Diğer bağımsız değişken değerlerinin etkisi tanımlanmamıştır.

Bu işlevi kullanmak için çağrıdan önce yönergesini kullanarak erişimi engelleyebilecek kayan #pragma fenv_access(on) nokta iyileştirmelerini kapatmanız gerekir. Daha fazla bilgi için bkz. fenv_access.

Gereksinimler

İşlev C üst bilgisi C++ üst bilgisi
fesetexceptflag <fenv.h> <cfenv>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Ayrıca bkz.

Alfabetik işlev başvurusu
fegetexceptflag