[Cython] cython doesn't compile cdef'd variables of type set?

didier deshommes dfdeshom at gmail.com
Thu Oct 2 20:06:48 CEST 2008


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). 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!

didier

On Wed, Oct 1, 2008 at 11:50 PM, Lisandro Dalcin <dalcinl at gmail.com> wrote:
> On Thu, Oct 2, 2008 at 12:28 AM, didier deshommes <dfdeshom at gmail.com> 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
> Cython-dev at codespeak.net
> http://codespeak.net/mailman/listinfo/cython-dev
>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: sets.txt
Url: http://codespeak.net/pipermail/cython-dev/attachments/20081002/f4eb378a/attachment-0001.txt 


More information about the Cython-dev mailing list