| 201 | } |
| 202 | |
| 203 | af_err af_is_owner(bool *result, const af_array arr) { |
| 204 | try { |
| 205 | bool res = false; |
| 206 | |
| 207 | af_dtype ty = getInfo(arr).getType(); |
| 208 | |
| 209 | switch (ty) { |
| 210 | case f32: res = getArray<float>(arr).isOwner(); break; |
| 211 | case f64: res = getArray<double>(arr).isOwner(); break; |
| 212 | case c32: res = getArray<cfloat>(arr).isOwner(); break; |
| 213 | case c64: res = getArray<cdouble>(arr).isOwner(); break; |
| 214 | case u32: res = getArray<uint>(arr).isOwner(); break; |
| 215 | case s32: res = getArray<int>(arr).isOwner(); break; |
| 216 | case u64: res = getArray<uintl>(arr).isOwner(); break; |
| 217 | case s64: res = getArray<intl>(arr).isOwner(); break; |
| 218 | case u16: res = getArray<ushort>(arr).isOwner(); break; |
| 219 | case s16: res = getArray<short>(arr).isOwner(); break; |
| 220 | case b8: res = getArray<char>(arr).isOwner(); break; |
| 221 | case u8: res = getArray<uchar>(arr).isOwner(); break; |
| 222 | case s8: res = getArray<schar>(arr).isOwner(); break; |
| 223 | case f16: res = getArray<half>(arr).isOwner(); break; |
| 224 | default: TYPE_ERROR(6, ty); |
| 225 | } |
| 226 | |
| 227 | std::swap(*result, res); |
| 228 | } |
| 229 | CATCHALL; |
| 230 | return AF_SUCCESS; |
| 231 | } |
| 232 | |
| 233 | af_err af_get_allocated_bytes(size_t *bytes, const af_array arr) { |
| 234 | try { |