Paul Sokolovsky
ca318bba0d
mp_obj_equal(): Compare small and long ints properly.
...
By dispatching to long int methods.
2014-01-13 22:41:16 +02:00
Paul Sokolovsky
76a90f2f60
Move mp_obj_int_t definition to objint.h, to reuse in long int impls.
2014-01-13 22:36:49 +02:00
Damien George
f62d33aa1d
Consolidate rt_make_function_[0123] to rt_make_function_n.
2014-01-13 19:50:05 +00:00
Damien George
f88a72a88e
Merge pull request #168 from dhylands/add-strstr
...
Added public domain implementations of strchr and strstr.
2014-01-13 11:43:57 -08:00
Damien George
2300537c79
Cleanup built-ins, and fix some compiler warnings/errors.
2014-01-13 19:39:01 +00:00
Dave Hylands
44332ec9ea
Initialize is_kw for dynamically allocated mp_obj_fun_native_t ojects.
...
This should fix issue #171
2014-01-13 08:55:51 -08:00
Dave Hylands
c8effff937
Added public domain implementations of strchr and strstr.
2014-01-12 22:34:58 -08:00
Damien George
34f813ee29
Merge pull request #162 from chipaca/str_find
...
Implement a basic str.find; fixes #67
2014-01-12 16:34:03 -08:00
Damien George
ec3e14e2af
Merge pull request #160 from pfalcon/elaborate-int
...
Elaborate small-int/long-int
2014-01-12 16:32:21 -08:00
John R. Lenton
7244a14439
oops, nasty off-by-one in set_copy
2014-01-12 23:37:45 +00:00
John R. Lenton
be790f94d5
Implemented set binary ops.
2014-01-12 23:09:10 +00:00
John R. Lenton
e820491f7a
Implement a basic str.find; fixes #67
2014-01-12 21:53:52 +00:00
Paul Sokolovsky
48b3572f7e
Add framework to support alternative implementations of long int Python type.
2014-01-12 22:04:21 +02:00
Paul Sokolovsky
80f60e1aee
Parse long Python ints properly.
...
Long int is something which doesn't fit into SMALL_INT partion of
machine_int_t. But it's also something which doesn't fit into
machine_int_t in the first place.
2014-01-12 22:04:21 +02:00
Paul Sokolovsky
757ac81a69
Add proper checks for fits-in-small-int. Make it reusable.
...
We likely should make mp_obj_new_int() inline, and rely on its
encapsulated check rather than inline checks everywhere explicitly.
Also, parser for big small int values is still broken.
2014-01-12 22:04:21 +02:00
Paul Sokolovsky
c260bc58e6
Add WORD_MSBIT_HIGH define - machine_int_t with the highest bit set.
2014-01-12 22:04:21 +02:00
Paul Sokolovsky
fc5aac82cb
Move BITS_PER_BYTE, BITS_PER_WORD to mpconfig.h for reuse.
2014-01-12 22:04:20 +02:00
John R. Lenton
0de386bffe
Implemented set.update
2014-01-12 19:50:50 +00:00
John R. Lenton
ae00d334c6
Implemented set.remove
2014-01-12 19:16:59 +00:00
John R. Lenton
4a08067c0c
Implemented set.isdisjoint
2014-01-12 18:03:21 +00:00
John R. Lenton
f1ae6b48fb
Implemented set.intersection and set.intersection_update
2014-01-12 17:54:03 +00:00
John R. Lenton
032129f3b5
Implemented set.difference and set.difference_update
2014-01-12 17:07:17 +00:00
John R. Lenton
2a24172cdc
Implemented set.discard
2014-01-12 16:39:39 +00:00
John R. Lenton
3b0bd87906
Implemented set.copy
2014-01-12 15:56:25 +00:00
John R. Lenton
1d7fb2f21b
Implemented set.clear
2014-01-12 15:44:26 +00:00
John R. Lenton
19b14d3d8a
Implemented set.add
2014-01-12 15:29:11 +00:00
John R. Lenton
0ce03b48a0
make sets iterable
2014-01-12 15:17:42 +00:00
Damien George
69a818d418
py: Improve memory management for parser; add lexer error for bad line cont.
2014-01-12 13:55:24 +00:00
Damien George
97eb73cf84
Merge pull request #148 from pfalcon/list-cmp
...
Implement type virtual equality method support and implement comparisons for lists
2014-01-12 04:58:25 -08:00
Damien George
e5863d9301
py: AssertionError is loaded from global, to match CPython.
2014-01-12 12:35:08 +00:00
Damien George
c0876f7ca8
Merge pull request #146 from pfalcon/assert-exc
...
Add AssertionError.
2014-01-12 04:26:54 -08:00
Paul Sokolovsky
1945e60aeb
list: Implement comparison operators.
2014-01-12 03:34:04 +02:00
Paul Sokolovsky
cc57bd2663
mp_obj_equal(): For non-trivial types, call out to type's special method.
2014-01-12 03:33:56 +02:00
Paul Sokolovsky
729e9cce7b
rt_binary_op(): Don't fall thru in case small_int op result doesn't fit back.
...
Currently it would report "operation not supported" which is confusing. Overall,
this is thinko leading to undefined behavior.
2014-01-12 03:33:01 +02:00
Paul Sokolovsky
c698d266d1
list: Add extend() methods and += operator.
2014-01-12 00:54:10 +02:00
Paul Sokolovsky
b81e1fdef7
Add AssertionError.
2014-01-12 00:20:49 +02:00
Damien George
eae16445d5
py: Implement staticmethod and classmethod (internally).
...
Still need to make built-ins by these names, and write tests.
2014-01-11 19:22:29 +00:00
Damien George
bcbeea0a47
py: Fix bug where == and != not handled for small_ints.
2014-01-11 10:47:22 +00:00
Damien George
bc1d36924d
py: Fix emitcpy and emitnative's binary_op.
2014-01-11 09:47:06 +00:00
Damien George
8d4ccc49ed
Merge branch 'master' of github.com:dpgeorge/micropython
2014-01-11 09:37:41 +00:00
Damien George
25042b19d2
py: Make arg to MP_BC_RAISE_VARARGS a byte.
2014-01-11 09:33:39 +00:00
John R. Lenton
b8698fca75
unified the bops
2014-01-11 00:58:59 +00:00
Damien George
ad97f2a49e
Merge pull request #136 from pfalcon/for-range-downto
...
compile_for_stmt_optimised_range(): Properly handle negative & unknown s...
2014-01-10 15:21:50 -08:00
Damien George
e9b4b7ac75
Merge pull request #135 from pfalcon/simple-raise
...
Crude attempt to implement RAISE_VARARGS (with args=1 so far only).
2014-01-10 15:20:08 -08:00
Damien George
46c9e97132
Merge pull request #134 from pfalcon/list-mul
...
list: Implement list multiplication.
2014-01-10 15:17:17 -08:00
Damien George
745ce4c2ad
Merge pull request #131 from chipaca/dict_fromkeys
...
Added dict.fromkeys.
2014-01-10 15:11:56 -08:00
Paul Sokolovsky
899c69f94c
compile_for_stmt_optimised_range(): Properly handle negative & unknown steps.
...
If step is not constant, in first approximation, we can't apply optimization,
(well, we could, but need a special case for this).
2014-01-11 01:00:21 +02:00
Paul Sokolovsky
5388a3c29a
Crude attempt to implement RAISE_VARARGS (with args=1 so far only).
2014-01-11 00:55:08 +02:00
Paul Sokolovsky
074d3b5f86
list: Implement list multiplication.
2014-01-11 00:49:19 +02:00
Paul Sokolovsky
bab5cfb34f
Unsupported operand types for binary operator: dump both args' types.
2014-01-11 00:14:48 +02:00