Damien George
6582a4170d
Merge pull request #421 from dhylands/git-version
...
Add the git version and build-date to the banner
2014-04-04 16:09:29 +01:00
Damien George
e8208a7f02
py: Make False and True act like 0 and 1 for integer arithmetic.
2014-04-04 15:08:23 +01:00
Damien George
d7aadcfe1b
py: Allow dict constructor to take keyword arguments.
2014-04-04 15:08:00 +01:00
Damien George
36f0ee1a54
py: Remove mp_obj_less (use mp_binary_op(MP_BINARY_OP_LESS..) instead).
2014-04-04 15:07:17 +01:00
Damien George
9b1599c663
Merge pull request #422 from dhylands/str-modulo
...
Str modulo
2014-04-04 12:37:52 +01:00
Damien George
af27259439
py: Enable optimisation of multiplying 2 small ints in compiler.
2014-04-04 11:21:58 +00:00
Damien George
ecf5b77123
py: This time, real proper overflow checking of small int power.
...
Previous overflow test was inadequate.
2014-04-04 11:13:51 +00:00
Damien George
6902eeda25
py: Add m_malloc_fail function to handle memory allocation error.
...
A malloc/realloc fail now throws MemoryError.
2014-04-04 10:52:59 +00:00
Dave Hylands
6756a37a77
Implements most of str.modulo
...
The alternate form for floating point doesn't work yet.
The %(name)s form doesn't work yet.
2014-04-03 23:55:02 -07:00
Dave Hylands
bf7d690e36
Add the git version to the banner
2014-04-03 16:55:15 -07:00
Damien George
5bf565e353
py: Handle small int power overflow correctly.
2014-04-04 00:16:32 +01:00
Damien George
4b34c76fd6
Changes to get unix/ port compiling on Cygwin.
2014-04-03 23:51:16 +01:00
Paul Sokolovsky
98a627dc03
py: Add "io" module.
...
So far just includes "open" function, which should be supplied by a port.
TODO: Make the module #ifdef'ed.
2014-04-03 22:08:57 +03:00
Damien George
8270e3853d
py: More robust int conversion and overflow checking.
2014-04-03 11:00:54 +00:00
Damien George
cc7085c1ce
Merge branch 'fix-format-int' of github.com:dhylands/micropython into dhylands-fix-format-int
...
Conflicts:
py/objstr.c
2014-04-02 20:37:05 +01:00
Dave Hylands
22fe4d7344
Fix str.format to work with {:f/g/e} and ints
...
Also fix objstr.c to compile when floats disabled.
2014-04-02 12:10:18 -07:00
Damien George
c322c5f07f
py: Fix regress for printing of floats and #if.
...
Also change formating modifier in test script (it still passes with
original format though).
2014-04-02 20:04:15 +01:00
Paul Sokolovsky
e807fa8d60
gc: Uses uint defined in misc.h.
2014-04-02 20:36:32 +03:00
Damien George
094d450003
py: Wrap compile_scope_inline_asm in #if; remove comment from misc.h.
2014-04-02 17:31:27 +01:00
Damien George
70f33cde48
py: Fix up so that it can compile without float.
2014-04-02 17:06:05 +01:00
Damien George
af6edc61bd
py: Enable a jump optimisation in the compiler.
2014-04-02 16:12:28 +01:00
Damien George
882b363564
py: Move to Python 3.4.0 compatibility.
...
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.
2014-04-02 15:56:31 +01:00
Damien George
93b7faa29a
py: Factor out static/class method unwrapping code; add tests.
2014-04-02 14:13:26 +01:00
Damien George
b23fbb3126
py: Implement floating point power binop.
2014-04-02 12:26:49 +01:00
Damien George
660aef67c4
py: Allow multiple of str/list/tuple on left by an integer.
2014-04-02 12:22:07 +01:00