From 9b4637706207eedb84dc517c1a9a33659eeae5a1 Mon Sep 17 00:00:00 2001 From: lasnier Date: Tue, 4 Dec 2012 17:40:00 +0100 Subject: [PATCH] Minor modification for documentation and not changing topology if not necessary --- smp/src/topology/complete.cpp | 21 ++++++++------- smp/src/topology/complete.h | 2 +- smp/src/topology/hypercubic.cpp | 45 ++++++++++++++++++--------------- smp/src/topology/ring.cpp | 21 ++++++++------- smp/src/topology/ring.h | 2 +- 5 files changed, 50 insertions(+), 41 deletions(-) diff --git a/smp/src/topology/complete.cpp b/smp/src/topology/complete.cpp index 19cd2b4a5..aa019c628 100644 --- a/smp/src/topology/complete.cpp +++ b/smp/src/topology/complete.cpp @@ -32,15 +32,18 @@ Contact: paradiseo-help@lists.gforge.inria.fr void paradiseo::smp::Complete::operator()(unsigned nbNode, std::vector>& matrix) const { - matrix.clear(); + if(nbNode!=matrix.size()) + { + matrix.clear(); - matrix.resize(nbNode); - for(auto& line : matrix) - line.resize(nbNode); + matrix.resize(nbNode); + for(auto& line : matrix) + line.resize(nbNode); - std::vector line; - line.assign(nbNode,true); - matrix.assign(nbNode, line); - for(int i=0;i line; + line.assign(nbNode,true); + matrix.assign(nbNode, line); + for(int i=0;i>& matrix) const { - //Check if the number of node is coherent with an hypercube - assert((nbNode & (nbNode-1)) == 0); + if(nbNode!=matrix.size()) + { + //Check if the number of node is coherent with an hypercube + assert((nbNode & (nbNode-1)) == 0); - unsigned power=0,i,j; - while((nbNode & 1<>& matrix) const { - matrix.clear(); + if(nbNode!=matrix.size()) + { + matrix.clear(); - matrix.resize(nbNode); - for(auto& line : matrix) - line.resize(nbNode); + matrix.resize(nbNode); + for(auto& line : matrix) + line.resize(nbNode); - std::vector line; - line.assign(nbNode, false); - matrix.assign(nbNode, line); + std::vector line; + line.assign(nbNode, false); + matrix.assign(nbNode, line); - for(int i=0; i