# Copyright (C) 2001-2018, Python Software Foundation
# For licence information, see README file.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-05-22 23:13+0200\n"
"PO-Revision-Date: 2018-10-07 18:55+0200\n"
"Last-Translator: \n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"

#: library/decimal.rst:2
msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic"
msgstr ":mod:`decimal` — Arithmétique décimale en virgule fixe et flottante"

#: library/decimal.rst:15
msgid "**Source code:** :source:`Lib/decimal.py`"
msgstr "**Code source :** :source:`Lib/decimal.py`"

#: library/decimal.rst:33
msgid ""
"The :mod:`decimal` module provides support for fast correctly-rounded "
"decimal floating point arithmetic. It offers several advantages over the :"
"class:`float` datatype:"
msgstr ""
"Le module :mod:`decimal` fournit une arithmétique en virgule flottante "
"rapide et produisant des arrondis mathématiquement corrects. Il possède "
"plusieurs avantages en comparaison au type :class:`float` :"

#: library/decimal.rst:37
msgid ""
"Decimal \"is based on a floating-point model which was designed with people "
"in mind, and necessarily has a paramount guiding principle -- computers must "
"provide an arithmetic that works in the same way as the arithmetic that "
"people learn at school.\" -- excerpt from the decimal arithmetic "
"specification."
msgstr ""
"Le module ``decimal`` « est basé sur un modèle en virgule flottante conçu "
"pour les humains, qui suit ce principe directeur : l'ordinateur doit fournir "
"un modèle de calcul qui fonctionne de la même manière que le calcul qu'on "
"apprend à l'école » -- extrait (traduit) de la spécification de "
"l'arithmétique décimale."

#: library/decimal.rst:42
msgid ""
"Decimal numbers can be represented exactly.  In contrast, numbers like :"
"const:`1.1` and :const:`2.2` do not have exact representations in binary "
"floating point. End users typically would not expect ``1.1 + 2.2`` to "
"display as :const:`3.3000000000000003` as it does with binary floating point."
msgstr ""
"Les nombres décimaux peuvent être représentés exactement en base décimale "
"flottante. En revanche, des nombres tels que :const:`1.1` ou :const:`1.2` "
"n'ont pas de représentation exacte en base binaire flottante. L'utilisateur "
"final ne s'attend typiquement pas à obtenir :const:`3.3000000000000003` "
"lorsqu'il saisit ``1.1 + 2.2``, ce qui se passe en arithmétique binaire à "
"virgule flottante."

#: library/decimal.rst:47
msgid ""
"The exactness carries over into arithmetic.  In decimal floating point, "
"``0.1 + 0.1 + 0.1 - 0.3`` is exactly equal to zero.  In binary floating "
"point, the result is :const:`5.5511151231257827e-017`.  While near to zero, "
"the differences prevent reliable equality testing and differences can "
"accumulate. For this reason, decimal is preferred in accounting applications "
"which have strict equality invariants."
msgstr ""
"Ces inexactitudes ont des conséquences en arithmétique. En base décimale à "
"virgule flottante, ``0.1 + 0.1 + 0.1 - 0.3`` est exactement égal à zéro. En "
"virgule flottante binaire, l'ordinateur l'évalue à :const:"
"`5.5511151231257827e-017`. Bien que très proche de zéro, cette différence "
"induit des erreurs lors des tests d'égalité, erreurs qui peuvent "
"s'accumuler. Pour ces raisons ``decimal`` est le module utilisé pour des "
"applications comptables ayant des contraintes strictes de fiabilité."

#: library/decimal.rst:54
msgid ""
"The decimal module incorporates a notion of significant places so that "
"``1.30 + 1.20`` is :const:`2.50`.  The trailing zero is kept to indicate "
"significance. This is the customary presentation for monetary applications. "
"For multiplication, the \"schoolbook\" approach uses all the figures in the "
"multiplicands.  For instance, ``1.3 * 1.2`` gives :const:`1.56` while ``1.30 "
"* 1.20`` gives :const:`1.5600`."
msgstr ""
"Le module ``decimal`` incorpore la notion de chiffres significatifs, tels "
"que ``1.30 + 1.20`` est égal à :const:`2.50`. Le dernier zéro n'est conservé "
"que pour respecter le nombre de chiffres significatifs. C'est également "
"l'affichage préféré pour représenter des sommes d'argent. Pour la "
"multiplication, l'approche « scolaire » utilise tout les chiffres présents "
"dans les facteurs. Par exemple, ``1.3 * 1.2`` donnerait :const:`1.56` tandis "
"que ``1.30 * 1.20`` donnerait :const:`1.5600`."

#: library/decimal.rst:61
msgid ""
"Unlike hardware based binary floating point, the decimal module has a user "
"alterable precision (defaulting to 28 places) which can be as large as "
"needed for a given problem:"
msgstr ""
"Contrairement à l'arithmétique en virgule flottante binaire, le module "
"``decimal`` possède un paramètre de précision ajustable (par défaut à 28 "
"chiffres significatifs) qui peut être aussi élevée que nécessaire pour un "
"problème donné :"

#: library/decimal.rst:73
msgid ""
"Both binary and decimal floating point are implemented in terms of published "
"standards.  While the built-in float type exposes only a modest portion of "
"its capabilities, the decimal module exposes all required parts of the "
"standard. When needed, the programmer has full control over rounding and "
"signal handling. This includes an option to enforce exact arithmetic by "
"using exceptions to block any inexact operations."
msgstr ""
"L'arithmétique binaire et décimale en virgule flottante sont implémentées "
"selon des standards publiés. Alors que le type ``float`` n'expose qu'une "
"faible portion de ses capacités, le module ``decimal`` expose tous les "
"composants nécessaires du standard. Lorsque nécessaire, le développeur a un "
"contrôle total de la gestion de signal et de l'arrondi. Cela inclut la "
"possibilité de forcer une arithmétique exacte en utilisant des exceptions "
"pour bloquer toute opération inexacte."

#: library/decimal.rst:80
msgid ""
"The decimal module was designed to support \"without prejudice, both exact "
"unrounded decimal arithmetic (sometimes called fixed-point arithmetic) and "
"rounded floating-point arithmetic.\"  -- excerpt from the decimal arithmetic "
"specification."
msgstr ""
"Le module ``decimal`` a été conçu pour gérer « sans préjugé, à la fois une "
"arithmétique décimale non-arrondie (aussi appelée arithmétique en virgule "
"fixe) et à la fois une arithmétique en virgule flottante. » (extrait traduit "
"de la spécification de l'arithmétique décimale)."

#: library/decimal.rst:85
msgid ""
"The module design is centered around three concepts:  the decimal number, "
"the context for arithmetic, and signals."
msgstr ""
"Le module est conçu autour de trois concepts : le nombre décimal, le "
"contexte arithmétique et les signaux."

#: library/decimal.rst:88
msgid ""
"A decimal number is immutable.  It has a sign, coefficient digits, and an "
"exponent.  To preserve significance, the coefficient digits do not truncate "
"trailing zeros.  Decimals also include special values such as :const:"
"`Infinity`, :const:`-Infinity`, and :const:`NaN`.  The standard also "
"differentiates :const:`-0` from :const:`+0`."
msgstr ""
"Un ``Decimal`` est immuable. Il a un signe, un coefficient, et un exposant. "
"Pour préserver le nombre de chiffres significatifs, les zéros en fin de "
"chaîne ne sont pas tronqués. Les décimaux incluent aussi des valeurs "
"spéciales telles que :const:`Infinity`, :const:`-Infinity`, et :const:`NaN`. "
"Le standard fait également la différence entre :const:`-0` et :const:`+0`."

#: library/decimal.rst:94
msgid ""
"The context for arithmetic is an environment specifying precision, rounding "
"rules, limits on exponents, flags indicating the results of operations, and "
"trap enablers which determine whether signals are treated as exceptions.  "
"Rounding options include :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, :const:"
"`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :const:"
"`ROUND_HALF_UP`, :const:`ROUND_UP`, and :const:`ROUND_05UP`."
msgstr ""
"Le contexte de l'arithmétique est un environnement qui permet de configurer "
"une précision, une règle pour l'arrondi, des limites sur l'exposant, des "
"options indiquant le résultat des opérations et si les signaux (remontés "
"lors d'opérations illégales) sont traités comme des exceptions Python. Les "
"options d'arrondi incluent :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, :"
"const:`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :"
"const:`ROUND_HALF_UP`, :const:`ROUND_UP`, et :const:`ROUND_05UP`."

#: library/decimal.rst:101
msgid ""
"Signals are groups of exceptional conditions arising during the course of "
"computation.  Depending on the needs of the application, signals may be "
"ignored, considered as informational, or treated as exceptions. The signals "
"in the decimal module are: :const:`Clamped`, :const:`InvalidOperation`, :"
"const:`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, :const:"
"`Subnormal`, :const:`Overflow`, :const:`Underflow` and :const:"
"`FloatOperation`."
msgstr ""
"Les signaux sont des groupes de conditions exceptionnelles qui surviennent "
"durant le calcul. Selon les besoins de l'application, les signaux peuvent "
"être ignorés, considérés comme de l'information, ou bien traités comme des "
"exceptions. Les signaux dans le module ``decimal`` sont : :const:`Clamped`, :"
"const:`InvalidOperation`, :const:`DivisionByZero`, :const:`Inexact`, :const:"
"`Rounded`, :const:`Subnormal`, :const:`Overflow`, :const:`Underflow` et :"
"const:`FloatOperation`."

#: library/decimal.rst:108
msgid ""
"For each signal there is a flag and a trap enabler.  When a signal is "
"encountered, its flag is set to one, then, if the trap enabler is set to "
"one, an exception is raised.  Flags are sticky, so the user needs to reset "
"them before monitoring a calculation."
msgstr ""
"Chaque signal est configurable indépendamment. Quand une opération illégale "
"survient, le signal est mis à ``1``, puis s'il est configuré pour, une "
"exception est levée. La mise à ``1`` est persistante, l'utilisateur doit "
"donc les remettre à zéro avant de commencer un calcul qu'il souhaite "
"surveiller."

#: library/decimal.rst:116
msgid ""
"IBM's General Decimal Arithmetic Specification, `The General Decimal "
"Arithmetic Specification <http://speleotrove.com/decimal/decarith.html>`_."
msgstr ""
"La spécification d'IBM sur l'arithmétique décimale : `The General Decimal "
"Arithmetic Specification <http://speleotrove.com/decimal/decarith.html>`_."

#: library/decimal.rst:125
msgid "Quick-start Tutorial"
msgstr "Introduction pratique"

#: library/decimal.rst:127
msgid ""
"The usual start to using decimals is importing the module, viewing the "
"current context with :func:`getcontext` and, if necessary, setting new "
"values for precision, rounding, or enabled traps::"
msgstr ""
"Commençons par importer le module, regarder le contexte actuel avec :func:"
"`getcontext`, et si nécessaire configurer la précision, l'arrondi, et la "
"gestion des signaux ::"

#: library/decimal.rst:139
msgid ""
"Decimal instances can be constructed from integers, strings, floats, or "
"tuples. Construction from an integer or a float performs an exact conversion "
"of the value of that integer or float.  Decimal numbers include special "
"values such as :const:`NaN` which stands for \"Not a number\", positive and "
"negative :const:`Infinity`, and :const:`-0`::"
msgstr ""
"Les instances de ``Decimal`` peuvent être construites avec des ``int``, des "
"``str``, des ``floats`` ou des ``tuples``. La construction depuis un entier "
"ou un ``float`` effectue la conversion exacte de cet entier ou de ce "
"``float``. Les nombres décimaux incluent des valeurs spéciales telles que :"
"const:`NaN` qui signifie en anglais « *Not a number* », en français « pas un "
"nombre », des :const:`Infinity` positifs ou négatifs et :const:`-0` ::"

#: library/decimal.rst:163
msgid ""
"If the :exc:`FloatOperation` signal is trapped, accidental mixing of "
"decimals and floats in constructors or ordering comparisons raises an "
"exception::"
msgstr ""
"Si un signal :exc:`FloatOperation` est détecté, un mélange accidentel "
"d'objets ``Decimal`` et de ``float`` dans les constructeurs ou des "
"opérations de comparaisons, une exception est levée ::"

#: library/decimal.rst:182
msgid ""
"The significance of a new Decimal is determined solely by the number of "
"digits input.  Context precision and rounding only come into play during "
"arithmetic operations."
msgstr ""
"Le nombre de chiffres significatifs d'un nouvel objet ``Decimal`` est "
"déterminé entièrement par le nombre de chiffres saisis. La précision et les "
"règles d'arrondis n'interviennent que lors d'opérations arithmétiques."

#: library/decimal.rst:199
msgid ""
"If the internal limits of the C version are exceeded, constructing a decimal "
"raises :class:`InvalidOperation`::"
msgstr ""
"Si les limites internes de la version en C sont dépassées, la construction "
"d'un objet décimal lève l'exception :class:`InvalidOperation` ::"

#: library/decimal.rst:209
msgid ""
"Decimals interact well with much of the rest of Python.  Here is a small "
"decimal floating point flying circus:"
msgstr ""
"Les objets ``Decimal`` interagissent très bien avec le reste de Python. "
"Voici quelques exemple d'opérations avec des décimaux :"

#: library/decimal.rst:241
msgid "And some mathematical functions are also available to Decimal:"
msgstr ""
"Et certaines fonctions mathématiques sont également disponibles sur des "
"instances de ``Decimal`` :"

#: library/decimal.rst:253
msgid ""
"The :meth:`quantize` method rounds a number to a fixed exponent.  This "
"method is useful for monetary applications that often round results to a "
"fixed number of places:"
msgstr ""
"La méthode :meth:`quantize` arrondit un nombre à un exposant fixe. Cette "
"méthode est utile pour des applications monétaires qui arrondissent souvent "
"un résultat à un nombre de chiffres significatifs exact :"

#: library/decimal.rst:262
msgid ""
"As shown above, the :func:`getcontext` function accesses the current context "
"and allows the settings to be changed.  This approach meets the needs of "
"most applications."
msgstr ""
"Comme montré plus haut, la fonction :func:`getcontext` accède au contexte "
"actuel et permet de modifier les paramètres. Cette approche répond aux "
"besoins de la plupart des applications."

#: library/decimal.rst:266
msgid ""
"For more advanced work, it may be useful to create alternate contexts using "
"the Context() constructor.  To make an alternate active, use the :func:"
"`setcontext` function."
msgstr ""
"Pour un travail plus avancé, il peut être utile de créer des contextes "
"alternatifs en utilisant le constructeur de ``Context``. Pour activer cet "
"objet ``Context``, utilisez la fonction :func:`setcontext`."

#: library/decimal.rst:270
msgid ""
"In accordance with the standard, the :mod:`decimal` module provides two "
"ready to use standard contexts, :const:`BasicContext` and :const:"
"`ExtendedContext`. The former is especially useful for debugging because "
"many of the traps are enabled:"
msgstr ""
"En accord avec le standard, le module :mod:`decimal` fournit des objets "
"Context standards, :const:`BasicContext` et :const:`ExtendedContext`. Le "
"premier est particulièrement utile pour le débogage car beaucoup des pièges "
"sont activés dans cet objet."

#: library/decimal.rst:299
msgid ""
"Contexts also have signal flags for monitoring exceptional conditions "
"encountered during computations.  The flags remain set until explicitly "
"cleared, so it is best to clear the flags before each set of monitored "
"computations by using the :meth:`clear_flags` method. ::"
msgstr ""
"Les objets ``Context`` ont aussi des options pour détecter des opérations "
"illégales lors des calculs. Ces options restent activées jusqu'à ce qu'elles "
"soit remises à zéro de manière explicite. Il convient donc de remettre à "
"zéro ces options avant chaque inspection de chaque calcul, avec la méthode :"
"meth:`clear_flags`. ::"

#: library/decimal.rst:312
msgid ""
"The *flags* entry shows that the rational approximation to :const:`Pi` was "
"rounded (digits beyond the context precision were thrown away) and that the "
"result is inexact (some of the discarded digits were non-zero)."
msgstr ""
"Les options montrent que l'approximation de :const:`Pi` par une fraction a "
"été arrondie (les chiffres au delà de la précision spécifiée par l'objet "
"Context ont été tronqués) et que le résultat est différent (certains des "
"chiffres tronqués étaient différents de zéro)."

#: library/decimal.rst:316
msgid ""
"Individual traps are set using the dictionary in the :attr:`traps` field of "
"a context:"
msgstr ""
"L'activation des pièges se fait en utilisant un dictionnaire dans "
"l'attribut :attr:`traps` de l'objet Context :"

#: library/decimal.rst:331
msgid ""
"Most programs adjust the current context only once, at the beginning of the "
"program.  And, in many applications, data is converted to :class:`Decimal` "
"with a single cast inside a loop.  With context set and decimals created, "
"the bulk of the program manipulates the data no differently than with other "
"Python numeric types."
msgstr ""
"La plupart des applications n'ajustent l'objet ``Context`` qu'une seule "
"fois, au démarrage. Et, dans beaucoup d'applications, les données sont "
"convertie une fois pour toutes en :class:`Decimal`. Une fois le ``Context`` "
"initialisé, et les objets ``Decimal`` créés, l'essentiel du programme "
"manipule la donnée de la même manière qu'avec les autres types numériques "
"Python."

#: library/decimal.rst:343
msgid "Decimal objects"
msgstr "Les objets Decimal"

#: library/decimal.rst:348
msgid "Construct a new :class:`Decimal` object based from *value*."
msgstr "Construire un nouvel objet :class:`Decimal` à partir de *value*."

#: library/decimal.rst:350
msgid ""
"*value* can be an integer, string, tuple, :class:`float`, or another :class:"
"`Decimal` object. If no *value* is given, returns ``Decimal('0')``.  If "
"*value* is a string, it should conform to the decimal numeric string syntax "
"after leading and trailing whitespace characters, as well as underscores "
"throughout, are removed::"
msgstr ""
"*value* peut être un entier, une chaîne de caractères, un *n*-uplet, :class:"
"`float`, ou une autre instance de :class:`Decimal`. Si *value* n'est pas "
"fourni, le constructeur renvoie ``Decimal('0')``. Si *value* est une chaîne "
"de caractère, elle doit correspondre à la syntaxe décimale en dehors des "
"espaces de début et de fin, ou des tirets bas, qui sont enlevés ::"

#: library/decimal.rst:366
msgid ""
"Other Unicode decimal digits are also permitted where ``digit`` appears "
"above.  These include decimal digits from various other alphabets (for "
"example, Arabic-Indic and Devanāgarī digits) along with the fullwidth digits "
"``'\\uff10'`` through ``'\\uff19'``."
msgstr ""
"Les chiffres codés en Unicode sont aussi autorisés, là ou ``digit`` "
"apparaît. Cela inclut des chiffres décimaux venant d'autres alphabets (par "
"exemple les chiffres indo-arabes ou Devanagari) ainsi que les chiffres de "
"pleine largeur ``'\\uff10'`` jusqu'à ``'\\uff19'``."

#: library/decimal.rst:371
msgid ""
"If *value* is a :class:`tuple`, it should have three components, a sign (:"
"const:`0` for positive or :const:`1` for negative), a :class:`tuple` of "
"digits, and an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), "
"-3))`` returns ``Decimal('1.414')``."
msgstr ""
"Si *value* est un :class:`tuple`, il doit avoir 3 éléments, le signe (:const:"
"`0` pour positif ou :const:`1` pour négatif), un :class:`tuple` de chiffres, "
"et un entier représentant l'exposant. Par exemple, ``Decimal((0, (1, 4, 1, "
"4), -3))`` construit l'objet ``Decimal('1.414')``."

#: library/decimal.rst:376
msgid ""
"If *value* is a :class:`float`, the binary floating point value is "
"losslessly converted to its exact decimal equivalent.  This conversion can "
"often require 53 or more digits of precision.  For example, "
"``Decimal(float('1.1'))`` converts to "
"``Decimal('1.100000000000000088817841970012523233890533447265625')``."
msgstr ""
"Si *value* est un :class:`float`, la valeur en binaire flottant est "
"convertie exactement à son équivalent décimal. Cette conversion peut parfois "
"nécessiter 53 chiffres significatifs ou plus. Par exemple, "
"``Decimal(float('1.1'))`` devient "
"``Decimal('1.100000000000000088817841970012523233890533447265625')``."

#: library/decimal.rst:382
msgid ""
"The *context* precision does not affect how many digits are stored. That is "
"determined exclusively by the number of digits in *value*. For example, "
"``Decimal('3.00000')`` records all five zeros even if the context precision "
"is only three."
msgstr ""
"La précision spécifiée dans Context n'affecte pas le nombre de chiffres "
"stockés. Cette valeur est déterminée exclusivement par le nombre de chiffres "
"dans *value*. Par exemple, ``Decimal('3.00000')`` enregistre les 5 zéros "
"même si la précision du contexte est de 3."

#: library/decimal.rst:387
msgid ""
"The purpose of the *context* argument is determining what to do if *value* "
"is a malformed string.  If the context traps :const:`InvalidOperation`, an "
"exception is raised; otherwise, the constructor returns a new Decimal with "
"the value of :const:`NaN`."
msgstr ""
"L'objectif de l'argument *context* est de déterminer ce que Python doit "
"faire si *value* est une chaîne avec un mauvais format. Si l'option :const:"
"`InvalidOperation` est activée, une exception est levée, sinon le "
"constructeur renvoie un objet ``Decimal`` avec la valeur :const:`NaN`."

#: library/decimal.rst:392
msgid "Once constructed, :class:`Decimal` objects are immutable."
msgstr "Une fois construit, les objets :class:`Decimal`  sont immuables."

#: library/decimal.rst:394
msgid ""
"The argument to the constructor is now permitted to be a :class:`float` "
"instance."
msgstr ""
"L'argument du constructeur peut désormais être un objet :class:`float`."

#: library/decimal.rst:398
msgid ""
":class:`float` arguments raise an exception if the :exc:`FloatOperation` "
"trap is set. By default the trap is off."
msgstr ""
"Un argument :class:`float` lève une exception si l'option :exc:"
"`FloatOperation` est activé. Par défaut l'option ne l'est pas."

#: library/decimal.rst:402
msgid ""
"Underscores are allowed for grouping, as with integral and floating-point "
"literals in code."
msgstr ""
"Les tirets bas sont autorisés pour regrouper, tout comme pour l'arithmétique "
"en virgule fixe et flottante."

#: library/decimal.rst:406
msgid ""
"Decimal floating point objects share many properties with the other built-in "
"numeric types such as :class:`float` and :class:`int`.  All of the usual "
"math operations and special methods apply.  Likewise, decimal objects can be "
"copied, pickled, printed, used as dictionary keys, used as set elements, "
"compared, sorted, and coerced to another type (such as :class:`float` or :"
"class:`int`)."
msgstr ""
"Les objets ``Decimal`` partagent beaucoup de propriétés avec les autres "
"types numériques natifs tels que :class:`float` et :class:`int`. Toutes les "
"opérations mathématiques et méthodes sont conservées. De même les objets "
"``Decimal`` peuvent être copiés, sérialisés via le module ``pickle``, "
"affichés, utilisés comme clé de dictionnaire, éléments d'ensembles, "
"comparés, classés, et convertis vers un autre type (tel que :class:`float` "
"ou :class:`int`)."

#: library/decimal.rst:413
msgid ""
"There are some small differences between arithmetic on Decimal objects and "
"arithmetic on integers and floats.  When the remainder operator ``%`` is "
"applied to Decimal objects, the sign of the result is the sign of the "
"*dividend* rather than the sign of the divisor::"
msgstr ""
"Il existe quelques différences mineures entre l'arithmétique entre les "
"objets décimaux et l'arithmétique avec les entiers et les ``float``. Quand "
"l'opérateur modulo ``%`` est appliqué sur des objets décimaux, le signe du "
"résultat est le signe du *dividend* plutôt que le signe du diviseur ::"

#: library/decimal.rst:423
msgid ""
"The integer division operator ``//`` behaves analogously, returning the "
"integer part of the true quotient (truncating towards zero) rather than its "
"floor, so as to preserve the usual identity ``x == (x // y) * y + x % y``::"
msgstr ""
"L'opérateur division entière, ``//`` se comporte de la même manière, "
"retournant la partie entière du quotient, plutôt que son arrondi, de manière "
"à préserver l'identité d'Euclide ``x == (x // y) * y + x % y`` ::"

#: library/decimal.rst:432
msgid ""
"The ``%`` and ``//`` operators implement the ``remainder`` and ``divide-"
"integer`` operations (respectively) as described in the specification."
msgstr ""
"Les opérateurs ``//`` et ``%`` implémentent la division entière et le reste "
"(ou modulo), respectivement, tel que décrit dans la spécification."

#: library/decimal.rst:436
msgid ""
"Decimal objects cannot generally be combined with floats or instances of :"
"class:`fractions.Fraction` in arithmetic operations: an attempt to add a :"
"class:`Decimal` to a :class:`float`, for example, will raise a :exc:"
"`TypeError`.  However, it is possible to use Python's comparison operators "
"to compare a :class:`Decimal` instance ``x`` with another number ``y``.  "
"This avoids confusing results when doing equality comparisons between "
"numbers of different types."
msgstr ""
"Les objets ``Decimal`` ne peuvent généralement pas être combinés avec des "
"``float`` ou des objets :class:`fractions.Fraction` lors d'opérations "
"arithmétiques : tout addition entre un  :class:`Decimal` avec un :class:"
"`float`, par exemple, lève une exception :exc:`TypeError`. Cependant, il est "
"possible d'utiliser les opérateurs de comparaison entre instances de :class:"
"`Decimal` avec les autres types numériques. Cela évite d'avoir des résultats "
"absurdes lors des tests d'égalité entre différents types."

#: library/decimal.rst:444
msgid ""
"Mixed-type comparisons between :class:`Decimal` instances and other numeric "
"types are now fully supported."
msgstr ""
"Les comparaisons inter-types entre :class:`Decimal` et les autres types "
"numériques sont désormais intégralement gérés."

#: library/decimal.rst:448
msgid ""
"In addition to the standard numeric properties, decimal floating point "
"objects also have a number of specialized methods:"
msgstr ""

#: library/decimal.rst:454
msgid ""
"Return the adjusted exponent after shifting out the coefficient's rightmost "
"digits until only the lead digit remains: ``Decimal('321e+5').adjusted()`` "
"returns seven.  Used for determining the position of the most significant "
"digit with respect to the decimal point."
msgstr ""

#: library/decimal.rst:461
msgid ""
"Return a pair ``(n, d)`` of integers that represent the given :class:"
"`Decimal` instance as a fraction, in lowest terms and with a positive "
"denominator::"
msgstr ""

#: library/decimal.rst:468
msgid ""
"The conversion is exact.  Raise OverflowError on infinities and ValueError "
"on NaNs."
msgstr ""
"La conversion est exacte. Lève une ``OverflowError`` sur l'infini et "
"``ValueError`` sur les ``Nan``'s."

#: library/decimal.rst:475
msgid ""
"Return a :term:`named tuple` representation of the number: "
"``DecimalTuple(sign, digits, exponent)``."
msgstr ""

#: library/decimal.rst:481
msgid ""
"Return the canonical encoding of the argument.  Currently, the encoding of "
"a :class:`Decimal` instance is always canonical, so this operation returns "
"its argument unchanged."
msgstr ""

#: library/decimal.rst:487
msgid ""
"Compare the values of two Decimal instances.  :meth:`compare` returns a "
"Decimal instance, and if either operand is a NaN then the result is a NaN::"
msgstr ""

#: library/decimal.rst:498
msgid ""
"This operation is identical to the :meth:`compare` method, except that all "
"NaNs signal.  That is, if neither operand is a signaling NaN then any quiet "
"NaN operand is treated as though it were a signaling NaN."
msgstr ""

#: library/decimal.rst:504
msgid ""
"Compare two operands using their abstract representation rather than their "
"numerical value.  Similar to the :meth:`compare` method, but the result "
"gives a total ordering on :class:`Decimal` instances.  Two :class:`Decimal` "
"instances with the same numeric value but different representations compare "
"unequal in this ordering:"
msgstr ""

#: library/decimal.rst:513
msgid ""
"Quiet and signaling NaNs are also included in the total ordering.  The "
"result of this function is ``Decimal('0')`` if both operands have the same "
"representation, ``Decimal('-1')`` if the first operand is lower in the total "
"order than the second, and ``Decimal('1')`` if the first operand is higher "
"in the total order than the second operand.  See the specification for "
"details of the total order."
msgstr ""

#: library/decimal.rst:531 library/decimal.rst:835
msgid ""
"This operation is unaffected by context and is quiet: no flags are changed "
"and no rounding is performed.  As an exception, the C version may raise "
"InvalidOperation if the second operand cannot be converted exactly."
msgstr ""

#: library/decimal.rst:526
msgid ""
"Compare two operands using their abstract representation rather than their "
"value as in :meth:`compare_total`, but ignoring the sign of each operand. "
"``x.compare_total_mag(y)`` is equivalent to ``x.copy_abs().compare_total(y."
"copy_abs())``."
msgstr ""

#: library/decimal.rst:537
msgid ""
"Just returns self, this method is only to comply with the Decimal "
"Specification."
msgstr ""

#: library/decimal.rst:542
msgid ""
"Return the absolute value of the argument.  This operation is unaffected by "
"the context and is quiet: no flags are changed and no rounding is performed."
msgstr ""

#: library/decimal.rst:548
msgid ""
"Return the negation of the argument.  This operation is unaffected by the "
"context and is quiet: no flags are changed and no rounding is performed."
msgstr ""

#: library/decimal.rst:553
msgid ""
"Return a copy of the first operand with the sign set to be the same as the "
"sign of the second operand.  For example:"
msgstr ""

#: library/decimal.rst:565
msgid ""
"Return the value of the (natural) exponential function ``e**x`` at the given "
"number.  The result is correctly rounded using the :const:`ROUND_HALF_EVEN` "
"rounding mode."
msgstr ""

#: library/decimal.rst:576
msgid ""
"Alternative constructor that only accepts instances of :class:`float` or :"
"class:`int`."
msgstr ""

#: library/decimal.rst:579
msgid ""
"Note `Decimal.from_float(0.1)` is not the same as `Decimal('0.1')`. Since "
"0.1 is not exactly representable in binary floating point, the value is "
"stored as the nearest representable value which is `0x1.999999999999ap-4`.  "
"That equivalent value in decimal is "
"`0.1000000000000000055511151231257827021181583404541015625`."
msgstr ""

#: library/decimal.rst:585
msgid ""
"From Python 3.2 onwards, a :class:`Decimal` instance can also be constructed "
"directly from a :class:`float`."
msgstr ""

#: library/decimal.rst:603
msgid ""
"Fused multiply-add.  Return self*other+third with no rounding of the "
"intermediate product self*other."
msgstr ""

#: library/decimal.rst:611
msgid ""
"Return :const:`True` if the argument is canonical and :const:`False` "
"otherwise.  Currently, a :class:`Decimal` instance is always canonical, so "
"this operation always returns :const:`True`."
msgstr ""

#: library/decimal.rst:617
msgid ""
"Return :const:`True` if the argument is a finite number, and :const:`False` "
"if the argument is an infinity or a NaN."
msgstr ""

#: library/decimal.rst:622
msgid ""
"Return :const:`True` if the argument is either positive or negative infinity "
"and :const:`False` otherwise."
msgstr ""

#: library/decimal.rst:627
msgid ""
"Return :const:`True` if the argument is a (quiet or signaling) NaN and :"
"const:`False` otherwise."
msgstr ""

#: library/decimal.rst:632
msgid ""
"Return :const:`True` if the argument is a *normal* finite number.  Return :"
"const:`False` if the argument is zero, subnormal, infinite or a NaN."
msgstr ""

#: library/decimal.rst:637
msgid ""
"Return :const:`True` if the argument is a quiet NaN, and :const:`False` "
"otherwise."
msgstr ""

#: library/decimal.rst:642
msgid ""
"Return :const:`True` if the argument has a negative sign and :const:`False` "
"otherwise.  Note that zeros and NaNs can both carry signs."
msgstr ""

#: library/decimal.rst:647
msgid ""
"Return :const:`True` if the argument is a signaling NaN and :const:`False` "
"otherwise."
msgstr ""

#: library/decimal.rst:652
msgid ""
"Return :const:`True` if the argument is subnormal, and :const:`False` "
"otherwise."
msgstr ""

#: library/decimal.rst:657
msgid ""
"Return :const:`True` if the argument is a (positive or negative) zero and :"
"const:`False` otherwise."
msgstr ""

#: library/decimal.rst:662
msgid ""
"Return the natural (base e) logarithm of the operand.  The result is "
"correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode."
msgstr ""

#: library/decimal.rst:667
msgid ""
"Return the base ten logarithm of the operand.  The result is correctly "
"rounded using the :const:`ROUND_HALF_EVEN` rounding mode."
msgstr ""

#: library/decimal.rst:672
msgid ""
"For a nonzero number, return the adjusted exponent of its operand as a :"
"class:`Decimal` instance.  If the operand is a zero then ``Decimal('-"
"Infinity')`` is returned and the :const:`DivisionByZero` flag is raised.  If "
"the operand is an infinity then ``Decimal('Infinity')`` is returned."
msgstr ""

#: library/decimal.rst:680
msgid ""
":meth:`logical_and` is a logical operation which takes two *logical "
"operands* (see :ref:`logical_operands_label`).  The result is the digit-wise "
"``and`` of the two operands."
msgstr ""

#: library/decimal.rst:686
msgid ""
":meth:`logical_invert` is a logical operation.  The result is the digit-wise "
"inversion of the operand."
msgstr ""

#: library/decimal.rst:691
msgid ""
":meth:`logical_or` is a logical operation which takes two *logical operands* "
"(see :ref:`logical_operands_label`).  The result is the digit-wise ``or`` of "
"the two operands."
msgstr ""

#: library/decimal.rst:697
msgid ""
":meth:`logical_xor` is a logical operation which takes two *logical "
"operands* (see :ref:`logical_operands_label`).  The result is the digit-wise "
"exclusive or of the two operands."
msgstr ""

#: library/decimal.rst:703
msgid ""
"Like ``max(self, other)`` except that the context rounding rule is applied "
"before returning and that :const:`NaN` values are either signaled or ignored "
"(depending on the context and whether they are signaling or quiet)."
msgstr ""

#: library/decimal.rst:710
msgid ""
"Similar to the :meth:`.max` method, but the comparison is done using the "
"absolute values of the operands."
msgstr ""

#: library/decimal.rst:715
msgid ""
"Like ``min(self, other)`` except that the context rounding rule is applied "
"before returning and that :const:`NaN` values are either signaled or ignored "
"(depending on the context and whether they are signaling or quiet)."
msgstr ""

#: library/decimal.rst:722
msgid ""
"Similar to the :meth:`.min` method, but the comparison is done using the "
"absolute values of the operands."
msgstr ""

#: library/decimal.rst:727
msgid ""
"Return the largest number representable in the given context (or in the "
"current thread's context if no context is given) that is smaller than the "
"given operand."
msgstr ""

#: library/decimal.rst:733
msgid ""
"Return the smallest number representable in the given context (or in the "
"current thread's context if no context is given) that is larger than the "
"given operand."
msgstr ""

#: library/decimal.rst:739
msgid ""
"If the two operands are unequal, return the number closest to the first "
"operand in the direction of the second operand.  If both operands are "
"numerically equal, return a copy of the first operand with the sign set to "
"be the same as the sign of the second operand."
msgstr ""

#: library/decimal.rst:746
msgid ""
"Normalize the number by stripping the rightmost trailing zeros and "
"converting any result equal to :const:`Decimal('0')` to :const:"
"`Decimal('0e0')`. Used for producing canonical values for attributes of an "
"equivalence class. For example, ``Decimal('32.100')`` and "
"``Decimal('0.321000e+2')`` both normalize to the equivalent value "
"``Decimal('32.1')``."
msgstr ""

#: library/decimal.rst:755
msgid ""
"Return a string describing the *class* of the operand.  The returned value "
"is one of the following ten strings."
msgstr ""

#: library/decimal.rst:758
msgid "``\"-Infinity\"``, indicating that the operand is negative infinity."
msgstr ""

#: library/decimal.rst:759
msgid ""
"``\"-Normal\"``, indicating that the operand is a negative normal number."
msgstr ""

#: library/decimal.rst:760
msgid ""
"``\"-Subnormal\"``, indicating that the operand is negative and subnormal."
msgstr ""

#: library/decimal.rst:761
msgid "``\"-Zero\"``, indicating that the operand is a negative zero."
msgstr ""

#: library/decimal.rst:762
msgid "``\"+Zero\"``, indicating that the operand is a positive zero."
msgstr ""

#: library/decimal.rst:763
msgid ""
"``\"+Subnormal\"``, indicating that the operand is positive and subnormal."
msgstr ""

#: library/decimal.rst:764
msgid ""
"``\"+Normal\"``, indicating that the operand is a positive normal number."
msgstr ""

#: library/decimal.rst:765
msgid "``\"+Infinity\"``, indicating that the operand is positive infinity."
msgstr ""

#: library/decimal.rst:766
msgid "``\"NaN\"``, indicating that the operand is a quiet NaN (Not a Number)."
msgstr ""

#: library/decimal.rst:767
msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN."
msgstr ""

#: library/decimal.rst:771
msgid ""
"Return a value equal to the first operand after rounding and having the "
"exponent of the second operand."
msgstr ""

#: library/decimal.rst:777
msgid ""
"Unlike other operations, if the length of the coefficient after the quantize "
"operation would be greater than precision, then an :const:`InvalidOperation` "
"is signaled. This guarantees that, unless there is an error condition, the "
"quantized exponent is always equal to that of the right-hand operand."
msgstr ""

#: library/decimal.rst:783
msgid ""
"Also unlike other operations, quantize never signals Underflow, even if the "
"result is subnormal and inexact."
msgstr ""

#: library/decimal.rst:786
msgid ""
"If the exponent of the second operand is larger than that of the first then "
"rounding may be necessary.  In this case, the rounding mode is determined by "
"the ``rounding`` argument if given, else by the given ``context`` argument; "
"if neither argument is given the rounding mode of the current thread's "
"context is used."
msgstr ""

#: library/decimal.rst:792
msgid ""
"An error is returned whenever the resulting exponent is greater than :attr:"
"`Emax` or less than :attr:`Etiny`."
msgstr ""

#: library/decimal.rst:797
msgid ""
"Return ``Decimal(10)``, the radix (base) in which the :class:`Decimal` class "
"does all its arithmetic.  Included for compatibility with the specification."
msgstr ""

#: library/decimal.rst:803
msgid ""
"Return the remainder from dividing *self* by *other*.  This differs from "
"``self % other`` in that the sign of the remainder is chosen so as to "
"minimize its absolute value.  More precisely, the return value is ``self - n "
"* other`` where ``n`` is the integer nearest to the exact value of ``self / "
"other``, and if two integers are equally near then the even one is chosen."
msgstr ""

#: library/decimal.rst:810
msgid "If the result is zero then its sign will be the sign of *self*."
msgstr ""

#: library/decimal.rst:821
msgid ""
"Return the result of rotating the digits of the first operand by an amount "
"specified by the second operand.  The second operand must be an integer in "
"the range -precision through precision.  The absolute value of the second "
"operand gives the number of places to rotate.  If the second operand is "
"positive then rotation is to the left; otherwise rotation is to the right. "
"The coefficient of the first operand is padded on the left with zeros to "
"length precision if necessary.  The sign and exponent of the first operand "
"are unchanged."
msgstr ""

#: library/decimal.rst:832
msgid ""
"Test whether self and other have the same exponent or whether both are :"
"const:`NaN`."
msgstr ""

#: library/decimal.rst:841
msgid ""
"Return the first operand with exponent adjusted by the second. Equivalently, "
"return the first operand multiplied by ``10**other``.  The second operand "
"must be an integer."
msgstr ""

#: library/decimal.rst:847
msgid ""
"Return the result of shifting the digits of the first operand by an amount "
"specified by the second operand.  The second operand must be an integer in "
"the range -precision through precision.  The absolute value of the second "
"operand gives the number of places to shift.  If the second operand is "
"positive then the shift is to the left; otherwise the shift is to the "
"right.  Digits shifted into the coefficient are zeros.  The sign and "
"exponent of the first operand are unchanged."
msgstr ""

#: library/decimal.rst:857
msgid "Return the square root of the argument to full precision."
msgstr ""

#: library/decimal.rst:1457
msgid ""
"Convert to a string, using engineering notation if an exponent is needed."
msgstr ""

#: library/decimal.rst:1459
msgid ""
"Engineering notation has an exponent which is a multiple of 3.  This can "
"leave up to 3 digits to the left of the decimal place and may require the "
"addition of either one or two trailing zeros."
msgstr ""

#: library/decimal.rst:868
msgid ""
"For example, this converts ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``."
msgstr ""

#: library/decimal.rst:872
msgid ""
"Identical to the :meth:`to_integral_value` method.  The ``to_integral`` name "
"has been kept for compatibility with older versions."
msgstr ""

#: library/decimal.rst:877
msgid ""
"Round to the nearest integer, signaling :const:`Inexact` or :const:`Rounded` "
"as appropriate if rounding occurs.  The rounding mode is determined by the "
"``rounding`` parameter if given, else by the given ``context``.  If neither "
"parameter is given then the rounding mode of the current context is used."
msgstr ""

#: library/decimal.rst:885
msgid ""
"Round to the nearest integer without signaling :const:`Inexact` or :const:"
"`Rounded`.  If given, applies *rounding*; otherwise, uses the rounding "
"method in either the supplied *context* or the current context."
msgstr ""

#: library/decimal.rst:893
msgid "Logical operands"
msgstr ""

#: library/decimal.rst:895
msgid ""
"The :meth:`logical_and`, :meth:`logical_invert`, :meth:`logical_or`, and :"
"meth:`logical_xor` methods expect their arguments to be *logical operands*.  "
"A *logical operand* is a :class:`Decimal` instance whose exponent and sign "
"are both zero, and whose digits are all either :const:`0` or :const:`1`."
msgstr ""

#: library/decimal.rst:907
msgid "Context objects"
msgstr ""

#: library/decimal.rst:909
msgid ""
"Contexts are environments for arithmetic operations.  They govern precision, "
"set rules for rounding, determine which signals are treated as exceptions, "
"and limit the range for exponents."
msgstr ""

#: library/decimal.rst:913
msgid ""
"Each thread has its own current context which is accessed or changed using "
"the :func:`getcontext` and :func:`setcontext` functions:"
msgstr ""

#: library/decimal.rst:919
msgid "Return the current context for the active thread."
msgstr ""

#: library/decimal.rst:924
msgid "Set the current context for the active thread to *c*."
msgstr ""

#: library/decimal.rst:926
msgid ""
"You can also use the :keyword:`with` statement and the :func:`localcontext` "
"function to temporarily change the active context."
msgstr ""

#: library/decimal.rst:931
msgid ""
"Return a context manager that will set the current context for the active "
"thread to a copy of *ctx* on entry to the with-statement and restore the "
"previous context when exiting the with-statement. If no context is "
"specified, a copy of the current context is used.  The *kwargs* argument is "
"used to set the attributes of the new context."
msgstr ""

#: library/decimal.rst:937
msgid ""
"For example, the following code sets the current decimal precision to 42 "
"places, performs a calculation, and then automatically restores the previous "
"context::"
msgstr ""

#: library/decimal.rst:947
msgid "Using keyword arguments, the code would be the following::"
msgstr ""

#: library/decimal.rst:955
msgid ""
"Raises :exc:`TypeError` if *kwargs* supplies an attribute that :class:"
"`Context` doesn't support.  Raises either :exc:`TypeError` or :exc:"
"`ValueError` if *kwargs* supplies an invalid value for an attribute."
msgstr ""

#: library/decimal.rst:959
msgid ""
":meth:`localcontext` now supports setting context attributes through the use "
"of keyword arguments."
msgstr ""

#: library/decimal.rst:962
msgid ""
"New contexts can also be created using the :class:`Context` constructor "
"described below. In addition, the module provides three pre-made contexts:"
msgstr ""

#: library/decimal.rst:968
msgid ""
"This is a standard context defined by the General Decimal Arithmetic "
"Specification.  Precision is set to nine.  Rounding is set to :const:"
"`ROUND_HALF_UP`.  All flags are cleared.  All traps are enabled (treated as "
"exceptions) except :const:`Inexact`, :const:`Rounded`, and :const:"
"`Subnormal`."
msgstr ""

#: library/decimal.rst:974
msgid ""
"Because many of the traps are enabled, this context is useful for debugging."
msgstr ""

#: library/decimal.rst:979
msgid ""
"This is a standard context defined by the General Decimal Arithmetic "
"Specification.  Precision is set to nine.  Rounding is set to :const:"
"`ROUND_HALF_EVEN`.  All flags are cleared.  No traps are enabled (so that "
"exceptions are not raised during computations)."
msgstr ""

#: library/decimal.rst:984
msgid ""
"Because the traps are disabled, this context is useful for applications that "
"prefer to have result value of :const:`NaN` or :const:`Infinity` instead of "
"raising exceptions.  This allows an application to complete a run in the "
"presence of conditions that would otherwise halt the program."
msgstr ""

#: library/decimal.rst:992
msgid ""
"This context is used by the :class:`Context` constructor as a prototype for "
"new contexts.  Changing a field (such a precision) has the effect of "
"changing the default for new contexts created by the :class:`Context` "
"constructor."
msgstr ""

#: library/decimal.rst:996
msgid ""
"This context is most useful in multi-threaded environments.  Changing one of "
"the fields before threads are started has the effect of setting system-wide "
"defaults.  Changing the fields after threads have started is not recommended "
"as it would require thread synchronization to prevent race conditions."
msgstr ""

#: library/decimal.rst:1001
msgid ""
"In single threaded environments, it is preferable to not use this context at "
"all.  Instead, simply create contexts explicitly as described below."
msgstr ""

#: library/decimal.rst:1004
msgid ""
"The default values are :attr:`prec`\\ =\\ :const:`28`, :attr:`rounding`\\ "
"=\\ :const:`ROUND_HALF_EVEN`, and enabled traps for :class:`Overflow`, :"
"class:`InvalidOperation`, and :class:`DivisionByZero`."
msgstr ""

#: library/decimal.rst:1009
msgid ""
"In addition to the three supplied contexts, new contexts can be created with "
"the :class:`Context` constructor."
msgstr ""

#: library/decimal.rst:1015
msgid ""
"Creates a new context.  If a field is not specified or is :const:`None`, the "
"default values are copied from the :const:`DefaultContext`.  If the *flags* "
"field is not specified or is :const:`None`, all flags are cleared."
msgstr ""

#: library/decimal.rst:1019
msgid ""
"*prec* is an integer in the range [:const:`1`, :const:`MAX_PREC`] that sets "
"the precision for arithmetic operations in the context."
msgstr ""

#: library/decimal.rst:1022
msgid ""
"The *rounding* option is one of the constants listed in the section "
"`Rounding Modes`_."
msgstr ""

#: library/decimal.rst:1025
msgid ""
"The *traps* and *flags* fields list any signals to be set. Generally, new "
"contexts should only set traps and leave the flags clear."
msgstr ""

#: library/decimal.rst:1028
msgid ""
"The *Emin* and *Emax* fields are integers specifying the outer limits "
"allowable for exponents. *Emin* must be in the range [:const:`MIN_EMIN`, :"
"const:`0`], *Emax* in the range [:const:`0`, :const:`MAX_EMAX`]."
msgstr ""

#: library/decimal.rst:1032
msgid ""
"The *capitals* field is either :const:`0` or :const:`1` (the default). If "
"set to :const:`1`, exponents are printed with a capital :const:`E`; "
"otherwise, a lowercase :const:`e` is used: :const:`Decimal('6.02e+23')`."
msgstr ""

#: library/decimal.rst:1036
msgid ""
"The *clamp* field is either :const:`0` (the default) or :const:`1`. If set "
"to :const:`1`, the exponent ``e`` of a :class:`Decimal` instance "
"representable in this context is strictly limited to the range ``Emin - prec "
"+ 1 <= e <= Emax - prec + 1``.  If *clamp* is :const:`0` then a weaker "
"condition holds: the adjusted exponent of the :class:`Decimal` instance is "
"at most ``Emax``.  When *clamp* is :const:`1`, a large normal number will, "
"where possible, have its exponent reduced and a corresponding number of "
"zeros added to its coefficient, in order to fit the exponent constraints; "
"this preserves the value of the number but loses information about "
"significant trailing zeros.  For example::"
msgstr ""

#: library/decimal.rst:1051
msgid ""
"A *clamp* value of :const:`1` allows compatibility with the fixed-width "
"decimal interchange formats specified in IEEE 754."
msgstr ""

#: library/decimal.rst:1054
msgid ""
"The :class:`Context` class defines several general purpose methods as well "
"as a large number of methods for doing arithmetic directly in a given "
"context. In addition, for each of the :class:`Decimal` methods described "
"above (with the exception of the :meth:`adjusted` and :meth:`as_tuple` "
"methods) there is a corresponding :class:`Context` method.  For example, for "
"a :class:`Context` instance ``C`` and :class:`Decimal` instance ``x``, ``C."
"exp(x)`` is equivalent to ``x.exp(context=C)``.  Each :class:`Context` "
"method accepts a Python integer (an instance of :class:`int`) anywhere that "
"a Decimal instance is accepted."
msgstr ""

#: library/decimal.rst:1067
msgid "Resets all of the flags to :const:`0`."
msgstr ""

#: library/decimal.rst:1071
msgid "Resets all of the traps to :const:`0`."
msgstr ""

#: library/decimal.rst:1077
msgid "Return a duplicate of the context."
msgstr ""

#: library/decimal.rst:1081
msgid "Return a copy of the Decimal instance num."
msgstr ""

#: library/decimal.rst:1085
msgid ""
"Creates a new Decimal instance from *num* but using *self* as context. "
"Unlike the :class:`Decimal` constructor, the context precision, rounding "
"method, flags, and traps are applied to the conversion."
msgstr ""

#: library/decimal.rst:1089
msgid ""
"This is useful because constants are often given to a greater precision than "
"is needed by the application.  Another benefit is that rounding immediately "
"eliminates unintended effects from digits beyond the current precision. In "
"the following example, using unrounded inputs means that adding zero to a "
"sum can change the result:"
msgstr ""

#: library/decimal.rst:1103
msgid ""
"This method implements the to-number operation of the IBM specification. If "
"the argument is a string, no leading or trailing whitespace or underscores "
"are permitted."
msgstr ""

#: library/decimal.rst:1109
msgid ""
"Creates a new Decimal instance from a float *f* but rounding using *self* as "
"the context.  Unlike the :meth:`Decimal.from_float` class method, the "
"context precision, rounding method, flags, and traps are applied to the "
"conversion."
msgstr ""

#: library/decimal.rst:1129
msgid ""
"Returns a value equal to ``Emin - prec + 1`` which is the minimum exponent "
"value for subnormal results.  When underflow occurs, the exponent is set to :"
"const:`Etiny`."
msgstr ""

#: library/decimal.rst:1135
msgid "Returns a value equal to ``Emax - prec + 1``."
msgstr ""

#: library/decimal.rst:1137
msgid ""
"The usual approach to working with decimals is to create :class:`Decimal` "
"instances and then apply arithmetic operations which take place within the "
"current context for the active thread.  An alternative approach is to use "
"context methods for calculating within a specific context.  The methods are "
"similar to those for the :class:`Decimal` class and are only briefly "
"recounted here."
msgstr ""

#: library/decimal.rst:1147
msgid "Returns the absolute value of *x*."
msgstr "Renvoie la valeur absolue de *x*."

#: library/decimal.rst:1152
msgid "Return the sum of *x* and *y*."
msgstr ""

#: library/decimal.rst:1157
msgid "Returns the same Decimal object *x*."
msgstr ""

#: library/decimal.rst:1162
msgid "Compares *x* and *y* numerically."
msgstr ""

#: library/decimal.rst:1167
msgid "Compares the values of the two operands numerically."
msgstr ""

#: library/decimal.rst:1172
msgid "Compares two operands using their abstract representation."
msgstr ""

#: library/decimal.rst:1177
msgid ""
"Compares two operands using their abstract representation, ignoring sign."
msgstr ""

#: library/decimal.rst:1182
msgid "Returns a copy of *x* with the sign set to 0."
msgstr ""

#: library/decimal.rst:1187
msgid "Returns a copy of *x* with the sign inverted."
msgstr ""

#: library/decimal.rst:1192
msgid "Copies the sign from *y* to *x*."
msgstr ""

#: library/decimal.rst:1197
msgid "Return *x* divided by *y*."
msgstr ""

#: library/decimal.rst:1202
msgid "Return *x* divided by *y*, truncated to an integer."
msgstr ""

#: library/decimal.rst:1207
msgid "Divides two numbers and returns the integer part of the result."
msgstr ""

#: library/decimal.rst:1212
msgid "Returns `e ** x`."
msgstr ""

#: library/decimal.rst:1217
msgid "Returns *x* multiplied by *y*, plus *z*."
msgstr ""

#: library/decimal.rst:1222
msgid "Returns ``True`` if *x* is canonical; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1227
msgid "Returns ``True`` if *x* is finite; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1232
msgid "Returns ``True`` if *x* is infinite; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1237
msgid "Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1242
msgid ""
"Returns ``True`` if *x* is a normal number; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1247
msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1252
msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1257
msgid ""
"Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1262
msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1267
msgid "Returns ``True`` if *x* is a zero; otherwise returns ``False``."
msgstr ""

#: library/decimal.rst:1272
msgid "Returns the natural (base e) logarithm of *x*."
msgstr ""

#: library/decimal.rst:1277
msgid "Returns the base 10 logarithm of *x*."
msgstr ""

#: library/decimal.rst:1282
msgid "Returns the exponent of the magnitude of the operand's MSD."
msgstr ""

#: library/decimal.rst:1287
msgid "Applies the logical operation *and* between each operand's digits."
msgstr ""

#: library/decimal.rst:1292
msgid "Invert all the digits in *x*."
msgstr ""

#: library/decimal.rst:1297
msgid "Applies the logical operation *or* between each operand's digits."
msgstr ""

#: library/decimal.rst:1302
msgid "Applies the logical operation *xor* between each operand's digits."
msgstr ""

#: library/decimal.rst:1307
msgid "Compares two values numerically and returns the maximum."
msgstr ""

#: library/decimal.rst:1322
msgid "Compares the values numerically with their sign ignored."
msgstr ""

#: library/decimal.rst:1317
msgid "Compares two values numerically and returns the minimum."
msgstr ""

#: library/decimal.rst:1327
msgid "Minus corresponds to the unary prefix minus operator in Python."
msgstr ""

#: library/decimal.rst:1332
msgid "Return the product of *x* and *y*."
msgstr ""

#: library/decimal.rst:1337
msgid "Returns the largest representable number smaller than *x*."
msgstr ""

#: library/decimal.rst:1342
msgid "Returns the smallest representable number larger than *x*."
msgstr ""

#: library/decimal.rst:1347
msgid "Returns the number closest to *x*, in direction towards *y*."
msgstr ""

#: library/decimal.rst:1352
msgid "Reduces *x* to its simplest form."
msgstr ""

#: library/decimal.rst:1357
msgid "Returns an indication of the class of *x*."
msgstr ""

#: library/decimal.rst:1362
msgid ""
"Plus corresponds to the unary prefix plus operator in Python.  This "
"operation applies the context precision and rounding, so it is *not* an "
"identity operation."
msgstr ""

#: library/decimal.rst:1369
msgid "Return ``x`` to the power of ``y``, reduced modulo ``modulo`` if given."
msgstr ""

#: library/decimal.rst:1371
msgid ""
"With two arguments, compute ``x**y``.  If ``x`` is negative then ``y`` must "
"be integral.  The result will be inexact unless ``y`` is integral and the "
"result is finite and can be expressed exactly in 'precision' digits. The "
"rounding mode of the context is used. Results are always correctly-rounded "
"in the Python version."
msgstr ""

#: library/decimal.rst:1377
msgid ""
"``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if "
"``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``."
msgstr ""

#: library/decimal.rst:1380
msgid ""
"The C module computes :meth:`power` in terms of the correctly-rounded :meth:"
"`exp` and :meth:`ln` functions. The result is well-defined but only \"almost "
"always correctly-rounded\"."
msgstr ""

#: library/decimal.rst:1385
msgid ""
"With three arguments, compute ``(x**y) % modulo``.  For the three argument "
"form, the following restrictions on the arguments hold:"
msgstr ""

#: library/decimal.rst:1388
msgid "all three arguments must be integral"
msgstr ""

#: library/decimal.rst:1389
msgid "``y`` must be nonnegative"
msgstr ""

#: library/decimal.rst:1390
msgid "at least one of ``x`` or ``y`` must be nonzero"
msgstr ""

#: library/decimal.rst:1391
msgid "``modulo`` must be nonzero and have at most 'precision' digits"
msgstr ""

#: library/decimal.rst:1393
msgid ""
"The value resulting from ``Context.power(x, y, modulo)`` is equal to the "
"value that would be obtained by computing ``(x**y) % modulo`` with unbounded "
"precision, but is computed more efficiently.  The exponent of the result is "
"zero, regardless of the exponents of ``x``, ``y`` and ``modulo``.  The "
"result is always exact."
msgstr ""

#: library/decimal.rst:1403
msgid "Returns a value equal to *x* (rounded), having the exponent of *y*."
msgstr ""

#: library/decimal.rst:1408
msgid "Just returns 10, as this is Decimal, :)"
msgstr ""

#: library/decimal.rst:1413
msgid "Returns the remainder from integer division."
msgstr ""

#: library/decimal.rst:1415
msgid ""
"The sign of the result, if non-zero, is the same as that of the original "
"dividend."
msgstr ""

#: library/decimal.rst:1421
msgid ""
"Returns ``x - y * n``, where *n* is the integer nearest the exact value of "
"``x / y`` (if the result is 0 then its sign will be the sign of *x*)."
msgstr ""

#: library/decimal.rst:1427
msgid "Returns a rotated copy of *x*, *y* times."
msgstr ""

#: library/decimal.rst:1432
msgid "Returns ``True`` if the two operands have the same exponent."
msgstr ""

#: library/decimal.rst:1437
msgid "Returns the first operand after adding the second value its exp."
msgstr ""

#: library/decimal.rst:1442
msgid "Returns a shifted copy of *x*, *y* times."
msgstr ""

#: library/decimal.rst:1447
msgid "Square root of a non-negative number to context precision."
msgstr ""

#: library/decimal.rst:1452
msgid "Return the difference between *x* and *y*."
msgstr ""

#: library/decimal.rst:1466
msgid "Rounds to an integer."
msgstr ""

#: library/decimal.rst:1471
msgid "Converts a number to a string using scientific notation."
msgstr ""

#: library/decimal.rst:1478
msgid "Constants"
msgstr "Constantes"

#: library/decimal.rst:1480
msgid ""
"The constants in this section are only relevant for the C module. They are "
"also included in the pure Python version for compatibility."
msgstr ""

#: library/decimal.rst:1484
msgid "32-bit"
msgstr "32-bit"

#: library/decimal.rst:1484
msgid "64-bit"
msgstr "64-bit"

#: library/decimal.rst:1488
msgid ":const:`425000000`"
msgstr ":const:`425000000`"

#: library/decimal.rst:1488
msgid ":const:`999999999999999999`"
msgstr ":const:`999999999999999999`"

#: library/decimal.rst:1490
msgid ":const:`-425000000`"
msgstr ":const:`-425000000`"

#: library/decimal.rst:1490
msgid ":const:`-999999999999999999`"
msgstr ":const:`-999999999999999999`"

#: library/decimal.rst:1492
msgid ":const:`-849999999`"
msgstr ":const:`-849999999`"

#: library/decimal.rst:1492
msgid ":const:`-1999999999999999997`"
msgstr ":const:`-1999999999999999997`"

#: library/decimal.rst:1498
msgid ""
"The value is ``True``.  Deprecated, because Python now always has threads."
msgstr ""

#: library/decimal.rst:1504
msgid ""
"The default value is ``True``. If Python is :option:`configured using the --"
"without-decimal-contextvar option <--without-decimal-contextvar>`, the C "
"version uses a thread-local rather than a coroutine-local context and the "
"value is ``False``.  This is slightly faster in some nested context "
"scenarios."
msgstr ""

#: library/decimal.rst:1509
msgid "backported to 3.7 and 3.8."
msgstr ""

#: library/decimal.rst:1513
msgid "Rounding modes"
msgstr ""

#: library/decimal.rst:1517
msgid "Round towards :const:`Infinity`."
msgstr ""

#: library/decimal.rst:1521
msgid "Round towards zero."
msgstr ""

#: library/decimal.rst:1525
msgid "Round towards :const:`-Infinity`."
msgstr ""

#: library/decimal.rst:1529
msgid "Round to nearest with ties going towards zero."
msgstr ""

#: library/decimal.rst:1533
msgid "Round to nearest with ties going to nearest even integer."
msgstr ""

#: library/decimal.rst:1537
msgid "Round to nearest with ties going away from zero."
msgstr ""

#: library/decimal.rst:1541
msgid "Round away from zero."
msgstr ""

#: library/decimal.rst:1545
msgid ""
"Round away from zero if last digit after rounding towards zero would have "
"been 0 or 5; otherwise round towards zero."
msgstr ""

#: library/decimal.rst:1552
msgid "Signals"
msgstr ""

#: library/decimal.rst:1554
msgid ""
"Signals represent conditions that arise during computation. Each corresponds "
"to one context flag and one context trap enabler."
msgstr ""

#: library/decimal.rst:1557
msgid ""
"The context flag is set whenever the condition is encountered. After the "
"computation, flags may be checked for informational purposes (for instance, "
"to determine whether a computation was exact). After checking the flags, be "
"sure to clear all flags before starting the next computation."
msgstr ""

#: library/decimal.rst:1562
msgid ""
"If the context's trap enabler is set for the signal, then the condition "
"causes a Python exception to be raised.  For example, if the :class:"
"`DivisionByZero` trap is set, then a :exc:`DivisionByZero` exception is "
"raised upon encountering the condition."
msgstr ""

#: library/decimal.rst:1570
msgid "Altered an exponent to fit representation constraints."
msgstr ""

#: library/decimal.rst:1572
msgid ""
"Typically, clamping occurs when an exponent falls outside the context's :"
"attr:`Emin` and :attr:`Emax` limits.  If possible, the exponent is reduced "
"to fit by adding zeros to the coefficient."
msgstr ""

#: library/decimal.rst:1579
msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`."
msgstr ""

#: library/decimal.rst:1584
msgid "Signals the division of a non-infinite number by zero."
msgstr ""

#: library/decimal.rst:1586
msgid ""
"Can occur with division, modulo division, or when raising a number to a "
"negative power.  If this signal is not trapped, returns :const:`Infinity` "
"or :const:`-Infinity` with the sign determined by the inputs to the "
"calculation."
msgstr ""

#: library/decimal.rst:1593
msgid "Indicates that rounding occurred and the result is not exact."
msgstr ""

#: library/decimal.rst:1595
msgid ""
"Signals when non-zero digits were discarded during rounding. The rounded "
"result is returned.  The signal flag or trap is used to detect when results "
"are inexact."
msgstr ""

#: library/decimal.rst:1602
msgid "An invalid operation was performed."
msgstr ""

#: library/decimal.rst:1604
msgid ""
"Indicates that an operation was requested that does not make sense. If not "
"trapped, returns :const:`NaN`.  Possible causes include::"
msgstr ""

#: library/decimal.rst:1620
msgid "Numerical overflow."
msgstr ""

#: library/decimal.rst:1622
msgid ""
"Indicates the exponent is larger than :attr:`Emax` after rounding has "
"occurred.  If not trapped, the result depends on the rounding mode, either "
"pulling inward to the largest representable finite number or rounding "
"outward to :const:`Infinity`.  In either case, :class:`Inexact` and :class:"
"`Rounded` are also signaled."
msgstr ""

#: library/decimal.rst:1631
msgid "Rounding occurred though possibly no information was lost."
msgstr ""

#: library/decimal.rst:1633
msgid ""
"Signaled whenever rounding discards digits; even if those digits are zero "
"(such as rounding :const:`5.00` to :const:`5.0`).  If not trapped, returns "
"the result unchanged.  This signal is used to detect loss of significant "
"digits."
msgstr ""

#: library/decimal.rst:1641
msgid "Exponent was lower than :attr:`Emin` prior to rounding."
msgstr ""

#: library/decimal.rst:1643
msgid ""
"Occurs when an operation result is subnormal (the exponent is too small). If "
"not trapped, returns the result unchanged."
msgstr ""

#: library/decimal.rst:1649
msgid "Numerical underflow with result rounded to zero."
msgstr ""

#: library/decimal.rst:1651
msgid ""
"Occurs when a subnormal result is pushed to zero by rounding. :class:"
"`Inexact` and :class:`Subnormal` are also signaled."
msgstr ""

#: library/decimal.rst:1657
msgid "Enable stricter semantics for mixing floats and Decimals."
msgstr ""

#: library/decimal.rst:1659
msgid ""
"If the signal is not trapped (default), mixing floats and Decimals is "
"permitted in the :class:`~decimal.Decimal` constructor, :meth:`~decimal."
"Context.create_decimal` and all comparison operators. Both conversion and "
"comparisons are exact. Any occurrence of a mixed operation is silently "
"recorded by setting :exc:`FloatOperation` in the context flags. Explicit "
"conversions with :meth:`~decimal.Decimal.from_float` or :meth:`~decimal."
"Context.create_decimal_from_float` do not set the flag."
msgstr ""

#: library/decimal.rst:1667
msgid ""
"Otherwise (the signal is trapped), only equality comparisons and explicit "
"conversions are silent. All other mixed operations raise :exc:"
"`FloatOperation`."
msgstr ""

#: library/decimal.rst:1671
msgid "The following table summarizes the hierarchy of signals::"
msgstr ""

#: library/decimal.rst:1692
msgid "Floating Point Notes"
msgstr ""

#: library/decimal.rst:1696
msgid "Mitigating round-off error with increased precision"
msgstr ""

#: library/decimal.rst:1698
msgid ""
"The use of decimal floating point eliminates decimal representation error "
"(making it possible to represent :const:`0.1` exactly); however, some "
"operations can still incur round-off error when non-zero digits exceed the "
"fixed precision."
msgstr ""

#: library/decimal.rst:1702
msgid ""
"The effects of round-off error can be amplified by the addition or "
"subtraction of nearly offsetting quantities resulting in loss of "
"significance.  Knuth provides two instructive examples where rounded "
"floating point arithmetic with insufficient precision causes the breakdown "
"of the associative and distributive properties of addition:"
msgstr ""

#: library/decimal.rst:1726
msgid ""
"The :mod:`decimal` module makes it possible to restore the identities by "
"expanding the precision sufficiently to avoid loss of significance:"
msgstr ""

#: library/decimal.rst:1746
msgid "Special values"
msgstr ""

#: library/decimal.rst:1748
msgid ""
"The number system for the :mod:`decimal` module provides special values "
"including :const:`NaN`, :const:`sNaN`, :const:`-Infinity`, :const:"
"`Infinity`, and two zeros, :const:`+0` and :const:`-0`."
msgstr ""

#: library/decimal.rst:1752
msgid ""
"Infinities can be constructed directly with:  ``Decimal('Infinity')``. Also, "
"they can arise from dividing by zero when the :exc:`DivisionByZero` signal "
"is not trapped.  Likewise, when the :exc:`Overflow` signal is not trapped, "
"infinity can result from rounding beyond the limits of the largest "
"representable number."
msgstr ""

#: library/decimal.rst:1757
msgid ""
"The infinities are signed (affine) and can be used in arithmetic operations "
"where they get treated as very large, indeterminate numbers.  For instance, "
"adding a constant to infinity gives another infinite result."
msgstr ""

#: library/decimal.rst:1761
msgid ""
"Some operations are indeterminate and return :const:`NaN`, or if the :exc:"
"`InvalidOperation` signal is trapped, raise an exception.  For example, "
"``0/0`` returns :const:`NaN` which means \"not a number\".  This variety of :"
"const:`NaN` is quiet and, once created, will flow through other computations "
"always resulting in another :const:`NaN`.  This behavior can be useful for a "
"series of computations that occasionally have missing inputs --- it allows "
"the calculation to proceed while flagging specific results as invalid."
msgstr ""

#: library/decimal.rst:1769
msgid ""
"A variant is :const:`sNaN` which signals rather than remaining quiet after "
"every operation.  This is a useful return value when an invalid result needs "
"to interrupt a calculation for special handling."
msgstr ""

#: library/decimal.rst:1773
msgid ""
"The behavior of Python's comparison operators can be a little surprising "
"where a :const:`NaN` is involved.  A test for equality where one of the "
"operands is a quiet or signaling :const:`NaN` always returns :const:`False` "
"(even when doing ``Decimal('NaN')==Decimal('NaN')``), while a test for "
"inequality always returns :const:`True`.  An attempt to compare two Decimals "
"using any of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise the :"
"exc:`InvalidOperation` signal if either operand is a :const:`NaN`, and "
"return :const:`False` if this signal is not trapped.  Note that the General "
"Decimal Arithmetic specification does not specify the behavior of direct "
"comparisons; these rules for comparisons involving a :const:`NaN` were taken "
"from the IEEE 854 standard (see Table 3 in section 5.7).  To ensure strict "
"standards-compliance, use the :meth:`compare` and :meth:`compare-signal` "
"methods instead."
msgstr ""

#: library/decimal.rst:1786
msgid ""
"The signed zeros can result from calculations that underflow. They keep the "
"sign that would have resulted if the calculation had been carried out to "
"greater precision.  Since their magnitude is zero, both positive and "
"negative zeros are treated as equal and their sign is informational."
msgstr ""

#: library/decimal.rst:1791
msgid ""
"In addition to the two signed zeros which are distinct yet equal, there are "
"various representations of zero with differing precisions yet equivalent in "
"value.  This takes a bit of getting used to.  For an eye accustomed to "
"normalized floating point representations, it is not immediately obvious "
"that the following calculation returns a value equal to zero:"
msgstr ""

#: library/decimal.rst:1806
msgid "Working with threads"
msgstr ""

#: library/decimal.rst:1808
msgid ""
"The :func:`getcontext` function accesses a different :class:`Context` object "
"for each thread.  Having separate thread contexts means that threads may "
"make changes (such as ``getcontext().prec=10``) without interfering with "
"other threads."
msgstr ""

#: library/decimal.rst:1812
msgid ""
"Likewise, the :func:`setcontext` function automatically assigns its target "
"to the current thread."
msgstr ""

#: library/decimal.rst:1815
msgid ""
"If :func:`setcontext` has not been called before :func:`getcontext`, then :"
"func:`getcontext` will automatically create a new context for use in the "
"current thread."
msgstr ""

#: library/decimal.rst:1819
msgid ""
"The new context is copied from a prototype context called *DefaultContext*. "
"To control the defaults so that each thread will use the same values "
"throughout the application, directly modify the *DefaultContext* object. "
"This should be done *before* any threads are started so that there won't be "
"a race condition between threads calling :func:`getcontext`. For example::"
msgstr ""

#: library/decimal.rst:1844
msgid "Recipes"
msgstr "Cas pratiques"

#: library/decimal.rst:1846
msgid ""
"Here are a few recipes that serve as utility functions and that demonstrate "
"ways to work with the :class:`Decimal` class::"
msgstr ""

#: library/decimal.rst:2001
msgid "Decimal FAQ"
msgstr "FAQ *decimal*"

#: library/decimal.rst:2003
msgid ""
"Q. It is cumbersome to type ``decimal.Decimal('1234.5')``.  Is there a way "
"to minimize typing when using the interactive interpreter?"
msgstr ""
"Q. C'est fastidieux de taper ``decimal.Decimal('1234.5')``.  Y a-t-il un "
"moyen de réduire la frappe quand on utilise l'interpréteur interactif ?"

#: library/decimal.rst:2006
msgid "A. Some users abbreviate the constructor to just a single letter:"
msgstr ""
"R. Certains utilisateurs abrègent le constructeur en une seule lettre :"

#: library/decimal.rst:2012
msgid ""
"Q. In a fixed-point application with two decimal places, some inputs have "
"many places and need to be rounded.  Others are not supposed to have excess "
"digits and need to be validated.  What methods should be used?"
msgstr ""

#: library/decimal.rst:2016
msgid ""
"A. The :meth:`quantize` method rounds to a fixed number of decimal places. "
"If the :const:`Inexact` trap is set, it is also useful for validation:"
msgstr ""

#: library/decimal.rst:2034
msgid ""
"Q. Once I have valid two place inputs, how do I maintain that invariant "
"throughout an application?"
msgstr ""

#: library/decimal.rst:2037
msgid ""
"A. Some operations like addition, subtraction, and multiplication by an "
"integer will automatically preserve fixed point.  Others operations, like "
"division and non-integer multiplication, will change the number of decimal "
"places and need to be followed-up with a :meth:`quantize` step:"
msgstr ""

#: library/decimal.rst:2055
msgid ""
"In developing fixed-point applications, it is convenient to define functions "
"to handle the :meth:`quantize` step:"
msgstr ""

#: library/decimal.rst:2068
msgid ""
"Q. There are many ways to express the same value.  The numbers :const:"
"`200`, :const:`200.000`, :const:`2E2`, and :const:`.02E+4` all have the same "
"value at various precisions. Is there a way to transform them to a single "
"recognizable canonical value?"
msgstr ""

#: library/decimal.rst:2073
msgid ""
"A. The :meth:`normalize` method maps all equivalent values to a single "
"representative:"
msgstr ""

#: library/decimal.rst:2080
msgid ""
"Q. Some decimal values always print with exponential notation.  Is there a "
"way to get a non-exponential representation?"
msgstr ""

#: library/decimal.rst:2083
msgid ""
"A. For some values, exponential notation is the only way to express the "
"number of significant places in the coefficient.  For example, expressing :"
"const:`5.0E+3` as :const:`5000` keeps the value constant but cannot show the "
"original's two-place significance."
msgstr ""

#: library/decimal.rst:2088
msgid ""
"If an application does not care about tracking significance, it is easy to "
"remove the exponent and trailing zeroes, losing significance, but keeping "
"the value unchanged:"
msgstr ""

#: library/decimal.rst:2098
msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?"
msgstr ""

#: library/decimal.rst:2100
msgid ""
"A. Yes, any binary floating point number can be exactly expressed as a "
"Decimal though an exact conversion may take more precision than intuition "
"would suggest:"
msgstr ""

#: library/decimal.rst:2109
msgid ""
"Q. Within a complex calculation, how can I make sure that I haven't gotten a "
"spurious result because of insufficient precision or rounding anomalies."
msgstr ""

#: library/decimal.rst:2112
msgid ""
"A. The decimal module makes it easy to test results.  A best practice is to "
"re-run calculations using greater precision and with various rounding modes. "
"Widely differing results indicate insufficient precision, rounding mode "
"issues, ill-conditioned inputs, or a numerically unstable algorithm."
msgstr ""

#: library/decimal.rst:2117
msgid ""
"Q. I noticed that context precision is applied to the results of operations "
"but not to the inputs.  Is there anything to watch out for when mixing "
"values of different precisions?"
msgstr ""

#: library/decimal.rst:2121
msgid ""
"A. Yes.  The principle is that all values are considered to be exact and so "
"is the arithmetic on those values.  Only the results are rounded.  The "
"advantage for inputs is that \"what you type is what you get\".  A "
"disadvantage is that the results can look odd if you forget that the inputs "
"haven't been rounded:"
msgstr ""

#: library/decimal.rst:2134
msgid ""
"The solution is either to increase precision or to force rounding of inputs "
"using the unary plus operation:"
msgstr ""

#: library/decimal.rst:2143
msgid ""
"Alternatively, inputs can be rounded upon creation using the :meth:`Context."
"create_decimal` method:"
msgstr ""

#: library/decimal.rst:2149
msgid "Q. Is the CPython implementation fast for large numbers?"
msgstr ""

#: library/decimal.rst:2151
msgid ""
"A. Yes.  In the CPython and PyPy3 implementations, the C/CFFI versions of "
"the decimal module integrate the high speed `libmpdec <https://www.bytereef."
"org/mpdecimal/doc/libmpdec/index.html>`_ library for arbitrary precision "
"correctly-rounded decimal floating point arithmetic [#]_. ``libmpdec`` uses "
"`Karatsuba multiplication <https://en.wikipedia.org/wiki/"
"Karatsuba_algorithm>`_ for medium-sized numbers and the `Number Theoretic "
"Transform <https://en.wikipedia.org/wiki/"
"Discrete_Fourier_transform_(general)#Number-theoretic_transform>`_ for very "
"large numbers."
msgstr ""

#: library/decimal.rst:2161
msgid ""
"The context must be adapted for exact arbitrary precision arithmetic. :attr:"
"`Emin` and :attr:`Emax` should always be set to the maximum values, :attr:"
"`clamp` should always be 0 (the default).  Setting :attr:`prec` requires "
"some care."
msgstr ""

#: library/decimal.rst:2165
msgid ""
"The easiest approach for trying out bignum arithmetic is to use the maximum "
"value for :attr:`prec` as well [#]_::"
msgstr ""

#: library/decimal.rst:2174
msgid ""
"For inexact results, :attr:`MAX_PREC` is far too large on 64-bit platforms "
"and the available memory will be insufficient::"
msgstr ""

#: library/decimal.rst:2182
msgid ""
"On systems with overallocation (e.g. Linux), a more sophisticated approach "
"is to adjust :attr:`prec` to the amount of available RAM.  Suppose that you "
"have 8GB of RAM and expect 10 simultaneous operands using a maximum of 500MB "
"each::"
msgstr ""

#: library/decimal.rst:2206
msgid ""
"In general (and especially on systems without overallocation), it is "
"recommended to estimate even tighter bounds and set the :attr:`Inexact` trap "
"if all calculations are expected to be exact."
msgstr ""

#: library/decimal.rst:2215
msgid ""
"This approach now works for all exact results except for non-integer powers."
msgstr ""
