cython.git
14 years agoCreate directive for fast __getattr__.
Robert Bradshaw [Sat, 13 Nov 2010 22:29:34 +0000 (14:29 -0800)]
Create directive for fast __getattr__.

Until the dust settles, this is better than manually patching Sage's Cython.

14 years agofix interaction between complex types and IntNode
Stefan Behnel [Fri, 12 Nov 2010 22:54:10 +0000 (23:54 +0100)]
fix interaction between complex types and IntNode

14 years agoproperly assign target type to new IntNode on coercion
Stefan Behnel [Fri, 12 Nov 2010 22:34:59 +0000 (23:34 +0100)]
properly assign target type to new IntNode on coercion

14 years agofix for Python <=2.5
Stefan Behnel [Fri, 12 Nov 2010 22:28:54 +0000 (23:28 +0100)]
fix for Python <=2.5

14 years agomerge
Stefan Behnel [Fri, 12 Nov 2010 22:03:29 +0000 (23:03 +0100)]
merge

14 years agobetter integer handling in constant folding, including type promotion
Stefan Behnel [Fri, 12 Nov 2010 22:03:10 +0000 (23:03 +0100)]
better integer handling in constant folding, including type promotion

14 years agomake IntNode smarter about the type of integer it chooses for its value, promote...
Stefan Behnel [Fri, 12 Nov 2010 21:10:23 +0000 (22:10 +0100)]
make IntNode smarter about the type of integer it chooses for its value, promote plain >=32bit literals to Python objects to make sure their values pass through the C code

14 years agofix coercion from IntNode to FloatNode, e.g. for hex literals etc.
Stefan Behnel [Fri, 12 Nov 2010 20:48:38 +0000 (21:48 +0100)]
fix coercion from IntNode to FloatNode, e.g. for hex literals etc.

14 years agocleanup, support UnaryPlusNode in constant folding
Stefan Behnel [Fri, 12 Nov 2010 20:37:40 +0000 (21:37 +0100)]
cleanup, support UnaryPlusNode in constant folding

14 years agobetter error output from test case
Stefan Behnel [Fri, 12 Nov 2010 19:31:53 +0000 (20:31 +0100)]
better error output from test case

14 years agoenable constant folding for UnaryMinusNode
Stefan Behnel [Fri, 12 Nov 2010 19:08:01 +0000 (20:08 +0100)]
enable constant folding for UnaryMinusNode

14 years agoCYTHON_INLINE for __Pyx_GetAttr3
Lisandro Dalcin [Fri, 12 Nov 2010 18:43:43 +0000 (15:43 -0300)]
CYTHON_INLINE for __Pyx_GetAttr3

14 years agocleanup
Stefan Behnel [Fri, 12 Nov 2010 16:49:19 +0000 (17:49 +0100)]
cleanup

14 years agofix PostParse transform after changing its superclass
Stefan Behnel [Fri, 12 Nov 2010 12:29:02 +0000 (13:29 +0100)]
fix PostParse transform after changing its superclass

14 years agolet PostParse transform inherit from ScopeTrackingTransform to avoid code duplication
Stefan Behnel [Fri, 12 Nov 2010 11:34:11 +0000 (12:34 +0100)]
let PostParse transform inherit from ScopeTrackingTransform to avoid code duplication

14 years agofix more dangling open files in tests
Stefan Behnel [Fri, 12 Nov 2010 11:33:02 +0000 (12:33 +0100)]
fix more dangling open files in tests

14 years agooptimise Visitor.ScopeTrackingTransform
Stefan Behnel [Fri, 12 Nov 2010 11:18:56 +0000 (12:18 +0100)]
optimise Visitor.ScopeTrackingTransform

14 years agotest runner: close files immediately after use
Stefan Behnel [Fri, 12 Nov 2010 10:59:58 +0000 (11:59 +0100)]
test runner: close files immediately after use

14 years agoinclude RecursiveNodeReplacer in optimised Visitor classes
Stefan Behnel [Fri, 12 Nov 2010 10:55:46 +0000 (11:55 +0100)]
include RecursiveNodeReplacer in optimised Visitor classes

14 years agomerge
Stefan Behnel [Fri, 12 Nov 2010 10:36:58 +0000 (11:36 +0100)]
merge

14 years agoinclude EnvTransform in optimised Visitor classes
Stefan Behnel [Fri, 12 Nov 2010 10:36:25 +0000 (11:36 +0100)]
include EnvTransform in optimised Visitor classes

14 years agodrop redundant code in ExpandInplaceOperators transform
Stefan Behnel [Fri, 12 Nov 2010 10:35:35 +0000 (11:35 +0100)]
drop redundant code in ExpandInplaceOperators transform

14 years agoFix for non-parse generated BinOp nodes.
Robert Bradshaw [Fri, 12 Nov 2010 10:29:34 +0000 (02:29 -0800)]
Fix for non-parse generated BinOp nodes.

14 years agomerge
Stefan Behnel [Fri, 12 Nov 2010 09:58:23 +0000 (10:58 +0100)]
merge

14 years agomerge
Robert Bradshaw [Fri, 12 Nov 2010 09:43:14 +0000 (01:43 -0800)]
merge

14 years agomore inplace arithmatic tests
Robert Bradshaw [Fri, 12 Nov 2010 09:42:25 +0000 (01:42 -0800)]
more inplace arithmatic tests

14 years agofix compiler crash in Py3 on negative Py2 octal integer literals (e.g. -012)
Stefan Behnel [Fri, 12 Nov 2010 09:41:59 +0000 (10:41 +0100)]
fix compiler crash in Py3 on negative Py2 octal integer literals (e.g. -012)

14 years agoComplex inplace operators test.
Robert Bradshaw [Fri, 12 Nov 2010 09:22:22 +0000 (01:22 -0800)]
Complex inplace operators test.

14 years agoInplace cdivision tests. (#591)
Robert Bradshaw [Fri, 12 Nov 2010 09:19:21 +0000 (01:19 -0800)]
Inplace cdivision tests. (#591)

14 years agoActualy use PyNumber_Inplace* operations.
Robert Bradshaw [Fri, 12 Nov 2010 09:10:37 +0000 (01:10 -0800)]
Actualy use PyNumber_Inplace* operations.

14 years agoanother pyregr test that won't work in Cython
Stefan Behnel [Fri, 12 Nov 2010 08:57:21 +0000 (09:57 +0100)]
another pyregr test that won't work in Cython

14 years agocleanup
Robert Bradshaw [Fri, 12 Nov 2010 08:57:20 +0000 (00:57 -0800)]
cleanup

14 years agoOne more buffer fix.
Robert Bradshaw [Fri, 12 Nov 2010 08:52:02 +0000 (00:52 -0800)]
One more buffer fix.

14 years agoTree structure test changes.
Robert Bradshaw [Fri, 12 Nov 2010 08:51:41 +0000 (00:51 -0800)]
Tree structure test changes.

14 years agoBuffer fix.
Robert Bradshaw [Fri, 12 Nov 2010 08:51:15 +0000 (00:51 -0800)]
Buffer fix.

14 years agoHandle inplace arithmatic via parse tree transform.
Robert Bradshaw [Fri, 12 Nov 2010 07:58:11 +0000 (23:58 -0800)]
Handle inplace arithmatic via parse tree transform.
Excludes buffers and C++, which have their own code.
This is in preparation for #591 (inline vs. cdivision) and
support for inline complex arithamtic.

14 years agotimely close Cython source file when generating C source comments
Stefan Behnel [Fri, 12 Nov 2010 07:19:23 +0000 (08:19 +0100)]
timely close Cython source file when generating C source comments

14 years agodeclare purely internal methods of Scanner class as 'cdef'
Stefan Behnel [Thu, 11 Nov 2010 22:39:24 +0000 (23:39 +0100)]
declare purely internal methods of Scanner class as 'cdef'

14 years agocleanup
Stefan Behnel [Thu, 11 Nov 2010 22:24:51 +0000 (23:24 +0100)]
cleanup

14 years agofix TupleNode typing as tuple_type instead of py_object_type
Stefan Behnel [Thu, 11 Nov 2010 22:19:13 +0000 (23:19 +0100)]
fix TupleNode typing as tuple_type instead of py_object_type

14 years agotrial fix for bizarre build bug
Stefan Behnel [Thu, 11 Nov 2010 21:35:48 +0000 (22:35 +0100)]
trial fix for bizarre build bug

14 years agoVisitor cleanup: mark internal (cdef) methods with leading underscore in .py files
Stefan Behnel [Thu, 11 Nov 2010 21:13:47 +0000 (22:13 +0100)]
Visitor cleanup: mark internal (cdef) methods with leading underscore in .py files

14 years agoanother tiny bit faster Visitors
Stefan Behnel [Thu, 11 Nov 2010 20:20:14 +0000 (21:20 +0100)]
another tiny bit faster Visitors

14 years agoanother bit less overhead inside of Visitor classes
Stefan Behnel [Thu, 11 Nov 2010 20:08:34 +0000 (21:08 +0100)]
another bit less overhead inside of Visitor classes

14 years agodeclare purely internal method of Visitor class as 'cdef'
Stefan Behnel [Thu, 11 Nov 2010 19:40:32 +0000 (20:40 +0100)]
declare purely internal method of Visitor class as 'cdef'

14 years agorecompile Cython source files when .pxd override files change
Stefan Behnel [Thu, 11 Nov 2010 14:01:25 +0000 (15:01 +0100)]
recompile Cython source files when .pxd override files change

14 years agoskip None checks on a node if we know its constant value as being not None
Stefan Behnel [Thu, 11 Nov 2010 13:32:32 +0000 (14:32 +0100)]
skip None checks on a node if we know its constant value as being not None

14 years agoreplace literal None check by a NoneCheckNode
Stefan Behnel [Thu, 11 Nov 2010 13:20:42 +0000 (14:20 +0100)]
replace literal None check by a NoneCheckNode

14 years agocomment
Stefan Behnel [Thu, 11 Nov 2010 12:46:04 +0000 (13:46 +0100)]
comment

14 years agofaster equality check for unicode strings (speeds up the parser)
Stefan Behnel [Thu, 11 Nov 2010 12:01:12 +0000 (13:01 +0100)]
faster equality check for unicode strings (speeds up the parser)

14 years agoextended test case
Stefan Behnel [Thu, 11 Nov 2010 06:48:55 +0000 (07:48 +0100)]
extended test case

14 years agoanother minor scanner speed-up
Stefan Behnel [Thu, 11 Nov 2010 06:24:00 +0000 (07:24 +0100)]
another minor scanner speed-up

14 years agomore typing in Scanners.pxd for slightly faster scanning
Stefan Behnel [Wed, 10 Nov 2010 22:49:36 +0000 (23:49 +0100)]
more typing in Scanners.pxd for slightly faster scanning

14 years agominor code cleanup
Stefan Behnel [Tue, 9 Nov 2010 09:24:46 +0000 (10:24 +0100)]
minor code cleanup

14 years agoerror handling fix in metaclass utility code
Stefan Behnel [Mon, 8 Nov 2010 18:30:57 +0000 (19:30 +0100)]
error handling fix in metaclass utility code

14 years agoPy2.3 fix
Stefan Behnel [Mon, 8 Nov 2010 18:21:44 +0000 (19:21 +0100)]
Py2.3 fix

14 years agoclean up metaclass code
Stefan Behnel [Mon, 8 Nov 2010 14:33:43 +0000 (15:33 +0100)]
clean up metaclass code

14 years agobetter function names in parser, declare new functions as C functions in Parsing.pxd
Stefan Behnel [Mon, 8 Nov 2010 13:17:11 +0000 (14:17 +0100)]
better function names in parser, declare new functions as C functions in Parsing.pxd

14 years agoPy3 metaclasses initial support.
Vitja Makarov [Fri, 5 Nov 2010 10:56:18 +0000 (13:56 +0300)]
Py3 metaclasses initial support.

14 years agosecond try to fix ticket #583: method signatures of overridden C methods in pure...
Stefan Behnel [Mon, 8 Nov 2010 11:34:32 +0000 (12:34 +0100)]
second try to fix ticket #583: method signatures of overridden C methods in pure mode

14 years agoremoved dead code
Stefan Behnel [Mon, 8 Nov 2010 11:05:24 +0000 (12:05 +0100)]
removed dead code

14 years agoreverted last change - generates problematic C code
Stefan Behnel [Mon, 8 Nov 2010 09:20:01 +0000 (10:20 +0100)]
reverted last change - generates problematic C code

14 years agotrial fix for ticket #583: method signatures of overridden C methods in pure mode
Stefan Behnel [Mon, 8 Nov 2010 09:14:32 +0000 (10:14 +0100)]
trial fix for ticket #583: method signatures of overridden C methods in pure mode

14 years agofailing test for ticket #583
Stefan Behnel [Mon, 8 Nov 2010 08:06:33 +0000 (09:06 +0100)]
failing test for ticket #583

14 years agofix ticket #589: bound methods of optimised builtin types
Stefan Behnel [Mon, 8 Nov 2010 07:46:41 +0000 (08:46 +0100)]
fix ticket #589: bound methods of optimised builtin types

14 years agofailing test case for ticket #589
Stefan Behnel [Sun, 7 Nov 2010 21:21:14 +0000 (22:21 +0100)]
failing test case for ticket #589

14 years agoextended test case
Stefan Behnel [Sun, 7 Nov 2010 21:18:24 +0000 (22:18 +0100)]
extended test case

14 years agoremoved (hopefully) dead code
Stefan Behnel [Sun, 7 Nov 2010 21:05:22 +0000 (22:05 +0100)]
removed (hopefully) dead code

14 years agoreminder comment: need to disable C-API mapping for dict.keys/values/items() in ...
Stefan Behnel [Sun, 7 Nov 2010 17:30:55 +0000 (18:30 +0100)]
reminder comment: need to disable C-API mapping for dict.keys/values/items() in -3 mode to let them return a dict view in Py3

14 years agooptimise iteration over dict.keys/values/items() in -3 mode
Stefan Behnel [Sun, 7 Nov 2010 17:29:24 +0000 (18:29 +0100)]
optimise iteration over dict.keys/values/items() in -3 mode

14 years agomajor refactoring of builtin method/function overrides to support explicit function...
Stefan Behnel [Sun, 7 Nov 2010 15:06:23 +0000 (16:06 +0100)]
major refactoring of builtin method/function overrides to support explicit function types and utility code dependencies

14 years agomore builtin method cleanups
Stefan Behnel [Sun, 7 Nov 2010 13:11:48 +0000 (14:11 +0100)]
more builtin method cleanups

14 years agofix exception type on None error
Stefan Behnel [Sun, 7 Nov 2010 09:44:16 +0000 (10:44 +0100)]
fix exception type on None error

14 years agosimplify some builtin method optimisations
Stefan Behnel [Sun, 7 Nov 2010 09:24:21 +0000 (10:24 +0100)]
simplify some builtin method optimisations

14 years agoforgotten test fix
Stefan Behnel [Sun, 7 Nov 2010 09:18:04 +0000 (10:18 +0100)]
forgotten test fix

14 years agofix 'self' argument type in generic builtin method overrides, test for None at call...
Stefan Behnel [Sun, 7 Nov 2010 09:10:31 +0000 (10:10 +0100)]
fix 'self' argument type in generic builtin method overrides, test for None at call time (ticket #571)

14 years agomoved string.h utility code over to Builtin.py to make it generally available to...
Stefan Behnel [Sat, 6 Nov 2010 19:19:08 +0000 (20:19 +0100)]
moved string.h utility code over to Builtin.py to make it generally available to other modules

14 years agoCompile decorator.
Robert Bradshaw [Sat, 6 Nov 2010 06:34:10 +0000 (23:34 -0700)]
Compile decorator.

14 years agoextended test case
Stefan Behnel [Fri, 5 Nov 2010 18:17:56 +0000 (19:17 +0100)]
extended test case

14 years agoimplement builtin next() to make it available in Py2
Stefan Behnel [Fri, 5 Nov 2010 18:02:35 +0000 (19:02 +0100)]
implement builtin next() to make it available in Py2

14 years agoextended test case for builtin pow()
Stefan Behnel [Fri, 5 Nov 2010 17:30:15 +0000 (18:30 +0100)]
extended test case for builtin pow()

14 years agoAdd build package.
Robert Bradshaw [Fri, 5 Nov 2010 16:10:20 +0000 (09:10 -0700)]
Add build package.

14 years agomerge
Robert Bradshaw [Fri, 5 Nov 2010 08:46:49 +0000 (01:46 -0700)]
merge

14 years agoInline numpy support.
Robert Bradshaw [Fri, 5 Nov 2010 08:46:19 +0000 (01:46 -0700)]
Inline numpy support.

14 years agoMore module caching.
Robert Bradshaw [Fri, 5 Nov 2010 08:34:58 +0000 (01:34 -0700)]
More module caching.

14 years agoString literal parsing in inline mode, hook up to cythonize.
Robert Bradshaw [Fri, 5 Nov 2010 08:28:04 +0000 (01:28 -0700)]
String literal parsing in inline mode, hook up to cythonize.

14 years agoslightly more telling error message on generic syntax errors
Stefan Behnel [Fri, 5 Nov 2010 07:19:34 +0000 (08:19 +0100)]
slightly more telling error message on generic syntax errors

14 years agoFix doctests.
Robert Bradshaw [Fri, 5 Nov 2010 06:53:42 +0000 (23:53 -0700)]
Fix doctests.

14 years agoMove deps to new build directory.
Robert Bradshaw [Fri, 5 Nov 2010 06:43:25 +0000 (23:43 -0700)]
Move deps to new build directory.

--HG--
rename : Cython/Compiler/Dependencies.py => Cython/Build/Dependencies.py

14 years agoenable two-value form of builtin pow()
Stefan Behnel [Thu, 4 Nov 2010 22:45:44 +0000 (23:45 +0100)]
enable two-value form of builtin pow()

14 years agofix ref-leak in Py2 metaclass support
Stefan Behnel [Wed, 3 Nov 2010 20:44:55 +0000 (21:44 +0100)]
fix ref-leak in Py2 metaclass support

14 years agotest cleanup
Stefan Behnel [Wed, 3 Nov 2010 20:44:37 +0000 (21:44 +0100)]
test cleanup

14 years agomake sure the cname really is unique when overriding its signature
Stefan Behnel [Wed, 3 Nov 2010 20:24:09 +0000 (21:24 +0100)]
make sure the cname really is unique when overriding its signature

14 years agomerge getattr() optimisation into builtin function support by overriding its signature
Stefan Behnel [Wed, 3 Nov 2010 20:11:54 +0000 (21:11 +0100)]
merge getattr() optimisation into builtin function support by overriding its signature

14 years agocleanup
Stefan Behnel [Wed, 3 Nov 2010 19:40:34 +0000 (20:40 +0100)]
cleanup

14 years agosimplify iter() optimisation based on signature override
Stefan Behnel [Wed, 3 Nov 2010 19:35:38 +0000 (20:35 +0100)]
simplify iter() optimisation based on signature override

14 years agosupport exec(cmd,g) as alternative signature for exec(cmd,g,l) in -3 mode
Stefan Behnel [Wed, 3 Nov 2010 19:20:06 +0000 (20:20 +0100)]
support exec(cmd,g) as alternative signature for exec(cmd,g,l) in -3 mode

14 years agosupport overriding builtins with different signatures as long as they map to differen...
Stefan Behnel [Wed, 3 Nov 2010 19:11:53 +0000 (20:11 +0100)]
support overriding builtins with different signatures as long as they map to different C names

14 years ago__metaclass__ support
Vitja Makarov [Tue, 2 Nov 2010 22:32:09 +0000 (01:32 +0300)]
__metaclass__ support
Fill class attributes dict before class creation. Use bindings for class methods.
And use PyCFunction for staticmethods and __new__. Add simple testcase for __metaclass__.
And test for staticmethod as decorator

14 years agoexclude Python regression tests from Python doctest runs
Stefan Behnel [Wed, 3 Nov 2010 15:09:26 +0000 (16:09 +0100)]
exclude Python regression tests from Python doctest runs