in reply to rand() function on Windows systems
If you install Inline::C you can access the MS CRT rand() & srand() and wrap them in your own wrappers.
The following code produces 56 (which is the same as I get from Perl's built-ins for 5.10). You might try it on your system and see how it compares:
#! perl -slw use strict; use Inline C => Config => BUILD_NOISY => 1; use Inline C => <<'END_C', NAME => 'junk1_IC', CLEAN_AFTER_BUILD => 0 +; int osrand( SV *seed ) { srand( (unsigned int)SvIV( seed ) ); return 1; } double orand( SV *max ) { return (double)rand() / 32767.0 * SvNV( max ); } END_C osrand( 555 ); print int orand( 1000 );
|
|---|