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