n Thu, Oct 2, 2008 at 3:06 PM, didier deshommes <[EMAIL PROTECTED]> wrote:
> I've attached a patch for cdef'ed sets. It should work whether you're
> running 2.3 or 2.5 (In 2.3 nothing will happen and "cdef set s" should
> give you a syntax error).
Please, clarify my something: At wich stage the syntax error is shown
for Python 2.3? Do you mean the C compiler fails? Or is Cython
failing?
> I also had to modify PyrexTypes.py to make
> sure that PyAnySet_CheckExact() was being passed, instead of
> PySet_CheckExact() (there are 2 ways to check for the type of a set:
> PyAnySet_CheckExact and PyFrozenSet_CheckExact). Reviews welcome!
Your patch seems fine, but I believe the fix for 'type_test_code()'
method is wrong for the case of 'frozenset', 'frozenset'.capitalize()
-> 'Frozenset', and you need 'FrozenSet', right? I would add these two
lines
elif type == 'Frozenset'
type = 'FrozenSet'
As a final note, It would be great if you could also provide a test
(pyx file for compile and run) for all this!
> On Wed, Oct 1, 2008 at 11:50 PM, Lisandro Dalcin <[EMAIL PROTECTED]> wrote:
>> On Thu, Oct 2, 2008 at 12:28 AM, didier deshommes <[EMAIL PROTECTED]> wrote:
>>>
>>> Ok, I've got a patch and I've looked at the generated C code, compiled
>>> the module and verified the behavior of the function. How do I write
>>> tests for cython? Do I just edit tests/run/dict.pyx and look at the
>>> generated code?
>>
>> More or less, yes. Write a 'set.pyx' file like this:
>>
>> __doc__ = u"""
>>>>> test_set()
>> True
>> """
>>
>> def test_set():
>> cdef set s1 = set()
>> cdef set s2 = set()
>> # then do stuff with s1 and s2, like s1.add(1)
>> # finally return True
>> return True
>>
>>
>> Of course, I do not know if this can be readily incorporated in Cython
>> test suite, provided that this code is going to fail in the case of a
>> Python 2.3 runtime.
>>
>>
>> --
>> Lisandro Dalcín
>> ---------------
>> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
>> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
>> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
>> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
>> Tel/Fax: +54-(0)342-451.1594
>> _______________________________________________
>> Cython-dev mailing list
>> [email protected]
>> http://codespeak.net/mailman/listinfo/cython-dev
>>
>
> _______________________________________________
> Cython-dev mailing list
> [email protected]
> http://codespeak.net/mailman/listinfo/cython-dev
>
>
--
Lisandro Dalcín
---------------
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
PTLC - Güemes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev