@@ -12,8 +12,8 @@ namespace hipo {
1212HybridSolveHandler::HybridSolveHandler (
1313 const Symbolic& S, const std::vector<std::vector<double >>& sn_columns,
1414 const std::vector<std::vector<Int>>& swaps,
15- const std::vector<std::vector<double >>& pivot_2x2)
16- : SolveHandler(S, sn_columns), swaps_{swaps}, pivot_2x2_{pivot_2x2} {}
15+ const std::vector<std::vector<double >>& pivot_2x2, DataCollector& data )
16+ : SolveHandler(S, sn_columns, data ), swaps_{swaps}, pivot_2x2_{pivot_2x2} {}
1717
1818void HybridSolveHandler::forwardSolve (std::vector<double >& x) const {
1919 // Forward solve.
@@ -73,7 +73,7 @@ void HybridSolveHandler::forwardSolve(std::vector<double>& x) const {
7373 clock.start ();
7474#endif
7575 callAndTime_dtrsv (' U' , ' T' , ' U' , jb, &sn_columns_[sn][SnCol_ind], jb,
76- &x[x_start], 1 , * data_);
76+ &x[x_start], 1 , data_);
7777
7878 SnCol_ind += diag_entries;
7979
@@ -82,7 +82,7 @@ void HybridSolveHandler::forwardSolve(std::vector<double>& x) const {
8282 std::vector<double > y (gemv_space);
8383
8484 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_);
85+ jb, &x[x_start], 1 , 0.0 , y.data (), 1 , data_);
8686 SnCol_ind += jb * gemv_space;
8787#if HIPO_TIMING_LEVEL >= 2
8888 if (data_) data_->sumTime (kTimeSolveSolve_dense , clock.stop ());
@@ -191,11 +191,11 @@ void HybridSolveHandler::backwardSolve(std::vector<double>& x) const {
191191#endif
192192 SnCol_ind -= jb * gemv_space;
193193 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+ jb, y.data (), 1 , 1.0 , &x[x_start], 1 , data_);
195195
196196 SnCol_ind -= diag_entries;
197197 callAndTime_dtrsv (' U' , ' N' , ' U' , jb, &sn_columns_[sn][SnCol_ind], jb,
198- &x[x_start], 1 , * data_);
198+ &x[x_start], 1 , data_);
199199#if HIPO_TIMING_LEVEL >= 2
200200 if (data_) data_->sumTime (kTimeSolveSolve_dense , clock.stop ());
201201#endif
0 commit comments