π
<-
Chat plein-écran
[^]

importer module python (pour transformées de Laplace)

TI's micropython + modules

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 13:23

Hamza.S a écrit:Je parlais pour la fonction écrit en Basic qui retourne une expression.
Le Python ne retourne pas si facilement des expressions mais si on peut récupérer l'expression sous forme de chaîne de caractères c'est déjà très intéressant.

C'est precisement ce que fait caseval du module cas du MicroPython de KhiCAS.
Je vais essayer de l'ameliorer (cf. post precedent).
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 13:23

Laplace et Fourier sont effectivement deux exemples que j'entends souvent. Je ne sais pas trop pourquoi ils n'ajoutent pas de nouvelles builtins de temps en temps, c'est pourtant pas si compliqué.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 13:25

parisse a écrit:
En tout cas, je vais faire un wrapper qui prend des arguments variadiques etc ça devrait être pas si mal.

Ca pourrait effectivement etre interessant de ne pas avoir a tout convertir de et vers chaine comme dans caseval. On pourrait imaginer que caseval("string",arg1,..) parse la string puis appelle la fonction de nom string avec comme arguments arg1, ... et renvoie soit une chaine soit un objet supporte par MicroPython quand c'est possible.

Oui c'est l'idée. Je posterai ici et sur le Google groups officiel.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude Hamza.S » 28 Sep 2020, 13:45

Adriweb a écrit:Laplace et Fourier sont effectivement deux exemples que j'entends souvent. Je ne sais pas trop pourquoi ils n'ajoutent pas de nouvelles builtins de temps en temps, c'est pourtant pas si compliqué.

Oui mais TI ne prend en compte que les demandes des profs comme si c'était les profs qui passaient les examens en fin d'année scolaire. C'est triste.
Si on remonte un bug, ils prennent en compte le message si on demande un ajout qui pourrait aider dans le scolaire, ils font semblant de n'avoir pas lu le message.
Image
Avatar de l’utilisateur
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Prochain niv.: 28.5%
 
Messages: 4461
Images: 18
Inscription: 07 Nov 2014, 00:43
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 15:23

Ce n'est quand meme pas completement trivial de fournir Fourier et Laplace en natif (surtout qu'il n'y a peut-etre plus personne qui maitrise reellement le code source du CAS chez TI...). Et apres il y a la question du support. Il y a plein de fonctions de Xcas qui ne sont pas non plus utilisables sur la HP Prime.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 17:48

Bon, voici une v1 qui fait des choses intéressantes:

Image

Todo:
  • Gérer l'erreur que TI a mis en place dès qu'il y a le caractère "/" dans le résultat (🤨).
    Je vais faire un find+replace en amont en basic, et pareil de l'autre côté en python...
  • Résolution automatique des types pour le python, ca permettra une meilleure intégration (actuellement, c'est que des strings)

Le code actuel:
Code: Tout sélectionner
from ti_system import readST, writeST

def evalExpr(expr):
  writeST("tmppy_",'string('+str(expr)+')')
  res = readST("tmppy_")
  return res[1:-1] # to remove the quotes
 
def evalFunc2(funcName, *args):
  arg=','.join(map(str, args))
  return evalExpr(funcName+'('+arg+')')
Fichiers joints
evalExpr.tns
(1.35 Kio) Téléchargé 39 fois
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 18:26

Tant qu'a faire du code un peu portable ce serait sympa d'adopter le meme nom de module et de commande que moi, i.e. cas et caseval, vu que evalFunc2 fait la meme chose que caseval (d'ailleurs evalFunc2 c'est trompeur sur le nombre d'arguments).
Je viens en effet d'implementer caseval avec nombre variables d'arguments.
On peut donc ecrire
Code: Tout sélectionner
caseval("sin(0)")
caseval("sin",0)
caseval("integrate","1/x","x",1,2)

Le resultat est sous forme de chaine, et ca restera comme ca dans KhiCAS. En effet je pense qu'il vaut mieux avoir un type de retour deterministe, rien n'empeche le programme appelant de la fonction caseval de faire eval sur la chaine renvoyee (et eventuellement de gerer des exceptions).
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude Adriweb » 28 Sep 2020, 18:34

Alors moi je veux bien (juste faire un alias, d'ailleurs), mais mon machin n'a rien a voir avec du "CAS", ca marchera avec la math engine que la calculatrice aura, et ce n'est pas forcément une machine CAS ^^
D'ailleurs, dans ma version en cours, j'ai renommé en evalExpr et callFunc respectivement.
Un alias (qui n'aura pas un nom tres correct sur une machine non-CAS) nommé "caseval" pourrait etre rajouté, mais du coup sur quelle fonction ? Ou alors je recrée un evalExpr qui agit differement en fonction du nombre d'argument pour faire comme le "caseval" du code de khicas mentionné ici.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 80.1%
 
Messages: 14606
Images: 1216
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 18:35

P.S.: au passage, on peut ecrire
Code: Tout sélectionner
caseval("a:=",a)
eval(caseval("a"))

pour stocker la valeur d'une variable Python dans le CAS et la rappeler, il me semble que ca permet d'eviter les 4 commandes de ti_system: recall_value/store_value/recall_list/store_list.
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

Re: importer module python (pour transformées de Laplace)

Message non lude parisse » 28 Sep 2020, 18:41

Adriweb a écrit:Alors moi je veux bien (juste faire un alias, d'ailleurs), mais mon machin n'a rien a voir avec du "CAS", ca marchera avec la math engine que la calculatrice aura, et ce n'est pas forcément une machine CAS

Certes, un alias parait une bonne idee. Il me semble qu'en Python on utilise des noms de commande en minuscules, pas avec de la casse mixte a la TI, par exemple evalnative?
Avatar de l’utilisateur
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Prochain niv.: 77.2%
 
Messages: 3500
Inscription: 13 Déc 2013, 16:35
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile

PrécédenteSuivante

Retourner vers Python

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1157 utilisateurs:
>1141 invités
>11 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)