From a0b350125fb6a66d3e34f0c96afcf6b563c53b18 Mon Sep 17 00:00:00 2001
From: Jordi Inglada <jordi.inglada@cesbio.cnes.fr>
Date: Wed, 21 Mar 2018 13:07:44 +0100
Subject: [PATCH] ENH: manual modulo for speed

---
 Modules/Learning/Sampling/include/otbSampleAugmentation.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Modules/Learning/Sampling/include/otbSampleAugmentation.h b/Modules/Learning/Sampling/include/otbSampleAugmentation.h
index 66753a09fe..b0cac95af2 100644
--- a/Modules/Learning/Sampling/include/otbSampleAugmentation.h
+++ b/Modules/Learning/Sampling/include/otbSampleAugmentation.h
@@ -76,11 +76,14 @@ void replicateSamples(const SampleVectorType& inSamples,
                     SampleVectorType& newSamples)
 {
   newSamples.resize(nbSamples);
+  size_t imod{0};
 #pragma omp parallel for
   for(size_t i=0; i<nbSamples; ++i)
     {
-    newSamples[i] = inSamples[i%inSamples.size()];
+    if (imod == inSamples.size()) imod = 0;
+    newSamples[i] = inSamples[imod++];
     }
+
 }
 
 /** Create new samples by adding noise to existing samples. Gaussian
-- 
GitLab