Incompréhension tests bit_vector

Incompréhension tests bit_vector

by Loïc Houmard -
Number of replies: 1

Bonjour,

Après avoir passé de nombreuses heures à débugger cette semaine (les bugs venant presque toujours du fait que la consigne nous demande de gérer des multiples de 32, mais les tests utilisent des longueurs quelconques) et discuter avec d’autres groupes/assistants pour qui ça ne semblait pas être clair non plus, nous avons réussi à faire que tous les tests passent à l’exception du dernier (dead_boss). En regardant un peu ce que fait ce test, nous avons trouvé notre erreur: le test fait appel à bit_vector_extract_wrap_ext(pv1_8, 0, 16) où pv1 est le vecteur de taille 4, 0x8. Comme la consigne nous disait d’utiliser des multiples de 32, notre méthode retourne donc simplement 0x0008 (le même vecteur mais de longueur 16, car il gère pv1 comme un vecteur de taille 32), mais le test s’attend à recevoir 0x8888, c’est à dire en gérant le vecteur comme étant vraiment un vecteur de taille 4 que l’on wrap (ce qui est logique, mais pas ce qui semble être demandé et comme il n’y a pas d’exemples, nous ne sommes pas sûr). Ceci nous semble contredire la consigne (comme d’ailleurs la plupart des autres tests, mais comme ceux-ci nous demandaient peu de modifications dans notre code, nous l’avons directement adapté) et nous voudrions être sûr que c’est bien ce que le test demande qu’il faut appliqué, car nous avons l’impression que notre méthode devrait grandement être modifié si tel est le cas.

Merci d’avance pour les éclaircissements,

Loïc

In reply to Loïc Houmard

Re: Incompréhension tests bit_vector

by Jean-Cédric Chappelier -

désolé à nouveau pour cette confusion liée à une ancienne hypothèse trop forte restée en début de donnée... (confusion entre explications d'implémentation et explications d'interface !!)

oui c'est bien 0x8888 qui est attendu : on fait tourner un vector de 4 bits.
Et, en effet, les tests fournis servent d'exemples.

cf aussi https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=36825 et https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=36748#p75816