! Inicialitza la matriu d'spins S aleatòriament, donada la mida del sistema L
! i una llavor inicial SEED. Tot i que S té mida 128x128 només les primeres L
! files i L columnes s'utilitzen.
subroutine generateSpinMatrix(S, L, SEED)
  use iso_fortran_env
  implicit none
  integer*4, intent(in) :: L
  integer*4, intent(in) :: SEED
  integer*2, intent(out) :: S(1:128,1:128)
  integer*4 :: i, j
  integer(int32) :: genrand_int31

  call init_genrand(SEED)

  do i = 1, L
    do j = 1, L
      if (genrand_int31() < 2**30) then
        S(i, j) = 1
      else
        S(i, j) = -1
      endif
    enddo
  enddo
end subroutine generateSpinMatrix
