[Insight-developers] vnl_sample issues

Bill Lorensen wlorens1 at nycap.rr.com
Fri Jan 21 12:31:21 EST 2005


Let's just do this temporary fix for cygwin. After the release, we'll do it 
the correct way.

Bill

At 11:55 AM 1/21/2005, Brad King wrote:
>Hello,
>
>Karthik asked me to send an email summarizing the vnl_sample 
>situation.  Basically vnl_sample is implemented either in terms of a 
>hand-coded implementation or a drand48 implementation if available.  If it 
>uses the drand48 implementation then the user needs to call 
>vnl_sample_reseed (which calls srand48) to initialize the random number 
>generator.  The only platform that seems to require this in practice is 
>Cygwin, but it is actually in the drand48 documentation.  No matter the 
>implementation vnl_sample uses it still has a global state (per thread in 
>the drand48 case).
>
>I've discussed the situation with the VXL maintainers, but they already 
>implemented a solution.  The latest vnl has a vnl_random class that is an 
>object-based random number generator.  Each object has its own seed and 
>state information.  This eliminates initialization and threading issues 
>altogether.  There are two ways to get vnl_random into ITK:
>
>1.) Try to pull over vnl_random.h and its related sources by hand.
>
>2.) Upgrade ITK to the latest vxl (the current ITK vxl is over a year old).
>
>#2 is not an option this close to a freeze.  #1 will still require all the 
>ITK code that uses vnl_sample to be converted to use vnl_random, which is 
>also probably too big this close to a freeze.
>
>I think the solution is to just do a
>
>vnl_sample_reseed(0)
>
>instead of a
>
>vnl_sample_reseed(vcl_time(0))
>
>to fix the problems on Cygwin for this release.  Then we can use option #2 
>after the release is done.
>
>-Brad
>
>_______________________________________________
>Insight-developers mailing list
>Insight-developers at itk.org
>http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list