demo_djb2_hash.f90 Source File


Source Code

      program demo_djb2_hash
      use M_hashkeys, only : djb2_hash, int128
      implicit none
      integer(kind=int128)         :: hash
      character(len=:),allocatable :: string
      integer                      :: i
      ! string
      string='test djb2_hash'
      hash=djb2_hash(string)
      write(*,*)'string=',string,' hash=',hash
      ! array of characters
      hash=djb2_hash(['t','e','s','t',' ','d','j','b','2','_','h','a','s','h'])
      write(*,*)'string=',string,' hash=',hash
      ! continued hash
      hash=djb2_hash(['t','e','s','t'])
      hash=djb2_hash([' ','d','j','b','2'],continue=.true.)
      hash=djb2_hash(['_','h','a','s','h'],continue=.true.)
      write(*,*)'string=',string,' hash=',hash
      ! array of integers
      hash=djb2_hash([(i,i=0,100)])
      write(*,*)'hash for values 0 to 100 is ',hash
      !
      end program demo_djb2_hash