mirror of https://github.com/python/cpython
b9e10d1a0f
* gh-122081: fixed crash in decimal.IEEEContext() Now $ ./configure CFLAGS=-DEXTRA_FUNCTIONALITY -q && make -s && \ ./python -m test test_decimal - PASS * Apply suggestions from code review Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> * Update Misc/NEWS.d/next/Library/2024-07-21-10-45-24.gh-issue-122081.dNrYMq.rst * Apply suggestions from code review --------- Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Kumar Aditya <kumaraditya@python.org> |
||
---|---|---|
.. | ||
libmpdec | ||
tests | ||
windows | ||
README.txt | ||
_decimal.c | ||
docstrings.h |
README.txt
About ===== _decimal.c is a wrapper for the libmpdec library. libmpdec is a fast C library for correctly-rounded arbitrary precision decimal floating point arithmetic. It is a complete implementation of Mike Cowlishaw/IBM's General Decimal Arithmetic Specification. Build process for the module ============================ As usual, the build process for _decimal.so is driven by setup.py in the top level directory. setup.py autodetects the following build configurations: 1) x64 - 64-bit Python, x86_64 processor (AMD, Intel) 2) uint128 - 64-bit Python, compiler provides __uint128_t (gcc) 3) ansi64 - 64-bit Python, ANSI C 4) ppro - 32-bit Python, x86 CPU, PentiumPro or later 5) ansi32 - 32-bit Python, ANSI C 6) ansi-legacy - 32-bit Python, compiler without uint64_t 7) universal - Mac OS only (multi-arch) It is possible to override autodetection by exporting: PYTHON_DECIMAL_WITH_MACHINE=value, where value is one of the above options. NOTE ==== decimal.so is not built from a static libmpdec.a since doing so led to failures on AIX (user report) and Windows (mixing static and dynamic CRTs causes locale problems and more).