Next: IS_IOSTAT_END, Previous: IPARITY, Up: Intrinsic Procedures [Contents][Index]

### 9.153 `IRAND`

— Integer pseudo-random number

*Description*:`IRAND(FLAG)`

returns a pseudo-random number from a uniform distribution between 0 and a system-dependent limit (which is in most cases 2147483647). If`FLAG`is 0, the next number in the current sequence is returned; if`FLAG`is 1, the generator is restarted by`CALL SRAND(0)`

; if`FLAG`has any other value, it is used as a new seed with`SRAND`

.This intrinsic routine is provided for backwards compatibility with GNU Fortran 77. It implements a simple modulo generator as provided by

`g77`

. For new code, one should consider the use of RANDOM_NUMBER as it implements a superior algorithm.*Standard*:GNU extension

*Class*:Function

*Syntax*:`RESULT = IRAND(I)`

*Arguments*:`I`Shall be a scalar `INTEGER`

of kind 4.*Return value*:The return value is of

`INTEGER(kind=4)`

type.*Example*:program test_irand integer,parameter :: seed = 86456 call srand(seed) print *, irand(), irand(), irand(), irand() print *, irand(seed), irand(), irand(), irand() end program test_irand