Implement TypedArray#reverse (#532)

This commit is contained in:
jtenner
2019-03-08 12:48:06 -05:00
committed by Daniel Wirtz
parent cdec865bef
commit d411415060
6 changed files with 6862 additions and 218 deletions

View File

@ -244,3 +244,16 @@ export function FOREACH<TArray extends TypedArray<T>, T>(
callbackfn(LOAD<T>(buffer, i, byteOffset), i, array);
}
}
@inline
export function REVERSE<TArray extends TypedArray<T>, T>(array: TArray): TArray {
var buffer = array.buffer;
var byteOffset = array.byteOffset;
for (let front = 0, back = array.length - 1; front < back; ++front, --back) {
let temp = LOAD<T>(buffer, front, byteOffset);
STORE<T>(buffer, front, LOAD<T>(buffer, back, byteOffset), byteOffset);
STORE<T>(buffer, back, temp, byteOffset);
}
return array;
}