17db96d56Sopenharmony_ci/* 27db96d56Sopenharmony_ci * Copyright (c) 2001-2012 Python Software Foundation. All Rights Reserved. 37db96d56Sopenharmony_ci * Modified and extended by Stefan Krah. 47db96d56Sopenharmony_ci */ 57db96d56Sopenharmony_ci 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci#ifndef DOCSTRINGS_H 87db96d56Sopenharmony_ci#define DOCSTRINGS_H 97db96d56Sopenharmony_ci 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci#include "pymacro.h" 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci/******************************************************************************/ 157db96d56Sopenharmony_ci/* Module */ 167db96d56Sopenharmony_ci/******************************************************************************/ 177db96d56Sopenharmony_ci 187db96d56Sopenharmony_ci 197db96d56Sopenharmony_ciPyDoc_STRVAR(doc__decimal, 207db96d56Sopenharmony_ci"C decimal arithmetic module"); 217db96d56Sopenharmony_ci 227db96d56Sopenharmony_ciPyDoc_STRVAR(doc_getcontext, 237db96d56Sopenharmony_ci"getcontext($module, /)\n--\n\n\ 247db96d56Sopenharmony_ciGet the current default context.\n\ 257db96d56Sopenharmony_ci\n"); 267db96d56Sopenharmony_ci 277db96d56Sopenharmony_ciPyDoc_STRVAR(doc_setcontext, 287db96d56Sopenharmony_ci"setcontext($module, context, /)\n--\n\n\ 297db96d56Sopenharmony_ciSet a new default context.\n\ 307db96d56Sopenharmony_ci\n"); 317db96d56Sopenharmony_ci 327db96d56Sopenharmony_ciPyDoc_STRVAR(doc_localcontext, 337db96d56Sopenharmony_ci"localcontext($module, /, ctx=None, **kwargs)\n--\n\n\ 347db96d56Sopenharmony_ciReturn a context manager that will set the default context to a copy of ctx\n\ 357db96d56Sopenharmony_cion entry to the with-statement and restore the previous default context when\n\ 367db96d56Sopenharmony_ciexiting the with-statement. If no context is specified, a copy of the current\n\ 377db96d56Sopenharmony_cidefault context is used.\n\ 387db96d56Sopenharmony_ci\n"); 397db96d56Sopenharmony_ci 407db96d56Sopenharmony_ci#ifdef EXTRA_FUNCTIONALITY 417db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ieee_context, 427db96d56Sopenharmony_ci"IEEEContext($module, bits, /)\n--\n\n\ 437db96d56Sopenharmony_ciReturn a context object initialized to the proper values for one of the\n\ 447db96d56Sopenharmony_ciIEEE interchange formats. The argument must be a multiple of 32 and less\n\ 457db96d56Sopenharmony_cithan IEEE_CONTEXT_MAX_BITS. For the most common values, the constants\n\ 467db96d56Sopenharmony_ciDECIMAL32, DECIMAL64 and DECIMAL128 are provided.\n\ 477db96d56Sopenharmony_ci\n"); 487db96d56Sopenharmony_ci#endif 497db96d56Sopenharmony_ci 507db96d56Sopenharmony_ci 517db96d56Sopenharmony_ci/******************************************************************************/ 527db96d56Sopenharmony_ci/* Decimal Object and Methods */ 537db96d56Sopenharmony_ci/******************************************************************************/ 547db96d56Sopenharmony_ci 557db96d56Sopenharmony_ciPyDoc_STRVAR(doc_decimal, 567db96d56Sopenharmony_ci"Decimal(value=\"0\", context=None)\n--\n\n\ 577db96d56Sopenharmony_ciConstruct a new Decimal object. 'value' can be an integer, string, tuple,\n\ 587db96d56Sopenharmony_cior another Decimal object. If no value is given, return Decimal('0'). The\n\ 597db96d56Sopenharmony_cicontext does not affect the conversion and is only passed to determine if\n\ 607db96d56Sopenharmony_cithe InvalidOperation trap is active.\n\ 617db96d56Sopenharmony_ci\n"); 627db96d56Sopenharmony_ci 637db96d56Sopenharmony_ciPyDoc_STRVAR(doc_adjusted, 647db96d56Sopenharmony_ci"adjusted($self, /)\n--\n\n\ 657db96d56Sopenharmony_ciReturn the adjusted exponent of the number. Defined as exp + digits - 1.\n\ 667db96d56Sopenharmony_ci\n"); 677db96d56Sopenharmony_ci 687db96d56Sopenharmony_ciPyDoc_STRVAR(doc_as_tuple, 697db96d56Sopenharmony_ci"as_tuple($self, /)\n--\n\n\ 707db96d56Sopenharmony_ciReturn a tuple representation of the number.\n\ 717db96d56Sopenharmony_ci\n"); 727db96d56Sopenharmony_ci 737db96d56Sopenharmony_ciPyDoc_STRVAR(doc_as_integer_ratio, 747db96d56Sopenharmony_ci"as_integer_ratio($self, /)\n--\n\n\ 757db96d56Sopenharmony_ciDecimal.as_integer_ratio() -> (int, int)\n\ 767db96d56Sopenharmony_ci\n\ 777db96d56Sopenharmony_ciReturn a pair of integers, whose ratio is exactly equal to the original\n\ 787db96d56Sopenharmony_ciDecimal and with a positive denominator. The ratio is in lowest terms.\n\ 797db96d56Sopenharmony_ciRaise OverflowError on infinities and a ValueError on NaNs.\n\ 807db96d56Sopenharmony_ci\n"); 817db96d56Sopenharmony_ci 827db96d56Sopenharmony_ciPyDoc_STRVAR(doc_canonical, 837db96d56Sopenharmony_ci"canonical($self, /)\n--\n\n\ 847db96d56Sopenharmony_ciReturn the canonical encoding of the argument. Currently, the encoding\n\ 857db96d56Sopenharmony_ciof a Decimal instance is always canonical, so this operation returns its\n\ 867db96d56Sopenharmony_ciargument unchanged.\n\ 877db96d56Sopenharmony_ci\n"); 887db96d56Sopenharmony_ci 897db96d56Sopenharmony_ciPyDoc_STRVAR(doc_compare, 907db96d56Sopenharmony_ci"compare($self, /, other, context=None)\n--\n\n\ 917db96d56Sopenharmony_ciCompare self to other. Return a decimal value:\n\ 927db96d56Sopenharmony_ci\n\ 937db96d56Sopenharmony_ci a or b is a NaN ==> Decimal('NaN')\n\ 947db96d56Sopenharmony_ci a < b ==> Decimal('-1')\n\ 957db96d56Sopenharmony_ci a == b ==> Decimal('0')\n\ 967db96d56Sopenharmony_ci a > b ==> Decimal('1')\n\ 977db96d56Sopenharmony_ci\n"); 987db96d56Sopenharmony_ci 997db96d56Sopenharmony_ciPyDoc_STRVAR(doc_compare_signal, 1007db96d56Sopenharmony_ci"compare_signal($self, /, other, context=None)\n--\n\n\ 1017db96d56Sopenharmony_ciIdentical to compare, except that all NaNs signal.\n\ 1027db96d56Sopenharmony_ci\n"); 1037db96d56Sopenharmony_ci 1047db96d56Sopenharmony_ciPyDoc_STRVAR(doc_compare_total, 1057db96d56Sopenharmony_ci"compare_total($self, /, other, context=None)\n--\n\n\ 1067db96d56Sopenharmony_ciCompare two operands using their abstract representation rather than\n\ 1077db96d56Sopenharmony_citheir numerical value. Similar to the compare() method, but the result\n\ 1087db96d56Sopenharmony_cigives a total ordering on Decimal instances. Two Decimal instances with\n\ 1097db96d56Sopenharmony_cithe same numeric value but different representations compare unequal\n\ 1107db96d56Sopenharmony_ciin this ordering:\n\ 1117db96d56Sopenharmony_ci\n\ 1127db96d56Sopenharmony_ci >>> Decimal('12.0').compare_total(Decimal('12'))\n\ 1137db96d56Sopenharmony_ci Decimal('-1')\n\ 1147db96d56Sopenharmony_ci\n\ 1157db96d56Sopenharmony_ciQuiet and signaling NaNs are also included in the total ordering. The result\n\ 1167db96d56Sopenharmony_ciof this function is Decimal('0') if both operands have the same representation,\n\ 1177db96d56Sopenharmony_ciDecimal('-1') if the first operand is lower in the total order than the second,\n\ 1187db96d56Sopenharmony_ciand Decimal('1') if the first operand is higher in the total order than the\n\ 1197db96d56Sopenharmony_cisecond operand. See the specification for details of the total order.\n\ 1207db96d56Sopenharmony_ci\n\ 1217db96d56Sopenharmony_ciThis operation is unaffected by context and is quiet: no flags are changed\n\ 1227db96d56Sopenharmony_ciand no rounding is performed. As an exception, the C version may raise\n\ 1237db96d56Sopenharmony_ciInvalidOperation if the second operand cannot be converted exactly.\n\ 1247db96d56Sopenharmony_ci\n"); 1257db96d56Sopenharmony_ci 1267db96d56Sopenharmony_ciPyDoc_STRVAR(doc_compare_total_mag, 1277db96d56Sopenharmony_ci"compare_total_mag($self, /, other, context=None)\n--\n\n\ 1287db96d56Sopenharmony_ciCompare two operands using their abstract representation rather than their\n\ 1297db96d56Sopenharmony_civalue as in compare_total(), but ignoring the sign of each operand.\n\ 1307db96d56Sopenharmony_ci\n\ 1317db96d56Sopenharmony_cix.compare_total_mag(y) is equivalent to x.copy_abs().compare_total(y.copy_abs()).\n\ 1327db96d56Sopenharmony_ci\n\ 1337db96d56Sopenharmony_ciThis operation is unaffected by context and is quiet: no flags are changed\n\ 1347db96d56Sopenharmony_ciand no rounding is performed. As an exception, the C version may raise\n\ 1357db96d56Sopenharmony_ciInvalidOperation if the second operand cannot be converted exactly.\n\ 1367db96d56Sopenharmony_ci\n"); 1377db96d56Sopenharmony_ci 1387db96d56Sopenharmony_ciPyDoc_STRVAR(doc_conjugate, 1397db96d56Sopenharmony_ci"conjugate($self, /)\n--\n\n\ 1407db96d56Sopenharmony_ciReturn self.\n\ 1417db96d56Sopenharmony_ci\n"); 1427db96d56Sopenharmony_ci 1437db96d56Sopenharmony_ciPyDoc_STRVAR(doc_copy_abs, 1447db96d56Sopenharmony_ci"copy_abs($self, /)\n--\n\n\ 1457db96d56Sopenharmony_ciReturn the absolute value of the argument. This operation is unaffected by\n\ 1467db96d56Sopenharmony_cicontext and is quiet: no flags are changed and no rounding is performed.\n\ 1477db96d56Sopenharmony_ci\n"); 1487db96d56Sopenharmony_ci 1497db96d56Sopenharmony_ciPyDoc_STRVAR(doc_copy_negate, 1507db96d56Sopenharmony_ci"copy_negate($self, /)\n--\n\n\ 1517db96d56Sopenharmony_ciReturn the negation of the argument. This operation is unaffected by context\n\ 1527db96d56Sopenharmony_ciand is quiet: no flags are changed and no rounding is performed.\n\ 1537db96d56Sopenharmony_ci\n"); 1547db96d56Sopenharmony_ci 1557db96d56Sopenharmony_ciPyDoc_STRVAR(doc_copy_sign, 1567db96d56Sopenharmony_ci"copy_sign($self, /, other, context=None)\n--\n\n\ 1577db96d56Sopenharmony_ciReturn a copy of the first operand with the sign set to be the same as the\n\ 1587db96d56Sopenharmony_cisign of the second operand. For example:\n\ 1597db96d56Sopenharmony_ci\n\ 1607db96d56Sopenharmony_ci >>> Decimal('2.3').copy_sign(Decimal('-1.5'))\n\ 1617db96d56Sopenharmony_ci Decimal('-2.3')\n\ 1627db96d56Sopenharmony_ci\n\ 1637db96d56Sopenharmony_ciThis operation is unaffected by context and is quiet: no flags are changed\n\ 1647db96d56Sopenharmony_ciand no rounding is performed. As an exception, the C version may raise\n\ 1657db96d56Sopenharmony_ciInvalidOperation if the second operand cannot be converted exactly.\n\ 1667db96d56Sopenharmony_ci\n"); 1677db96d56Sopenharmony_ci 1687db96d56Sopenharmony_ciPyDoc_STRVAR(doc_exp, 1697db96d56Sopenharmony_ci"exp($self, /, context=None)\n--\n\n\ 1707db96d56Sopenharmony_ciReturn the value of the (natural) exponential function e**x at the given\n\ 1717db96d56Sopenharmony_cinumber. The function always uses the ROUND_HALF_EVEN mode and the result\n\ 1727db96d56Sopenharmony_ciis correctly rounded.\n\ 1737db96d56Sopenharmony_ci\n"); 1747db96d56Sopenharmony_ci 1757db96d56Sopenharmony_ciPyDoc_STRVAR(doc_from_float, 1767db96d56Sopenharmony_ci"from_float($type, f, /)\n--\n\n\ 1777db96d56Sopenharmony_ciClass method that converts a float to a decimal number, exactly.\n\ 1787db96d56Sopenharmony_ciSince 0.1 is not exactly representable in binary floating point,\n\ 1797db96d56Sopenharmony_ciDecimal.from_float(0.1) is not the same as Decimal('0.1').\n\ 1807db96d56Sopenharmony_ci\n\ 1817db96d56Sopenharmony_ci >>> Decimal.from_float(0.1)\n\ 1827db96d56Sopenharmony_ci Decimal('0.1000000000000000055511151231257827021181583404541015625')\n\ 1837db96d56Sopenharmony_ci >>> Decimal.from_float(float('nan'))\n\ 1847db96d56Sopenharmony_ci Decimal('NaN')\n\ 1857db96d56Sopenharmony_ci >>> Decimal.from_float(float('inf'))\n\ 1867db96d56Sopenharmony_ci Decimal('Infinity')\n\ 1877db96d56Sopenharmony_ci >>> Decimal.from_float(float('-inf'))\n\ 1887db96d56Sopenharmony_ci Decimal('-Infinity')\n\ 1897db96d56Sopenharmony_ci\n\ 1907db96d56Sopenharmony_ci\n"); 1917db96d56Sopenharmony_ci 1927db96d56Sopenharmony_ciPyDoc_STRVAR(doc_fma, 1937db96d56Sopenharmony_ci"fma($self, /, other, third, context=None)\n--\n\n\ 1947db96d56Sopenharmony_ciFused multiply-add. Return self*other+third with no rounding of the\n\ 1957db96d56Sopenharmony_ciintermediate product self*other.\n\ 1967db96d56Sopenharmony_ci\n\ 1977db96d56Sopenharmony_ci >>> Decimal(2).fma(3, 5)\n\ 1987db96d56Sopenharmony_ci Decimal('11')\n\ 1997db96d56Sopenharmony_ci\n\ 2007db96d56Sopenharmony_ci\n"); 2017db96d56Sopenharmony_ci 2027db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_canonical, 2037db96d56Sopenharmony_ci"is_canonical($self, /)\n--\n\n\ 2047db96d56Sopenharmony_ciReturn True if the argument is canonical and False otherwise. Currently,\n\ 2057db96d56Sopenharmony_cia Decimal instance is always canonical, so this operation always returns\n\ 2067db96d56Sopenharmony_ciTrue.\n\ 2077db96d56Sopenharmony_ci\n"); 2087db96d56Sopenharmony_ci 2097db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_finite, 2107db96d56Sopenharmony_ci"is_finite($self, /)\n--\n\n\ 2117db96d56Sopenharmony_ciReturn True if the argument is a finite number, and False if the argument\n\ 2127db96d56Sopenharmony_ciis infinite or a NaN.\n\ 2137db96d56Sopenharmony_ci\n"); 2147db96d56Sopenharmony_ci 2157db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_infinite, 2167db96d56Sopenharmony_ci"is_infinite($self, /)\n--\n\n\ 2177db96d56Sopenharmony_ciReturn True if the argument is either positive or negative infinity and\n\ 2187db96d56Sopenharmony_ciFalse otherwise.\n\ 2197db96d56Sopenharmony_ci\n"); 2207db96d56Sopenharmony_ci 2217db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_nan, 2227db96d56Sopenharmony_ci"is_nan($self, /)\n--\n\n\ 2237db96d56Sopenharmony_ciReturn True if the argument is a (quiet or signaling) NaN and False\n\ 2247db96d56Sopenharmony_ciotherwise.\n\ 2257db96d56Sopenharmony_ci\n"); 2267db96d56Sopenharmony_ci 2277db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_normal, 2287db96d56Sopenharmony_ci"is_normal($self, /, context=None)\n--\n\n\ 2297db96d56Sopenharmony_ciReturn True if the argument is a normal finite non-zero number with an\n\ 2307db96d56Sopenharmony_ciadjusted exponent greater than or equal to Emin. Return False if the\n\ 2317db96d56Sopenharmony_ciargument is zero, subnormal, infinite or a NaN.\n\ 2327db96d56Sopenharmony_ci\n"); 2337db96d56Sopenharmony_ci 2347db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_qnan, 2357db96d56Sopenharmony_ci"is_qnan($self, /)\n--\n\n\ 2367db96d56Sopenharmony_ciReturn True if the argument is a quiet NaN, and False otherwise.\n\ 2377db96d56Sopenharmony_ci\n"); 2387db96d56Sopenharmony_ci 2397db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_signed, 2407db96d56Sopenharmony_ci"is_signed($self, /)\n--\n\n\ 2417db96d56Sopenharmony_ciReturn True if the argument has a negative sign and False otherwise.\n\ 2427db96d56Sopenharmony_ciNote that both zeros and NaNs can carry signs.\n\ 2437db96d56Sopenharmony_ci\n"); 2447db96d56Sopenharmony_ci 2457db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_snan, 2467db96d56Sopenharmony_ci"is_snan($self, /)\n--\n\n\ 2477db96d56Sopenharmony_ciReturn True if the argument is a signaling NaN and False otherwise.\n\ 2487db96d56Sopenharmony_ci\n"); 2497db96d56Sopenharmony_ci 2507db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_subnormal, 2517db96d56Sopenharmony_ci"is_subnormal($self, /, context=None)\n--\n\n\ 2527db96d56Sopenharmony_ciReturn True if the argument is subnormal, and False otherwise. A number is\n\ 2537db96d56Sopenharmony_cisubnormal if it is non-zero, finite, and has an adjusted exponent less\n\ 2547db96d56Sopenharmony_cithan Emin.\n\ 2557db96d56Sopenharmony_ci\n"); 2567db96d56Sopenharmony_ci 2577db96d56Sopenharmony_ciPyDoc_STRVAR(doc_is_zero, 2587db96d56Sopenharmony_ci"is_zero($self, /)\n--\n\n\ 2597db96d56Sopenharmony_ciReturn True if the argument is a (positive or negative) zero and False\n\ 2607db96d56Sopenharmony_ciotherwise.\n\ 2617db96d56Sopenharmony_ci\n"); 2627db96d56Sopenharmony_ci 2637db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ln, 2647db96d56Sopenharmony_ci"ln($self, /, context=None)\n--\n\n\ 2657db96d56Sopenharmony_ciReturn the natural (base e) logarithm of the operand. The function always\n\ 2667db96d56Sopenharmony_ciuses the ROUND_HALF_EVEN mode and the result is correctly rounded.\n\ 2677db96d56Sopenharmony_ci\n"); 2687db96d56Sopenharmony_ci 2697db96d56Sopenharmony_ciPyDoc_STRVAR(doc_log10, 2707db96d56Sopenharmony_ci"log10($self, /, context=None)\n--\n\n\ 2717db96d56Sopenharmony_ciReturn the base ten logarithm of the operand. The function always uses the\n\ 2727db96d56Sopenharmony_ciROUND_HALF_EVEN mode and the result is correctly rounded.\n\ 2737db96d56Sopenharmony_ci\n"); 2747db96d56Sopenharmony_ci 2757db96d56Sopenharmony_ciPyDoc_STRVAR(doc_logb, 2767db96d56Sopenharmony_ci"logb($self, /, context=None)\n--\n\n\ 2777db96d56Sopenharmony_ciFor a non-zero number, return the adjusted exponent of the operand as a\n\ 2787db96d56Sopenharmony_ciDecimal instance. If the operand is a zero, then Decimal('-Infinity') is\n\ 2797db96d56Sopenharmony_cireturned and the DivisionByZero condition is raised. If the operand is\n\ 2807db96d56Sopenharmony_cian infinity then Decimal('Infinity') is returned.\n\ 2817db96d56Sopenharmony_ci\n"); 2827db96d56Sopenharmony_ci 2837db96d56Sopenharmony_ciPyDoc_STRVAR(doc_logical_and, 2847db96d56Sopenharmony_ci"logical_and($self, /, other, context=None)\n--\n\n\ 2857db96d56Sopenharmony_ciReturn the digit-wise 'and' of the two (logical) operands.\n\ 2867db96d56Sopenharmony_ci\n"); 2877db96d56Sopenharmony_ci 2887db96d56Sopenharmony_ciPyDoc_STRVAR(doc_logical_invert, 2897db96d56Sopenharmony_ci"logical_invert($self, /, context=None)\n--\n\n\ 2907db96d56Sopenharmony_ciReturn the digit-wise inversion of the (logical) operand.\n\ 2917db96d56Sopenharmony_ci\n"); 2927db96d56Sopenharmony_ci 2937db96d56Sopenharmony_ciPyDoc_STRVAR(doc_logical_or, 2947db96d56Sopenharmony_ci"logical_or($self, /, other, context=None)\n--\n\n\ 2957db96d56Sopenharmony_ciReturn the digit-wise 'or' of the two (logical) operands.\n\ 2967db96d56Sopenharmony_ci\n"); 2977db96d56Sopenharmony_ci 2987db96d56Sopenharmony_ciPyDoc_STRVAR(doc_logical_xor, 2997db96d56Sopenharmony_ci"logical_xor($self, /, other, context=None)\n--\n\n\ 3007db96d56Sopenharmony_ciReturn the digit-wise 'exclusive or' of the two (logical) operands.\n\ 3017db96d56Sopenharmony_ci\n"); 3027db96d56Sopenharmony_ci 3037db96d56Sopenharmony_ciPyDoc_STRVAR(doc_max, 3047db96d56Sopenharmony_ci"max($self, /, other, context=None)\n--\n\n\ 3057db96d56Sopenharmony_ciMaximum of self and other. If one operand is a quiet NaN and the other is\n\ 3067db96d56Sopenharmony_cinumeric, the numeric operand is returned.\n\ 3077db96d56Sopenharmony_ci\n"); 3087db96d56Sopenharmony_ci 3097db96d56Sopenharmony_ciPyDoc_STRVAR(doc_max_mag, 3107db96d56Sopenharmony_ci"max_mag($self, /, other, context=None)\n--\n\n\ 3117db96d56Sopenharmony_ciSimilar to the max() method, but the comparison is done using the absolute\n\ 3127db96d56Sopenharmony_civalues of the operands.\n\ 3137db96d56Sopenharmony_ci\n"); 3147db96d56Sopenharmony_ci 3157db96d56Sopenharmony_ciPyDoc_STRVAR(doc_min, 3167db96d56Sopenharmony_ci"min($self, /, other, context=None)\n--\n\n\ 3177db96d56Sopenharmony_ciMinimum of self and other. If one operand is a quiet NaN and the other is\n\ 3187db96d56Sopenharmony_cinumeric, the numeric operand is returned.\n\ 3197db96d56Sopenharmony_ci\n"); 3207db96d56Sopenharmony_ci 3217db96d56Sopenharmony_ciPyDoc_STRVAR(doc_min_mag, 3227db96d56Sopenharmony_ci"min_mag($self, /, other, context=None)\n--\n\n\ 3237db96d56Sopenharmony_ciSimilar to the min() method, but the comparison is done using the absolute\n\ 3247db96d56Sopenharmony_civalues of the operands.\n\ 3257db96d56Sopenharmony_ci\n"); 3267db96d56Sopenharmony_ci 3277db96d56Sopenharmony_ciPyDoc_STRVAR(doc_next_minus, 3287db96d56Sopenharmony_ci"next_minus($self, /, context=None)\n--\n\n\ 3297db96d56Sopenharmony_ciReturn the largest number representable in the given context (or in the\n\ 3307db96d56Sopenharmony_cicurrent default context if no context is given) that is smaller than the\n\ 3317db96d56Sopenharmony_cigiven operand.\n\ 3327db96d56Sopenharmony_ci\n"); 3337db96d56Sopenharmony_ci 3347db96d56Sopenharmony_ciPyDoc_STRVAR(doc_next_plus, 3357db96d56Sopenharmony_ci"next_plus($self, /, context=None)\n--\n\n\ 3367db96d56Sopenharmony_ciReturn the smallest number representable in the given context (or in the\n\ 3377db96d56Sopenharmony_cicurrent default context if no context is given) that is larger than the\n\ 3387db96d56Sopenharmony_cigiven operand.\n\ 3397db96d56Sopenharmony_ci\n"); 3407db96d56Sopenharmony_ci 3417db96d56Sopenharmony_ciPyDoc_STRVAR(doc_next_toward, 3427db96d56Sopenharmony_ci"next_toward($self, /, other, context=None)\n--\n\n\ 3437db96d56Sopenharmony_ciIf the two operands are unequal, return the number closest to the first\n\ 3447db96d56Sopenharmony_cioperand in the direction of the second operand. If both operands are\n\ 3457db96d56Sopenharmony_cinumerically equal, return a copy of the first operand with the sign set\n\ 3467db96d56Sopenharmony_cito be the same as the sign of the second operand.\n\ 3477db96d56Sopenharmony_ci\n"); 3487db96d56Sopenharmony_ci 3497db96d56Sopenharmony_ciPyDoc_STRVAR(doc_normalize, 3507db96d56Sopenharmony_ci"normalize($self, /, context=None)\n--\n\n\ 3517db96d56Sopenharmony_ciNormalize the number by stripping the rightmost trailing zeros and\n\ 3527db96d56Sopenharmony_ciconverting any result equal to Decimal('0') to Decimal('0e0'). Used\n\ 3537db96d56Sopenharmony_cifor producing canonical values for members of an equivalence class.\n\ 3547db96d56Sopenharmony_ciFor example, Decimal('32.100') and Decimal('0.321000e+2') both normalize\n\ 3557db96d56Sopenharmony_cito the equivalent value Decimal('32.1').\n\ 3567db96d56Sopenharmony_ci\n"); 3577db96d56Sopenharmony_ci 3587db96d56Sopenharmony_ciPyDoc_STRVAR(doc_number_class, 3597db96d56Sopenharmony_ci"number_class($self, /, context=None)\n--\n\n\ 3607db96d56Sopenharmony_ciReturn a string describing the class of the operand. The returned value\n\ 3617db96d56Sopenharmony_ciis one of the following ten strings:\n\ 3627db96d56Sopenharmony_ci\n\ 3637db96d56Sopenharmony_ci * '-Infinity', indicating that the operand is negative infinity.\n\ 3647db96d56Sopenharmony_ci * '-Normal', indicating that the operand is a negative normal number.\n\ 3657db96d56Sopenharmony_ci * '-Subnormal', indicating that the operand is negative and subnormal.\n\ 3667db96d56Sopenharmony_ci * '-Zero', indicating that the operand is a negative zero.\n\ 3677db96d56Sopenharmony_ci * '+Zero', indicating that the operand is a positive zero.\n\ 3687db96d56Sopenharmony_ci * '+Subnormal', indicating that the operand is positive and subnormal.\n\ 3697db96d56Sopenharmony_ci * '+Normal', indicating that the operand is a positive normal number.\n\ 3707db96d56Sopenharmony_ci * '+Infinity', indicating that the operand is positive infinity.\n\ 3717db96d56Sopenharmony_ci * 'NaN', indicating that the operand is a quiet NaN (Not a Number).\n\ 3727db96d56Sopenharmony_ci * 'sNaN', indicating that the operand is a signaling NaN.\n\ 3737db96d56Sopenharmony_ci\n\ 3747db96d56Sopenharmony_ci\n"); 3757db96d56Sopenharmony_ci 3767db96d56Sopenharmony_ciPyDoc_STRVAR(doc_quantize, 3777db96d56Sopenharmony_ci"quantize($self, /, exp, rounding=None, context=None)\n--\n\n\ 3787db96d56Sopenharmony_ciReturn a value equal to the first operand after rounding and having the\n\ 3797db96d56Sopenharmony_ciexponent of the second operand.\n\ 3807db96d56Sopenharmony_ci\n\ 3817db96d56Sopenharmony_ci >>> Decimal('1.41421356').quantize(Decimal('1.000'))\n\ 3827db96d56Sopenharmony_ci Decimal('1.414')\n\ 3837db96d56Sopenharmony_ci\n\ 3847db96d56Sopenharmony_ciUnlike other operations, if the length of the coefficient after the quantize\n\ 3857db96d56Sopenharmony_cioperation would be greater than precision, then an InvalidOperation is signaled.\n\ 3867db96d56Sopenharmony_ciThis guarantees that, unless there is an error condition, the quantized exponent\n\ 3877db96d56Sopenharmony_ciis always equal to that of the right-hand operand.\n\ 3887db96d56Sopenharmony_ci\n\ 3897db96d56Sopenharmony_ciAlso unlike other operations, quantize never signals Underflow, even if the\n\ 3907db96d56Sopenharmony_ciresult is subnormal and inexact.\n\ 3917db96d56Sopenharmony_ci\n\ 3927db96d56Sopenharmony_ciIf the exponent of the second operand is larger than that of the first, then\n\ 3937db96d56Sopenharmony_cirounding may be necessary. In this case, the rounding mode is determined by the\n\ 3947db96d56Sopenharmony_cirounding argument if given, else by the given context argument; if neither\n\ 3957db96d56Sopenharmony_ciargument is given, the rounding mode of the current thread's context is used.\n\ 3967db96d56Sopenharmony_ci\n"); 3977db96d56Sopenharmony_ci 3987db96d56Sopenharmony_ciPyDoc_STRVAR(doc_radix, 3997db96d56Sopenharmony_ci"radix($self, /)\n--\n\n\ 4007db96d56Sopenharmony_ciReturn Decimal(10), the radix (base) in which the Decimal class does\n\ 4017db96d56Sopenharmony_ciall its arithmetic. Included for compatibility with the specification.\n\ 4027db96d56Sopenharmony_ci\n"); 4037db96d56Sopenharmony_ci 4047db96d56Sopenharmony_ciPyDoc_STRVAR(doc_remainder_near, 4057db96d56Sopenharmony_ci"remainder_near($self, /, other, context=None)\n--\n\n\ 4067db96d56Sopenharmony_ciReturn the remainder from dividing self by other. This differs from\n\ 4077db96d56Sopenharmony_ciself % other in that the sign of the remainder is chosen so as to minimize\n\ 4087db96d56Sopenharmony_ciits absolute value. More precisely, the return value is self - n * other\n\ 4097db96d56Sopenharmony_ciwhere n is the integer nearest to the exact value of self / other, and\n\ 4107db96d56Sopenharmony_ciif two integers are equally near then the even one is chosen.\n\ 4117db96d56Sopenharmony_ci\n\ 4127db96d56Sopenharmony_ciIf the result is zero then its sign will be the sign of self.\n\ 4137db96d56Sopenharmony_ci\n"); 4147db96d56Sopenharmony_ci 4157db96d56Sopenharmony_ciPyDoc_STRVAR(doc_rotate, 4167db96d56Sopenharmony_ci"rotate($self, /, other, context=None)\n--\n\n\ 4177db96d56Sopenharmony_ciReturn the result of rotating the digits of the first operand by an amount\n\ 4187db96d56Sopenharmony_cispecified by the second operand. The second operand must be an integer in\n\ 4197db96d56Sopenharmony_cithe range -precision through precision. The absolute value of the second\n\ 4207db96d56Sopenharmony_cioperand gives the number of places to rotate. If the second operand is\n\ 4217db96d56Sopenharmony_cipositive then rotation is to the left; otherwise rotation is to the right.\n\ 4227db96d56Sopenharmony_ciThe coefficient of the first operand is padded on the left with zeros to\n\ 4237db96d56Sopenharmony_cilength precision if necessary. The sign and exponent of the first operand are\n\ 4247db96d56Sopenharmony_ciunchanged.\n\ 4257db96d56Sopenharmony_ci\n"); 4267db96d56Sopenharmony_ci 4277db96d56Sopenharmony_ciPyDoc_STRVAR(doc_same_quantum, 4287db96d56Sopenharmony_ci"same_quantum($self, /, other, context=None)\n--\n\n\ 4297db96d56Sopenharmony_ciTest whether self and other have the same exponent or whether both are NaN.\n\ 4307db96d56Sopenharmony_ci\n\ 4317db96d56Sopenharmony_ciThis operation is unaffected by context and is quiet: no flags are changed\n\ 4327db96d56Sopenharmony_ciand no rounding is performed. As an exception, the C version may raise\n\ 4337db96d56Sopenharmony_ciInvalidOperation if the second operand cannot be converted exactly.\n\ 4347db96d56Sopenharmony_ci\n"); 4357db96d56Sopenharmony_ci 4367db96d56Sopenharmony_ciPyDoc_STRVAR(doc_scaleb, 4377db96d56Sopenharmony_ci"scaleb($self, /, other, context=None)\n--\n\n\ 4387db96d56Sopenharmony_ciReturn the first operand with the exponent adjusted the second. Equivalently,\n\ 4397db96d56Sopenharmony_cireturn the first operand multiplied by 10**other. The second operand must be\n\ 4407db96d56Sopenharmony_cian integer.\n\ 4417db96d56Sopenharmony_ci\n"); 4427db96d56Sopenharmony_ci 4437db96d56Sopenharmony_ciPyDoc_STRVAR(doc_shift, 4447db96d56Sopenharmony_ci"shift($self, /, other, context=None)\n--\n\n\ 4457db96d56Sopenharmony_ciReturn the result of shifting the digits of the first operand by an amount\n\ 4467db96d56Sopenharmony_cispecified by the second operand. The second operand must be an integer in\n\ 4477db96d56Sopenharmony_cithe range -precision through precision. The absolute value of the second\n\ 4487db96d56Sopenharmony_cioperand gives the number of places to shift. If the second operand is\n\ 4497db96d56Sopenharmony_cipositive, then the shift is to the left; otherwise the shift is to the\n\ 4507db96d56Sopenharmony_ciright. Digits shifted into the coefficient are zeros. The sign and exponent\n\ 4517db96d56Sopenharmony_ciof the first operand are unchanged.\n\ 4527db96d56Sopenharmony_ci\n"); 4537db96d56Sopenharmony_ci 4547db96d56Sopenharmony_ciPyDoc_STRVAR(doc_sqrt, 4557db96d56Sopenharmony_ci"sqrt($self, /, context=None)\n--\n\n\ 4567db96d56Sopenharmony_ciReturn the square root of the argument to full precision. The result is\n\ 4577db96d56Sopenharmony_cicorrectly rounded using the ROUND_HALF_EVEN rounding mode.\n\ 4587db96d56Sopenharmony_ci\n"); 4597db96d56Sopenharmony_ci 4607db96d56Sopenharmony_ciPyDoc_STRVAR(doc_to_eng_string, 4617db96d56Sopenharmony_ci"to_eng_string($self, /, context=None)\n--\n\n\ 4627db96d56Sopenharmony_ciConvert to an engineering-type string. Engineering notation has an exponent\n\ 4637db96d56Sopenharmony_ciwhich is a multiple of 3, so there are up to 3 digits left of the decimal\n\ 4647db96d56Sopenharmony_ciplace. For example, Decimal('123E+1') is converted to Decimal('1.23E+3').\n\ 4657db96d56Sopenharmony_ci\n\ 4667db96d56Sopenharmony_ciThe value of context.capitals determines whether the exponent sign is lower\n\ 4677db96d56Sopenharmony_cior upper case. Otherwise, the context does not affect the operation.\n\ 4687db96d56Sopenharmony_ci\n"); 4697db96d56Sopenharmony_ci 4707db96d56Sopenharmony_ciPyDoc_STRVAR(doc_to_integral, 4717db96d56Sopenharmony_ci"to_integral($self, /, rounding=None, context=None)\n--\n\n\ 4727db96d56Sopenharmony_ciIdentical to the to_integral_value() method. The to_integral() name has been\n\ 4737db96d56Sopenharmony_cikept for compatibility with older versions.\n\ 4747db96d56Sopenharmony_ci\n"); 4757db96d56Sopenharmony_ci 4767db96d56Sopenharmony_ciPyDoc_STRVAR(doc_to_integral_exact, 4777db96d56Sopenharmony_ci"to_integral_exact($self, /, rounding=None, context=None)\n--\n\n\ 4787db96d56Sopenharmony_ciRound to the nearest integer, signaling Inexact or Rounded as appropriate if\n\ 4797db96d56Sopenharmony_cirounding occurs. The rounding mode is determined by the rounding parameter\n\ 4807db96d56Sopenharmony_ciif given, else by the given context. If neither parameter is given, then the\n\ 4817db96d56Sopenharmony_cirounding mode of the current default context is used.\n\ 4827db96d56Sopenharmony_ci\n"); 4837db96d56Sopenharmony_ci 4847db96d56Sopenharmony_ciPyDoc_STRVAR(doc_to_integral_value, 4857db96d56Sopenharmony_ci"to_integral_value($self, /, rounding=None, context=None)\n--\n\n\ 4867db96d56Sopenharmony_ciRound to the nearest integer without signaling Inexact or Rounded. The\n\ 4877db96d56Sopenharmony_cirounding mode is determined by the rounding parameter if given, else by\n\ 4887db96d56Sopenharmony_cithe given context. If neither parameter is given, then the rounding mode\n\ 4897db96d56Sopenharmony_ciof the current default context is used.\n\ 4907db96d56Sopenharmony_ci\n"); 4917db96d56Sopenharmony_ci 4927db96d56Sopenharmony_ci 4937db96d56Sopenharmony_ci/******************************************************************************/ 4947db96d56Sopenharmony_ci/* Context Object and Methods */ 4957db96d56Sopenharmony_ci/******************************************************************************/ 4967db96d56Sopenharmony_ci 4977db96d56Sopenharmony_ciPyDoc_STRVAR(doc_context, 4987db96d56Sopenharmony_ci"Context(prec=None, rounding=None, Emin=None, Emax=None, capitals=None, clamp=None, flags=None, traps=None)\n--\n\n\ 4997db96d56Sopenharmony_ciThe context affects almost all operations and controls rounding,\n\ 5007db96d56Sopenharmony_ciOver/Underflow, raising of exceptions and much more. A new context\n\ 5017db96d56Sopenharmony_cican be constructed as follows:\n\ 5027db96d56Sopenharmony_ci\n\ 5037db96d56Sopenharmony_ci >>> c = Context(prec=28, Emin=-425000000, Emax=425000000,\n\ 5047db96d56Sopenharmony_ci ... rounding=ROUND_HALF_EVEN, capitals=1, clamp=1,\n\ 5057db96d56Sopenharmony_ci ... traps=[InvalidOperation, DivisionByZero, Overflow],\n\ 5067db96d56Sopenharmony_ci ... flags=[])\n\ 5077db96d56Sopenharmony_ci >>>\n\ 5087db96d56Sopenharmony_ci\n\ 5097db96d56Sopenharmony_ci\n"); 5107db96d56Sopenharmony_ci 5117db96d56Sopenharmony_ci#ifdef EXTRA_FUNCTIONALITY 5127db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_apply, 5137db96d56Sopenharmony_ci"apply($self, x, /)\n--\n\n\ 5147db96d56Sopenharmony_ciApply self to Decimal x.\n\ 5157db96d56Sopenharmony_ci\n"); 5167db96d56Sopenharmony_ci#endif 5177db96d56Sopenharmony_ci 5187db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_clear_flags, 5197db96d56Sopenharmony_ci"clear_flags($self, /)\n--\n\n\ 5207db96d56Sopenharmony_ciReset all flags to False.\n\ 5217db96d56Sopenharmony_ci\n"); 5227db96d56Sopenharmony_ci 5237db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_clear_traps, 5247db96d56Sopenharmony_ci"clear_traps($self, /)\n--\n\n\ 5257db96d56Sopenharmony_ciSet all traps to False.\n\ 5267db96d56Sopenharmony_ci\n"); 5277db96d56Sopenharmony_ci 5287db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_copy, 5297db96d56Sopenharmony_ci"copy($self, /)\n--\n\n\ 5307db96d56Sopenharmony_ciReturn a duplicate of the context with all flags cleared.\n\ 5317db96d56Sopenharmony_ci\n"); 5327db96d56Sopenharmony_ci 5337db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_copy_decimal, 5347db96d56Sopenharmony_ci"copy_decimal($self, x, /)\n--\n\n\ 5357db96d56Sopenharmony_ciReturn a copy of Decimal x.\n\ 5367db96d56Sopenharmony_ci\n"); 5377db96d56Sopenharmony_ci 5387db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_create_decimal, 5397db96d56Sopenharmony_ci"create_decimal($self, num=\"0\", /)\n--\n\n\ 5407db96d56Sopenharmony_ciCreate a new Decimal instance from num, using self as the context. Unlike the\n\ 5417db96d56Sopenharmony_ciDecimal constructor, this function observes the context limits.\n\ 5427db96d56Sopenharmony_ci\n"); 5437db96d56Sopenharmony_ci 5447db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_create_decimal_from_float, 5457db96d56Sopenharmony_ci"create_decimal_from_float($self, f, /)\n--\n\n\ 5467db96d56Sopenharmony_ciCreate a new Decimal instance from float f. Unlike the Decimal.from_float()\n\ 5477db96d56Sopenharmony_ciclass method, this function observes the context limits.\n\ 5487db96d56Sopenharmony_ci\n"); 5497db96d56Sopenharmony_ci 5507db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_Etiny, 5517db96d56Sopenharmony_ci"Etiny($self, /)\n--\n\n\ 5527db96d56Sopenharmony_ciReturn a value equal to Emin - prec + 1, which is the minimum exponent value\n\ 5537db96d56Sopenharmony_cifor subnormal results. When underflow occurs, the exponent is set to Etiny.\n\ 5547db96d56Sopenharmony_ci\n"); 5557db96d56Sopenharmony_ci 5567db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_Etop, 5577db96d56Sopenharmony_ci"Etop($self, /)\n--\n\n\ 5587db96d56Sopenharmony_ciReturn a value equal to Emax - prec + 1. This is the maximum exponent\n\ 5597db96d56Sopenharmony_ciif the _clamp field of the context is set to 1 (IEEE clamp mode). Etop()\n\ 5607db96d56Sopenharmony_cimust not be negative.\n\ 5617db96d56Sopenharmony_ci\n"); 5627db96d56Sopenharmony_ci 5637db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_abs, 5647db96d56Sopenharmony_ci"abs($self, x, /)\n--\n\n\ 5657db96d56Sopenharmony_ciReturn the absolute value of x.\n\ 5667db96d56Sopenharmony_ci\n"); 5677db96d56Sopenharmony_ci 5687db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_add, 5697db96d56Sopenharmony_ci"add($self, x, y, /)\n--\n\n\ 5707db96d56Sopenharmony_ciReturn the sum of x and y.\n\ 5717db96d56Sopenharmony_ci\n"); 5727db96d56Sopenharmony_ci 5737db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_canonical, 5747db96d56Sopenharmony_ci"canonical($self, x, /)\n--\n\n\ 5757db96d56Sopenharmony_ciReturn a new instance of x.\n\ 5767db96d56Sopenharmony_ci\n"); 5777db96d56Sopenharmony_ci 5787db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_compare, 5797db96d56Sopenharmony_ci"compare($self, x, y, /)\n--\n\n\ 5807db96d56Sopenharmony_ciCompare x and y numerically.\n\ 5817db96d56Sopenharmony_ci\n"); 5827db96d56Sopenharmony_ci 5837db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_compare_signal, 5847db96d56Sopenharmony_ci"compare_signal($self, x, y, /)\n--\n\n\ 5857db96d56Sopenharmony_ciCompare x and y numerically. All NaNs signal.\n\ 5867db96d56Sopenharmony_ci\n"); 5877db96d56Sopenharmony_ci 5887db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_compare_total, 5897db96d56Sopenharmony_ci"compare_total($self, x, y, /)\n--\n\n\ 5907db96d56Sopenharmony_ciCompare x and y using their abstract representation.\n\ 5917db96d56Sopenharmony_ci\n"); 5927db96d56Sopenharmony_ci 5937db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_compare_total_mag, 5947db96d56Sopenharmony_ci"compare_total_mag($self, x, y, /)\n--\n\n\ 5957db96d56Sopenharmony_ciCompare x and y using their abstract representation, ignoring sign.\n\ 5967db96d56Sopenharmony_ci\n"); 5977db96d56Sopenharmony_ci 5987db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_copy_abs, 5997db96d56Sopenharmony_ci"copy_abs($self, x, /)\n--\n\n\ 6007db96d56Sopenharmony_ciReturn a copy of x with the sign set to 0.\n\ 6017db96d56Sopenharmony_ci\n"); 6027db96d56Sopenharmony_ci 6037db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_copy_negate, 6047db96d56Sopenharmony_ci"copy_negate($self, x, /)\n--\n\n\ 6057db96d56Sopenharmony_ciReturn a copy of x with the sign inverted.\n\ 6067db96d56Sopenharmony_ci\n"); 6077db96d56Sopenharmony_ci 6087db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_copy_sign, 6097db96d56Sopenharmony_ci"copy_sign($self, x, y, /)\n--\n\n\ 6107db96d56Sopenharmony_ciCopy the sign from y to x.\n\ 6117db96d56Sopenharmony_ci\n"); 6127db96d56Sopenharmony_ci 6137db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_divide, 6147db96d56Sopenharmony_ci"divide($self, x, y, /)\n--\n\n\ 6157db96d56Sopenharmony_ciReturn x divided by y.\n\ 6167db96d56Sopenharmony_ci\n"); 6177db96d56Sopenharmony_ci 6187db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_divide_int, 6197db96d56Sopenharmony_ci"divide_int($self, x, y, /)\n--\n\n\ 6207db96d56Sopenharmony_ciReturn x divided by y, truncated to an integer.\n\ 6217db96d56Sopenharmony_ci\n"); 6227db96d56Sopenharmony_ci 6237db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_divmod, 6247db96d56Sopenharmony_ci"divmod($self, x, y, /)\n--\n\n\ 6257db96d56Sopenharmony_ciReturn quotient and remainder of the division x / y.\n\ 6267db96d56Sopenharmony_ci\n"); 6277db96d56Sopenharmony_ci 6287db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_exp, 6297db96d56Sopenharmony_ci"exp($self, x, /)\n--\n\n\ 6307db96d56Sopenharmony_ciReturn e ** x.\n\ 6317db96d56Sopenharmony_ci\n"); 6327db96d56Sopenharmony_ci 6337db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_fma, 6347db96d56Sopenharmony_ci"fma($self, x, y, z, /)\n--\n\n\ 6357db96d56Sopenharmony_ciReturn x multiplied by y, plus z.\n\ 6367db96d56Sopenharmony_ci\n"); 6377db96d56Sopenharmony_ci 6387db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_canonical, 6397db96d56Sopenharmony_ci"is_canonical($self, x, /)\n--\n\n\ 6407db96d56Sopenharmony_ciReturn True if x is canonical, False otherwise.\n\ 6417db96d56Sopenharmony_ci\n"); 6427db96d56Sopenharmony_ci 6437db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_finite, 6447db96d56Sopenharmony_ci"is_finite($self, x, /)\n--\n\n\ 6457db96d56Sopenharmony_ciReturn True if x is finite, False otherwise.\n\ 6467db96d56Sopenharmony_ci\n"); 6477db96d56Sopenharmony_ci 6487db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_infinite, 6497db96d56Sopenharmony_ci"is_infinite($self, x, /)\n--\n\n\ 6507db96d56Sopenharmony_ciReturn True if x is infinite, False otherwise.\n\ 6517db96d56Sopenharmony_ci\n"); 6527db96d56Sopenharmony_ci 6537db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_nan, 6547db96d56Sopenharmony_ci"is_nan($self, x, /)\n--\n\n\ 6557db96d56Sopenharmony_ciReturn True if x is a qNaN or sNaN, False otherwise.\n\ 6567db96d56Sopenharmony_ci\n"); 6577db96d56Sopenharmony_ci 6587db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_normal, 6597db96d56Sopenharmony_ci"is_normal($self, x, /)\n--\n\n\ 6607db96d56Sopenharmony_ciReturn True if x is a normal number, False otherwise.\n\ 6617db96d56Sopenharmony_ci\n"); 6627db96d56Sopenharmony_ci 6637db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_qnan, 6647db96d56Sopenharmony_ci"is_qnan($self, x, /)\n--\n\n\ 6657db96d56Sopenharmony_ciReturn True if x is a quiet NaN, False otherwise.\n\ 6667db96d56Sopenharmony_ci\n"); 6677db96d56Sopenharmony_ci 6687db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_signed, 6697db96d56Sopenharmony_ci"is_signed($self, x, /)\n--\n\n\ 6707db96d56Sopenharmony_ciReturn True if x is negative, False otherwise.\n\ 6717db96d56Sopenharmony_ci\n"); 6727db96d56Sopenharmony_ci 6737db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_snan, 6747db96d56Sopenharmony_ci"is_snan($self, x, /)\n--\n\n\ 6757db96d56Sopenharmony_ciReturn True if x is a signaling NaN, False otherwise.\n\ 6767db96d56Sopenharmony_ci\n"); 6777db96d56Sopenharmony_ci 6787db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_subnormal, 6797db96d56Sopenharmony_ci"is_subnormal($self, x, /)\n--\n\n\ 6807db96d56Sopenharmony_ciReturn True if x is subnormal, False otherwise.\n\ 6817db96d56Sopenharmony_ci\n"); 6827db96d56Sopenharmony_ci 6837db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_is_zero, 6847db96d56Sopenharmony_ci"is_zero($self, x, /)\n--\n\n\ 6857db96d56Sopenharmony_ciReturn True if x is a zero, False otherwise.\n\ 6867db96d56Sopenharmony_ci\n"); 6877db96d56Sopenharmony_ci 6887db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_ln, 6897db96d56Sopenharmony_ci"ln($self, x, /)\n--\n\n\ 6907db96d56Sopenharmony_ciReturn the natural (base e) logarithm of x.\n\ 6917db96d56Sopenharmony_ci\n"); 6927db96d56Sopenharmony_ci 6937db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_log10, 6947db96d56Sopenharmony_ci"log10($self, x, /)\n--\n\n\ 6957db96d56Sopenharmony_ciReturn the base 10 logarithm of x.\n\ 6967db96d56Sopenharmony_ci\n"); 6977db96d56Sopenharmony_ci 6987db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_logb, 6997db96d56Sopenharmony_ci"logb($self, x, /)\n--\n\n\ 7007db96d56Sopenharmony_ciReturn the exponent of the magnitude of the operand's MSD.\n\ 7017db96d56Sopenharmony_ci\n"); 7027db96d56Sopenharmony_ci 7037db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_logical_and, 7047db96d56Sopenharmony_ci"logical_and($self, x, y, /)\n--\n\n\ 7057db96d56Sopenharmony_ciDigit-wise and of x and y.\n\ 7067db96d56Sopenharmony_ci\n"); 7077db96d56Sopenharmony_ci 7087db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_logical_invert, 7097db96d56Sopenharmony_ci"logical_invert($self, x, /)\n--\n\n\ 7107db96d56Sopenharmony_ciInvert all digits of x.\n\ 7117db96d56Sopenharmony_ci\n"); 7127db96d56Sopenharmony_ci 7137db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_logical_or, 7147db96d56Sopenharmony_ci"logical_or($self, x, y, /)\n--\n\n\ 7157db96d56Sopenharmony_ciDigit-wise or of x and y.\n\ 7167db96d56Sopenharmony_ci\n"); 7177db96d56Sopenharmony_ci 7187db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_logical_xor, 7197db96d56Sopenharmony_ci"logical_xor($self, x, y, /)\n--\n\n\ 7207db96d56Sopenharmony_ciDigit-wise xor of x and y.\n\ 7217db96d56Sopenharmony_ci\n"); 7227db96d56Sopenharmony_ci 7237db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_max, 7247db96d56Sopenharmony_ci"max($self, x, y, /)\n--\n\n\ 7257db96d56Sopenharmony_ciCompare the values numerically and return the maximum.\n\ 7267db96d56Sopenharmony_ci\n"); 7277db96d56Sopenharmony_ci 7287db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_max_mag, 7297db96d56Sopenharmony_ci"max_mag($self, x, y, /)\n--\n\n\ 7307db96d56Sopenharmony_ciCompare the values numerically with their sign ignored.\n\ 7317db96d56Sopenharmony_ci\n"); 7327db96d56Sopenharmony_ci 7337db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_min, 7347db96d56Sopenharmony_ci"min($self, x, y, /)\n--\n\n\ 7357db96d56Sopenharmony_ciCompare the values numerically and return the minimum.\n\ 7367db96d56Sopenharmony_ci\n"); 7377db96d56Sopenharmony_ci 7387db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_min_mag, 7397db96d56Sopenharmony_ci"min_mag($self, x, y, /)\n--\n\n\ 7407db96d56Sopenharmony_ciCompare the values numerically with their sign ignored.\n\ 7417db96d56Sopenharmony_ci\n"); 7427db96d56Sopenharmony_ci 7437db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_minus, 7447db96d56Sopenharmony_ci"minus($self, x, /)\n--\n\n\ 7457db96d56Sopenharmony_ciMinus corresponds to the unary prefix minus operator in Python, but applies\n\ 7467db96d56Sopenharmony_cithe context to the result.\n\ 7477db96d56Sopenharmony_ci\n"); 7487db96d56Sopenharmony_ci 7497db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_multiply, 7507db96d56Sopenharmony_ci"multiply($self, x, y, /)\n--\n\n\ 7517db96d56Sopenharmony_ciReturn the product of x and y.\n\ 7527db96d56Sopenharmony_ci\n"); 7537db96d56Sopenharmony_ci 7547db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_next_minus, 7557db96d56Sopenharmony_ci"next_minus($self, x, /)\n--\n\n\ 7567db96d56Sopenharmony_ciReturn the largest representable number smaller than x.\n\ 7577db96d56Sopenharmony_ci\n"); 7587db96d56Sopenharmony_ci 7597db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_next_plus, 7607db96d56Sopenharmony_ci"next_plus($self, x, /)\n--\n\n\ 7617db96d56Sopenharmony_ciReturn the smallest representable number larger than x.\n\ 7627db96d56Sopenharmony_ci\n"); 7637db96d56Sopenharmony_ci 7647db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_next_toward, 7657db96d56Sopenharmony_ci"next_toward($self, x, y, /)\n--\n\n\ 7667db96d56Sopenharmony_ciReturn the number closest to x, in the direction towards y.\n\ 7677db96d56Sopenharmony_ci\n"); 7687db96d56Sopenharmony_ci 7697db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_normalize, 7707db96d56Sopenharmony_ci"normalize($self, x, /)\n--\n\n\ 7717db96d56Sopenharmony_ciReduce x to its simplest form. Alias for reduce(x).\n\ 7727db96d56Sopenharmony_ci\n"); 7737db96d56Sopenharmony_ci 7747db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_number_class, 7757db96d56Sopenharmony_ci"number_class($self, x, /)\n--\n\n\ 7767db96d56Sopenharmony_ciReturn an indication of the class of x.\n\ 7777db96d56Sopenharmony_ci\n"); 7787db96d56Sopenharmony_ci 7797db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_plus, 7807db96d56Sopenharmony_ci"plus($self, x, /)\n--\n\n\ 7817db96d56Sopenharmony_ciPlus corresponds to the unary prefix plus operator in Python, but applies\n\ 7827db96d56Sopenharmony_cithe context to the result.\n\ 7837db96d56Sopenharmony_ci\n"); 7847db96d56Sopenharmony_ci 7857db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_power, 7867db96d56Sopenharmony_ci"power($self, /, a, b, modulo=None)\n--\n\n\ 7877db96d56Sopenharmony_ciCompute a**b. If 'a' is negative, then 'b' must be integral. The result\n\ 7887db96d56Sopenharmony_ciwill be inexact unless 'a' is integral and the result is finite and can\n\ 7897db96d56Sopenharmony_cibe expressed exactly in 'precision' digits. In the Python version the\n\ 7907db96d56Sopenharmony_ciresult is always correctly rounded, in the C version the result is almost\n\ 7917db96d56Sopenharmony_cialways correctly rounded.\n\ 7927db96d56Sopenharmony_ci\n\ 7937db96d56Sopenharmony_ciIf modulo is given, compute (a**b) % modulo. The following restrictions\n\ 7947db96d56Sopenharmony_cihold:\n\ 7957db96d56Sopenharmony_ci\n\ 7967db96d56Sopenharmony_ci * all three arguments must be integral\n\ 7977db96d56Sopenharmony_ci * 'b' must be nonnegative\n\ 7987db96d56Sopenharmony_ci * at least one of 'a' or 'b' must be nonzero\n\ 7997db96d56Sopenharmony_ci * modulo must be nonzero and less than 10**prec in absolute value\n\ 8007db96d56Sopenharmony_ci\n\ 8017db96d56Sopenharmony_ci\n"); 8027db96d56Sopenharmony_ci 8037db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_quantize, 8047db96d56Sopenharmony_ci"quantize($self, x, y, /)\n--\n\n\ 8057db96d56Sopenharmony_ciReturn a value equal to x (rounded), having the exponent of y.\n\ 8067db96d56Sopenharmony_ci\n"); 8077db96d56Sopenharmony_ci 8087db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_radix, 8097db96d56Sopenharmony_ci"radix($self, /)\n--\n\n\ 8107db96d56Sopenharmony_ciReturn 10.\n\ 8117db96d56Sopenharmony_ci\n"); 8127db96d56Sopenharmony_ci 8137db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_remainder, 8147db96d56Sopenharmony_ci"remainder($self, x, y, /)\n--\n\n\ 8157db96d56Sopenharmony_ciReturn the remainder from integer division. The sign of the result,\n\ 8167db96d56Sopenharmony_ciif non-zero, is the same as that of the original dividend.\n\ 8177db96d56Sopenharmony_ci\n"); 8187db96d56Sopenharmony_ci 8197db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_remainder_near, 8207db96d56Sopenharmony_ci"remainder_near($self, x, y, /)\n--\n\n\ 8217db96d56Sopenharmony_ciReturn x - y * n, where n is the integer nearest the exact value of x / y\n\ 8227db96d56Sopenharmony_ci(if the result is 0 then its sign will be the sign of x).\n\ 8237db96d56Sopenharmony_ci\n"); 8247db96d56Sopenharmony_ci 8257db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_rotate, 8267db96d56Sopenharmony_ci"rotate($self, x, y, /)\n--\n\n\ 8277db96d56Sopenharmony_ciReturn a copy of x, rotated by y places.\n\ 8287db96d56Sopenharmony_ci\n"); 8297db96d56Sopenharmony_ci 8307db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_same_quantum, 8317db96d56Sopenharmony_ci"same_quantum($self, x, y, /)\n--\n\n\ 8327db96d56Sopenharmony_ciReturn True if the two operands have the same exponent.\n\ 8337db96d56Sopenharmony_ci\n"); 8347db96d56Sopenharmony_ci 8357db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_scaleb, 8367db96d56Sopenharmony_ci"scaleb($self, x, y, /)\n--\n\n\ 8377db96d56Sopenharmony_ciReturn the first operand after adding the second value to its exp.\n\ 8387db96d56Sopenharmony_ci\n"); 8397db96d56Sopenharmony_ci 8407db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_shift, 8417db96d56Sopenharmony_ci"shift($self, x, y, /)\n--\n\n\ 8427db96d56Sopenharmony_ciReturn a copy of x, shifted by y places.\n\ 8437db96d56Sopenharmony_ci\n"); 8447db96d56Sopenharmony_ci 8457db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_sqrt, 8467db96d56Sopenharmony_ci"sqrt($self, x, /)\n--\n\n\ 8477db96d56Sopenharmony_ciSquare root of a non-negative number to context precision.\n\ 8487db96d56Sopenharmony_ci\n"); 8497db96d56Sopenharmony_ci 8507db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_subtract, 8517db96d56Sopenharmony_ci"subtract($self, x, y, /)\n--\n\n\ 8527db96d56Sopenharmony_ciReturn the difference between x and y.\n\ 8537db96d56Sopenharmony_ci\n"); 8547db96d56Sopenharmony_ci 8557db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_to_eng_string, 8567db96d56Sopenharmony_ci"to_eng_string($self, x, /)\n--\n\n\ 8577db96d56Sopenharmony_ciConvert a number to a string, using engineering notation.\n\ 8587db96d56Sopenharmony_ci\n"); 8597db96d56Sopenharmony_ci 8607db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_to_integral, 8617db96d56Sopenharmony_ci"to_integral($self, x, /)\n--\n\n\ 8627db96d56Sopenharmony_ciIdentical to to_integral_value(x).\n\ 8637db96d56Sopenharmony_ci\n"); 8647db96d56Sopenharmony_ci 8657db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_to_integral_exact, 8667db96d56Sopenharmony_ci"to_integral_exact($self, x, /)\n--\n\n\ 8677db96d56Sopenharmony_ciRound to an integer. Signal if the result is rounded or inexact.\n\ 8687db96d56Sopenharmony_ci\n"); 8697db96d56Sopenharmony_ci 8707db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_to_integral_value, 8717db96d56Sopenharmony_ci"to_integral_value($self, x, /)\n--\n\n\ 8727db96d56Sopenharmony_ciRound to an integer.\n\ 8737db96d56Sopenharmony_ci\n"); 8747db96d56Sopenharmony_ci 8757db96d56Sopenharmony_ciPyDoc_STRVAR(doc_ctx_to_sci_string, 8767db96d56Sopenharmony_ci"to_sci_string($self, x, /)\n--\n\n\ 8777db96d56Sopenharmony_ciConvert a number to a string using scientific notation.\n\ 8787db96d56Sopenharmony_ci\n"); 8797db96d56Sopenharmony_ci 8807db96d56Sopenharmony_ci 8817db96d56Sopenharmony_ci#endif /* DOCSTRINGS_H */ 8827db96d56Sopenharmony_ci 8837db96d56Sopenharmony_ci 8847db96d56Sopenharmony_ci 885