Statistics
| Branch: | Revision:

root / synthbench / euroben-dm / mod2i / ranint.f @ 0:839f52ef7657

History | View | Annotate | Download (1.2 kB)

1
      Subroutine ranint( low, hi, n, ranint_array )
2
! ---------------------------------------------------------------------
3
! --- Routine 'ranint' generates an random array of 'n' integers with 
4
!     values in the range [low, hi]. When [low, hi] = [1,n], 
5
!     'ranint_array' is not neccesarily a permutation, i.e., 
6
!      ranint_array(i) might be equal to ranint_array(j) for some i, j.
7
! ---------------------------------------------------------------------
8
      Use                                   dist_module
9
      Implicit                              None
10
      Integer, Intent(in)                :: low, hi, n
11
      Integer, Dimension(n), Intent(out) :: ranint_array
12

    
13
      Real, Dimension(n)                 :: dummy
14
      Integer, Dimension(n)              :: seed
15
      Integer                            :: i
16
! ---------------------------------------------------------------------
17
      Do i = 1, n
18
         seed(i) = me*n + i
19
      End Do
20
      Call random_seed( Put = seed(1:n) )
21
      Call random_number( dummy )
22
      ranint_array = Int( ( hi - low + 1)*dummy + low )
23
! ---------------------------------------------------------------------
24
      End Subroutine ranint