Numeric
Ce repository contient l'énoncé du TP "numeric" et un squelette maven. Nous vous conseillons de vous abonner aux notifications (watch) pour ne pas manquer des annonces ou des changements.
Après avoir choisi votre binôme, vous devrez impérativement :
- "Forker" ce repository dans votre namespace, le passer en privé et ajouter votre binôme (un seul repository par binôme).
- Ajouter ce repository comme deuxième remote (différent de
origin
, nommébase
par exemple :git remote add base ssh://git@ssh.hesge.ch:10572/steven.liatti/poo2019numeric.git
). - Ajouter Joel Cavat (@joel.cavat), Jeremy Gobet (@jeremy.gobet) et Steven Liatti (@steven.liatti) en tant que Reporter de votre repository.
- Lire attentivement l'énoncé.
Fonctionnalités à réaliser sur les vecteurs (itération 1)
Le projet contient déjà un ensemble de tests unitaires. Faites-en sorte que le projet compile et que les tests passsent.
Vous devez réaliser des fonctionnalités sur les calculs vectoriels (dans un premier temps). Utilisez le package ch.hepia.numeric
pour mettre vos classes.
Opération sur les vecteurs (méthodes d'instance), regardez les tests unitaires pour comprendre comment elles fonctionnent
-
add(), mul(), sub()
pour les opérations de bases -
norm()
pour calculer la norme d'un vecteur -
t()
pour retourner la vesion transposée -
get()
pour retourner un élément -
set()
en tant que méthode non publique pour modifier une valeur -
map()
pour retourner une version transformée -
removed()
pour retourner une sans un des éléments -
concat()
pour concatener deux vecteurs -
copy()
pour copier un vecteur -
slice(), sliceTo(), sliceFrom()
pour les opérations de slicing -
toString()
etequals()
pour une représentation et la comparaison de vecteur - ...
Opérations statiques (méthodes de classes), regardez les tests unitaires pour comprendre comment elles fonctionnent
-
of()
-
empty()
-
fill()
-
zeros()
-
ones()
-
linespace()
-
tabulate()
-
sum()
-
norms()
Fonctionnalités à réaliser sur les matrices (prochaine itération)
TBD
Maven
Maven est un gestionnaire de projets et d'automatisation de production pour l'écosystème Java.
Le fichier pom.xml
décrit le projet avec ses dépendances.
Exécutez votre projet
- compilation et téléchargement des dépendances. Produit un
jar
dans le dossiertarget
.
mvn package
- exécutez à l'aide de java et du classpath:
java -cp target/my-app-0.1.jar ch.hepia.my_app.App
- ou, à l'aide du plugin
exec-maven-plugin
(plus simple):
mvn exec:java
Exécutez les tests uniquement
mvn test
Notes
Le plugin maven-assembly-plugin
est configuré et permet d'embarquer les dépendances dans un seul jar
.