Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [3.8] Revert bpo-39576: Prevent memory error for overly optimistic ↵ | Stefan Krah | 2020-06-08 | 1 | -74/+3 |
| | | | | | precisions (GH-20747) This reverts commit b6271025c640c228505dc9f194362a0c2ab81c61. | ||||
* | bpo-39576: Prevent memory error for overly optimistic precisions (GH-18581) ↵ | Miss Islington (bot) | 2020-02-21 | 1 | -3/+74 |
| | | | | | | | (#18584) (cherry picked from commit 90930e65455f60216f09d175586139242dbba260) Authored-by: Stefan Krah <skrah@bytereef.org> | ||||
* | bpo-35059, libmpdec: Add missing EXTINLINE in mpdecimal.h (GH-10128) | Victor Stinner | 2018-10-26 | 1 | -5/+5 |
| | | | | | | | | | | | | | Declare functions with EXTINLINE: * mpd_del() * mpd_uint_zero() * mpd_qresize() * mpd_qresize_zero() * mpd_minalloc() These functions are implemented with "inline" or "ALWAYS_INLINE", but declared without inline which cause linker error on Visual Studio in Debug mode when using /Ob1. | ||||
* | Fix some warnings produced by different compilers. (#5593) | Serhiy Storchaka | 2018-02-09 | 1 | -0/+6 |
| | |||||
* | bpo-30923: Disable warning that has been part of -Wextra since gcc-7.0. (#3142) | Stefan Krah | 2017-08-18 | 1 | -0/+6 |
| | |||||
* | Fix some warnings from MSVC | Steve Dower | 2016-09-07 | 1 | -4/+0 |
| | |||||
* | include (now) int standard headers | Benjamin Peterson | 2016-09-06 | 1 | -6/+2 |
| | |||||
* | do not need vcstdint.h anymore | Benjamin Peterson | 2016-09-06 | 1 | -1/+0 |
| | |||||
* | Issue #26846: Workaround for non-standard stdlib.h on Android. | Stefan Krah | 2016-04-25 | 5 | -6/+4 |
| | |||||
* | Issue #26621: Update libmpdec version and remove unnecessary test case. | Stefan Krah | 2016-03-23 | 1 | -2/+2 |
| | |||||
* | Issue #26139: libmpdec: disable /W4 warning (non-standard dllimport behavior). | Stefan Krah | 2016-01-17 | 1 | -0/+5 |
| | |||||
* | Issue #24974: Force fp-model precice in mpdecimal.c on Windows | Zachary Ware | 2015-09-03 | 1 | -0/+1 |
| | | | | As suggested by Steve Dower and approved by Stefan Krah. | ||||
* | Introduce and check for MPD_VERSION_HEX for precise management of builds | Stefan Krah | 2014-08-26 | 1 | -2/+6 |
| | | | | with an external libmpdec. | ||||
* | Issue #22090: Fix '%' formatting for infinities and NaNs. | Stefan Krah | 2014-08-26 | 1 | -4/+7 |
| | |||||
* | Whitespace. | Stefan Krah | 2014-01-04 | 1 | -3/+3 |
| | |||||
* | Issue #19986: Avoid an incorrect warning of older gcc versions. | Stefan Krah | 2013-12-15 | 1 | -3/+4 |
| | |||||
* | Fix C++ header usage. This __STDC_LIMIT_MACROS scheme can still be subverted | Stefan Krah | 2013-12-14 | 1 | -9/+11 |
| | | | | | by including stdint.h before mpdecimal.h. In that case the only option left is to compile with -D_STDC_LIMIT_MACROS. | ||||
* | Do not discard const qualifier without a reason. | Stefan Krah | 2013-12-12 | 1 | -7/+7 |
| | |||||
* | Fix two typos. | Stefan Krah | 2013-12-08 | 2 | -2/+2 |
| | |||||
* | Missed one copyright. | Stefan Krah | 2013-12-08 | 1 | -1/+1 |
| | |||||
* | Update copyright. The four year increment is intentional (to save work). | Stefan Krah | 2013-12-08 | 33 | -33/+33 |
| | |||||
* | Make a couple of parameters constant. | Stefan Krah | 2013-12-03 | 2 | -14/+14 |
| | |||||
* | 1) Prepare libmpdec for the 2.4.0 release. None of the following changes ↵ | Stefan Krah | 2013-11-24 | 2 | -35/+319 |
| | | | | | | | | | | | | | | | | | | affects _decimal: o Make all "mpd_t to C integer" conversion functions available in both the 64-bit and the 32-bit versions. o Make all mixed mpd_t/C integer arithmetic functions available in the 32-bit version. o Better handling of __STDC_LIMIT_MACROS for C++ users. o Add struct tags (at the request of C++ users). 2) Check for libmpdec.so.2 if --with-system-libmpdec is used. | ||||
* | Fix a few typos and a double semicolon. Patch by Eitan Adler. | Ezio Melotti | 2013-01-27 | 1 | -1/+1 |
| | |||||
* | Remove trailing whitespace. | Stefan Krah | 2013-01-16 | 10 | -22/+22 |
| | |||||
* | Issue #16753: Define __GNUC_STDC_INLINE__ to an integer (same as gcc). | Stefan Krah | 2012-12-23 | 1 | -1/+1 |
| | |||||
* | Issue #16745: The gcc visibility pragma is buggy on OpenIndiana and NetBSD. | Stefan Krah | 2012-12-22 | 1 | -1/+2 |
| | |||||
* | Fix Visual Studio build. | Stefan Krah | 2012-12-22 | 1 | -0/+3 |
| | |||||
* | Issue #16745: Hide symbols in _decimal.so. | Stefan Krah | 2012-12-22 | 12 | -1/+95 |
| | |||||
* | Issue #16745: Hide a couple of symbols by making them local. | Stefan Krah | 2012-12-21 | 1 | -7/+7 |
| | |||||
* | Support gcc's -ansi flag: use "__asm__" instead of "asm". | Stefan Krah | 2012-09-30 | 2 | -94/+94 |
| | |||||
* | Revert 29506c7db353 (build output should be accurate). | Stefan Krah | 2012-09-30 | 1 | -5/+0 |
| | |||||
* | Change libmpdec to use ANSI code in strict ansi mode as inline asm isn't ↵ | Christian Heimes | 2012-09-30 | 1 | -0/+5 |
| | | | | supported in ANSI C | ||||
* | Use C-style comments. | Stefan Krah | 2012-09-23 | 1 | -24/+24 |
| | |||||
* | mpd_qpowmod(): calculate result with zero-exponent for compatibility with | Stefan Krah | 2012-08-23 | 1 | -15/+17 |
| | | | | decimal.py. The hack to remove the ideal exponent is no longer required. | ||||
* | 1) Use _mpd_basedivmod() regardless of the length of the dividend. This is | Stefan Krah | 2012-08-22 | 1 | -6/+9 |
| | | | | | | | | | | required for a corner case in dec_hash() in the following commit and also usually faster. dec_hash() needs some extra precision above MPD_MAX_PREC, and _mpd_base_ndivmod() is not audited for that. 2) Use _mpd_basemul() if the length of the smaller operand is less than or equal to 256. While this is technically an optimization, it is required for *testing* corner cases in dec_hash() in reasonable time. | ||||
* | Fix Visual Studio warning. | Stefan Krah | 2012-07-20 | 1 | -1/+1 |
| | |||||
* | Issue #7652: Clean up _mpd_qinvroot() and mark it LIBMPDEC_ONLY. Use the | Stefan Krah | 2012-07-12 | 1 | -135/+140 |
| | | | | algorithm from decimal.py for mpd_qsqrt(). | ||||
* | After 79d2eb29c755 it is no longer necessary to zero the output array: | Stefan Krah | 2012-06-30 | 1 | -4/+4 |
| | | | | | | None of the _mpd_shortadd() or _mpd_shortmul() functions read uninitialized values. Previously zeroing was required since _mpd_real_size() was called on the output array. | ||||
* | Proactive reliability fix for broken FPUs: The base conversion functions | Stefan Krah | 2012-06-30 | 4 | -180/+389 |
| | | | | | | | | | | use log10() to calculate the size of the output array. The current code has been tested on x86/amd64 (and to a lesser extent on qemu-mips qemu-sparc) and produces sufficiently large values for all inputs tested so far (coefficient sizes of 10**18 - 1 are hard to test exhaustively). The new code does not rely on the correctness of log10() and resizes the output arrays if the allocated space is insufficient. | ||||
* | Whitespace. | Stefan Krah | 2012-06-22 | 1 | -1/+1 |
| | |||||
* | Fix comment. | Stefan Krah | 2012-06-20 | 1 | -1/+1 |
| | |||||
* | Many cleanups of redundant code in mpd_qrem_near(): | Stefan Krah | 2012-06-20 | 1 | -23/+15 |
| | | | | | | | | | | | | | | | | | | 1) _mpd_qdivmod() uses the context precision only in two places, and the new code should be exactly equivalent to the previous code. 2) Remove misleading comment. 3) The quotient *is* an integer with exponent 0, so calling mpd_qtrunc() is pointless. 4) Replace two instances of identical code by a single one. 5) Use _mpd_cmp_abs() instead of mpd_cmp_total_mag(): the operands are not special. 6) Don't clear MPD_Rounded in the status (with the current code it should not be set within the function). | ||||
* | Add comments to the power functions, in particular to _mpd_qpow_real(). | Stefan Krah | 2012-06-18 | 1 | -5/+34 |
| | |||||
* | 1) State the relative errors of the power functions for integer exponents. | Stefan Krah | 2012-06-16 | 1 | -2/+18 |
| | | | | | | | | | | | | | | | 2) _mpd_qpow_mpd(): Abort the loop for all specials, not only infinity. 3) _mpd_qpow_mpd(): Make the function more general and distinguish between zero clamping and folding down the exponent. The latter case is currently handled by setting context->clamp to 0 before calling the function. 4) _mpd_qpow_int(): Add one to the work precision in case of a negative exponent. This is to get the same relative error (0.1 * 10**-prec) for both positive and negative exponents. The previous relative error for negative exponents was (0.2 * 10**-prec). Both errors are _before_ the final rounding to the context precision. | ||||
* | 1) Fix signature of _mpd_qpow_uint(): contrary to the comment base is constant. | Stefan Krah | 2012-06-12 | 1 | -7/+9 |
| | | | | | | | | 2) Abort the loop for all specials, not only infinity. 3) Make the function more general and distinguish between zero clamping and folding down the exponent. The latter case is currently handled by setting context->clamp to 0 before calling the function. | ||||
* | 1) Replace long-winded abort() construct by assert(). | Stefan Krah | 2012-06-11 | 1 | -31/+28 |
| | | | | | 2) Remove micro optimization (inline checking for NaN before calling mpd_qcheck_nans()) that probably has no benefit in this case. | ||||
* | 1) State restrictions for the transform length. | Stefan Krah | 2012-06-10 | 1 | -5/+10 |
| | | | | | 2) Switch argument order to match the function signature of mpd_calloc() (cosmetic change, since the order is irrelevant). | ||||
* | Add one extra comparison to the _mpd_shortmul() case to avoid repetitive code. | Stefan Krah | 2012-06-09 | 1 | -16/+8 |
| | |||||
* | Enumerate all cases in the overflow detection strategy in mpd_qlog10(). | Stefan Krah | 2012-06-08 | 1 | -4/+17 |
| |