diff --git a/include/scalfmm/tools/fma_loader.hpp b/include/scalfmm/tools/fma_loader.hpp index fe47e5b931a9b2251bf4681e3fa7403b7c9c832e..653df05c7b6aee3cc46ca2bbaa7835835240b3c5 100644 --- a/include/scalfmm/tools/fma_loader.hpp +++ b/include/scalfmm/tools/fma_loader.hpp @@ -999,22 +999,8 @@ namespace scalfmm::io #pragma omp parallel for shared(particles, values) for(std::size_t i = 0; i < values.size(); ++i) { - particle_type& p = values[i]; - particles_t& a = particles[i]; - int k{0}; - - for(auto e: p.position()) - { - a[k++] = e; - } - for(auto& e: p.inputs()) - { - a[k++] = e; - } - for(auto& e: p.outputs()) - { - a[k++] = e; - } + auto ptr_data = &(values[i].position()[0]); + std::copy(ptr_data, ptr_data + nb_elt_per_par, particles[i].data()); } // write the particles // Here we need to separate input from output variables - no tools yet