EpetraExt  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
strchk.f
Go to the documentation of this file.
1  subroutine strchk ( nrows , ncols , colstr, rowidx, nhrows,
2  $ nhcols, nsrows, rnto , cnto , colset,
3  $ rowset, output )
4 
5 c ==================================================================
6 c ==================================================================
7 c ==== strchk -- check that square block has nonzero diagonal ====
8 c ==================================================================
9 c ==================================================================
10 
11 c ... for debugging purposes only
12 c created by john lewis, bcs, sept. 18, 1990
13 
14 c --------------
15 c ... parameters
16 c --------------
17 
18  integer nrows , ncols , nhrows, nhcols, nsrows, output
19 
20  integer colstr (ncols+1), rowidx (*),
21  $ rnto(nrows), cnto(ncols), colset(ncols),
22  $ rowset(nrows)
23 
24 c -------------------
25 c ... local variables
26 c -------------------
27 
28  integer i, row, col, xi
29 
30  logical match
31 
32 c ==================================================================
33 
34  do 300 i = 1, nsrows
35 
36  row = rnto(nhrows + i)
37  col = cnto(nhcols + i)
38 
39  match = .false.
40 
41  do 200 xi = colstr(col), colstr(col+1) - 1
42  match = match .or. (rowidx(xi) .eq. row)
43  200 continue
44 
45  if (.not. match .or. (rowset(row) .ne. col) .or.
46  $ (colset(col) .ne. row) ) then
47  write (output, *) ' failure in matching, row, col, ',
48  $ 'rowset(row), colset (col)',
49  $ row, col, rowset(row), colset(col)
50  endif
51 
52  300 continue
53 
54  return
55 
56  end
57 
subroutine strchk(nrows, ncols, colstr, rowidx, nhrows, nhcols, nsrows, rnto, cnto, colset, rowset, output)
Definition: strchk.f:1