| 149 | } |
| 150 | |
| 151 | af_err af_mean_all(double *realVal, double *imagVal, const af_array in) { |
| 152 | try { |
| 153 | const ArrayInfo &info = getInfo(in); |
| 154 | af_dtype type = info.getType(); |
| 155 | switch (type) { |
| 156 | case f64: *realVal = mean<double, double>(in); break; |
| 157 | case f32: *realVal = mean<float, float>(in); break; |
| 158 | case s32: *realVal = mean<int, float>(in); break; |
| 159 | case u32: *realVal = mean<unsigned, float>(in); break; |
| 160 | case s64: *realVal = mean<intl, double>(in); break; |
| 161 | case u64: *realVal = mean<uintl, double>(in); break; |
| 162 | case s16: *realVal = mean<short, float>(in); break; |
| 163 | case u16: *realVal = mean<ushort, float>(in); break; |
| 164 | case s8: *realVal = mean<schar, float>(in); break; |
| 165 | case u8: *realVal = mean<uchar, float>(in); break; |
| 166 | case b8: *realVal = mean<char, float>(in); break; |
| 167 | case f16: |
| 168 | *realVal = mean<arrayfire::common::half, float>(in); |
| 169 | break; |
| 170 | case c32: { |
| 171 | cfloat tmp = mean<cfloat, cfloat>(in); |
| 172 | *realVal = real(tmp); |
| 173 | *imagVal = imag(tmp); |
| 174 | } break; |
| 175 | case c64: { |
| 176 | cdouble tmp = mean<cdouble, cdouble>(in); |
| 177 | *realVal = real(tmp); |
| 178 | *imagVal = imag(tmp); |
| 179 | } break; |
| 180 | default: TYPE_ERROR(1, type); |
| 181 | } |
| 182 | } |
| 183 | CATCHALL; |
| 184 | return AF_SUCCESS; |
| 185 | } |
| 186 | |
| 187 | af_err af_mean_all_weighted(double *realVal, double *imagVal, const af_array in, |
| 188 | const af_array weights) { |
no test coverage detected