Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 pstatuswartość . 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 exceptszdefiniowanym 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ść.