Barry Smith <[email protected]> writes: > This is the default behavior if one just creates a PetscRandom and uses > it, so don't be going and setting seeds inside GAMG or Chebyshev.
You're right (my mistake), but the consequences are dangerous if the user is holding a PetscRandom across calls to GAMG (or anything that creates new PetscRandom instances). The reason is that merely creating a PetscRandom reseeds the global PRNG. (What moron thought a global seed was a good idea?) Seems to me we should avoid drand48 always so we don't disrupt the user's source of randomness (leading to really confusing incorrect results). We could use the non-disastrous drand48_r, but it's a GNU extension so we'd need an alternative anyway. If Matt changes "rander48" to the rand48_r (or erand48_r) interface, then we'd be okay. This would also remove the internal variables that Matt forget to make static.
signature.asc
Description: PGP signature
