Statistics
| Branch: | Revision:

root / synthbench / euroben-dm / mod2g / anhr2d.f @ 0:839f52ef7657

History | View | Annotate | Download (1.3 kB)

1
      Subroutine anhr2d( a1, a2, w1, w2, n1, n2, vsize, hsize, ctime )
2
! ---------------------------------------------------------------------
3
! --- Does the 2-D Haar Wavelet analysis by 2 sequences of 1-D
4
!     transforms. In between a global transpose is done. 'a1'
5
!     is the input array, 'a2' contains the output array. 'w1' and
6
!     'w2' are work arrays.
7
! ---------------------------------------------------------------------
8
      Use        dist_module ! Contains # of proc.s & proc. no.s
9
      Use        numerics
10
      Implicit   None
11
      Include    'mpif.h'
12

    
13
      Integer  :: n1, n2, vsize, hsize
14
      Real(l_) :: a1(n1,hsize), a2(n2,vsize), w1(n1,hsize),
15
     &            w2(n2,vsize)
16
      Real(l_) :: ctime
17

    
18
      Integer  :: actsiz(0:nodes-1,2), base(0:nodes-1,2)
19
      Integer  :: i, log2, m
20
! ---------------------------------------------------------------------
21
      Call sizoff( n1, n2, actsiz, base )
22
      m = log2( n1 )
23
      Do i = 1, actsiz(me,2)
24
         Call analhr( a1(1,i), w1(1,i), n1, m )
25
      End Do
26
      Call gtrans( w1, w2, n1, n2, vsize, hsize, ctime )
27
      m = log2( n2 )
28
      Do i = 1, actsiz(me,1)
29
         Call analhr( w2(1,i), a2(1,i), n2, m )
30
      End Do
31
! ---------------------------------------------------------------------
32
      End Subroutine anhr2d