| 234 | } |
| 235 | |
| 236 | __forceinline int64_t builtin_array_push ( Array & pArray, int64_t index, int stride, Context * context, LineInfoArg * at ) { |
| 237 | uint64_t idx = pArray.size; |
| 238 | array_grow(*context, pArray, stride, at); |
| 239 | if ( uint64_t(index) >= pArray.size ) context->throw_error_at(at, "insert index out of range, %lld of %llu", (long long)index, (unsigned long long)pArray.size); |
| 240 | memmove ( pArray.data+(index+1)*stride, pArray.data+index*stride, size_t(idx-uint64_t(index))*size_t(stride) ); |
| 241 | return index; |
| 242 | } |
| 243 | |
| 244 | __forceinline int64_t builtin_array_push_zero ( Array & pArray, int64_t index, int stride, Context * context, LineInfoArg * at ) { |
| 245 | uint64_t idx = pArray.size; |
nothing calls this directly
no test coverage detected