summaryrefslogtreecommitdiffstatshomepage
path: root/py
Commit message (Collapse)AuthorAge
* mp_obj_get_int(): Add warning against adding implicit float->int conversion.Paul Sokolovsky2014-04-05
|
* py: Fix bug in DELETE_SUBSCR bytecode, decreasing sp too much.Damien George2014-04-05
|
* py: Implement DELETE_SUBSCR bytecode; implement mp_obj_dict_delete.Damien George2014-04-05
|
* Merge pull request #431 from pfalcon/unbreak-map-removeDamien George2014-04-05
|\ | | | | map: When removing a key, don't NULL the entry, but mark as deleted.
| * map: When removing a key, don't NULL the entry, but mark as deleted.Paul Sokolovsky2014-04-05
| | | | | | | | | | | | | | | | | | | | When searching next time, such entry should be just skipped, not terminate the search. It's known that marking techique is not efficient at the presense of many removes, but namespace usage should not require many deletes, and as for user dictionaries - well, open addressing map table with linear rehashing and load factor of ~1 is not particularly efficient at all ;-). TODO: May consider "shift other entries in cluster" approach as an alternative.
* | objfun: Add equality support.Paul Sokolovsky2014-04-05
| |
* | objtype: Add equality test for type types.Paul Sokolovsky2014-04-05
| |
* | py: Allow types to be hashable.Paul Sokolovsky2014-04-05
| | | | | | | | Quite natural to have d[int] = handle_int .
* | py: Put default namespace into module __main__.Paul Sokolovsky2014-04-05
|/ | | | That's how CPython has it, in particular, "import __main__" should work.
* mp_load_name(): Optimize for outer scope where locals == globals.Paul Sokolovsky2014-04-05
|
* map: Add mp_map_dump() (#ifdef'ed) to be handy when debugging maps.Paul Sokolovsky2014-04-05
|
* Merge pull request #421 from dhylands/git-versionDamien George2014-04-04
|\ | | | | Add the git version and build-date to the banner
| * Add the git version to the bannerDave Hylands2014-04-03
| |
* | py: Make False and True act like 0 and 1 for integer arithmetic.Damien George2014-04-04
| |
* | py: Allow dict constructor to take keyword arguments.Damien George2014-04-04
| |
* | py: Remove mp_obj_less (use mp_binary_op(MP_BINARY_OP_LESS..) instead).Damien George2014-04-04
| |
* | Merge pull request #422 from dhylands/str-moduloDamien George2014-04-04
|\ \ | | | | | | Str modulo
| * | Implements most of str.moduloDave Hylands2014-04-03
| |/ | | | | | | | | The alternate form for floating point doesn't work yet. The %(name)s form doesn't work yet.
* | py: Enable optimisation of multiplying 2 small ints in compiler.Damien George2014-04-04
| |
* | py: This time, real proper overflow checking of small int power.Damien George2014-04-04
| | | | | | | | Previous overflow test was inadequate.
* | py: Add m_malloc_fail function to handle memory allocation error.Damien George2014-04-04
|/ | | | A malloc/realloc fail now throws MemoryError.
* py: Handle small int power overflow correctly.Damien George2014-04-04
|
* Changes to get unix/ port compiling on Cygwin.Damien George2014-04-03
|
* py: Add "io" module.Paul Sokolovsky2014-04-03
| | | | | | So far just includes "open" function, which should be supplied by a port. TODO: Make the module #ifdef'ed.
* py: More robust int conversion and overflow checking.Damien George2014-04-03
|
* Merge branch 'fix-format-int' of github.com:dhylands/micropython into ↵Damien George2014-04-02
|\ | | | | | | | | | | | | dhylands-fix-format-int Conflicts: py/objstr.c
| * Fix str.format to work with {:f/g/e} and intsDave Hylands2014-04-02
| | | | | | | | Also fix objstr.c to compile when floats disabled.
* | py: Fix regress for printing of floats and #if.Damien George2014-04-02
|/ | | | | Also change formating modifier in test script (it still passes with original format though).
* gc: Uses uint defined in misc.h.Paul Sokolovsky2014-04-02
|
* py: Wrap compile_scope_inline_asm in #if; remove comment from misc.h.Damien George2014-04-02
|
* py: Fix up so that it can compile without float.Damien George2014-04-02
|
* py: Enable a jump optimisation in the compiler.Damien George2014-04-02
|
* py: Move to Python 3.4.0 compatibility.Damien George2014-04-02
| | | | | | | | | | | | | Very little has changed. In Python 3.4 they removed the opcode STORE_LOCALS, but in Micro Python we only ever used this for CPython compatibility, so it was a trivial thing to remove. It also allowed to clean up some dead code (eg the 0xdeadbeef in class construction), and now class builders use 1 less stack word. Python 3.4.0 introduced the LOAD_CLASSDEREF opcode, which I have not yet understood. Still, all tests (apart from bytecode test) still pass. Bytecode tests needs some more attention, but they are not that important anymore.
* py: Factor out static/class method unwrapping code; add tests.Damien George2014-04-02
|
* py: Implement floating point power binop.Damien George2014-04-02
|
* py: Allow multiple of str/list/tuple on left by an integer.Damien George2014-04-02
|
* py: Add support for sep and end keywords in print.Damien George2014-04-02
|
* py: Fix math.{ceil,floor,trunc} to return int.Damien George2014-04-01
|
* py: Make pfenv.c conform to code conventions.Damien George2014-04-01
|
* Reduce stack usage of pfenv_print_strnDave Hylands2014-04-01
|
* Fix INT_BUF_SIZE to work with 32-bit and 64-bitDave Hylands2014-04-01
|
* py: Remove implicit conversion from int to float.Damien George2014-04-01
|
* Enhance str.format supportDave Hylands2014-04-01
| | | | | | | | | | | This adds support for almost everything (the comma isn't currently supported). The "unspecified" type with floats also doesn't behave exactly like python. Tested under unix with float and double Spot tested on stmhal
* py: Implement __getattr__.Damien George2014-03-31
| | | | | | | | It's not completely satisfactory, because a failed call to __getattr__ should not raise an exception. __setattr__ could be implemented, but it would slow down all stores to a user created object. Need to implement some caching system.
* objstr: Very basic implementation of % string formatting operator.Paul Sokolovsky2014-03-31
|
* py: Wrap .__class__ handling in MICROPY_CPYTHON_COMPAT.Paul Sokolovsky2014-03-31
| | | | | Because it's superfluos in the presence of type(), a remenant from Python's "old classes".
* objtype: Wrap .__name__ handling in MICROPY_CPYTHON_COMPAT.Paul Sokolovsky2014-03-31
| | | | | | | | Because it's runtime reflection feature, not required for many apps. Rant time: Python could really use better str() vs repr() distinction, for example, repr(type) could be "<class 'foo'>" (as it is now), and str(type) just "foo". But alas, getting straight name requires adhoc attribute.
* py: Fix bug in optimised for .. range.Damien George2014-03-31
| | | | | | Don't store final, failing value to the loop variable. This fix also makes for .. range a bit more efficient, as it uses less store/load pairs for the loop variable.
* py: Fix vstr_init for case that alloc = 0.Damien George2014-03-31
|
* Merge branch 'master' of github.com:micropython/micropythonDamien George2014-03-31
|\