Damien George
34ba06b076
Merge pull request #444 from lurch/test-sorted
Add tests for sorted() function
11 years ago
Andrew Scheller
a1a9ab2b2c
Add tests for sorted() function
and check that sorted(list) produces same output as list.sort()
11 years ago
Damien George
2bfd2dc770
py: Revert revert for allocation policy of set hash table.
11 years ago
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.
11 years ago
Paul Sokolovsky
4d2238d2ce
tests: Fix more tests which depend on order of elements in set.
11 years ago
Damien George
3bb8663282
Merge branch 'master' of github.com:micropython/micropython
11 years ago
Paul Sokolovsky
bd6f3d31d2
tests: Fix few tests which depend on order of elements in set.
11 years ago
Damien George
c75427baaa
py: Revert change to allocation policy for mp_set_t.
Seems that this fixes all set tests.
11 years ago
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
11 years ago
Damien George
07e24a6294
tests: Fix tests with sets to print sorted set.
11 years ago
Damien George
ff715429ea
py: Fix str.replace for case when arg 0 or 1 is empty string.
11 years ago
Damien George
36e75aef38
unix-cpy: Pass emit opt to mp_compile.
11 years ago
Paul Sokolovsky
b4dea46d8b
tests: Fix few tests which depend on order of elements in dict.
With dict being unordered of course.
11 years ago
Paul Sokolovsky
e2adff3608
tests/dict2.py: Add combined test for dict(dict) and dict equality.
11 years ago
Paul Sokolovsky
7cf057aeeb
objdict: Implement equality operator.
Sure, it's O(n^2).
11 years ago
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).
11 years ago
Paul Sokolovsky
ea85a121f2
objdict: Support creating dict from another dict.
11 years ago
Damien George
cdd96dff2c
py: Implement more features in native emitter.
On x64, native emitter now passes 70 of the tests.
11 years ago
Damien George
65cad12d38
py: Add option to compiler to specify default code emitter.
Also add command line option to unix port to select emitter.
11 years ago
Damien George
deed087e2c
py: str.split: handle non-default separator.
11 years ago
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).
11 years ago
Damien George
4e1ed82583
Merge branch 'master' of github.com:micropython/micropython
11 years ago
Damien George
d0e824387e
py: Make mp_map_lookup not allocate memory on removal.
11 years ago
Paul Sokolovsky
080d99b7a8
py: Optimize locals()/globals() implementation.
11 years ago
Damien George
09af5364d4
Merge branch 'master' of github.com:micropython/micropython
11 years ago
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/.
11 years ago
Paul Sokolovsky
cc0af3d727
py: Implement globals() and locals() builtins.
11 years ago
Damien George
17520224fa
py: Make all objects and instances derive from object.
This makes isinstance(X, object) and issubclass(X, object) true for all
X.
11 years ago
Damien George
7efc5b3f34
py: Make globals and locals proper dictionary objects.
Finishes addressing issue #424 .
In the end this was a very neat refactor that now makes things a lot
more consistent across the py code base. It allowed some
simplifications in certain places, now that everything is a dict object.
Also converted builtins tables to dictionaries. This will be useful
when we need to turn builtins into a proper module.
11 years ago
Damien George
8b0535e23f
py: Change module globals from mp_map_t* to mp_obj_dict_t*.
Towards addressing issue #424 .
Had a small increase to ROM usage (order 60 bytes).
11 years ago
Damien George
60be1cf3b9
py: Fix float printing on stmhal.
11 years ago
Damien George
12bab72d93
Improve GC finalisation code; add option to disable it.
11 years ago
Damien George
8123a3339d
Merge pull request #425 from iabdalkader/del
Implement del
11 years ago
Damien George
ea13f407a3
py: Change nlr_jump to nlr_raise, to aid in debugging.
This does not affect code size or performance when debugging turned off.
To address issue #420 .
11 years ago
Damien George
2a037408af
tests: Add test to check issue #429 .
11 years ago
Damien George
efccbf6f27
Merge pull request #436 from dhylands/pfenv-print-int
Change pfenv_print_int to take machine_uint_t rather than unsinged in
11 years ago
Damien George
327a3e2faa
Merge pull request #435 from dhylands/str-modulo-float
Allow floating point arguments with %d,i,u,o,x,X formats
11 years ago
Damien George
23419a2f8a
Merge pull request #433 from pfalcon/getattr-3arg
py: Support 3-arg getattr() builtin (with default value).
11 years ago
Dave Hylands
64ef5d7f4e
Change pfenv_print_int to take machine_uint_t rather than unsinged in
With this change, the following works:
>>> print('%#x' % 0x1234567890abcdef)
0x1234567890abcdef
11 years ago
Damien George
6d508666ea
Merge branch 'master' of github.com:micropython/micropython
11 years ago
Damien George
95004e5114
py: Fix delete operation on map/dict and set objects.
Hash table can now be completely full (ie now NULL entry) before a
resize is triggered. Use sentinel value to indicate delete entry in the
table.
11 years ago
Damien George
e20b6b418c
stmhal: autoflash now enters serial comms after flashing.
11 years ago
Dave Hylands
f81a49e464
Allow floating point arguments with %d,i,u,o,x,X formats
11 years ago
Paul Sokolovsky
e99841be69
mp_obj_get_int(): Add warning against adding implicit float->int conversion.
11 years ago
mux
cc849f70f4
Move del to locals
11 years ago
Damien George
09a4d8305d
py: Fix bug in DELETE_SUBSCR bytecode, decreasing sp too much.
11 years ago
Damien George
b6ec51bbf0
tests: Add test for dict delete. It fails.
11 years ago
Damien George
66edc5d899
py: Implement DELETE_SUBSCR bytecode; implement mp_obj_dict_delete.
11 years ago
Damien George
3c8aecf62c
Merge pull request #431 from pfalcon/unbreak-map-remove
map: When removing a key, don't NULL the entry, but mark as deleted.
11 years ago
Paul Sokolovsky
586bfce10d
objfun: Add equality support.
11 years ago