Damien George
2bfd2dc770
py: Revert revert for allocation policy of set hash table.
2014-04-07 01:16:17 +01:00
Paul Sokolovsky
46bd12d57e
objset: Fix incorrect workaround against mp_set_init() munging alloc size.
...
No longer needed after recent change which guarantees that mp_set_init()
will allocate exact number of slots requested.
2014-04-07 03:08:46 +03:00
Paul Sokolovsky
4d2238d2ce
tests: Fix more tests which depend on order of elements in set.
2014-04-07 03:08:46 +03:00
Damien George
3bb8663282
Merge branch 'master' of github.com:micropython/micropython
2014-04-07 00:54:53 +01:00
Paul Sokolovsky
bd6f3d31d2
tests: Fix few tests which depend on order of elements in set.
2014-04-07 02:54:16 +03:00
Damien George
c75427baaa
py: Revert change to allocation policy for mp_set_t.
...
Seems that this fixes all set tests.
2014-04-07 00:54:04 +01:00
Paul Sokolovsky
9f043da5c3
pip-micropython: Require command verb, but restrict to "install" only.
...
So, pip-micropython can/should be run as normal pip:
pip-micropython install micropython-unittest
2014-04-07 02:53:41 +03:00
Damien George
07e24a6294
tests: Fix tests with sets to print sorted set.
2014-04-07 00:42:09 +01:00
Damien George
ff715429ea
py: Fix str.replace for case when arg 0 or 1 is empty string.
2014-04-07 00:39:13 +01:00
Damien George
36e75aef38
unix-cpy: Pass emit opt to mp_compile.
2014-04-06 19:48:43 +01:00
Paul Sokolovsky
b4dea46d8b
tests: Fix few tests which depend on order of elements in dict.
...
With dict being unordered of course.
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
e2adff3608
tests/dict2.py: Add combined test for dict(dict) and dict equality.
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
7cf057aeeb
objdict: Implement equality operator.
...
Sure, it's O(n^2).
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
5fedd0c3b7
py: Fix dict.copy() and low-level map/set allocation.
...
Two things: 1) set flags in copy properly; make mp_map_init() not be too
smart and do something with requested alloc size. Policy of using prime
numbers for alloc size is high-level policy which should be applied at
corresponding high levels. Low-level functions should just do what they're
asked to, because they don't have enough context to be smarter than that.
For example, munging with alloc size of course breaks dict copying (as
changing sizes requires rehashing).
2014-04-06 21:31:42 +03:00
Paul Sokolovsky
ea85a121f2
objdict: Support creating dict from another dict.
2014-04-06 20:08:56 +03:00
Damien George
cdd96dff2c
py: Implement more features in native emitter.
...
On x64, native emitter now passes 70 of the tests.
2014-04-06 12:58:40 +01:00
Damien George
65cad12d38
py: Add option to compiler to specify default code emitter.
...
Also add command line option to unix port to select emitter.
2014-04-06 11:48:15 +01:00
Damien George
deed087e2c
py: str.split: handle non-default separator.
2014-04-06 11:11:15 +01:00
Paul Sokolovsky
36dd19ae27
py: Revert mp_load_attr() to its previous state (not supporting default val).
...
Based on the discussion in #433 . mp_load_attr() is critical-path function,
so any extra check will slowdown any script. As supporting default val
required only for getattr() builtin, move correspending implementation
there (still as a separate function due to concerns of maintainability
of such almost-duplicated code instances).
2014-04-06 02:15:23 +03:00
Damien George
4e1ed82583
Merge branch 'master' of github.com:micropython/micropython
2014-04-05 23:33:37 +01:00
Damien George
d0e824387e
py: Make mp_map_lookup not allocate memory on removal.
2014-04-05 23:33:12 +01:00
Paul Sokolovsky
080d99b7a8
py: Optimize locals()/globals() implementation.
2014-04-06 01:18:58 +03:00
Damien George
09af5364d4
Merge branch 'master' of github.com:micropython/micropython
2014-04-05 23:04:22 +01:00
Damien George
27e735fd18
py: Replace stream_p with *stream_p in mp_obj_type_t.
...
This is to reduce ROM usage. stream_p is used in file and socket types
only (at the moment), so seems a good idea to make the protocol
functions a pointer instead of the actual structure.
It saves 308 bytes of ROM in the stmhal/ port, 928 in unix/.
2014-04-05 23:02:23 +01:00
Paul Sokolovsky
cc0af3d727
py: Implement globals() and locals() builtins.
2014-04-06 01:01:36 +03:00