fetestexcept
Belirtilen kayan nokta özel durum bayraklarından hangilerinin şu anda ayarlandığını belirler.
Sözdizimi
int fetestexcept(
int excepts
);
Parametreler
excepts
Test etmek için kayan nokta durum bayraklarının bit düzeyinde VEYA değeri.
Dönüş değeri
Başarılı olduğunda, şu anda ayarlanmış özel durum bayraklarına karşılık gelen kayan nokta özel durum makrolarının bit düzeyinde OR içeren bir bit maskesi döndürür. Özel durumlardan hiçbiri ayarlanmadıysa 0 döndürür.
Açıklamalar
Kayan nokta işlemi tarafından tetiklenen özel durumları belirlemek için fetestexcept işlevini kullanın. Test etmek excepts
için hangi özel durum durum bayraklarını belirtmek için parametresini kullanın. işlevi, fetestexcept
içinde fenv.h> excepts
dosyasında <tanımlanan şu özel durum makrolarını ve dönüş değerini kullanır:
Ö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. |
Belirtilen excepts
bağımsız değişken 0, desteklenen kayan nokta özel durum makrolarından biri veya iki veya daha fazla makronun bit düzeyinde VEYA olabilir. Diğer excepts
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 |
---|---|---|
fetestexcept |
<fenv.h> | <cfenv> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.