Le 24/09/2010 16:08, Eric Chatellier a écrit :
Le 24/09/2010 16:02, Paul MARCHAL a écrit :
Merci Eric pour cette explication. En fait, cela me pose un problème. Même si les paramètres de ma méthode sont inchangés, ma méthode invoque utilise des variables provenant du constructeur qui, elles, ont changé. optimFsq = new Fcalculation(countCcur,countNcur,mortNat.getValue(age)); Fcur = Fmin.fmin(0.0,2.0,1.0e-10,optimFsq);
Vous faites un "new" à chaque fois, donc Isis considère le paramètre comme différent. Si une instance d'objet est différente, le résultat est différent. Normalement ca devrait fonctionner.
Du coup, il faut absolument que la méthode soit invoquée à chaque fois. Sinon, je me retrouve toujours avec les même valeurs! Est ce possible sans désactiver le cache (j'aimerais égaleemnt optimiser la vitesse des calculs)? Donc le problème viendrait effectivement de fx = minclass.deriveF(x);
Il faudrait faire une évolution dans Isis pour dire de ne pas utiliser le cache dans ce cas là. En attendant, une solution temporaire, est d'ajouter dans la signature de la méthode un paramètre non utilisé dont la valeur change tout le temps. Ainsi, l'appel ne sera jamais mis en cache. -- Éric <chatellier@codelutin.com> Tel: 02 40 50 29 28 http://www.codelutin.com