Commit 85ff19d8 authored by Cyprien Borée's avatar Cyprien Borée

Replace tmp bins with tmp list

For more informations, see #3393.
parent 9295f811
Pipeline #35052 failed with stages
in 2 minutes and 44 seconds
......@@ -37,7 +37,8 @@ void BinReadStorage::init(size_t nb_bins, size_t max_score, const VirtualReadSco
}
void BinReadStorage::reallocate(){
auto tmp_bin = bins;
list<Sequence> tmpList(bins[0]);
nb_bins = max_bins;
if(bins){
......@@ -53,7 +54,7 @@ void BinReadStorage::reallocate(){
bins = new list<Sequence>[nb_bins+1];
score_bins = new double[nb_bins+1];
nb_scores = new size_t[nb_bins+1];
for(auto s : tmp_bin[0]){
for(auto s : tmpList){
float score = scorer->getScore(s);
size_t bin = scoreToBin(score);
addScore(bin, score);
......
  • Ce n'est pas l'idéal. Le mieux est de faire les delete après avoir rempli les nouvelles bins.

  • Mais tmpList est une variable local, elle ne sera détruite qu'à la fin de la fonction, non ? Entre-temps les bins ont été remplis.

  • Oui elle sera bien détruite.

    Mais c'était dans l'initialisation que je voyais quelque chose de gênant, mais non tu es obligé de faire quelque chose de ce genre. Tu peux ignorer mon commentaire initial, désolé.

Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment