Skip to content

Commit ccc8841

Browse files
committed
debug
1 parent 62a9a31 commit ccc8841

File tree

1 file changed

+19
-15
lines changed

1 file changed

+19
-15
lines changed

highs/ipm/hipo/factorhighs/HybridSolveHandler.cpp

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,11 @@ void HybridSolveHandler::forwardSolve(std::vector<double>& x) const {
8080
// temporary space for gemv
8181
const Int gemv_space = ldSn - nb * j - jb;
8282
std::vector<double> y(gemv_space);
83-
84-
callAndTime_dgemv('T', jb, gemv_space, 1.0, &sn_columns_[sn][SnCol_ind],
85-
jb, &x[x_start], 1, 0.0, y.data(), 1, data_);
86-
SnCol_ind += jb * gemv_space;
83+
if (gemv_space > 0) {
84+
callAndTime_dgemv('T', jb, gemv_space, 1.0, &sn_columns_[sn][SnCol_ind],
85+
jb, &x[x_start], 1, 0.0, y.data(), 1, data_);
86+
SnCol_ind += jb * gemv_space;
87+
}
8788
#if HIPO_TIMING_LEVEL >= 2
8889
if (data_) data_->sumTime(kTimeSolveSolve_dense, clock.stop());
8990
#endif
@@ -174,24 +175,27 @@ void HybridSolveHandler::backwardSolve(std::vector<double>& x) const {
174175
const Int gemv_space = ldSn - nb * j - jb;
175176
std::vector<double> y(gemv_space);
176177

178+
if (gemv_space > 0) {
177179
#if HIPO_TIMING_LEVEL >= 2
178-
clock.start();
180+
clock.start();
179181
#endif
180-
// scatter entries into y
181-
for (Int i = 0; i < gemv_space; ++i) {
182-
const Int row = S_.rows(start_row + nb * j + jb + i);
183-
y[i] = x[row];
184-
}
182+
// scatter entries into y
183+
for (Int i = 0; i < gemv_space; ++i) {
184+
const Int row = S_.rows(start_row + nb * j + jb + i);
185+
y[i] = x[row];
186+
}
185187
#if HIPO_TIMING_LEVEL >= 2
186-
if (data_) data_->sumTime(kTimeSolveSolve_sparse, clock.stop());
188+
if (data_) data_->sumTime(kTimeSolveSolve_sparse, clock.stop());
187189
#endif
188190

189191
#if HIPO_TIMING_LEVEL >= 2
190-
clock.start();
192+
clock.start();
191193
#endif
192-
SnCol_ind -= jb * gemv_space;
193-
callAndTime_dgemv('N', jb, gemv_space, -1.0, &sn_columns_[sn][SnCol_ind],
194-
jb, y.data(), 1, 1.0, &x[x_start], 1, data_);
194+
SnCol_ind -= jb * gemv_space;
195+
callAndTime_dgemv('N', jb, gemv_space, -1.0,
196+
&sn_columns_[sn][SnCol_ind], jb, y.data(), 1, 1.0,
197+
&x[x_start], 1, data_);
198+
}
195199

196200
SnCol_ind -= diag_entries;
197201
callAndTime_dtrsv('U', 'N', 'U', jb, &sn_columns_[sn][SnCol_ind], jb,

0 commit comments

Comments
 (0)