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ı fegetexceptflag
tarafı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 pstatus
ayarlar. Ö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 excepts
destekler:
Ö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.