# SOME DESCRIPTIVE TITLE. # Copyright (C) 1990-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 2.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/decimal.rst:3 msgid ":mod:`decimal` --- Decimal fixed point and floating point arithmetic" msgstr ":mod:`decimal` --- Arithmétique décimale en virgule fixe et flottante" #: ../Doc/library/decimal.rst:29 msgid "" "The :mod:`decimal` module provides support for decimal floating point " "arithmetic. It offers several advantages over the :class:`float` datatype:" msgstr "" #: ../Doc/library/decimal.rst:32 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." #: ../Doc/library/decimal.rst:37 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 "" #: ../Doc/library/decimal.rst:42 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é." #: ../Doc/library/decimal.rst:49 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`." #: ../Doc/library/decimal.rst:56 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é :" #: ../Doc/library/decimal.rst:68 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." #: ../Doc/library/decimal.rst:75 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)." #: ../Doc/library/decimal.rst:80 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." #: ../Doc/library/decimal.rst:83 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`." #: ../Doc/library/decimal.rst:89 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`." #: ../Doc/library/decimal.rst:96 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`, and :const:`Underflow`." msgstr "" #: ../Doc/library/decimal.rst:103 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." #: ../Doc/library/decimal.rst:111 msgid "" "IBM's General Decimal Arithmetic Specification, `The General Decimal " "Arithmetic Specification `_." msgstr "" #: ../Doc/library/decimal.rst:120 msgid "Quick-start Tutorial" msgstr "Introduction pratique" #: ../Doc/library/decimal.rst:122 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 ::" #: ../Doc/library/decimal.rst:134 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 "" #: ../Doc/library/decimal.rst:158 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." #: ../Doc/library/decimal.rst:175 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 :" #: ../Doc/library/decimal.rst:207 msgid "And some mathematical functions are also available to Decimal:" msgstr "" "Et certaines fonctions mathématiques sont également disponibles sur des " "instances de ``Decimal`` :" #: ../Doc/library/decimal.rst:219 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 :" #: ../Doc/library/decimal.rst:228 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." #: ../Doc/library/decimal.rst:232 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`." #: ../Doc/library/decimal.rst:236 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." #: ../Doc/library/decimal.rst:265 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`. ::" #: ../Doc/library/decimal.rst:278 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)." #: ../Doc/library/decimal.rst:282 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 :" #: ../Doc/library/decimal.rst:297 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." #: ../Doc/library/decimal.rst:309 msgid "Decimal objects" msgstr "Les objets Decimal" #: ../Doc/library/decimal.rst:314 msgid "Construct a new :class:`Decimal` object based from *value*." msgstr "Construire un nouvel objet :class:`Decimal` à partir de *value*." #: ../Doc/library/decimal.rst:316 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 are removed::" msgstr "" #: ../Doc/library/decimal.rst:332 msgid "" "If *value* is a unicode string then 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 ``u'\\uff10'`` through ``u'\\uff19'``." msgstr "" #: ../Doc/library/decimal.rst:338 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')``." #: ../Doc/library/decimal.rst:343 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')``." #: ../Doc/library/decimal.rst:349 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." #: ../Doc/library/decimal.rst:354 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`." #: ../Doc/library/decimal.rst:359 msgid "Once constructed, :class:`Decimal` objects are immutable." msgstr "Une fois construit, les objets :class:`Decimal` sont immuables." #: ../Doc/library/decimal.rst:361 msgid "" "leading and trailing whitespace characters are permitted when creating a " "Decimal instance from a string." msgstr "" #: ../Doc/library/decimal.rst:365 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`." #: ../Doc/library/decimal.rst:368 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:`long`)." msgstr "" #: ../Doc/library/decimal.rst:375 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::" #: ../Doc/library/decimal.rst:385 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``::" #: ../Doc/library/decimal.rst:394 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." #: ../Doc/library/decimal.rst:398 msgid "" "Decimal objects cannot generally be combined with floats in arithmetic " "operations: an attempt to add a :class:`Decimal` to a :class:`float`, for " "example, will raise a :exc:`TypeError`. There's one exception to this rule: " "it's possible to use Python's comparison operators to compare a :class:" "`float` instance ``x`` with a :class:`Decimal` instance ``y``. Without this " "exception, comparisons between :class:`Decimal` and :class:`float` instances " "would follow the general rules for comparing objects of different types " "described in the :ref:`expressions` section of the reference manual, leading " "to confusing results." msgstr "" #: ../Doc/library/decimal.rst:409 msgid "" "A comparison between a :class:`float` instance ``x`` and a :class:`Decimal` " "instance ``y`` now returns a result based on the values of ``x`` and ``y``. " "In earlier versions ``x < y`` returned the same (arbitrary) result for any :" "class:`Decimal` instance ``x`` and any :class:`float` instance ``y``." msgstr "" #: ../Doc/library/decimal.rst:416 msgid "" "In addition to the standard numeric properties, decimal floating point " "objects also have a number of specialized methods:" msgstr "" #: ../Doc/library/decimal.rst:422 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 "" #: ../Doc/library/decimal.rst:430 msgid "" "Return a :term:`named tuple` representation of the number: " "``DecimalTuple(sign, digits, exponent)``." msgstr "" #: ../Doc/library/decimal.rst:433 msgid "Use a named tuple." msgstr "" #: ../Doc/library/decimal.rst:439 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 "" #: ../Doc/library/decimal.rst:447 msgid "" "Compare the values of two Decimal instances. This operation behaves in the " "same way as the usual comparison method :meth:`__cmp__`, except that :meth:" "`compare` returns a Decimal instance rather than an integer, and if either " "operand is a NaN then the result is a NaN::" msgstr "" #: ../Doc/library/decimal.rst:459 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 "" #: ../Doc/library/decimal.rst:467 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 "" #: ../Doc/library/decimal.rst:476 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 "" #: ../Doc/library/decimal.rst:487 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 "" #: ../Doc/library/decimal.rst:496 msgid "" "Just returns self, this method is only to comply with the Decimal " "Specification." msgstr "" #: ../Doc/library/decimal.rst:503 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 "" #: ../Doc/library/decimal.rst:511 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 "" #: ../Doc/library/decimal.rst:518 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 "" #: ../Doc/library/decimal.rst:524 msgid "" "This operation is unaffected by the context and is quiet: no flags are " "changed and no rounding is performed." msgstr "" #: ../Doc/library/decimal.rst:531 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 "" #: ../Doc/library/decimal.rst:544 msgid "Classmethod that converts a float to a decimal number, exactly." msgstr "" #: ../Doc/library/decimal.rst:546 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 "" #: ../Doc/library/decimal.rst:552 msgid "" "From Python 2.7 onwards, a :class:`Decimal` instance can also be constructed " "directly from a :class:`float`." msgstr "" #: ../Doc/library/decimal.rst:570 msgid "" "Fused multiply-add. Return self*other+third with no rounding of the " "intermediate product self*other." msgstr "" #: ../Doc/library/decimal.rst:580 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 "" #: ../Doc/library/decimal.rst:588 msgid "" "Return :const:`True` if the argument is a finite number, and :const:`False` " "if the argument is an infinity or a NaN." msgstr "" #: ../Doc/library/decimal.rst:595 msgid "" "Return :const:`True` if the argument is either positive or negative infinity " "and :const:`False` otherwise." msgstr "" #: ../Doc/library/decimal.rst:602 msgid "" "Return :const:`True` if the argument is a (quiet or signaling) NaN and :" "const:`False` otherwise." msgstr "" #: ../Doc/library/decimal.rst:609 msgid "" "Return :const:`True` if the argument is a *normal* finite non-zero number " "with an adjusted exponent greater than or equal to *Emin*. Return :const:" "`False` if the argument is zero, subnormal, infinite or a NaN. Note, the " "term *normal* is used here in a different sense with the :meth:`normalize` " "method which is used to create canonical values." msgstr "" #: ../Doc/library/decimal.rst:619 msgid "" "Return :const:`True` if the argument is a quiet NaN, and :const:`False` " "otherwise." msgstr "" #: ../Doc/library/decimal.rst:626 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 "" #: ../Doc/library/decimal.rst:633 msgid "" "Return :const:`True` if the argument is a signaling NaN and :const:`False` " "otherwise." msgstr "" #: ../Doc/library/decimal.rst:640 msgid "" "Return :const:`True` if the argument is subnormal, and :const:`False` " "otherwise. A number is subnormal is if it is nonzero, finite, and has an " "adjusted exponent less than *Emin*." msgstr "" #: ../Doc/library/decimal.rst:648 msgid "" "Return :const:`True` if the argument is a (positive or negative) zero and :" "const:`False` otherwise." msgstr "" #: ../Doc/library/decimal.rst:655 msgid "" "Return the natural (base e) logarithm of the operand. The result is " "correctly rounded using the :const:`ROUND_HALF_EVEN` rounding mode." msgstr "" #: ../Doc/library/decimal.rst:662 msgid "" "Return the base ten logarithm of the operand. The result is correctly " "rounded using the :const:`ROUND_HALF_EVEN` rounding mode." msgstr "" #: ../Doc/library/decimal.rst:669 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 "" #: ../Doc/library/decimal.rst:679 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 "" #: ../Doc/library/decimal.rst:687 msgid "" ":meth:`logical_invert` is a logical operation. The result is the digit-wise " "inversion of the operand." msgstr "" #: ../Doc/library/decimal.rst:694 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 "" #: ../Doc/library/decimal.rst:702 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 "" #: ../Doc/library/decimal.rst:710 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 "" #: ../Doc/library/decimal.rst:717 msgid "" "Similar to the :meth:`.max` method, but the comparison is done using the " "absolute values of the operands." msgstr "" #: ../Doc/library/decimal.rst:724 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 "" #: ../Doc/library/decimal.rst:731 msgid "" "Similar to the :meth:`.min` method, but the comparison is done using the " "absolute values of the operands." msgstr "" #: ../Doc/library/decimal.rst:738 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 "" #: ../Doc/library/decimal.rst:746 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 "" #: ../Doc/library/decimal.rst:754 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 "" #: ../Doc/library/decimal.rst:763 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 "" #: ../Doc/library/decimal.rst:772 msgid "" "Return a string describing the *class* of the operand. The returned value " "is one of the following ten strings." msgstr "" #: ../Doc/library/decimal.rst:775 msgid "``\"-Infinity\"``, indicating that the operand is negative infinity." msgstr "" #: ../Doc/library/decimal.rst:776 msgid "" "``\"-Normal\"``, indicating that the operand is a negative normal number." msgstr "" #: ../Doc/library/decimal.rst:777 msgid "" "``\"-Subnormal\"``, indicating that the operand is negative and subnormal." msgstr "" #: ../Doc/library/decimal.rst:778 msgid "``\"-Zero\"``, indicating that the operand is a negative zero." msgstr "" #: ../Doc/library/decimal.rst:779 msgid "``\"+Zero\"``, indicating that the operand is a positive zero." msgstr "" #: ../Doc/library/decimal.rst:780 msgid "" "``\"+Subnormal\"``, indicating that the operand is positive and subnormal." msgstr "" #: ../Doc/library/decimal.rst:781 msgid "" "``\"+Normal\"``, indicating that the operand is a positive normal number." msgstr "" #: ../Doc/library/decimal.rst:782 msgid "``\"+Infinity\"``, indicating that the operand is positive infinity." msgstr "" #: ../Doc/library/decimal.rst:783 msgid "``\"NaN\"``, indicating that the operand is a quiet NaN (Not a Number)." msgstr "" #: ../Doc/library/decimal.rst:784 msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN." msgstr "" #: ../Doc/library/decimal.rst:790 msgid "" "Return a value equal to the first operand after rounding and having the " "exponent of the second operand." msgstr "" #: ../Doc/library/decimal.rst:796 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 "" #: ../Doc/library/decimal.rst:802 msgid "" "Also unlike other operations, quantize never signals Underflow, even if the " "result is subnormal and inexact." msgstr "" #: ../Doc/library/decimal.rst:805 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 "" #: ../Doc/library/decimal.rst:811 msgid "" "If *watchexp* is set (default), then an error is returned whenever the " "resulting exponent is greater than :attr:`Emax` or less than :attr:`Etiny`." msgstr "" #: ../Doc/library/decimal.rst:817 msgid "" "Return ``Decimal(10)``, the radix (base) in which the :class:`Decimal` class " "does all its arithmetic. Included for compatibility with the specification." msgstr "" #: ../Doc/library/decimal.rst:825 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 "" #: ../Doc/library/decimal.rst:832 msgid "If the result is zero then its sign will be the sign of *self*." msgstr "" #: ../Doc/library/decimal.rst:843 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 "" #: ../Doc/library/decimal.rst:856 msgid "" "Test whether self and other have the same exponent or whether both are :" "const:`NaN`." msgstr "" #: ../Doc/library/decimal.rst:861 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 "" #: ../Doc/library/decimal.rst:869 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 "" #: ../Doc/library/decimal.rst:881 msgid "Return the square root of the argument to full precision." msgstr "" #: ../Doc/library/decimal.rst:886 ../Doc/library/decimal.rst:1458 msgid "" "Convert to a string, using engineering notation if an exponent is needed." msgstr "" #: ../Doc/library/decimal.rst:888 ../Doc/library/decimal.rst:1460 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 "" #: ../Doc/library/decimal.rst:892 msgid "" "For example, this converts ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``." msgstr "" #: ../Doc/library/decimal.rst:896 msgid "" "Identical to the :meth:`to_integral_value` method. The ``to_integral`` name " "has been kept for compatibility with older versions." msgstr "" #: ../Doc/library/decimal.rst:901 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 "" #: ../Doc/library/decimal.rst:911 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 "" #: ../Doc/library/decimal.rst:915 msgid "" "renamed from ``to_integral`` to ``to_integral_value``. The old name remains " "valid for compatibility." msgstr "" #: ../Doc/library/decimal.rst:922 msgid "Logical operands" msgstr "" #: ../Doc/library/decimal.rst:924 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 "" #: ../Doc/library/decimal.rst:936 msgid "Context objects" msgstr "" #: ../Doc/library/decimal.rst:938 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 "" #: ../Doc/library/decimal.rst:942 msgid "" "Each thread has its own current context which is accessed or changed using " "the :func:`getcontext` and :func:`setcontext` functions:" msgstr "" #: ../Doc/library/decimal.rst:948 msgid "Return the current context for the active thread." msgstr "" #: ../Doc/library/decimal.rst:953 msgid "Set the current context for the active thread to *c*." msgstr "" #: ../Doc/library/decimal.rst:955 msgid "" "Beginning with Python 2.5, you can also use the :keyword:`with` statement " "and the :func:`localcontext` function to temporarily change the active " "context." msgstr "" #: ../Doc/library/decimal.rst:961 msgid "" "Return a context manager that will set the current context for the active " "thread to a copy of *c* 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." msgstr "" #: ../Doc/library/decimal.rst:968 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 "" #: ../Doc/library/decimal.rst:982 msgid "" "New contexts can also be created using the :class:`Context` constructor " "described below. In addition, the module provides three pre-made contexts:" msgstr "" #: ../Doc/library/decimal.rst:988 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 "" #: ../Doc/library/decimal.rst:994 msgid "" "Because many of the traps are enabled, this context is useful for debugging." msgstr "" #: ../Doc/library/decimal.rst:999 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 "" #: ../Doc/library/decimal.rst:1004 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 "" #: ../Doc/library/decimal.rst:1012 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 "" #: ../Doc/library/decimal.rst:1016 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 "" #: ../Doc/library/decimal.rst:1021 msgid "" "In single threaded environments, it is preferable to not use this context at " "all. Instead, simply create contexts explicitly as described below." msgstr "" #: ../Doc/library/decimal.rst:1024 msgid "" "The default values are precision=28, rounding=ROUND_HALF_EVEN, and enabled " "traps for Overflow, InvalidOperation, and DivisionByZero." msgstr "" #: ../Doc/library/decimal.rst:1027 msgid "" "In addition to the three supplied contexts, new contexts can be created with " "the :class:`Context` constructor." msgstr "" #: ../Doc/library/decimal.rst:1033 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 "" #: ../Doc/library/decimal.rst:1037 msgid "" "The *prec* field is a positive integer that sets the precision for " "arithmetic operations in the context." msgstr "" #: ../Doc/library/decimal.rst:1040 msgid "The *rounding* option is one of:" msgstr "" #: ../Doc/library/decimal.rst:1042 msgid ":const:`ROUND_CEILING` (towards :const:`Infinity`)," msgstr "" #: ../Doc/library/decimal.rst:1043 msgid ":const:`ROUND_DOWN` (towards zero)," msgstr "" #: ../Doc/library/decimal.rst:1044 msgid ":const:`ROUND_FLOOR` (towards :const:`-Infinity`)," msgstr "" #: ../Doc/library/decimal.rst:1045 msgid ":const:`ROUND_HALF_DOWN` (to nearest with ties going towards zero)," msgstr "" #: ../Doc/library/decimal.rst:1046 msgid "" ":const:`ROUND_HALF_EVEN` (to nearest with ties going to nearest even " "integer)," msgstr "" #: ../Doc/library/decimal.rst:1047 msgid ":const:`ROUND_HALF_UP` (to nearest with ties going away from zero), or" msgstr "" #: ../Doc/library/decimal.rst:1048 msgid ":const:`ROUND_UP` (away from zero)." msgstr "" #: ../Doc/library/decimal.rst:1049 msgid "" ":const:`ROUND_05UP` (away from zero if last digit after rounding towards " "zero would have been 0 or 5; otherwise towards zero)" msgstr "" #: ../Doc/library/decimal.rst:1052 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 "" #: ../Doc/library/decimal.rst:1055 msgid "" "The *Emin* and *Emax* fields are integers specifying the outer limits " "allowable for exponents." msgstr "" #: ../Doc/library/decimal.rst:1058 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 "" #: ../Doc/library/decimal.rst:1062 msgid "The :const:`ROUND_05UP` rounding mode was added." msgstr "" #: ../Doc/library/decimal.rst:1065 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` or :class:" "`long`) anywhere that a Decimal instance is accepted." msgstr "" #: ../Doc/library/decimal.rst:1078 msgid "Resets all of the flags to :const:`0`." msgstr "" #: ../Doc/library/decimal.rst:1082 msgid "Return a duplicate of the context." msgstr "" #: ../Doc/library/decimal.rst:1086 msgid "Return a copy of the Decimal instance num." msgstr "" #: ../Doc/library/decimal.rst:1090 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 "" #: ../Doc/library/decimal.rst:1094 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 "" #: ../Doc/library/decimal.rst:1108 msgid "" "This method implements the to-number operation of the IBM specification. If " "the argument is a string, no leading or trailing whitespace is permitted." msgstr "" #: ../Doc/library/decimal.rst:1114 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 "" #: ../Doc/library/decimal.rst:1134 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 "" #: ../Doc/library/decimal.rst:1141 msgid "Returns a value equal to ``Emax - prec + 1``." msgstr "" #: ../Doc/library/decimal.rst:1143 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 "" #: ../Doc/library/decimal.rst:1153 msgid "Returns the absolute value of *x*." msgstr "Renvoie la valeur absolue de *x*." #: ../Doc/library/decimal.rst:1158 msgid "Return the sum of *x* and *y*." msgstr "" #: ../Doc/library/decimal.rst:1163 msgid "Returns the same Decimal object *x*." msgstr "" #: ../Doc/library/decimal.rst:1168 msgid "Compares *x* and *y* numerically." msgstr "" #: ../Doc/library/decimal.rst:1173 msgid "Compares the values of the two operands numerically." msgstr "" #: ../Doc/library/decimal.rst:1178 msgid "Compares two operands using their abstract representation." msgstr "" #: ../Doc/library/decimal.rst:1183 msgid "" "Compares two operands using their abstract representation, ignoring sign." msgstr "" #: ../Doc/library/decimal.rst:1188 msgid "Returns a copy of *x* with the sign set to 0." msgstr "" #: ../Doc/library/decimal.rst:1193 msgid "Returns a copy of *x* with the sign inverted." msgstr "" #: ../Doc/library/decimal.rst:1198 msgid "Copies the sign from *y* to *x*." msgstr "" #: ../Doc/library/decimal.rst:1203 msgid "Return *x* divided by *y*." msgstr "" #: ../Doc/library/decimal.rst:1208 msgid "Return *x* divided by *y*, truncated to an integer." msgstr "" #: ../Doc/library/decimal.rst:1213 msgid "Divides two numbers and returns the integer part of the result." msgstr "" #: ../Doc/library/decimal.rst:1218 msgid "Returns `e ** x`." msgstr "" #: ../Doc/library/decimal.rst:1223 msgid "Returns *x* multiplied by *y*, plus *z*." msgstr "" #: ../Doc/library/decimal.rst:1228 msgid "Returns ``True`` if *x* is canonical; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1233 msgid "Returns ``True`` if *x* is finite; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1238 msgid "Returns ``True`` if *x* is infinite; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1243 msgid "Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1248 msgid "" "Returns ``True`` if *x* is a normal number; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1253 msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1258 msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1263 msgid "" "Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1268 msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1273 msgid "Returns ``True`` if *x* is a zero; otherwise returns ``False``." msgstr "" #: ../Doc/library/decimal.rst:1278 msgid "Returns the natural (base e) logarithm of *x*." msgstr "" #: ../Doc/library/decimal.rst:1283 msgid "Returns the base 10 logarithm of *x*." msgstr "" #: ../Doc/library/decimal.rst:1288 msgid "Returns the exponent of the magnitude of the operand's MSD." msgstr "" #: ../Doc/library/decimal.rst:1293 msgid "Applies the logical operation *and* between each operand's digits." msgstr "" #: ../Doc/library/decimal.rst:1298 msgid "Invert all the digits in *x*." msgstr "" #: ../Doc/library/decimal.rst:1303 msgid "Applies the logical operation *or* between each operand's digits." msgstr "" #: ../Doc/library/decimal.rst:1308 msgid "Applies the logical operation *xor* between each operand's digits." msgstr "" #: ../Doc/library/decimal.rst:1313 msgid "Compares two values numerically and returns the maximum." msgstr "" #: ../Doc/library/decimal.rst:1318 ../Doc/library/decimal.rst:1328 msgid "Compares the values numerically with their sign ignored." msgstr "" #: ../Doc/library/decimal.rst:1323 msgid "Compares two values numerically and returns the minimum." msgstr "" #: ../Doc/library/decimal.rst:1333 msgid "Minus corresponds to the unary prefix minus operator in Python." msgstr "" #: ../Doc/library/decimal.rst:1338 msgid "Return the product of *x* and *y*." msgstr "" #: ../Doc/library/decimal.rst:1343 msgid "Returns the largest representable number smaller than *x*." msgstr "" #: ../Doc/library/decimal.rst:1348 msgid "Returns the smallest representable number larger than *x*." msgstr "" #: ../Doc/library/decimal.rst:1353 msgid "Returns the number closest to *x*, in direction towards *y*." msgstr "" #: ../Doc/library/decimal.rst:1358 msgid "Reduces *x* to its simplest form." msgstr "" #: ../Doc/library/decimal.rst:1363 msgid "Returns an indication of the class of *x*." msgstr "" #: ../Doc/library/decimal.rst:1368 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 "" #: ../Doc/library/decimal.rst:1375 msgid "Return ``x`` to the power of ``y``, reduced modulo ``modulo`` if given." msgstr "" #: ../Doc/library/decimal.rst:1377 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 " "result should always be correctly rounded, using the rounding mode of the " "current thread's context." msgstr "" #: ../Doc/library/decimal.rst:1383 msgid "" "With three arguments, compute ``(x**y) % modulo``. For the three argument " "form, the following restrictions on the arguments hold:" msgstr "" #: ../Doc/library/decimal.rst:1386 msgid "all three arguments must be integral" msgstr "" #: ../Doc/library/decimal.rst:1387 msgid "``y`` must be nonnegative" msgstr "" #: ../Doc/library/decimal.rst:1388 msgid "at least one of ``x`` or ``y`` must be nonzero" msgstr "" #: ../Doc/library/decimal.rst:1389 msgid "``modulo`` must be nonzero and have at most 'precision' digits" msgstr "" #: ../Doc/library/decimal.rst:1391 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 "" #: ../Doc/library/decimal.rst:1398 msgid "" "``y`` may now be nonintegral in ``x**y``. Stricter requirements for the " "three-argument version." msgstr "" #: ../Doc/library/decimal.rst:1405 msgid "Returns a value equal to *x* (rounded), having the exponent of *y*." msgstr "" #: ../Doc/library/decimal.rst:1410 msgid "Just returns 10, as this is Decimal, :)" msgstr "" #: ../Doc/library/decimal.rst:1415 msgid "Returns the remainder from integer division." msgstr "" #: ../Doc/library/decimal.rst:1417 msgid "" "The sign of the result, if non-zero, is the same as that of the original " "dividend." msgstr "" #: ../Doc/library/decimal.rst:1422 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 "" #: ../Doc/library/decimal.rst:1428 msgid "Returns a rotated copy of *x*, *y* times." msgstr "" #: ../Doc/library/decimal.rst:1433 msgid "Returns ``True`` if the two operands have the same exponent." msgstr "" #: ../Doc/library/decimal.rst:1438 msgid "Returns the first operand after adding the second value its exp." msgstr "" #: ../Doc/library/decimal.rst:1443 msgid "Returns a shifted copy of *x*, *y* times." msgstr "" #: ../Doc/library/decimal.rst:1448 msgid "Square root of a non-negative number to context precision." msgstr "" #: ../Doc/library/decimal.rst:1453 msgid "Return the difference between *x* and *y*." msgstr "" #: ../Doc/library/decimal.rst:1467 msgid "Rounds to an integer." msgstr "" #: ../Doc/library/decimal.rst:1472 msgid "Converts a number to a string using scientific notation." msgstr "" #: ../Doc/library/decimal.rst:1480 msgid "Signals" msgstr "" #: ../Doc/library/decimal.rst:1482 msgid "" "Signals represent conditions that arise during computation. Each corresponds " "to one context flag and one context trap enabler." msgstr "" #: ../Doc/library/decimal.rst:1485 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 "" #: ../Doc/library/decimal.rst:1490 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 "" #: ../Doc/library/decimal.rst:1498 msgid "Altered an exponent to fit representation constraints." msgstr "" #: ../Doc/library/decimal.rst:1500 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 "" #: ../Doc/library/decimal.rst:1507 msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`." msgstr "" #: ../Doc/library/decimal.rst:1512 msgid "Signals the division of a non-infinite number by zero." msgstr "" #: ../Doc/library/decimal.rst:1514 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 "" #: ../Doc/library/decimal.rst:1521 msgid "Indicates that rounding occurred and the result is not exact." msgstr "" #: ../Doc/library/decimal.rst:1523 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 "" #: ../Doc/library/decimal.rst:1530 msgid "An invalid operation was performed." msgstr "" #: ../Doc/library/decimal.rst:1532 msgid "" "Indicates that an operation was requested that does not make sense. If not " "trapped, returns :const:`NaN`. Possible causes include::" msgstr "" #: ../Doc/library/decimal.rst:1549 msgid "Numerical overflow." msgstr "" #: ../Doc/library/decimal.rst:1551 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 "" #: ../Doc/library/decimal.rst:1560 msgid "Rounding occurred though possibly no information was lost." msgstr "" #: ../Doc/library/decimal.rst:1562 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 "" #: ../Doc/library/decimal.rst:1570 msgid "Exponent was lower than :attr:`Emin` prior to rounding." msgstr "" #: ../Doc/library/decimal.rst:1572 msgid "" "Occurs when an operation result is subnormal (the exponent is too small). If " "not trapped, returns the result unchanged." msgstr "" #: ../Doc/library/decimal.rst:1578 msgid "Numerical underflow with result rounded to zero." msgstr "" #: ../Doc/library/decimal.rst:1580 msgid "" "Occurs when a subnormal result is pushed to zero by rounding. :class:" "`Inexact` and :class:`Subnormal` are also signaled." msgstr "" #: ../Doc/library/decimal.rst:1583 msgid "The following table summarizes the hierarchy of signals::" msgstr "" #: ../Doc/library/decimal.rst:1602 msgid "Floating Point Notes" msgstr "" #: ../Doc/library/decimal.rst:1606 msgid "Mitigating round-off error with increased precision" msgstr "" #: ../Doc/library/decimal.rst:1608 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 "" #: ../Doc/library/decimal.rst:1612 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 "" #: ../Doc/library/decimal.rst:1636 msgid "" "The :mod:`decimal` module makes it possible to restore the identities by " "expanding the precision sufficiently to avoid loss of significance:" msgstr "" #: ../Doc/library/decimal.rst:1656 msgid "Special values" msgstr "" #: ../Doc/library/decimal.rst:1658 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 "" #: ../Doc/library/decimal.rst:1662 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 "" #: ../Doc/library/decimal.rst:1667 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 "" #: ../Doc/library/decimal.rst:1671 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 "" #: ../Doc/library/decimal.rst:1679 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 "" #: ../Doc/library/decimal.rst:1683 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 "" #: ../Doc/library/decimal.rst:1696 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 "" #: ../Doc/library/decimal.rst:1701 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 "" #: ../Doc/library/decimal.rst:1716 msgid "Working with threads" msgstr "" #: ../Doc/library/decimal.rst:1718 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 "" #: ../Doc/library/decimal.rst:1722 msgid "" "Likewise, the :func:`setcontext` function automatically assigns its target " "to the current thread." msgstr "" #: ../Doc/library/decimal.rst:1725 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 "" #: ../Doc/library/decimal.rst:1729 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 "" #: ../Doc/library/decimal.rst:1754 msgid "Recipes" msgstr "Cas pratiques" #: ../Doc/library/decimal.rst:1756 msgid "" "Here are a few recipes that serve as utility functions and that demonstrate " "ways to work with the :class:`Decimal` class::" msgstr "" #: ../Doc/library/decimal.rst:1904 msgid "Decimal FAQ" msgstr "FAQ *decimal*" #: ../Doc/library/decimal.rst:1906 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 ?" #: ../Doc/library/decimal.rst:1909 msgid "A. Some users abbreviate the constructor to just a single letter:" msgstr "" "R. Certains utilisateurs abrègent le constructeur en une seule lettre :" #: ../Doc/library/decimal.rst:1915 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 "" #: ../Doc/library/decimal.rst:1919 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 "" #: ../Doc/library/decimal.rst:1937 msgid "" "Q. Once I have valid two place inputs, how do I maintain that invariant " "throughout an application?" msgstr "" #: ../Doc/library/decimal.rst:1940 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 "" #: ../Doc/library/decimal.rst:1958 msgid "" "In developing fixed-point applications, it is convenient to define functions " "to handle the :meth:`quantize` step:" msgstr "" #: ../Doc/library/decimal.rst:1971 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 "" #: ../Doc/library/decimal.rst:1976 msgid "" "A. The :meth:`normalize` method maps all equivalent values to a single " "representative:" msgstr "" #: ../Doc/library/decimal.rst:1983 msgid "" "Q. Some decimal values always print with exponential notation. Is there a " "way to get a non-exponential representation?" msgstr "" #: ../Doc/library/decimal.rst:1986 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 "" #: ../Doc/library/decimal.rst:1991 msgid "" "If an application does not care about tracking significance, it is easy to " "remove the exponent and trailing zeros, losing significance, but keeping the " "value unchanged::" msgstr "" #: ../Doc/library/decimal.rst:2004 msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?" msgstr "" #: ../Doc/library/decimal.rst:2006 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 "" #: ../Doc/library/decimal.rst:2015 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 "" #: ../Doc/library/decimal.rst:2018 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 "" #: ../Doc/library/decimal.rst:2023 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 "" #: ../Doc/library/decimal.rst:2027 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 "" #: ../Doc/library/decimal.rst:2040 msgid "" "The solution is either to increase precision or to force rounding of inputs " "using the unary plus operation:" msgstr "" #: ../Doc/library/decimal.rst:2049 msgid "" "Alternatively, inputs can be rounded upon creation using the :meth:`Context." "create_decimal` method:" msgstr ""