| 107 | |
| 108 | template<typename T> |
| 109 | double cpu_norm_inf_impl(af::dim4 &dims, std::vector<T> &value) { |
| 110 | int M = dims[0]; |
| 111 | int N = dims[1]; |
| 112 | |
| 113 | double norm_inf = std::numeric_limits<double>::lowest(); |
| 114 | for (int m = 0; m < M; m++) { |
| 115 | T *rowM = value.data() + m; |
| 116 | double sum = 0; |
| 117 | for (int n = 0; n < N; n++) { sum += abs(rowM[n * M]); } |
| 118 | norm_inf = std::max(norm_inf, sum); |
| 119 | } |
| 120 | return norm_inf; |
| 121 | } |
| 122 | |
| 123 | double cpu_norm_inf(af::array &value) { |
| 124 | double norm_inf; |