>
> Anyone care to burrow into the code and see what its problem is?
>
got it.
Looks like this in lrand48(void):
//return ((long) _rand48_seed[2] << 15) + ((long) _rand48_seed[1] > 1);
is supposed to be this:
return (long)((unsigned long) _rand48_seed[2] << 15) + ((unsigned long)
_rand48_seed[1] >> 1);
in port\rand.c
Merlin