]> git.donarmstrong.com Git - mothur.git/commitdiff
fixed how seq.dists divides the matrix for multiple processors
authorpschloss <pschloss>
Mon, 8 Jun 2009 15:51:58 +0000 (15:51 +0000)
committerpschloss <pschloss>
Mon, 8 Jun 2009 15:51:58 +0000 (15:51 +0000)
distancecommand.cpp

index a964cd79779764d65ee67bb5822f0310b20b58bc..9297909cab4056625299ff713328860a0cc656bb 100644 (file)
@@ -114,18 +114,15 @@ int DistanceCommand::execute(){
                        }
                }else{ //you have multiple processors
                        
-                       //create line pairs
-                       int numPerGroup = numSeqs / processors;
-                       int remainder = numSeqs % processors;
-                       
                        for (int i = 0; i < processors; i++) {
                                lines.push_back(new linePair());
-                               lines[i]->start = i*numPerGroup;
-                               lines[i]->end = (i+1)*numPerGroup;
+                               lines[i]->start = int (sqrt(float(i)/float(processors)) * numSeqs);
+                               lines[i]->end = int (sqrt(float(i+1)/float(processors)) * numSeqs);
                        }
-                       //give the last one any extra line
-                       lines[lines.size()-1]->end += remainder;
-                       
+
+                       cout << lines[0]->start << '\t' << lines[0]->end << endl;
+                       cout << lines[1]->start << '\t' << lines[1]->end << endl;
+
                        createProcesses(distFile, phylipFile); 
                
                        //append and remove temp files