Messages from list : cormas@cirad.fr

Choose a topic among the following archives :

bug in recursiveNeighbourhood: n

New Message Reply Date view Thread view Subject view Author view

Subject: bug in recursiveNeighbourhood: n
From: Hoekstra, J. (Jeljer) (jhoekstra@feweb.vu.nl)
Date: Mon Jul 26 2004 - 16:45:55 CEST

Hi all,
 
I found an error in recursiveNeighbourhood: n (version 2003, perhaps also in 2004). It does some double counting. The bug is fixed by changing newVoisins in peripherie in the last line of the loop.
The bug free version of recursiveNeighbourhood: n is added below.
 
cheers,
Jeljer

recursiveNeighbourhood: n
 | ensemble peripherie newVoisins |
 ensemble := OrderedCollection new.
 ensemble add: self.
 peripherie := OrderedCollection new.
 peripherie add: self.
 n timesRepeat:
   [newVoisins := OrderedCollection new.
   peripherie do: [:p | p neighbourhood do:[:v| (newVoisins includes: v) ifFalse: [newVoisins add: v]]].
   "peripherie do: [:p | newVoisins addAll: p neighbourhood]."
   peripherie := newVoisins reject: [ :i | ensemble includes: i ].
   ensemble addAll: peripherie "newVoisins"].
 ^ensemble

New Message Reply Date view Thread view Subject view Author view
 

Back to home