59 cblktax = symbptr->
cblktab - baseval;
60 cblkmax = symbptr->
cblknbr + (baseval - 1);
61 bloktax = symbptr->
bloktab - baseval;
62 blokmax = symbptr->
bloknbr + baseval;
65 for (cblknum = bloknum = baseval;
66 cblknum <= cblkmax; cblknum ++) {
67 if ((cblktax[cblknum].fcolnum < baseval) ||
68 (cblktax[cblknum].
lcolnum > nodemax) ||
69 (cblktax[cblknum].bloknum > blokmax) ||
71 ((cblktax[cblknum].brownum != -1) &&
74 (cblktax[cblknum + 1].bloknum <= cblktax[cblknum].bloknum))
76 pastix_print_error(
"symbolCheck: invalid column block array" );
81 if ((bloktax[bloknum].frownum != cblktax[cblknum].fcolnum) ||
82 (bloktax[bloknum].lrownum != cblktax[cblknum].lcolnum) ||
83 (bloktax[bloknum].fcblknm != cblknum)) {
84 pastix_print_error(
"symbolCheck: invalid diagonal block" );
89 for (bloknum ++; bloknum < cblktax[cblknum + 1].
bloknum; bloknum ++) {
90 if ((bloktax[bloknum].lcblknm != cblknum) ||
91 (bloktax[bloknum].fcblknm < baseval) ||
92 (bloktax[bloknum].fcblknm > cblkmax) ||
93 (bloktax[bloknum].frownum <= bloktax[bloknum - 1].lrownum) ||
94 (bloktax[bloknum].fcblknm < bloktax[bloknum - 1].fcblknm)) {
95 pastix_print_error(
"symbolCheck: invalid block array" );
102 assert( (cblktax[cblknum].brownum == -1) ||
103 (cblktax[cblknum].brownum == (symbptr->
bloknbr - symbptr->
cblknbr)) );
107 pastix_print_error(
"symbolCheck: invalid schurfcol" );
BEGIN_C_DECLS typedef int pastix_int_t
int pastixSymbolCheck(const symbol_matrix_t *symbptr)
Checks the consistency of the given symbolic block matrix.
Symbol column block structure.