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…
[^] # Re: Ça m'intéresse
Posté par Sekigo . 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é):
Et par conséquent, à voir ton code plus haut, ça donne bien plus envie que ce que j'imaginais ce matin…