1 subroutine concmp ( cmbase, rnbase, cnbase, vindex, nrows ,
2 $ ncols , nvrows, nvcols, rowstr, colidx,
3 $ colstr, rowidx, predrw, nextrw, predcl, ,
4 $ nextcl, ctab , rtab , colmrk, rowmrk,
5 $ cmclad, cmrwad, cnto , rnto , numcmp )
91 integer cmbase, rnbase, cnbase, vindex, nrows , ncols ,
92 $ nvrows, nvcols, numcmp
94 integer colstr (nrows+1), rowstr (ncols+1), rowidx (*),
97 integer predrw (ncols), nextrw (nrows),
98 $ predcl(nrows), nextcl(ncols),
99 $ cmclad(ncols), cmrwad(nrows),
100 $ colmrk(ncols), rowmrk(nrows),
102 $ cnto(ncols) , rnto(nrows)
108 integer col, compn, p, cn, rn, row, xcol, xrow
129 if ( rowmrk(p) .eq. vindex )
then
139 ctab(numcmp) = cnbase + 1 + cn
140 rtab(numcmp) = rnbase + 1 + rn
141 cmclad(cmbase + numcmp) = ctab(numcmp)
142 cmrwad(cmbase + numcmp) = rtab(numcmp)
145 nextrw(row) = rowstr(row)
154 100
do 200 xcol = nextrw(row), rowstr(row + 1) -1
157 if ( colmrk(col) .eq. vindex )
then
165 nextrw(row) = xcol + 1
168 nextcl(col) = colstr(col)
179 nextrw(row) = rowstr(row + 1)
181 if ( col .eq. 0 ) go to 500
189 300
do 400 xrow = nextcl(col), colstr(col + 1) - 1
191 if ( rowmrk(row) .eq. vindex )
then
199 nextcl(col) = xrow + 1
202 nextrw(row) = rowstr(row)
212 nextcl(col) = colstr(col + 1)
225 cmclad(cmbase + 1 + numcmp) = cnbase + 1 + nvcols
226 cmrwad(cmbase + 1 + numcmp) = rnbase + 1 + nvrows
228 do 600 col = 1, ncols
230 if ( compn .gt. 0 )
then
231 cnto(ctab(compn)) = col
232 ctab(compn) = ctab(compn) + 1
237 do 700 row = 1, nrows
239 if ( compn .gt. 0 )
then
240 rnto(rtab(compn)) = row
241 rtab(compn) = rtab(compn) + 1
subroutine concmp(cmbase, rnbase, cnbase, vindex, nrows, ncols, nvrows, nvcols, rowstr, colidx, colstr, rowidx, predrw, nextrw, predcl,, nextcl, ctab, rtab, colmrk, rowmrk, cmclad, cmrwad, cnto, rnto, numcmp)