Le forum de XCAS

Xcas: un logiciel libre de calcul formel
Nous sommes actuellement le Sam Sep 23, 2017 9:16 am

Heures au format UTC




Publier un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: 1.4.9 instable
MessagePublié: Lun Sep 11, 2017 12:49 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
J'ai mis en ligne des binaires instables (versions 1.4.9 linux debian, win64, mac) avec :
1/ un pre-interpreteur qui detecte de la syntaxe Python (de base uniquement, c'est pour le lycee), ainsi que quelques commandes issues du monde Python (par ex. range, randint, shuffle). Dans Xcas, on peut desormais choisir Python comme syntaxe.
2/ de nouvelles commandes d'optimisation ecrites par Luka Marohnic (documentees en anglais dans cascmd_en.tex)
Il y a surement des bugs a corriger avant d'en faire une version stable, mais je pense que le temps passe a implementer de la compatibilite Python n'est pas du temps perdu...


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Lun Sep 18, 2017 2:23 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
Mise a jour. La compatibilite Python devrait etre un peu meilleure. J'ai aussi ajoute une optimisation pour les petites boucles "standards" (j variant de a a b avec a et b entiers). Et pour les germanistes, l'aide courte est disponible en allemand.


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Mer Sep 20, 2017 1:19 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
Nouvelle mise a jour.


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Jeu Sep 21, 2017 12:28 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
Nouvelle mise a jour.
Correction d'un bug dans les optimisations pour les boucles. Le support de for/in devrait maintenant etre a nouveau compatible avec la syntaxe C, cela impose toutefois d'utiliser des crochets pour des definitions du genre [j^2 for j in range(100) if isprime(j)]
Il faudrait voir quelles sont les fonctions de la librairie standard Python qu'il serait bien d'avoir ou de rendre compatible (il me semble qu'il ne manque pas grand chose de ce qu'il y a sur http://python.lycee.free.fr).


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Ven Sep 22, 2017 1:04 pm 
Hors-ligne

Inscrit le: Dim Mai 20, 2007 7:09 am
Messages: 992
Localisation: Paris
Je ne sais pas si c'est simple, mais proche de ce qui est implémenté:
Code:
4>> L:=[0,1,2,3,4,5,6,7,8,9]
[0,1,2,3,4,5,6,7,8,9]
// Time 0
15>> L[3:-1]  // un de trop par rapport a python
[3,4,5,6,7,8,9]
// Time 0
16>> L[1:]  // pas implemente


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Ven Sep 22, 2017 4:08 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
Alors la je ne comprends pas la logique de python, il ne prennent pas en compte le dernier element du : ?? Ca me parait tellement anti-intuitif que je n'ai meme pas verifie. En fait, on ne peut pas acceder aux derniers elements de la liste avec la notation -1. Bon je vais quand meme le faire.


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Ven Sep 22, 2017 4:51 pm 
Hors-ligne

Inscrit le: Dim Mai 20, 2007 7:09 am
Messages: 992
Localisation: Paris
en python:
Code:
>>> L=[0,1,2,3,4,5,6,7,8,9]
>>> L[-1]
9
>>> L[1:]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[2:-0]
[]
>>> L[2:9]
[2, 3, 4, 5, 6, 7, 8]
>>> L[2:10]
[2, 3, 4, 5, 6, 7, 8, 9]
>>> L[10]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> L[2:100] # ca ne rale pas
[2, 3, 4, 5, 6, 7, 8, 9]


les range et slice sont ferme à gauche et ouvert a droite.
L[-1] donne bien le dernier element. par contre la syntaxe avec : est un slice donc ferme a gauche ouvert a droite. Il semble que l'on ait aussi le droit de deborder sans que ca donne d'erreur.


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Ven Sep 22, 2017 5:45 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
oui mais tu dois connaitre la taille, or c'est justement l'interet d'utiliser le -1.


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Sam Sep 23, 2017 7:30 am 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 3991
Bon, j'ai corrige dans le source et mis a jour Xcas pour Firefox


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Sam Sep 23, 2017 8:20 am 
Hors-ligne

Inscrit le: Dim Mai 20, 2007 7:09 am
Messages: 992
Localisation: Paris
en python c'est la syntaxe
Code:
L[1:]

qui donne de l'indice 1 jusque la fin. sous xcashtml elle n'a pas l'ai implementée mais c'est peut etre genant pour ton parser?
Code:
// Python-like syntax, check string delimiters "" and declare local variables.
Translated to Xcas as:
L[1..-1]
:;


Haut
 Profil  
 
Afficher les messages publiés depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
Powered by phpBB® Forum Software © phpBB Group
Traduction réalisée par Maël Soucaze © 2009 phpBB.fr