45 int numConnectivities)
48 colPattern_(colpattern),
52 connectivityOffsets_(),
53 numRecordsPerConnectivity_(rowpattern->getNumIDs()),
54 connectivities_(rowpattern->getNumIDs()*numConnectivities),
55 numRecordsPerColConnectivity_(colpattern->getNumIDs()),
56 colConnectivities_(colpattern->getNumIDs()*numConnectivities),
65 const int* rowOffsets,
66 bool offsets_are_lengths)
73 connectivityOffsets_(),
74 numRecordsPerConnectivity_(0),
76 numRecordsPerColConnectivity_(0),
81 connectivities_.resize(numRowIDs);
82 connectivityOffsets_.resize(numRowIDs+1);
85 if (offsets_are_lengths) {
87 for(
int ii=0; ii<numRowIDs; ++ii) {
88 sum += rowOffsets[ii];
92 else clen = rowOffsets[numRowIDs];
94 colConnectivities_.resize(clen);
97 if (offsets_are_lengths) {
99 for(i=0; i<numRowIDs; ++i) {
100 connIDsOffsetMap_[rowIDs[i]] = i;
101 connectivityOffsets_[i] = offset;
102 offset += rowOffsets[i];
104 connectivityOffsets_[numRowIDs] = offset;
107 for(i=0; i<numRowIDs; ++i) {
108 connIDsOffsetMap_[rowIDs[i]] = i;
109 connectivityOffsets_[i] = rowOffsets[i];
111 connectivityOffsets_[numRowIDs] = rowOffsets[numRowIDs];
119 const int* rowOffsets,
120 bool offsets_are_lengths)
127 connectivityOffsets_(),
128 numRecordsPerConnectivity_(0),
130 numRecordsPerColConnectivity_(0),
131 colConnectivities_(),
135 connectivities_.resize(numRowIDs);
136 connectivityOffsets_.resize(numRowIDs+1);
139 if (offsets_are_lengths) {
141 for(
int ii=0; ii<numRowIDs; ++ii) {
142 sum += rowOffsets[ii];
146 else clen = rowOffsets[numRowIDs];
148 colConnectivities_.resize(clen);
151 if (offsets_are_lengths) {
153 for(i=0; i<numRowIDs; ++i) {
154 connIDsOffsetMap_[rowIDs[i]] = i;
155 connectivityOffsets_[i] = offset;
156 offset += rowOffsets[i];
158 connectivityOffsets_[numRowIDs] = offset;
161 for(i=0; i<numRowIDs+1; ++i) {
162 connIDsOffsetMap_[rowIDs[i]] = i;
163 connectivityOffsets_[i] = rowOffsets[i];
165 connectivityOffsets_[numRowIDs] = rowOffsets[numRowIDs];