# PETSCRANDER48
simple portable reimplementation of basic Unix drand48() random number generator that should generate the exact same random numbers on any system. 
## Options Database Keys

- ***-random_type <rand,rand48,rander48,sprng> -*** select the random number generator at runtime



## Notes
This is the default random number generate provided by `PetscRandomCreate()` if you do not set a particular implementation.

Each `PetscRandom` object created with this type has its own seed and its own history, so multiple `PetscRandom` objects of this type
will not interfere with random numbers generated by other objects. Each PETSc object of this type will produce the exact same set of
random numbers so if you wish different `PetscRandom` objects of this type set different seeds for each one after you create them with
`PetscRandomSetSeed()` followed by `PetscRandomSeed()`.




## See Also
 `PetscRandomCreate()`, `PetscRandomSetType()`, `PETSCRAND`, `PETSCRAND48`, `PETSCRANDER48`, `PETSCSPRNG`, `PetscRandomSetSeed()`,
`PetscRandomSeed()`, `PetscRandomSetFromOptions()`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/classes/random/impls/rander48/rander48.c.html#PETSCRANDER48">src/sys/classes/random/impls/rander48/rander48.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/random/impls/rander48/rander48.c)


[Index of all Sys routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
