---
name: "slaruv"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/slaruv/3lapack"
---

# slaruv(3lapack)

returns a vector of n random real numbers from a uniform (0,1)

## NAME

SLARUV - returns a vector of n random real numbers from a uniform (0,1)

## SYNOPSIS

- SUBROUTINE SLARUV(

  ISEED, N, X )

- INTEGER

  N

- INTEGER

  ISEED( 4 )

- REAL

  X( N )

## PURPOSE

SLARUV returns a vector of n random real numbers from a uniform (0,1) distribution (n \<= 128).\
 This is an auxiliary routine called by SLARNV and CLARNV.

## ARGUMENTS

- ISEED (input/output) INTEGER array, dimension (4)

  On entry, the seed of the random number generator; the array elements must be between 0 and 4095, and ISEED(4) must be odd. On exit, the seed is updated.

- N (input) INTEGER

  The number of random numbers to be generated. N \<= 128.

- X (output) REAL array, dimension (N)

  The generated random numbers.

## FURTHER DETAILS

This routine uses a multiplicative congruential method with modulus 2\*\*48 and multiplier 33952834046453 (see G.S.Fishman,\
 'Multiplicative congruential random number generators with modulus 2\*\*b: an exhaustive analysis for b = 32 and a partial analysis for b = 48', Math. Comp. 189, pp 331-344, 1990).\
 48-bit integers are stored in 4 integer array elements with 12 bits per element. Hence the routine is portable across machines with integers of 32 bits or more.\
