cython.git
13 years agobacked out class closures patch - breaks CPython regression testing
Stefan Behnel [Thu, 18 Nov 2010 14:17:26 +0000 (15:17 +0100)]
backed out class closures patch - breaks CPython regression testing

13 years agoSupport class closures and nested classes
Vitja Makarov [Wed, 17 Nov 2010 10:31:58 +0000 (13:31 +0300)]
Support class closures and nested classes

13 years agofix disabling of cleanup code generation for tuple constants
Stefan Behnel [Wed, 17 Nov 2010 07:27:15 +0000 (08:27 +0100)]
fix disabling of cleanup code generation for tuple constants

13 years agotests for constant tuple caching
Stefan Behnel [Wed, 17 Nov 2010 05:40:19 +0000 (06:40 +0100)]
tests for constant tuple caching

13 years agosimplify (and centralise) module cleanup code generation for tuple constants
Stefan Behnel [Wed, 17 Nov 2010 05:30:56 +0000 (06:30 +0100)]
simplify (and centralise) module cleanup code generation for tuple constants

13 years agomore cythonisation in the scanner/parser
Stefan Behnel [Tue, 16 Nov 2010 21:42:24 +0000 (22:42 +0100)]
more cythonisation in the scanner/parser

13 years agomore cythonisation in the scanner/parser
Stefan Behnel [Tue, 16 Nov 2010 20:54:46 +0000 (21:54 +0100)]
more cythonisation in the scanner/parser

13 years agoenabled a compile test
Stefan Behnel [Tue, 16 Nov 2010 20:33:25 +0000 (21:33 +0100)]
enabled a compile test

--HG--
rename : tests/broken/specialfloatvals.pyx => tests/compile/specialfloatvals.pyx

13 years agoenabled stupid test
Stefan Behnel [Tue, 16 Nov 2010 20:30:41 +0000 (21:30 +0100)]
enabled stupid test

--HG--
rename : tests/broken/assert2.pyx => tests/compile/assert2.pyx

13 years agocache constant tuples (including constant call arg tuples)
Stefan Behnel [Tue, 16 Nov 2010 15:23:47 +0000 (16:23 +0100)]
cache constant tuples (including constant call arg tuples)

13 years agoremoved unused code
Stefan Behnel [Mon, 15 Nov 2010 22:12:31 +0000 (23:12 +0100)]
removed unused code

13 years agocode simplification
Stefan Behnel [Mon, 15 Nov 2010 22:02:14 +0000 (23:02 +0100)]
code simplification

13 years agoremoved unused level of indirection from tree visitors to save some processing cycles
Stefan Behnel [Mon, 15 Nov 2010 21:54:59 +0000 (22:54 +0100)]
removed unused level of indirection from tree visitors to save some processing cycles

13 years agocleanup
Stefan Behnel [Mon, 15 Nov 2010 21:16:15 +0000 (22:16 +0100)]
cleanup

13 years agoreduced overhead in the scanner
Stefan Behnel [Mon, 15 Nov 2010 21:02:36 +0000 (22:02 +0100)]
reduced overhead in the scanner

13 years agofix test case
Stefan Behnel [Mon, 15 Nov 2010 11:48:15 +0000 (12:48 +0100)]
fix test case

13 years agoreduced overhead in the scanner
Stefan Behnel [Mon, 15 Nov 2010 09:52:33 +0000 (10:52 +0100)]
reduced overhead in the scanner

13 years agocleanup
Stefan Behnel [Mon, 15 Nov 2010 09:31:21 +0000 (10:31 +0100)]
cleanup

13 years agofix list comprehensions as if conditions
Stefan Behnel [Mon, 15 Nov 2010 09:28:15 +0000 (10:28 +0100)]
fix list comprehensions as if conditions

13 years agofix list comprehension used in string test in Parsing.py
Stefan Behnel [Mon, 15 Nov 2010 07:54:35 +0000 (08:54 +0100)]
fix list comprehension used in string test in Parsing.py

13 years agoreduced call overhead (and code size) in the parser by changing suitable cpdef functi...
Stefan Behnel [Mon, 15 Nov 2010 07:21:11 +0000 (08:21 +0100)]
reduced call overhead (and code size) in the parser by changing suitable cpdef functions into plain cdef

13 years agodrop some useless code in the string literal parser
Stefan Behnel [Sun, 14 Nov 2010 17:59:50 +0000 (18:59 +0100)]
drop some useless code in the string literal parser

13 years agofaster parsing of escape sequences in string literals
Stefan Behnel [Sun, 14 Nov 2010 17:51:03 +0000 (18:51 +0100)]
faster parsing of escape sequences in string literals

13 years agooptimise 'int_val in string_literal' into a switch statement when x is an arbitrary...
Stefan Behnel [Sun, 14 Nov 2010 17:36:31 +0000 (18:36 +0100)]
optimise 'int_val in string_literal' into a switch statement when x is an arbitrary expression, not only a name

13 years agosupport non-trivial switch() values in SwitchStatNode
Stefan Behnel [Sun, 14 Nov 2010 17:34:04 +0000 (18:34 +0100)]
support non-trivial switch() values in SwitchStatNode

13 years agoparse integer literals differently based on the type of source file: .pyx vs. .py...
Stefan Behnel [Sun, 14 Nov 2010 16:24:42 +0000 (17:24 +0100)]
parse integer literals differently based on the type of source file: .pyx vs. .py, Py2 vs. Py3 mode

13 years agotest runner: support expected errors in .py files
Stefan Behnel [Sun, 14 Nov 2010 16:09:24 +0000 (17:09 +0100)]
test runner: support expected errors in .py files

13 years agotiny fix, cleanup
Robert Bradshaw [Sun, 14 Nov 2010 08:08:49 +0000 (00:08 -0800)]
tiny fix, cleanup

13 years agoTest for inplace fix.
Robert Bradshaw [Sun, 14 Nov 2010 07:57:49 +0000 (23:57 -0800)]
Test for inplace fix.

13 years agoInplace analysis fix.
Robert Bradshaw [Sun, 14 Nov 2010 07:52:22 +0000 (23:52 -0800)]
Inplace analysis fix.

13 years agoFix large integer exception return codes.
Robert Bradshaw [Sun, 14 Nov 2010 07:23:57 +0000 (23:23 -0800)]
Fix large integer exception return codes.

13 years agoException propagation test.
Robert Bradshaw [Sun, 14 Nov 2010 07:23:51 +0000 (23:23 -0800)]
Exception propagation test.

13 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.

13 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

13 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

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

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

13 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

13 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

13 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.

13 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

13 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

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

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

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

13 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

13 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

13 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

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

13 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

13 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

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

13 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

13 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

13 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.

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

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

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

13 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)

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

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

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

13 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

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

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

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

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

13 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.

13 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

13 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'

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

13 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

13 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

13 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

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

13 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

13 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'

13 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

13 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

13 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

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

13 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)

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

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

13 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

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

13 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

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

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

13 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

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

13 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

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

13 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

13 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

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

13 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

13 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

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

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