fesetexceptflag
Ustawia określone flagi stanu zmiennoprzecinkowe w bieżącym środowisku zmiennoprzecinkowa.
Składnia
int fesetexceptflag(
const fexcept_t *pstatus,
int excepts
);
Parametry
pstatus
Wskaźnik do fexcept_t
obiektu zawierającego wartości, aby ustawić flagi stanu wyjątku na. Obiekt może zostać ustawiony przez poprzednie wywołanie metody fegetexceptflag
.
excepts
Flagi stanu wyjątków zmiennoprzecinkowych do ustawienia.
Wartość zwracana
Jeśli wszystkie określone flagi stanu wyjątku są ustawione pomyślnie, zwraca wartość 0. W przeciwnym razie zwraca wartość niezerową.
Uwagi
Funkcja fesetexceptflag
ustawia stan flag stanu wyjątku zmiennoprzecinkowego określony przez excepts
do odpowiednich wartości ustawionych w fexcept_t
obiekcie wskazywanym przez pstatus
wartość . Nie zgłasza wyjątków. Wskaźnik pstatus
musi wskazywać prawidłowy fexcept_t
obiekt lub kolejne zachowanie jest niezdefiniowane. Funkcja fesetexceptflag
obsługuje te wartości makr wyjątku w pliku excepts
zdefiniowanym 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++ |
---|---|---|
fesetexceptflag |
<fenv.h> | <cfenv> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.