Commit Graph

637 Commits

Author SHA1 Message Date
Damien George c412998c49 py: Add comment about bugs in objint_longlong.c. 2014-03-19 23:17:23 +00:00
Damien George cd8b2baf43 py: Fix bug in mpz int, where small int is on lhs, mpz on rhs. 2014-03-19 23:15:25 +00:00
xbe c55388823f objstr.c: Replace size_t with machine_uint_t. 2014-03-17 02:43:50 -07:00
xbe efe3422394 py: Clean up includes.
Remove unnecessary includes. Add includes that improve portability.
2014-03-17 02:43:40 -07:00
Paul Sokolovsky 51bbf6a006 Implement support for __str__ and __repr__ special methods in classes. 2014-03-16 15:18:22 +02:00
Damien George ecd58aec08 py: Fix bug in vstr_ins_blank_bytes. 2014-03-15 16:54:06 +00:00
Damien George 280e7208d8 Add vstr_ins and vstr_cut_out; improve stmhal readline. 2014-03-15 14:33:09 +00:00
Dave Hylands ca5444e6cd stmhal - add pin mapping, gpio, exti, usrsw 2014-03-14 23:41:28 -07:00
Damien George 536dde254b py: In string.count, handle case of zero-length needle. 2014-03-13 22:07:55 +00:00
xbe c5d70ba48b Fix issues in str.count implementation.
See pull request #343.
2014-03-13 00:33:07 -07:00
xbe 9e1e8cd642 Implement str.count and add tests for it.
Also modify mp_get_index to accept:
1. Indices that are or evaluate to a boolean.
2. Slice indices.
Add tests for these two cases.
2014-03-12 22:57:16 -07:00
Damien George 470184e2c3 py: Cosmetic changes. 2014-03-12 22:44:11 +00:00
Damien George df02aaee4f Merge pull request #340 from iabdalkader/realloc
Fix realloc
2014-03-12 22:42:33 +00:00
Damien George 8854e1fa05 py: Add expm1 to math module. 2014-03-12 21:31:41 +00:00
mux 8782676514 Fix realloc 2014-03-12 21:00:23 +02:00
Damien George 9d68e9ccdd py: Implement integer overflow checking for * and << ops.
If operation will overflow, a multi-precision integer is created.
2014-03-12 15:38:15 +00:00
Damien George bb4a43f35c py: Fix some bugs in mpz; add mpz_from_ll and mpz_set_from_ll.
A couple of bugs in mpn_shl, and overflow bug in mpz_set_from_int.
2014-03-12 15:36:06 +00:00
Damien George 8bfec2b538 Rename formatfloat file; remove MICROPY_ENABLE_FLOAT from mpconfigport.h.
MICROPY_ENABLE_FLOAT is automatically set in mpconfig.h if MICROPY_FLOAT_IMPL
is set to a non-zero value.
2014-03-10 13:27:02 +00:00
Dave Hylands ca5a241e48 Add proper floating point printing support. 2014-03-10 00:10:01 -07:00
Dave Hylands 0308f964a0 Fix makeqstrdata.py to work in Python 2.7 2014-03-10 00:07:35 -07:00
Damien George 2da9830b92 py: Make objstr support buffer protocol (read only). 2014-03-09 19:58:18 +00:00
Damien George 0ec6bd47cb py: Fix printing of type name. 2014-03-09 16:29:36 +00:00
Damien George 0c36da0b59 Implement ROMable modules. Add math module.
mp_module_obj_t can now be put in ROM.

Configuration of float type is now similar to longint: can now choose
none, float or double as the implementation.

math module has basic math functions.  For STM port, these are not yet
implemented (they are just stub functions).
2014-03-08 15:24:39 +00:00
Damien George 5260810d70 py: Wrap mpz float functions in MICROPY_ENABLE_FLOAT. 2014-03-08 15:04:54 +00:00
Damien George fdf0da5436 makeqstrdata: print error to stderr. 2014-03-08 15:03:25 +00:00
Damien George 6fc765c928 py: Revert to old gc_realloc for now. 2014-03-07 00:21:51 +00:00
Damien George f08ddef676 py: Add comments to new gc_realloc, it has some bugs. 2014-03-06 23:59:01 +00:00
Damien George 73d579354b py: Small cosmetic changes to gc_realloc. 2014-03-06 00:02:16 +00:00
Damien George 7bf724da21 Merge pull request #334 from iabdalkader/realloc
Fix gc_realloc to expand in place
2014-03-05 23:56:04 +00:00
mux fbaa1479f4 Fix gc_realloc to expand in place
* Issue #322
2014-03-05 23:23:04 +02:00
Damien George 25f5a30e73 py: Fix overriding of default arguments.
Addresses issue #327.
2014-03-03 23:25:08 +00:00
Damien George f41fdd05b0 py: Unify syntax error handling in compiler; check defualt arg syntax.
Checks for non-default args following default args, and errors out.
Addresses issue #328.
2014-03-03 23:19:11 +00:00
Damien George 715101580b py: Factor and improve issubclass. 2014-03-03 22:38:13 +00:00
Paul Sokolovsky e74f52b76c namedtuple: Inherit unary/binary ops from tuple base class. 2014-03-03 11:42:53 +08:00
Paul Sokolovsky d86d22e1e7 Add mp_obj_is_subclass_fast() - intended for fast argument checking.
I.e. as replacement of MP_OBJ_IS_TYPE(), which takes into account subclassing.
2014-03-03 11:42:53 +08:00
Paul Sokolovsky d08fd68664 Add basic collections.namedtuple implementation. 2014-03-03 11:42:53 +08:00
Damien George 75a35c496d Merge pull request #330 from pfalcon/cortex-a
Support building "unix" port for ARM
2014-03-01 19:57:02 +00:00
Damien George 06201ff3d6 py: Implement bit-shift and not operations for mpz.
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-03-01 19:50:50 +00:00
Paul Sokolovsky 9c7e984a05 nlrthumb.S: Comment out ".cpu cortex-m4", it causes problems on Cortex-A. 2014-03-01 10:05:53 +02:00
Paul Sokolovsky 82a165d9be nlr.h: Do proper arch selection, using the same tests as nlr*.S . 2014-03-01 10:05:33 +02:00
Damien George ce1162ab15 GC: Fix printf formats for debugging; add gc_dump_alloc_table. 2014-02-26 22:55:59 +00:00
Damien George 41eb6086b7 py: Remove more var arg names fro macros with var args. 2014-02-26 22:40:35 +00:00
Damien George d5e81826ec py: Reduce size of mp_obj_fun_native_t struct by packing ints. 2014-02-26 17:47:05 +00:00
Damien George 510477557d py: Take out bitfield entries from their own structure.
Don't need to wrap bitfields in their own struct.  Compiler does the
correct thing without it.
2014-02-26 17:40:52 +00:00
Damien George 1dc76af7bf py: Remove name of var arg from macros with var args. 2014-02-26 16:57:08 +00:00
Damien George c5ac2ac590 py: Start to implement shl/shr for mpz. Fix return void. 2014-02-26 16:56:30 +00:00
Damien George aca141269e py: Fix mpn_sub, was increasing wrong source pointer.
Also change int -> machine_int_t where appropriate.
2014-02-24 21:32:52 +00:00
Damien George 438c88dd2f Add arbitrary precision integer support.
Some functionality is still missing (eg and, or, bit shift), and some
things are buggy (eg subtract).
2014-02-22 19:25:23 +00:00
Damien George 2077397118 py: Put number parsing code together in parsenum.c. 2014-02-22 18:12:43 +00:00
Damien George 2613ffde43 py: Rename strtonum to mp_strtonum.
strtonum clashes with BSD function of same name, and our version is
different so warrants a unique name.  Addresses Issue #305.
2014-02-22 17:49:15 +00:00