# RANDM

Generate a random number

 WTSupported in traditional Synergy on Windows USupported on UNIX VSupported on OpenVMS
```xcall RANDM(number, seed_1, seed_2)
```

Arguments

number

Returned with the next random number in the sequence. (n)

seed_1

seed_2

Variables that together determine the next random number to be generated. (n)

Discussion

The RANDM subroutine generates a random number from 0 to 32767.

RANDM generates a random number based on two seed values. Seed_1 and seed_2 must be at least five digits long.

After the number is generated, the RANDM subroutine automatically updates the values in seed_1 and seed_2, so you can call RANDM several times successively to generate a sequence of random numbers.

You can start a new sequence by changing the values in seed_1 and seed_2. Each seed value must be between 0 and 32767.

Examples

The following example generates a random number in the format ZZ,ZZX, based on two numbers entered by the user.

```.define TTCHN   ,1
record
random      ,d5
seed1       ,d5
seed2       ,d5
io          ,a10
count       ,d4
i           ,d4
proc
open(TTCHN, i, "tt:")
display(TTCHN, "Enter value for seed 1:  ")
reads(TTCHN, io)
seed1 = io
display(TTCHN, "Enter value for seed 2:  ")
reads(TTCHN, io)
seed2 = io
display(TTCHN, "How many numbers?  ")
reads(TTCHN, io)
count = io
for i from 1 thru count
begin
xcall randm(random, seed1, seed2)
io = random, "ZZ,ZZX"
writes(TTCHN, io)
end
stop
end```