80 using val_type =
typename Kokkos::ArithTraits<ScalarType>::val_type;
81 using mag_type =
typename Kokkos::ArithTraits<val_type>::mag_type;
82 using device_type =
typename DeviceType::device_type;
83 using host_device_type =
typename Kokkos::View<mag_type*, device_type>::HostMirror::device_type;
95 const bool assumeSymmetric_) :
116 const Kokkos::View<mag_type*, device_type>&
colNorms_,
118 const Kokkos::View<mag_type*, device_type>& rowScaledColNorms_,
119 const bool assumeSymmetric_,
137 template<
class SrcDeviceType>
141 using execution_space =
typename device_type::execution_space;
143 Kokkos::deep_copy (execution_space(),
rowNorms, src.rowNorms);
147 Kokkos::deep_copy (execution_space(),
colNorms, src.colNorms);
148 if (src.colDiagonalEntries.extent (0) == 0) {
150 Kokkos::View<val_type*, device_type> (
"colDiagonalEntries", 0);
156 if (src.rowScaledColNorms.extent (0) == 0) {
158 Kokkos::View<mag_type*, device_type> (
"rowScaledColNorms", 0);