Sous-routine quantized32, quantized64ou quantized128

Objectif

Définit l'exposant du premier paramètre à l'exposant du second paramètre, en tentant de conserver la même valeur.

Syntaxe

#include <math.h>

_Decimal32 quantized32 (x, y)
_Decimal32 x;
_Decimal32 y;

_Decimal64 quantized64 (x, y)
_Decimal64 x;
_Decimal64 y;

_Decimal128 quantized128 (x, y)
_Decimal128 x;
_Decimal128 y;

Descriptif

Les sous-programmes quantized32, quantized64et quantized128 ont défini l'exposant du paramètre X sur l'exposant du paramètre Y , tout en tentant de conserver la même valeur du paramètre X . Si l'exposant est augmenté, la valeur est correctement arrondissait en fonction du mode d'arrondi en cours ; si le résultat n'a pas la même valeur que celle du paramètre X , l'exception floating-point inexacte est élevée. Si l'exposant est réduit et que le significande du résultat comporte plus de chiffres que le type ne le permet, le résultat est NaN et l'exception en virgule flottante invalid est émise.

Si l'un ou les deux opérandes sont NaN, le résultat est NaN. Si un seul opérande est infini, le résultat est NaN et l'exception à virgule flottante invalid est levée. Si les deux opérandes sont infinis, le résultat est DEC_INFINITY et le signe est identique à celui du paramètre X .

Une vérification d'application pour les situations d'erreur doit définir la valeur de la variable globale Errno sur zéro et appeler la sous-routine Feclearexcept (FE_ALL_EXCEPT) avant d'appeler ces sous-routines. En retour, si la valeur de la variable globale Errno est différente de zéro ou si la valeur de retour de la sous-routine Fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) est différente de zéro, une erreur s'est produite.

Paramètres

Tableau 1. Paramètres
Article Descriptif
x Indique la valeur à calculer.
y Indique la valeur à calculer.

Valeurs renvoyées

Les sous-programmes quantized32, quantized64et quantized128 renvoient le nombre qui est égal au paramètre X dans la valeur (à l'exception de n'importe quel arrondi) et le signe et possède un exposant égal à celui du paramètre Y .