| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2015-10-01 | py/mpz: Fix bignum anding of large negative with smaller positive int. | Damien George | |
| 2015-10-01 | py/mpz: Force rhs of mpz_shl_inpl/mpz_shr_inpl to be unsigned. | Damien George | |
| Python semantics are that rhs of shift must be non-negative, so there's no need to handle negative values in the underlying mpz implementation. | |||
| 2015-10-01 | py/mpz: Raise NotImplError instead of failing assertion. | Damien George | |
| 2015-04-25 | py: Fix handling of negative numbers in struct.pack of q/Q. | Damien George | |
| 2015-04-25 | py: Support conversion of bignum to bytes. | Damien George | |
| This gets int.to_bytes working for bignum, and also struct.pack with 'q' and 'Q' args on 32-bit machines. Addresses issue #1155. | |||
| 2015-04-22 | py/mpz.c: Fix bug with shl not truncating zero digits correctly. | Damien George | |
| 2015-04-09 | py: Adjust some spaces in code style/format, purely for consistency. | Damien George | |
| 2015-03-12 | py: Make some mpz functions static and remove unused ones. | Damien George | |
| 2015-03-02 | py: Clean up and comment out unused functions in mpz. | Damien George | |
| 2015-01-27 | py: Fix comparison of minus-zero long int. | Damien George | |
| 2015-01-24 | py: Fix issue in mpz_set_from_float() when mp_int_t is larger than float | David Steinberg | |
| 2015-01-24 | py: Move mp_float_t related defines to misc.h | David Steinberg | |
| 2015-01-20 | py, unix: Allow to compile with -Wunused-parameter. | Damien George | |
| See issue #699. | |||
| 2015-01-16 | py, unix: Allow to compile with -Wsign-compare. | Damien George | |
| See issue #699. | |||
| 2015-01-09 | py: Fix handling of "0" mpz in some functions. | Damien George | |
| 2015-01-02 | py: Raise exception if trying to convert inf/nan to int. | Damien George | |
| 2015-01-02 | py: Fix float to int conversion for large exponents. | David Steinberg | |
| 2015-01-01 | py: Move to guarded includes, everywhere in py/ core. | Damien George | |
| Addresses issue #1022. | |||
| 2014-12-31 | py: Fix rshift and not of zero/one edge cases in mpz. | Damien George | |
| Addresses issue #1027. | |||
| 2014-10-30 | mpz: Fix 64bit msvc build | stijn | |
| msvc does not treat 1L a 64bit integer hence all occurences of shifting it left or right result in undefined behaviour since the maximum allowed shift count for 32bit ints is 31. Forcing the correct type explicitely, stored in MPZ_LONG_1, solves this. | |||
| 2014-10-03 | py: Convert [u]int to mp_[u]int_t where appropriate. | Damien George | |
| Addressing issue #50. | |||
| 2014-09-10 | py: Enable struct/binary-helper to parse q and Q sized ints. | Damien George | |
| Addresses issue #848. | |||
| 2014-09-06 | py: Make mpz able to use 16 bits per digit; and 32 on 64-bit arch. | Damien George | |
| Previously, mpz was restricted to using at most 15 bits in each digit, where a digit was a uint16_t. With this patch, mpz can use all 16 bits in the uint16_t (improvement to mpn_div was required). This gives small inprovements in speed and RAM usage. It also yields savings in ROM code size because all of the digit masking operations become no-ops. Also, mpz can now use a uint32_t as the digit type, and hence use 32 bits per digit. This will give decent improvements in mpz speed on 64-bit machines. Test for big integer division added. | |||
| 2014-09-05 | py: Convert (u)int to mp_(u)int_t in mpz, and remove unused function. | Damien George | |
| 2014-08-30 | py: Save about 200 bytes of ROM by using smaller type for static table. | Damien George | |
| 2014-08-07 | py: Fix bug in mpn_shl (multi-prec int shift left). | Damien George | |
| Before this patch, eg, 1 << 75 (or any large multiple of 15) was setting the MSB in the digits, which is outside the valid range of DIG_MASK. | |||
| 2014-07-31 | py: Improve handling of long-int overflow. | Damien George | |
| This removes mpz_as_int, since that was a terrible function (it implemented saturating conversion). Use mpz_as_int_checked and mpz_as_uint_checked. These now work correctly (they previously had wrong overflow checking, eg print(chr(10000000000000)) on 32-bit machine would incorrectly convert this large number to a small int). | |||
| 2014-07-24 | py: Make long ints hashable. | Damien George | |
| Addresses issue #765. | |||
| 2014-07-03 | Rename machine_(u)int_t to mp_(u)int_t. | Damien George | |
| See discussion in issue #50. | |||
| 2014-06-21 | py: Include mpconfig.h before all other includes. | Paul Sokolovsky | |
| It defines types used by all other headers. Fixes #691. | |||
| 2014-06-01 | Rename bultins config variables to MICROPY_PY_BUILTINS_*. | Damien George | |
| This renames: MICROPY_PY_FROZENSET -> MICROPY_PY_BUILTINS_FROZENSET MICROPY_PY_PROPERTY -> MICROPY_PY_BUILTINS_PROPERTY MICROPY_PY_SLICE -> MICROPY_PY_BUILTINS_SLICE MICROPY_ENABLE_FLOAT -> MICROPY_PY_BUILTINS_FLOAT See issue #35 for discussion. | |||
| 2014-05-29 | py: Implement bignum '&' with negatives on lhs and rhs. | Damien George | |
| Needs proper coverage testing. Doesn't implement -ve & -ve. Addresses issue #611. | |||
| 2014-05-13 | py: Improve mpz_and function. | Damien George | |
| This should now have correct (and optimal) behaviour. | |||
| 2014-05-12 | py: Fix bug in mpz_and function. | Damien George | |
| Addresses issue #610. | |||
| 2014-05-08 | Windows MSVC port | stijn | |
| Extend the windows port so it compiles with the toolchain from Visual Studio 2013 | |||
| 2014-05-03 | Add license header to (almost) all files. | Damien George | |
| Blanket wide to all .c and .h files. Some files originating from ST are difficult to deal with (license wise) so it was left out of those. Also merged modpyb.h, modos.h, modstm.h and modtime.h in stmhal/. | |||
| 2014-04-08 | py: Add comment mpz function, and free memory used for string printing. | Damien George | |
| 2014-04-07 | Add string formatting support for longlong and mpz. | Dave Hylands | |
| 2014-04-04 | py: Handle small int power overflow correctly. | Damien George | |
| 2014-04-03 | py: More robust int conversion and overflow checking. | Damien George | |
| 2014-03-23 | objint_mpz: Quick&dirty implementation of bitwise operations. | Paul Sokolovsky | |
| Made solely to unbreak int-long.py test which in turn uncovered thinko with implementation of inplace ops. On mpz level, bitwise ops implemented only for same-sign numbers, and are not efficient (unconditional calling of mpn_cmp() is apparently superfluous). | |||
| 2014-03-12 | py: Fix some bugs in mpz; add mpz_from_ll and mpz_set_from_ll. | Damien George | |
| A couple of bugs in mpn_shl, and overflow bug in mpz_set_from_int. | |||
| 2014-03-08 | py: Wrap mpz float functions in MICROPY_ENABLE_FLOAT. | Damien George | |
| 2014-03-01 | py: Implement bit-shift and not operations for mpz. | Damien George | |
| Implement not, shl and shr in mpz library. Add function to create mpzs on the stack, used for memory efficiency when rhs is a small int. Factor out code to parse base-prefix of number into a dedicated function. | |||
| 2014-02-26 | py: Start to implement shl/shr for mpz. Fix return void. | Damien George | |
| 2014-02-24 | py: Fix mpn_sub, was increasing wrong source pointer. | Damien George | |
| Also change int -> machine_int_t where appropriate. | |||
| 2014-02-22 | Add arbitrary precision integer support. | Damien George | |
| Some functionality is still missing (eg and, or, bit shift), and some things are buggy (eg subtract). | |||
