Actualité du Projet GL 2015

De Ensiwiki
Aller à : navigation, rechercher
AttentionCette page est maintenue par les enseignants et utilisée par les élèves de la matière concernée. Vos contributions sont les bienvenues, mais merci d'en discuter avant de faire des modifications non triviales de la page, pour être sûr de ne pas perturber le déroulement du cours.

Utilisation de cette page

Il est impératif de consulter régulièrement cette page. Une solution simple est de la mettre comme page d'accueil de votre navigateur pour la durée du projet. Sinon, vous pouvez aussi utiliser un des flux suivant :

Atom: https://ensiwiki.ensimag.fr/index.php?title=Actualit%C3%A9_du_Projet_GL_2015&feed=atom&action=history
RSS: https://ensiwiki.ensimag.fr/index.php?title=Actualit%C3%A9_du_Projet_GL_2015&feed=rss&action=history

(A donner à un agrégateur RSS comme Thunderbird, Feedly, netvibes, ... Voir par exemple ces explications pour suivre un fil RSS depuis Thunderbird). La page Ensiwiki:Suivre les modifications du wiki sur ce Wiki donne quelques informations supplémentaires.

Les Nouvelles

20/01/2015 : Correction d'un bug mineur dans ima

Un bug mineur dans ima a été corrigé. Il se manifeste quand l'instruction WFLOATX est le dernier affichage, et provoquait un comportement différent de WFLOAT. Si vous travaillez sur les machines de l'école, vous n'avez rien à faire. Si vous travaillez sur machine personnelle, un git pull dans le répertoire global vous rapatriera la dernière version d'ima (source et binaires).

La commande ima -v devrait maintenant afficher ima 2015a.

17/01/2015 : Problèmes avec Git suite à des ré-écritures d'historique

Suite à plusieurs questions d'étudiants qui avaient ré-écrit leur historique Git un peu brutalement et qui n'arrivaient plus à fusionner leurs branches, une entrée a été ajoutée à la page Question fréquentes sur Git pour le Projet_GL#push-force.

15/01/2015 : Quantité de travail sur la classe Math

Suite à des questions d'étudiants, nous avons ajouté quelques clarifications sur la quantité de travail et le niveau de qualité attendu pour la classe Math au document [Consignes] :

La quantité de travail à fournir sur la classe Math dépend fortement du niveau de précision recherché. Obtenir le meilleur arrondi possible pour toutes les valeurs d'entrée est un problème très difficile (la première version de la norme IEEE754, publiée en 1985, ne demandait pas ce niveau de précision car il n'y avait pas d'algorithme connu qui le permette à l'époque), et inversement obtenir une précision à quelques dizaines d'ULP pour un petit sous-ensemble des valeurs d'entrée possibles se fait en quelques dizaines de minutes. Nous attendons des étudiants Ensimag qu'ils soient capables de trouver le meilleur compromis entre ces deux extrêmes et qu'il soient capables d'argumenter et de justifier la précision qu'ils peuvent obtenir pour chaque fonction, en différenciant selon les sous-domaines du domaine de définition. Pour vous donner un ordre de grandeur, le poids le la classe Math dans la note finale est d'environ 20%.

14/01/2015 : cobertura-report.sh et ANTLR

Un petit bug empêchait le script cobertura-report.sh de générer un rapport complet sur le code généré par ANTLR. La correction est triviale, il suffit de changer antlr3 en antlr4 dans le fichier src/test/script/cobertura-report.sh :

--- a/src/test/script/cobertura-report.sh
+++ b/src/test/script/cobertura-report.sh
@@ -21,7 +21,7 @@ fi
 defaultargs="--datafile ./target/cobertura/cobertura.ser"
 defaultargs="$defaultargs --destination target/site/cobertura/"
 defaultargs="$defaultargs --source src/main/java"
-defaultargs="$defaultargs --source target/generated-sources/antlr3"
+defaultargs="$defaultargs --source target/generated-sources/antlr4"
 if [ "$#" -gt 0 ]; then
     args="$defaultargs $*"
 else

12/01/2015 (bis) : documentation de la classe Math

Les consignes concernant la documentation de la classe Math (à rendre en fin de projet) ont été modifiées comme suit :

1.4 Documentation technique sur la classe Math

Vous rendrez une documentation dédiée à la classe Math, d'environ 5 à 10 pages. Cette documentation doit aborder en particulier :

  • La conception de la classe, les algorithmes utilisés et les choix mathématiques et informatiques que vous avez faits. Cette partie du projet étant beaucoup moins guidée que le reste du compilateur, vous aurez beaucoup plus de choix à expliquer et à justifier que dans la documentation du compilateur.
  • La validation des algorithmes et de leur implémentation en Deca. Contrairement à la validation du compilateur, la validation de la classe Math fait intervenir la notion de précision des calculs (cf. section 5 du document [Consignes]).

La documentation doit être lisible par un informaticien sensibilisé au calcul sur nombres flottants.

La version électronique du polycopié est à jour.

12/01/2015 : précision sur mvn test

Vous êtes plusieurs à vous poser des questions sur le fonctionnement de "mvn test", qui n'exécute pas toujours les scripts spécifiés pour le plugin maven-exec-plugin. La commande "mvn test" exécute dans un premier temps les tests unitaires JUnit, et n'exécute les tests de maven-exec-plugin que si ceux-ci réussissent. On peut ponctuellement ignorer le résultat des tests JUnit avec la commande

mvn test -Dmaven.test.failure.ignore

07/01/2015 : lexicographie FLOATHEX

La lexicographie pour FLOATHEX a été corrigée dans la version électronique du poly.

Dans la version papier, il faut lire (sans italique et sans 1) :

FLOATHEX = (’0x’ + ’0X’) NUMHEX ’.’ NUMHEX (’P’ + ’p’) SIGN NUM (’F’ + ’f’ + ’’)

04/01/2015 : connaitre son numéro d'équipe

Pour connaitre votre numéro d'équipe, utilisez la commande (présente dans la version électronique du polycopié, mais pas dans la version papier) :

grep " $LOGNAME " /matieres/4MMPGL/GL/global/doc/liste-equipes.txt

(à copier-coller dans un terminal)