> So, Michael Stahl commented in the bug that we do have our own > random number generator function. One way is to just replace the > direct call to rand() to this function instead. That should be very > easy to do and I have no objection against it.
Just to be clear, I believe glibc's implementation of rand() is excellent and doesn't need replacement unless one needs particular statistical properties (the problem is only with windows rand()). Boost offers generators I believe similar to glibc's rand() as well as a few which have even better statistical properties but are slower. The advantage of boost is that it includes transformations which lead to all sorts of distributions ([0-1] uniform, normal, exponential ...). This would allow for easy implementation of new functions like RANDNORMAL(mu, sigma) As for the bug report, if he's referring to ./core/sal/inc/rtl/random.h then I can't see any function we can easily use for our purposes. It seems to me all this does is generating and managing a random binary array. From a quick look at the source it seems to use the Wichmann-Hill algorithm, which apparently has a period of 16 million (2^24) which is worse than glibc's rand(). Cheers, Tino ./core/sal/rtl/source/random.cxx #define RTL_RANDOM_RNG(x, y, z) \ { \ (x) = 170 * ((x) % 178) - 63 * ((x) / 178); \ if ((x) < 0) (x) += 30328L; \ \ (y) = 171 * ((y) % 177) - 2 * ((y) / 177); \ if ((y) < 0) (y) += 30269L; \ \ (z) = 172 * ((z) % 176) - 35 * ((z) / 176); \ if ((z) < 0) (z) += 30307L; \ } _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice