π
<-

importer module python (pour transformées de Laplace)

TI's micropython + modules
Online

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

Unread postby parisse » 28 Sep 2020, 13:23

Hamza.S wrote: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).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 92.8%
 
Posts: 3784
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby 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é.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14837
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby Adriweb » 28 Sep 2020, 13:25

parisse wrote:
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.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14837
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby Hamza.S » 28 Sep 2020, 13:45

Adriweb wrote: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
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29.3%
 
Posts: 4512
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Online

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

Unread postby 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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 92.8%
 
Posts: 3784
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby 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: Select all
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+')')
You do not have the required permissions to view the files attached to this post.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14837
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Online

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

Unread postby 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: Select all
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).
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 92.8%
 
Posts: 3784
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby 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.

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...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14837
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Online

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

Unread postby parisse » 28 Sep 2020, 18:35

P.S.: au passage, on peut ecrire
Code: Select all
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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 92.8%
 
Posts: 3784
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

Online

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

Unread postby parisse » 28 Sep 2020, 18:41

Adriweb wrote: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?
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 92.8%
 
Posts: 3784
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

PreviousNext

Return to Python

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1321 utilisateurs:
>1291 invités
>25 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)