| 1193 | } |
| 1194 | |
| 1195 | void * das_array_at_i64 ( das_array * arr, uint64_t index, uint32_t stride ) { |
| 1196 | // size_t matches das_array_at's pattern: 64-bit on 64-bit platforms (where |
| 1197 | // arr.size > UINT32_MAX is reachable), 32-bit on 32-bit platforms (where |
| 1198 | // a huge index can't be addressed anyway -- same graceful degradation as |
| 1199 | // the legacy entry). |
| 1200 | return ((Array *)arr)->data + size_t(index) * size_t(stride); |
| 1201 | } |
| 1202 | |
| 1203 | void das_array_lock ( das_context * context, das_array * arr ) { |
| 1204 | array_lock(*(Context *)context, *(Array *)arr, nullptr); |