Skip to content
Snippets Groups Projects
Commit 40d2240a authored by Jordi Inglada's avatar Jordi Inglada
Browse files

ENH: parallel loops when possible

parent 12d72d12
No related branches found
No related tags found
No related merge requests found
...@@ -46,6 +46,7 @@ SampleType estimateStds(SampleVectorType samples) ...@@ -46,6 +46,7 @@ SampleType estimateStds(SampleVectorType samples)
const auto nbComponents = samples[0].size(); const auto nbComponents = samples[0].size();
SampleType stds(nbComponents, 0.0); SampleType stds(nbComponents, 0.0);
SampleType means(nbComponents, 0.0); SampleType means(nbComponents, 0.0);
#pragma omp parallel for
for(size_t i=0; i<nbSamples; ++i) for(size_t i=0; i<nbSamples; ++i)
{ {
for(size_t j=0; j<nbComponents; ++j) for(size_t j=0; j<nbComponents; ++j)
...@@ -57,9 +58,10 @@ SampleType estimateStds(SampleVectorType samples) ...@@ -57,9 +58,10 @@ SampleType estimateStds(SampleVectorType samples)
means[j] = muNew; means[j] = muNew;
} }
} }
for(auto std : stds) #pragma omp parallel for
for(size_t j=0; j<nbComponents; ++j)
{ {
std = std::sqrt(std/nbSamples); stds[j] = std::sqrt(stds[j]/nbSamples);
} }
return stds; return stds;
} }
...@@ -73,6 +75,7 @@ void replicateSamples(const SampleVectorType& inSamples, ...@@ -73,6 +75,7 @@ void replicateSamples(const SampleVectorType& inSamples,
SampleVectorType& newSamples) SampleVectorType& newSamples)
{ {
newSamples.resize(nbSamples); newSamples.resize(nbSamples);
#pragma omp parallel for
for(size_t i=0; i<nbSamples; ++i) for(size_t i=0; i<nbSamples; ++i)
{ {
newSamples[i] = inSamples[i%inSamples.size()]; newSamples[i] = inSamples[i%inSamples.size()];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment