Le forum de XCAS

Xcas: un logiciel libre de calcul formel
Nous sommes actuellement le Mer Nov 22, 2017 8:59 am

Heures au format UTC




Publier un nouveau sujet Répondre au sujet  [ 19 messages ]  Aller à la page 1, 2  Suivant
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: 4104
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: 4104
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: 4104
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: 4104
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: 1011
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: 4104
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: 1011
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: 4104
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: 4104
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: 1011
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  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Sam Sep 23, 2017 9:34 am 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4104
si, il faut juste que tu rajoutes un ; et n'importe quoi par exemple 1 pour voir le resultat (car je rajoute un :;)


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Mar Sep 26, 2017 2:25 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4104
Mise a jour 1.4.9-5, j'ai aussi mis a jour les debian stables.


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Ven Sep 29, 2017 9:10 am 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4104
1.4.9-7


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Mer Oct 11, 2017 1:17 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4104
1.4.9-13


Haut
 Profil  
 
 Sujet du message: Re: 1.4.9 instable
MessagePublié: Mar Oct 17, 2017 1:59 pm 
Hors-ligne

Inscrit le: Mar Déc 20, 2005 4:02 pm
Messages: 4104
1.4.9-15:
Ajoute une session exemple Mandelbrot.xws dans le menu Aide>Exemples>demo
Le programme correspondant illustre la possibilite de typer les variables, ce qui permettra ulterieurement de traduire efficacement un programme Xcas en module dynamique C++ lorsque la commande cpp sera au point.
On peut ainsi nettement accelerer les calculs sous linux en compilant le module giac_Mandelbrot.cpp (a recopier depuis /usr/share/giac/examples/Exemples/demo/, la commande compilation est en 1ere ligne et s'execute depuis le menu Tools, Compile d'emacs). Ce fichier a ete presque entierement auto-genere avec la commande cpp(Mandelbrot), j'ai juste modifie les initialisations de complex<double>.


Haut
 Profil  
 
Afficher les messages publiés depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 19 messages ]  Aller à la page 1, 2  Suivant

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