parisse wrote:Teste avec KhiCAS sur la Casio: si on remplace sgn par sign, le temps d'execution est presque divise par 3 : 74 secondes. Je n'ai pas teste sur les Prime, on gagne tres probablement le meme facteur 3 environ.
C'est noté, merci.
Mais je ne peux pas pour un classement avoir d'un côté une fonction signe implémentée en Python vu qu'elle n'est pas disponible, et d'un autre côté une fonction signe native en langage machine.
Ce qui est par contre possible, c'est d'implémenter la fonction signe différemment si cela peut accélérer les HP Prime et KhiCAS sans ralentir les autres.
@Lionel
La sortie que j'ai obtenue ce midi avec ton dernier firmware Trinket :
Auto-reload is on. Simply save files over USB to run them or enter REPL to disable.
Press any key to enter the REPL. Use CTRL-D to reload.
Adafruit CircuitPython 4.0.0-beta.1-46-g3d0757102-dirty on 2019-02-07; Adafruit Trinket M0 with samd21e18
>>> import sys
>>> sys.maxsize+1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: small int overflow
>>> 1j
1j
>>> import cmath
>>> from prec import *
>>> prec(2)
53
>>> prec(10)
16
>>>
Donc on a en plus :
- les nombres flottants en double précision (53 bits soit 16 chiffres significatifs)
- les nombres complexes
- les fonctions complexes (module cmath)
Si besoin d'économiser, la Trinket dispose d'une diode RGB.
De mémoire, il y a un module pour la gérer, et sans doute du code de démo quelque part puisque dès l'allumage cette diode clignote avec un dégradé de luminosité.
Or cette diode RGB, sauf si j'ai mal regardé, a été supprimée dans le module externe TI-Python.
Donc si le but est de fournir un firmware de remplacement pour le seul module externe TI-Python (et pas l'Adafruit Trinket M0), tout ce code est inutile.
Pour le reste, comment liste-t-on l'intégralité des modules ?