| 155 | af_err af_lock_device_ptr(const af_array arr) { return af_lock_array(arr); } |
| 156 | |
| 157 | af_err af_lock_array(const af_array arr) { |
| 158 | try { |
| 159 | af_dtype type = getInfo(arr).getType(); |
| 160 | |
| 161 | switch (type) { |
| 162 | case f32: lockArray<float>(arr); break; |
| 163 | case f64: lockArray<double>(arr); break; |
| 164 | case c32: lockArray<cfloat>(arr); break; |
| 165 | case c64: lockArray<cdouble>(arr); break; |
| 166 | case s32: lockArray<int>(arr); break; |
| 167 | case u32: lockArray<uint>(arr); break; |
| 168 | case s64: lockArray<intl>(arr); break; |
| 169 | case u64: lockArray<uintl>(arr); break; |
| 170 | case s16: lockArray<short>(arr); break; |
| 171 | case u16: lockArray<ushort>(arr); break; |
| 172 | case s8: lockArray<schar>(arr); break; |
| 173 | case u8: lockArray<uchar>(arr); break; |
| 174 | case b8: lockArray<char>(arr); break; |
| 175 | case f16: lockArray<half>(arr); break; |
| 176 | default: TYPE_ERROR(4, type); |
| 177 | } |
| 178 | } |
| 179 | CATCHALL; |
| 180 | |
| 181 | return AF_SUCCESS; |
| 182 | } |
| 183 | |
| 184 | template<typename T> |
| 185 | inline bool checkUserLock(const af_array arr) { |
no test coverage detected