File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -300,8 +300,14 @@ class ResidualNormFactory
300300 >(args.b , [&](auto dense_b) {
301301 using value_type =
302302 typename std::decay_t <decltype (*dense_b)>::value_type;
303- auto dense_x = as<matrix::Dense<value_type>>(args.x );
304- auto dense_r = as<matrix::Dense<value_type>>(args.initial_residual );
303+ constexpr bool is_distributed =
304+ std::is_same_v<std::decay_t <decltype (*dense_b)>,
305+ experimental::distributed::Vector<value_type>>;
306+ using vector_type = std::conditional_t <
307+ is_distributed, experimental::distributed::Vector<value_type>,
308+ matrix::Dense<value_type>>;
309+ auto dense_x = as<vector_type>(args.x );
310+ auto dense_r = as<vector_type>(args.initial_residual );
305311 auto cast_threshold = static_cast <remove_complex<value_type>>(
306312 this ->parameters_ .threshold );
307313 auto cast_args =
You can’t perform that action at this time.
0 commit comments