:orphan:
# PetscRandomGetValueReal
Generates a real random number. Call this after first calling `PetscRandomCreate()`.
## Synopsis
```
#include "petscsys.h"
PetscErrorCode PetscRandomGetValueReal(PetscRandom r, PetscReal *val)
```
Not Collective
## Input Parameter
- ***r -*** the random number generator context
## Output Parameter
- ***val -*** the value
## Note
Use `VecSetRandom()` to set the elements of a vector to random numbers.
## Example of Usage
```none
PetscRandomCreate(PETSC_COMM_WORLD,&r);
PetscRandomGetValueReal(r,&value1);
PetscRandomGetValueReal(r,&value2);
PetscRandomGetValueReal(r,&value3);
PetscRandomDestroy(&r);
```
## See Also
`PetscRandom`, `PetscRandomCreate()`, `PetscRandomDestroy()`, `VecSetRandom()`, `PetscRandomGetValue()`
## Level
intermediate
## Location
src/sys/classes/random/interface/random.c
## Examples
src/dm/field/tutorials/ex1.c
src/dm/tutorials/swarm_ex3.c
src/ksp/ksp/tutorials/ex21.c
src/ksp/ksp/tutorials/ex70.c
src/snes/tutorials/ex12.c
## Implementations
PetscRandomGetValueReal_Rand in src/sys/classes/random/impls/rand/rand.c
PetscRandomGetValueReal_Rand48 in src/sys/classes/random/impls/rand48/rand48.c
PetscRandomGetValueReal_Rander48 in src/sys/classes/random/impls/rander48/rander48.c
PetscRandomGetValueReal_Random123 in src/sys/classes/random/impls/random123/random123.c
PetscRandomGetValueReal_Sprng in src/sys/classes/random/impls/sprng/sprng.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/random/interface/random.c)
[Index of all Sys routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)