• [^] # Re: Ça m'intéresse

    Posté par . En réponse au journal Pythran 0.2 : Python peut-il être aussi rapide que du C ?. Évalué à 4.

    Oups, je n'avais pas bien lu le journal, venant de me réveiller. C'est de la syntaxe pure-python. Je ne sais pas pourquoi, mais j'avais en tête un code en C, mélangé à du python (j'ai du confondre avec un autre post plus haut).
    Et je ne comprenais pas pourquoi tu parlais de compatibilité, ayant ce code C en tête.

    Pour celles et ceux n'ayant jamais vu un code Cython, voilà ce que ça donne sur une petite fonction (et pourquoi ça casse justement la compatibilité):

    cpdef change_palette_hue(palette, int hue):
     cdef unsigned long color, color2
     cdef int a, r, g, b, index
     cdef float h, s, v, hh
     hh = hue/360.0
     for index, color in enumerate(palette):
     a = (color >> 24) & 0xff
     r = (color >> 16) & 0xff
     g = (color >> 8 ) & 0xff
     b = (color >> 0 ) & 0xff
     h, s, v = rgb_to_hsvNEW(r, g, b)
     r, g, b = hsv_to_rgbNEW(hh, s, v)
     color2 = (a & 0xff) << 24 | (r & 0xff) << 16 | (g & 0xff) << 8 | b & 0xff
     palette[index] = color2
     return palette
    
    

    Et par conséquent, à voir ton code plus haut, ça donne bien plus envie que ce que j'imaginais ce matin…