2D AMRCLAW
signs.f
Go to the documentation of this file.
1 c
2 c --------------------------------------------------------------------
3 c
4  subroutine signs(badpts,npts,iscr,jscr,idim,jdim,ist,iend,
5  & ilo,ihi,jlo,jhi)
6 c
7  implicit double precision (a-h,o-z)
8  dimension badpts(2,npts)
9  dimension iscr(idim), jscr(jdim)
10 c
11 c :::::::::::::::::::::::::::: SIGNS ::::::::::::::::::::::::::::::
12 c compute signatures = number of flagged cells in each row/column.
13 c also return first and last nonzero row/column, so don't have
14 c to waste time over entire region.
15 c :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
16 c
17  ilo= 1
18  ihi= idim
19  jlo= 1
20  jhi= jdim
21  do 10 i = 1, idim
22  10 iscr(i) = 0
23  do 15 j = 1, jdim
24  15 jscr(j) = 0
25 c
26 c count all flagged points in a given row/column in one pass through
27 c the points, i.e. a bin count
28 c
29  do 20 ipt = ist, iend
30  iloc = badpts(1,ipt)+1.1
31  jloc = badpts(2,ipt)+1.1
32  iscr(iloc) = iscr(iloc)+1
33  jscr(jloc) = jscr(jloc)+1
34  20 continue
35 c
36  do 30 ipt = 1, idim
37  if (iscr(ipt) .ne. 0) then
38  ilo = ipt
39  go to 40
40  endif
41  30 continue
42  40 do 50 ipt = 1, idim
43  if (iscr(idim+1-ipt) .ne. 0) then
44  ihi = idim+1-ipt
45  go to 60
46  endif
47  50 continue
48 
49  60 do 70 ipt = 1, jdim
50  if (jscr(ipt) .ne. 0) then
51  jlo = ipt
52  go to 80
53  endif
54  70 continue
55  80 do 90 ipt = 1, jdim
56  if (jscr(jdim+1-ipt) .ne. 0) then
57  jhi = jdim+1-ipt
58  go to 99
59  endif
60  90 continue
61 
62  99 return
63  end
subroutine signs(badpts, npts, iscr, jscr, idim, jdim, ist, iend, ilo, ihi, jlo, jhi)
Definition: signs.f:4