File: hash.f90

package info (click to toggle)
espresso 6.7-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 311,068 kB
  • sloc: f90: 447,429; ansic: 52,566; sh: 40,631; xml: 37,561; tcl: 20,077; lisp: 5,923; makefile: 4,503; python: 4,379; perl: 1,219; cpp: 761; fortran: 618; java: 568; awk: 128
file content (28 lines) | stat: -rw-r--r-- 1,048 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program hash
    use fletcher32_mod
    implicit none
    integer, parameter :: dat_size=6
    integer :: i, cksum
    integer(2) :: dat(1)
    complex(8) :: mydata(dat_size)
    real(8) :: myreal(dat_size*2)

    do i =1,dat_size
       mydata(i) = cmplx(33.0*i-22.0, 24.9 + i)
       myreal(2*i-1) = dreal(mydata(i))
       myreal(2*i)   = dimag(mydata(i))
    end do
    cksum = fletcher32(transfer(mydata,dat),size(transfer(mydata,dat)))
    write (*,*) 'checksum of a complex array directly casting into the c function ', cksum
    call fletcher32_cksum(mydata,cksum)
    write (*,*) 'checksum of a complex array using fortran interface ', cksum
    call fletcher32_cksum(myreal,cksum)
    write (*,*) 'checksum of the same data seen as a real array using fortran interface ', cksum
    do i =1,dat_size
       myreal(2*i-1) = dimag(mydata(i))
       myreal(2*i)   = dreal(mydata(i))
    end do
    call fletcher32_cksum(myreal,cksum)
    write (*,*) 'checksum of the same data in different order using fortran interface ', cksum

end program