48 using val_type =
typename Kokkos::ArithTraits<ScalarType>::val_type;
49 using mag_type =
typename Kokkos::ArithTraits<val_type>::mag_type;
50 using device_type =
typename DeviceType::device_type;
51 using host_device_type =
typename Kokkos::View<mag_type*, device_type>::HostMirror::device_type;
63 const bool assumeSymmetric_) :
84 const Kokkos::View<mag_type*, device_type>&
colNorms_,
86 const Kokkos::View<mag_type*, device_type>& rowScaledColNorms_,
87 const bool assumeSymmetric_,
105 template<
class SrcDeviceType>
109 using execution_space =
typename device_type::execution_space;
111 Kokkos::deep_copy (execution_space(),
rowNorms, src.rowNorms);
115 Kokkos::deep_copy (execution_space(),
colNorms, src.colNorms);
116 if (src.colDiagonalEntries.extent (0) == 0) {
118 Kokkos::View<val_type*, device_type> (
"colDiagonalEntries", 0);
124 if (src.rowScaledColNorms.extent (0) == 0) {
126 Kokkos::View<mag_type*, device_type> (
"rowScaledColNorms", 0);