Commit Graph

655 Commits

Author SHA1 Message Date
Paul Sokolovsky be020c27a8 py: Make 'str' be a proper type, support standard constructor args. 2014-03-22 00:07:04 +02:00
Paul Sokolovsky 5972b4c05f objstr: Switch from in-object string data to ptr to separate memory area.
This is pre-requisite for having efficient implementation of str<->bytes
conversion, and having that efficient is required with unfortunare
str vs bytes dichotomy in Python3.
2014-03-22 00:07:04 +02:00
Damien George c070ff24a9 Disable some math functions until they work correctly. 2014-03-21 20:52:54 +00:00
Damien George 7b4b78bc33 py: Put back proper ValueError for badly parsed integers. 2014-03-21 20:46:38 +00:00
Damien George b035db355a py: Make str.[r]partition more efficient. 2014-03-21 20:39:40 +00:00
Damien George e3e7c2bafb Merge pull request #351 from xbe/str-partition
Implement str.partition and add tests for it.
2014-03-21 20:19:30 +00:00
Damien George dfbafabf6f py: Improve mp_parse_num_integer; make it self contained. 2014-03-21 12:15:59 +00:00
Damien George 6e48f7fa85 py: Allow 'complex()' to take a string as first argument. 2014-03-21 11:45:46 +00:00
Damien George c06ea7abf2 py: Implement parsing of infinity and nan for floats. 2014-03-21 10:55:08 +00:00
xbe 0a6894c24b str.(r)partition: factor out duplicate code.
Switch str.rpartition to search from left to right. Factor the
duplicate code into one helper function.
2014-03-21 03:17:09 -07:00
xbe 4504ea8007 Implement str.rpartition and add tests for it. 2014-03-21 02:58:09 -07:00
xbe 613a8e3edf Implement str.partition and add tests for it. 2014-03-21 02:57:18 -07:00
Rachel Dowdall a2f2f734ed Added various simple functions to math module. 2014-03-20 21:30:38 +00:00
Rachel Dowdall 5a14a1d690 Added various simple functions to math module. 2014-03-20 21:26:51 +00:00
Damien George d02f6eaa10 py: Fix int-longlong binary operations. 2014-03-20 19:31:32 +00:00
Damien George 7f8be59111 py: Allow hashing of functions and tuples. 2014-03-20 19:20:59 +00:00
Damien George a925639247 py: Add math.e constant. 2014-03-20 16:39:22 +00:00
Damien George 2d7ff07175 py: Add mpz modulo operation. 2014-03-20 16:28:41 +00:00
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