[ Web Proxy ]
URL:
Viewing: https://fr.cppreference.com/cpp/types/numeric_limits/tinyness_before [Back]  [Original]

std::numeric_limits::tinyness_before cppreference.com
cppreference.com
Espaces de noms
Variantes

std::numeric_limits::tinyness_before

De cppreference.com

<metanoindex/>

 
 
 
Soutien aux types fondamentaux
Les types de base
Original:
Basic types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Types fondamentaux
Fixe les types entiers largeur (C++11)
Limites numriques
Original:
Numeric limits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
numeric_limits
C numrique limite interface
Informations sur le type d'excution
Original:
Runtime type information
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Caractres de type
Original:
Type traits
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Catgories de type primaire
Original:
Primary type categories
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_void (C++11)
is_array (C++11)
is_pointer (C++11)
is_enum (C++11)
is_union (C++11)
is_class (C++11)
is_function (C++11)
is_object (C++11)
is_scalar (C++11)
is_compound (C++11)
is_integral (C++11)
is_floating_point (C++11)
is_fundamental (C++11)
is_arithmetic (C++11)
is_reference (C++11)
is_lvalue_reference (C++11)
is_rvalue_reference (C++11)
is_member_pointer (C++11)
is_member_object_pointer (C++11)
is_member_function_pointer (C++11)
Les proprits du type
Original:
Type properties
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_const (C++11)
is_volatile (C++11)
is_pod (C++11)
is_empty (C++11)
is_polymorphic (C++11)
is_abstract (C++11)
Oprations prises en charge
Original:
Supported operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_constructible
is_trivially_constructible
is_nothrow_constructible
(C++11)
(C++11)
(C++11)
is_default_constructible
is_trivially_default_constructible
is_nothrow_default_constructible
(C++11)
(C++11)
(C++11)
is_copy_constructible
is_trivially_copy_constructible
is_nothrow_copy_constructible
(C++11)
(C++11)
(C++11)
is_move_constructible
is_trivially_move_constructible
is_nothrow_move_constructible
(C++11)
(C++11)
(C++11)
is_assignable
is_trivially_assignable
is_nothrow_assignable
(C++11)
(C++11)
(C++11)
is_copy_assignable
is_trivially_copy_assignable
is_nothrow_copy_assignable
(C++11)
(C++11)
(C++11)
is_move_assignable
is_trivially_move_assignable
is_nothrow_move_assignable
(C++11)
(C++11)
(C++11)
is_destructible
is_trivially_destructible
is_nothrow_destructible
(C++11)
(C++11)
(C++11)
has_virtual_destructor (C++11)
Les relations et les requtes de proprit
Original:
Relationships and property queries
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
is_same (C++11)
is_base_of (C++11)
is_convertible (C++11)
alignment_of (C++11)
rank (C++11)
extent (C++11)
Modifications de type
Original:
Type modifications
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
remove_cv
remove_const
remove_volatile
(C++11)
(C++11)
(C++11)
add_cv
add_const
add_volatile
(C++11)
(C++11)
(C++11)
make_signed (C++11)
make_unsigned (C++11)
Transformations de type
Original:
Type transformations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
aligned_storage (C++11)
aligned_union (C++11)
decay (C++11)
enable_if (C++11)
conditional (C++11)
common_type (C++11)
underlying_type (C++11)
result_of (C++11)
Tapez constantes traits
Original:
Type trait constants
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
integral_constant (C++11)
 
std::numeric_limits
 
<tbody> </tbody>
static const bool tinyness_before
(avant C++11)
static constexpr bool tinyness_before
(depuis C++11)
La valeur de std::numeric_limits<T>::has_denorm_loss est true pour tous les types virgule flottante T que les rsultats des tests de virgule flottante expressions de dbordement avant arrondissement .
Original:
The value of std::numeric_limits<T>::has_denorm_loss is true for all floating-point types T that test results of floating-point expressions for underflow before rounding.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Spcialisations standard

T
valeur de std::numeric_limits<T>::tinyness_before
Original:
value of std::numeric_limits<T>::tinyness_before
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
/* non-specialized */ false
bool false
char false
signed char false
unsigned char false
wchar_t false
char16_t false
char32_t false
short false
unsigned short false
int false
unsigned int false
long false
unsigned long false
long long false
unsigned long long false
float
dfini par l'implmentation
Original:
implementation-defined
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
double
dfini par l'implmentation
Original:
implementation-defined
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
long double
dfini par l'implmentation
Original:
implementation-defined
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Notes

Conformes la norme IEEE 754 en virgule flottante implmentations peuvent dtecter le dpassement infrieur virgule flottante trois moments prdfinis:
Original:
Standard-compliant IEEE 754 floating-point implementations may detect the floating-point underflow at three predefined moments:
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

1)

aprs calcul d'un rsultat la valeur absolue plus petite que std::numeric_limits<T>::min(), cette mise en oeuvre dtecte tinyness avant arrondi (par exemple UltraSparc)
Original:
after computation of a result with absolute value smaller than std::numeric_limits<T>::min(), such implementation detects tinyness before rounding (e.g. UltraSparc)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

2)

aprs arrondi du rsultat de bits de std::numeric_limits<T>::digits, si le rsultat est minuscule, cette mise en uvre dtecte tinyness aprs arrondi (p. ex SPARC)
Original:
after rounding of the result to std::numeric_limits<T>::digits bits, if the result is tiny, such implementation detects tinyness after rounding (e.g. SuperSparc)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

3)

si la conversion du rsultat arrondi la forme minuscule infrieure la normale ont entran la perte de prcision, cette mise en uvre dtecte une perte denorm .
Original:
if the conversion of the rounded tiny result to subnormal form resulted in the loss of precision, such implementation detects denorm loss.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Exemple

La multiplication du plus grand nombre infrieur la normale par l'epsilon machine de numro un suprieur 1,0 donne la valeur minuscule 0x0.fffffffffffff8p-1022 avant d'arrondir, mais la valeur normale 1p-1022 aprs avoir contourn .
Original:
Multiplication of the largest subnormal number by the number one machine epsilon greater than 1.0 gives the tiny value 0x0.fffffffffffff8p-1022 before rounding, but normal value 1p-1022 after rounding.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

#include <iostream>
#include <limits>
#include <cmath>
#include <cfenv>
int main()
{
    double denorm_max = std::nextafter(std::numeric_limits<double>::min(), 0);
    double multiplier = 1 + std::numeric_limits<double>::epsilon();

    std::feclearexcept(FE_ALL_EXCEPT);

    double result = denorm_max*multiplier; // Underflow only if tinyness_before

    if(std::fetestexcept(FE_UNDERFLOW))
        std::cout << "Underflow detected\n";
    else if (std::fetestexcept(FE_INEXACT))
        std::cout << "Inexact result detected\n";

    std::cout << std::hexfloat << denorm_max << " x " << multiplier  <<  " = "
              << result << '\n';
}

Rsultat :

Inexact result detected
0x0.fffffffffffffp-1022 x 0x1.0000000000001p+0 = 0x1p-1022

Voir aussi

[
statique
Original:
static
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
]
identifie les types virgule flottante qui dtectent une perte de prcision que la perte de dnormalisation plutt que des rsultats inexacts
Original:
identifies the floating-point types that detect loss of precision as denormalization loss rather than inexact result
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante membre statique publique) [edit]
[
statique
Original:
static
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
]
identifie le style utilis par la dnormalisation du type virgule flottante
Original:
identifies the denormalization style used by the floating-point type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante membre statique publique) [edit]

Web Proxy Viewer  |  New URL  |  Original Page