!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*- Mode: F90 -*- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! unanimity.f90 --- TP3 : collectives communications
!! 
!! Author          : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
!! 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

program unanimity
  USE MPI
  implicit none

  integer, parameter                :: nb_tests_max=2000
  integer                           :: nb_procs,rank,code, &
                                       nb_tests=0,decision=-1
  real                              :: drawing
  integer, dimension(8)             :: mytime
  integer, dimension(:),allocatable :: seed
  integer                           :: size_seed,i



  



  call my_seed

  

  if (rank == 0) then
     if (nb_tests > nb_tests_max) then
        print *,'We do ',nb_tests_max,' tests without unanimity !'
     else
        print *,'We do ',nb_tests,' tests to obtain unanimity !'
     end if
  end if

  

contains
  subroutine my_seed

    ! Size of the seed
    call random_seed(size=size_seed)
    allocate(seed(size_seed))

    ! Seed fixed using execution time
    ! (in ms seconds)
    do i = 1, size_seed
       call date_and_time(values=mytime)
       seed(i)=mytime(8)*mytime(8)*mytime(8)*(rank+1)
    end do

    call random_seed(put=seed(:))
  end subroutine my_seed

end program unanimity
