Actualité du Projet GL 2015

Sommaire
- 1 Utilisation de cette page
- 2 Les Nouvelles
- 2.1 17/01/2015 : Problèmes avec Git suite à des ré-écritures d'historique
- 2.2 15/01/2015 : Quantité de travail sur la classe Math
- 2.3 14/01/2015 : cobertura-report.sh et ANTLR
- 2.4 12/01/2015 (bis) : documentation de la classe Math
- 2.5 12/01/2015 : précision sur mvn test
- 2.6 07/01/2015 : lexicographie FLOATHEX
- 2.7 04/01/2015 : connaitre son numéro d'équipe
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
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)