[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