fegetexceptflag
Przechowuje bieżący stan określonych flag wyjątków zmiennoprzecinkowych.
Składnia
int fegetexceptflag(
fexcept_t* pstatus,
int excepts
);
Parametry
pstatus
Wskaźnik do fexcept_t
obiektu, który zawiera bieżące wartości flag wyjątku określone przez excepts
.
excepts
Flagi wyjątków zmiennoprzecinkowych do przechowywania w programie pstatus
.
Wartość zwracana
Po powodzeniu zwraca wartość 0. W przeciwnym razie zwraca wartość inną niż zero.
Uwagi
Funkcja fegetexceptflag
przechowuje bieżący stan flag stanu wyjątków zmiennoprzecinkowych określonych przez excepts
obiekt fexcept_t
wskazywany przez pstatus
element . pstatus
musi wskazywać prawidłowy fexcept_t
obiekt lub kolejne zachowanie jest niezdefiniowane. Funkcja fegetexceptflag
obsługuje te makra wyjątków zdefiniowane w <pliku fenv.h>:
Makro wyjątku | opis |
---|---|
FE_DIVBYZERO |
Wystąpił błąd liczby pojedynczej lub bieguna we wcześniejszej operacji zmiennoprzecinkowej; utworzono wartość nieskończoności. |
FE_INEXACT |
Funkcja została zmuszona do zaokrąglenia przechowywanego wyniku wcześniejszej operacji zmiennoprzecinkowych. |
FE_INVALID |
Wystąpił błąd domeny we wcześniejszej operacji zmiennoprzecinkowej. |
FE_OVERFLOW |
Wystąpił błąd zakresu; wcześniejszy wynik operacji zmiennoprzecinkowych był zbyt duży, aby był reprezentowany. |
FE_UNDERFLOW |
Wcześniejszy wynik operacji zmiennoprzecinkowych był zbyt mały, aby był reprezentowany w pełnej precyzji; utworzono wartość denormalną. |
FE_ALL_EXCEPT |
Bitowe OR wszystkich obsługiwanych wyjątków zmiennoprzecinkowych. |
Argumentem excepts
może być zero, jedno z obsługiwanych makr wyjątków zmiennoprzecinkowych lub bitowe OR z co najmniej dwóch makr. Efekt każdej innej wartości argumentu jest niezdefiniowany.
Aby użyć tej funkcji, należy wyłączyć optymalizacje zmiennoprzecinkowe, które mogłyby uniemożliwić dostęp przy użyciu #pragma fenv_access(on)
dyrektywy przed wywołaniem. Aby uzyskać więcej informacji, zobacz fenv_access
.
Wymagania
Function | Nagłówek języka C | Nagłówek języka C++ |
---|---|---|
fegetexceptflag |
<fenv.h> | <cfenv> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.