This commit is contained in:
dcode
2019-05-25 15:07:42 +02:00
parent 33a892de44
commit bd9d77e151
3 changed files with 233 additions and 243 deletions

View File

@ -956,11 +956,10 @@ function SUBARRAY<TArray extends ArrayBufferView, T>(
begin: i32,
end: i32
): TArray {
var length = <i32>array.length;
if (begin < 0) begin = max(length + begin, 0);
else begin = min(begin, length);
if (end < 0) end = max(length + end, begin);
else end = max(min(end, length), begin);
var len = <i32>array.length;
begin = begin < 0 ? max(len + begin, 0) : min(begin, len);
end = end < 0 ? max(len + end, 0) : min(end, len);
end = max(end, begin);
var out = changetype<TArray>(__alloc(offsetof<TArray>(), idof<TArray>())); // retains
out.data = array.data; // retains
out.dataStart = array.dataStart + (<usize>begin << alignof<T>());