Suite à des problèmes lors du merge de la branche, je viens de
créer un nouveau tag (une nouvelle branche suivra):
Suppression de la branche metafor_2004_02_19
Suppresion du tag boman_2004_02_19
I_.h: ajout d'un bloc _WITH_METAFOR_ suite à
l'introduction des macros d'implémentation d'I_. Le système
actuel ne permet plus d'utiliser les références (extension "metafor"
de l'interpréteur). Ceci uniquement parce que la fonction Function::do_it()
est vraiment très mal programmée. J'ai pu m'en tirer en remplaçant
les dynamic_cast (!) effectués dans les macros précitées
par des static_cast. Bref, encore une évolution de l'interpréteur
qui me fait penser qu'il est l'heure d'abandonner l'interpréteur d'Oofelie
au profit d'un interpréteur Python. Je suis en train de jeter un oeil
et les résultats sont très prometteurs!!
VectorStr: Alberto a commité une modif assez radicale:
"les nouveaux truc de Ludo marchent pas chez moi, donc je vire (mais
sans avertir personne, bien sûr)". J'ai essayé de voir comment
faire pour récupérer la situation et je pense être arrivé
à un bon compromis. L'extension de Ludo consistait à permettre
une mise à jour correcte d'un vecteur structural de type "NOTHING"
(c'est-à-dire pointant vers un espace hors base de données).
Cette extension ne fonctionne pas si des degrés de liberté négatifs
sont présents dans la partition concernée. Dans ce cas, il faudrait,
en effet, shifter les indices du nombre de degrés de liberté
négatifs présents dans la partition (il n'y a pas un moyen simple
de connaitre ce nombre). J'ai donc ajouté un "if"
permettant de passer à l'implémentation de Ludo lorsque le problème
complet ne possède aucun degré de liberté négatif.
Dans l'autre cas (s'il y en a), on passe à l'implémentation
de base (qui fait un setToZero en guise d'update!).
En conclusion, les cas-tests d'Alberto qui ne possèdent pas de dof
négatifs risqueraient de ne plus passer si le setToZero
doit être fait par le VectorStr (c'est de toute façon
pas la bonne place pour le faire). Il faut donc faire un setToZero
apres l'update du VectorStr. Autre remarque: soyez
gentil de prévenir les personnes concernées lorsque vous faites
une modif pareille (dans le cas précis, le nom était mis en
commentaire dans ce but). Je viens de perdre 1/2 journée
pour résoudre ce problème.