std::fegetround, std::fesetround

< cpp‎ | numeric‎ | fenv

Bibliothèque Numerics
Fonctions mathématiques courantes
Virgule flottante environnement
Nombres complexes
Tableaux numériques
La génération de nombres pseudo-aléatoires
Moment de la compilation arithmétique rationnelle (C++11)
Génériques des opérations numériques
Original:
Generic numeric operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 iota (C++11)
 accumulate
 inner_product
 partial_sum

Virgule flottante environnement
Fonctions
Original:
Functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 feclearexcept (C++11)
 fetestexcept (C++11)
 feraiseexcept (C++11)
 fegetexceptflagfesetexceptflag (C++11) (C++11)
 fegetroundfesetround (C++11) (C++11)
 fegetenvfesetenv (C++11)
 feholdexcept (C++11)
 feupdateenv (C++11)
Macro constantes
Original:
Macro constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 FE_ALL_EXCEPTFE_DIVBYZEROFE_INEXACTFE_INVALIDFE_OVERFLOWFE_UNDERFLOW (C++11)
 FE_DOWNWARDFE_TONEARESTFE_TOWARDZEROFE_UPWARD (C++11)
 FE_DFL_ENV (C++11)

 Defined in header int fesetround( int round ) (1) (depuis C++11) int fegetround() (2) (depuis C++11)
1)
Tentatives pour établir la direction d'arrondi en virgule flottante égale à la `round` argument, qui devrait être l'un des macros flottant arrondi de points .
Original:
Attempts to establish the floating-point rounding direction equal to the argument `round`, which is expected to be one of the macros flottant arrondi de points.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
Retourne la valeur de la flotter macro arrondi point qui correspond à la direction d'approximation courante .
Original:
Returns the value of the flotter macro arrondi point that corresponds to the current rounding direction.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Sommaire

[modifier]Paramètres

 round - direction arrondissement, l'un des macros flottant arrondi de pointsOriginal: rounding direction, one of macros flottant arrondi de pointsThe text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions.

[modifier]Retourne la valeur

1)
0 en cas de succès, non nuls autrement .
Original:
0 on success, non-zero otherwise.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
2)
l'flotter macro arrondi point décrivant la direction d'approximation courante ou une valeur négative si la direction ne peut pas être déterminée
Original:
the flotter macro arrondi point describing the current rounding direction or a negative value if the direction cannot be determined
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[modifier]Exemple

```#include <cmath>
#include <cfenv>
#include <iostream>

int main()
{
#pragma STDC FENV_ACCESS ON
std::fesetround(FE_DOWNWARD);
std::cout << "rounding using FE_DOWNWARD: \n" << std::fixed
<< " 12.0 ->  " << std::nearbyint(12.0) << '\n'
<< " 12.1 ->  " << std::nearbyint(12.1) << '\n'
<< "-12.1 -> " << std::nearbyint(-12.1) << '\n'
<< " 12.5 ->  " << std::nearbyint(12.5) << '\n'
<< " 12.9 ->  " << std::nearbyint(12.9) << '\n'
<< "-12.9 -> " << std::nearbyint(-12.9) << '\n'
<< " 13.0 ->  " << std::nearbyint(13.0) << '\n';
std::fesetround(FE_TONEAREST);
std::cout << "rounding using FE_TONEAREST: \n"
<< " 12.0 ->  " << std::nearbyint(12.0) << '\n'
<< " 12.1 ->  " << std::nearbyint(12.1) << '\n'
<< "-12.1 -> " << std::nearbyint(-12.1) << '\n'
<< " 12.5 ->  " << std::nearbyint(12.5) << '\n'
<< " 12.9 ->  " << std::nearbyint(12.9) << '\n'
<< "-12.9 -> " << std::nearbyint(-12.9) << '\n'
<< " 13.0 ->  " << std::nearbyint(13.0) << '\n';
}```

Résultat :

```rounding using FE_DOWNWARD:
12.0 ->  12.000000
12.1 ->  12.000000
-12.1 -> -13.000000
12.5 ->  12.000000
12.9 ->  12.000000
-12.9 -> -13.000000
13.0 ->  13.000000
rounding using FE_TONEAREST:
12.0 ->  12.000000
12.1 ->  12.000000
-12.1 -> -12.000000
12.5 ->  12.000000
12.9 ->  13.000000
-12.9 -> -13.000000
13.0 ->  13.000000```

[modifier]Voir aussi

 nearbyint (C++11) entier le plus proche en utilisant le mode d'arrondi courant Original: nearest integer using current rounding mode The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction)  rintlrintllrint (C++11) (C++11) (C++11) entier le plus proche en utilisant le mode d'arrondi courant à l'exception si le résultat est différent Original: nearest integer using current rounding mode with exception if the result differs The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction)