Benjamin POUSSIN a écrit:
Salut,
Je pense qu'il y a un petit probleme dans le CPUE
pour commencer juste une remarque, sur le commentaire suivant
""" // Il faut etre au moins au deuxieme pas de temps. return p.date.getAnnee() > 0; """ pour moi un pas de temps est 1 mois et non pas une annee, donc j'espere que le commentaire est faux, sinon c le code :(
c'est le commentaire qu'est faux... C'est pour ça que j'ai pris le partie de ne pas commenter ;-)
Ensuite l'erreur:
Dans le constructeur on a ca
""" var allStr = SiMatrice.getListStrategies();
for(var i=0; i<allStr.size(); i++){ var str=allStr.get(i); var metiers=str.getSetOfVessels().getMetiers(); var ListeStrMonthInfos=str.getStrategyMonthInfos(); for (var j=0; j<ListeStrMonthInfos.size();j++){ var somme=0; var StrMonthInfo=ListeStrMonthInfos.get(j); for (var k=0;k<metiers.size();k++){ var metier=metiers.get(k); somme+=StrMonthInfo.getProportionMetier(metier); } this.p.SommePropInitial.put(new Chaine(str.getName()+"-"+metier.getNom()+"-"+StrMonthInfo.getMonth().getNumMois()),somme); } } """
la cle de SommePropInitial est donc str + metier + month
or lorsqu'on l'utilise ensuite, on prend comme cle str + month donc il ne risque pas de retrouver ce qui avait ete calculé :(
""" if (p.SommeCPUEstrat.get(new Chaine(str.getName()))>0){ newPropDiv = (p.SommePropInitial.get(new Chaine(str.getName()+"-"+strMonthInfo.getMonth().getNumMois()))-p.SommeProp.get(new Chaine(str.getName())))*CPUE/ p.SommeCPUEstrat.get(new Chaine(str.getName())); writeln("newpropdiv: "+newPropDiv); strMonthInfo.setProportionMetier(p.metier, new Packages.java.lang.Float(newPropDiv)); } """
Dans mon implantation j'ai pris comme cle str + month qui me parrait plus coherent.
Donc le for dans le constructeur, sert dans mon interpretation a sommer toutes les proportions de tous les metiers pour un mois et une strategie donné et de conserver cette somme.
Est-ce correct ?
Bien vu! c'est une correction que j'avais faite dans le temps sans redebugger vu que personne s'en servait, avant je stockais l'objet comme clé: c'était plus long mais ça marchait... T'auras sans doute la même erreur pour les autres gravite
-- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii
------------------------------------------------------------------------
_______________________________________________ Isis-fish-devel mailing list Isis-fish-devel@lists.labs.libre-entreprise.org http://lists.labs.libre-entreprise.org/mailman/listinfo/isis-fish-devel
-- Hilaire Drouineau IFREMER, département EMH Centre de Nantes - BP 21105 - 44311 Nantes Cedex 3 tel : +33 (0)2 40 37 43 06 - fax : +33 (0)2 40 37 40 75 email : hilaire.drouineau@ifremer.fr - web : http://www.ifremer.fr/emh **********************************************************************