circuitpython/py
Damien George c7ca01ad96 py: Generalise and reduce code size of array +, += and .extend().
By using the buffer protocol for these array operations, we now allow
addition of memoryview objects, and objects with "incompatible"
typecodes (in this case it just adds bytes naively).  This is an
extension to CPython which seems sensible.  It also reduces the code
size.
2014-11-30 14:01:33 +00:00
..
argcheck.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
asmarm.c py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmarm.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmthumb.c py: Make macro names in assemblers consistent, and tidy up a bit. 2014-09-29 19:42:06 +01:00
asmthumb.h py: Make macro names in assemblers consistent, and tidy up a bit. 2014-09-29 19:42:06 +01:00
asmx64.c py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmx64.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmx86.c py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
asmx86.h py: Implement native load for viper. 2014-10-12 16:59:29 +01:00
bc.c py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
bc.h py: Store bytecode arg names in bytecode (were in own array). 2014-10-25 20:23:13 +01:00
bc0.h py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 2014-10-25 20:23:13 +01:00
binary.c py: Add support for float/double arrays in array module. 2014-11-21 18:16:25 +00:00
binary.h py: Make mp_binary_set_val work on big endian machine. 2014-10-06 15:05:35 +00:00
builtin.c builtin: Reimplement __repl_print__() in terms of print(). 2014-11-27 17:38:03 +00:00
builtin.h modubinascii: Add, with hexlify() implementation. 2014-11-29 13:52:47 +00:00
builtinevex.c py: Implement compile builtin, enabled only on unix port. 2014-10-25 22:07:25 +01:00
builtinimport.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
builtintables.c modubinascii: Add, with hexlify() implementation. 2014-11-29 13:52:47 +00:00
builtintables.h py: Add module weak link support. 2014-10-12 20:18:40 +01:00
compile.c py: Fix bug with right-shifting small ints by large amounts. 2014-11-02 02:41:30 +02:00
compile.h py: Implement proper context save/restore for eval/exec; factor code. 2014-10-05 20:13:34 +01:00
emit.h py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
emitbc.c py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 2014-10-25 20:23:13 +01:00
emitcommon.c py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
emitcpy.c py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
emitglue.c unix: Make -v dump memory info at exit. 2014-10-26 22:36:56 +00:00
emitglue.h py: Store bytecode arg names in bytecode (were in own array). 2014-10-25 20:23:13 +01:00
emitinlinethumb.c py: Make macro names in assemblers consistent, and tidy up a bit. 2014-09-29 19:42:06 +01:00
emitnative.c py: Partially fix viper multi-comparison; add test for it. 2014-10-19 19:00:51 +01:00
emitpass1.c py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
formatfloat.c formatfloat.c: Typo fix in comment. 2014-07-17 20:45:58 +03:00
formatfloat.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
gc.c py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
gc.h py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
grammar.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
lexer.c py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01:00
lexer.h py: Change lexer stream API to return bytes not chars. 2014-07-30 11:46:05 +01:00
lexerstr.c py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01:00
lexerunix.c py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01:00
lexerunix.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
makeqstrdata.py py: Use % str formatting instead of {} in makeqstrdata.py. 2014-09-05 13:16:19 +01:00
malloc.c py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
map.c map: Add empty fixed map. 2014-11-27 17:37:07 +00:00
misc.h py: Add further checks for failed malloc in lexer init functions. 2014-10-09 16:53:37 +01:00
mkenv.mk py, mk: Revert change where build variables set with ?=. 2014-06-07 13:14:45 +01:00
mkrules.mk py: Fix order-only dependencies in mkrules.mk and py.mk. 2014-11-06 18:48:38 +00:00
modarray.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modcmath.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modcollections.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modgc.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modio.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modmath.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modmicropython.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modstruct.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
modsys.c Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
mpconfig.h modubinascii: Add, with hexlify() implementation. 2014-11-29 13:52:47 +00:00
mpz.c mpz: Fix 64bit msvc build 2014-10-30 23:00:24 +00:00
mpz.h mpz: Fix 64bit msvc build 2014-10-30 23:00:24 +00:00
nativeglue.c py: Add casting to viper; add native mem stores to viper. 2014-09-29 22:10:41 +01:00
nlr.h py: Add NLR support for xtensa CPU. 2014-11-27 20:29:33 +00:00
nlrsetjmp.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
nlrthumb.S py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
nlrx64.S py: Clean up nlr*.S to make it easier to read; fix clang .bss error. 2014-09-26 13:07:26 +00:00
nlrx86.S py: Clean up nlr*.S to make it easier to read; fix clang .bss error. 2014-09-26 13:07:26 +00:00
nlrxtensa.S py: Add NLR support for xtensa CPU. 2014-11-27 20:29:33 +00:00
obj.c py: Use __hash__ method if a type defines it 2014-11-15 18:24:22 +00:00
obj.h Use MP_DEFINE_CONST_DICT macro to define module dicts. 2014-11-29 14:39:27 +00:00
objarray.c py: Generalise and reduce code size of array +, += and .extend(). 2014-11-30 14:01:33 +00:00
objarray.h py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
objbool.c py: Make native emitter handle multi-compare and not/is not/not in ops. 2014-09-23 14:15:45 +00:00
objboundmeth.c py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
objcell.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objclosure.c objclosure: Fix printing of generator closures. 2014-10-16 00:14:01 +03:00
objcomplex.c py and libm: Add asinf,acosf; print higher precision for float. 2014-09-11 22:24:45 +01:00
objdict.c py: Add native json printing using existing print framework. 2014-09-17 22:56:34 +01:00
objenumerate.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objexcept.c py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
objfilter.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objfloat.c py: Implement divmod, % and proper // for floating point. 2014-09-13 18:43:09 +01:00
objfun.c py: Fix some macros defines; cleanup some includes. 2014-11-05 21:16:41 +00:00
objfun.h py: Store bytecode arg names in bytecode (were in own array). 2014-10-25 20:23:13 +01:00
objgenerator.c py: Store bytecode arg names in bytecode (were in own array). 2014-10-25 20:23:13 +01:00
objgenerator.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objgetitemiter.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objint.c py: Make int.to_bytes work on big endian machine. 2014-10-06 13:45:34 +00:00
objint.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objint_longlong.c py: Enable struct/binary-helper to parse q and Q sized ints. 2014-09-10 22:10:33 +01:00
objint_mpz.c mpz: Fix 64bit msvc build 2014-10-30 23:00:24 +00:00
objlist.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objlist.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
objmap.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objmodule.c unix: fast: Set initial module dict size big to have high pystone score. 2014-11-05 00:30:21 +02:00
objmodule.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
objnamedtuple.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objnone.c py: Add native json printing using existing print framework. 2014-09-17 22:56:34 +01:00
objobject.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objproperty.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objrange.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
objreversed.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objset.c py: Make map, dict, set use mp_int_t/mp_uint_t exclusively. 2014-08-30 13:23:35 +01:00
objslice.c Rename bultins config variables to MICROPY_PY_BUILTINS_*. 2014-06-01 13:32:54 +01:00
objstr.c py: #if guard str_make_new when not needed. 2014-11-27 16:55:47 +00:00
objstr.h py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
objstringio.c Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objstrunicode.c objstr: Allow to convert any buffer proto object to str. 2014-10-31 00:03:53 +02:00
objtuple.c py: Add native json printing using existing print framework. 2014-09-17 22:56:34 +01:00
objtuple.h Change some parts of the core API to use mp_uint_t instead of uint/int. 2014-08-30 00:35:11 +01:00
objtype.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
objtype.h py: Fix builtin callable so it checks user-defined instances correctly. 2014-11-03 16:09:39 +00:00
objzip.c py: Small simplifications in tuple and list accessors. 2014-08-30 15:17:47 +01:00
opmethods.c Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
parse.c py: Properly free string parse-node; add assertion to gc_free. 2014-10-23 14:13:05 +01:00
parse.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
parsehelper.c lexer: Convert type (u)int to mp_(u)int_t. 2014-07-03 13:47:47 +01:00
parsehelper.h Add license header to (almost) all files. 2014-05-03 23:27:38 +01:00
parsenum.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
parsenum.h parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01:00
parsenumbase.c parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01:00
parsenumbase.h parser: Convert (u)int to mp_(u)int_t. 2014-07-03 14:13:33 +01:00
pfenv.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
pfenv.h py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
pfenv_printf.c pfenv_printf: Properly implement %p format specifier. 2014-11-27 17:38:03 +00:00
py-version.sh - Let the build environment decide about the toolchain to be used, in case 2014-06-07 09:16:42 +02:00
py.mk modubinascii: Add, with hexlify() implementation. 2014-11-29 13:52:47 +00:00
qstr.c py: Make gc.enable/disable just control auto-GC; alloc is still allowed. 2014-10-31 21:30:46 +00:00
qstr.h py: Change [u]int to mp_[u]int_t in qstr.[ch], and some other places. 2014-10-03 19:52:22 +01:00
qstrdefs.h modubinascii: Add, with hexlify() implementation. 2014-11-29 13:52:47 +00:00
repl.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
repl.h Tidy up some configuration options. 2014-05-21 20:32:59 +01:00
runtime.c py: Use shorter, static error msgs when ERROR_REPORTING_TERSE enabled. 2014-11-06 17:36:16 +00:00
runtime.h py: Remove obsolute function declaration. 2014-11-06 17:31:18 +00:00
runtime0.h py: Make native emitter handle multi-compare and not/is not/not in ops. 2014-09-23 14:15:45 +00:00
scope.c py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
scope.h py: Convert [u]int to mp_[u]int_t in emit.h and associated .c files. 2014-09-08 23:05:16 +01:00
sequence.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00
showbc.c py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 2014-10-25 20:23:13 +01:00
smallint.c py: Fix smallint modulo with negative arguments. 2014-10-22 23:05:50 +01:00
smallint.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
stackctrl.c py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
stackctrl.h py: Change uint to mp_uint_t in runtime.h, stackctrl.h, binary.h. 2014-08-30 14:59:21 +01:00
stream.c py: Make stream seek correctly check for ioctl fn; add seek for textio. 2014-11-16 23:56:37 +00:00
stream.h stream: Implement seek operation support via ioctl, wrapped in generic method. 2014-11-17 00:16:14 +02:00
unicode.c Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
unicode.h Rename machine_(u)int_t to mp_(u)int_t. 2014-07-03 13:25:24 +01:00
vm.c py: Fix VM dispatch following a pending exception check. 2014-10-26 00:33:23 +01:00
vmentrytable.h py: Compress load-int, load-fast, store-fast, unop, binop bytecodes. 2014-10-25 20:23:13 +01:00
vstr.c py: Convert [u]int to mp_[u]int_t where appropriate. 2014-10-03 17:44:14 +00:00