Fortran toolkit
        
        
      fisheryatessubroutine fisheryates(vect,seed)
  implicit none
  integer , intent(inout)         :: vect(:)
  integer , intent(in) , optional :: seed(:)
This subroutine takes an array vect of dimension n and fills it with integers from 1 to n and them shuffled using the the Fisher–Yates shuffle algorithm. The user can fixed the seed by providing seed.
Internal dependencies: none
Example:
integer :: vect(4)
call fisheryates(vect)
print * , 'vect =', vect   ! vect =  3  1  4  2
call fisheryates(vect)
print * , 'vect =', vect   ! vect =  2  4  1  3