MCPcopy Index your code
hub / github.com/nodejs/node / Reverse

Function Reverse

deps/v8/test/mjsunit/typedarray-growablesharedarraybuffer.js:3030–3082  ·  view source on GitHub ↗
(reverseHelper)

Source from the content-addressed store, hash-verified

3028})();
3029
3030function Reverse(reverseHelper) {
3031 for (let ctor of ctors) {
3032 const gsab = CreateGrowableSharedArrayBuffer(4 * ctor.BYTES_PER_ELEMENT,
3033 8 * ctor.BYTES_PER_ELEMENT);
3034 const fixedLength = new ctor(gsab, 0, 4);
3035 const fixedLengthWithOffset = new ctor(gsab, 2 * ctor.BYTES_PER_ELEMENT, 2);
3036 const lengthTracking = new ctor(gsab, 0);
3037 const lengthTrackingWithOffset = new ctor(gsab, 2 * ctor.BYTES_PER_ELEMENT);
3038
3039 const wholeArrayView = new ctor(gsab);
3040 function WriteData() {
3041 // Write some data into the array.
3042 for (let i = 0; i < wholeArrayView.length; ++i) {
3043 WriteToTypedArray(wholeArrayView, i, 2 * i);
3044 }
3045 }
3046 WriteData();
3047
3048 // Orig. array: [0, 2, 4, 6]
3049 // [0, 2, 4, 6] << fixedLength
3050 // [4, 6] << fixedLengthWithOffset
3051 // [0, 2, 4, 6, ...] << lengthTracking
3052 // [4, 6, ...] << lengthTrackingWithOffset
3053
3054 reverseHelper(fixedLength);
3055 assertEquals([6, 4, 2, 0], ToNumbers(wholeArrayView));
3056 reverseHelper(fixedLengthWithOffset);
3057 assertEquals([6, 4, 0, 2], ToNumbers(wholeArrayView));
3058 reverseHelper(lengthTracking);
3059 assertEquals([2, 0, 4, 6], ToNumbers(wholeArrayView));
3060 reverseHelper(lengthTrackingWithOffset);
3061 assertEquals([2, 0, 6, 4], ToNumbers(wholeArrayView));
3062
3063 // Grow.
3064 gsab.grow(6 * ctor.BYTES_PER_ELEMENT);
3065 WriteData();
3066
3067 // Orig. array: [0, 2, 4, 6, 8, 10]
3068 // [0, 2, 4, 6] << fixedLength
3069 // [4, 6] << fixedLengthWithOffset
3070 // [0, 2, 4, 6, 8, 10, ...] << lengthTracking
3071 // [4, 6, 8, 10, ...] << lengthTrackingWithOffset
3072
3073 reverseHelper(fixedLength);
3074 assertEquals([6, 4, 2, 0, 8, 10], ToNumbers(wholeArrayView));
3075 reverseHelper(fixedLengthWithOffset);
3076 assertEquals([6, 4, 0, 2, 8, 10], ToNumbers(wholeArrayView));
3077 reverseHelper(lengthTracking);
3078 assertEquals([10, 8, 2, 0, 4, 6], ToNumbers(wholeArrayView));
3079 reverseHelper(lengthTrackingWithOffset);
3080 assertEquals([10, 8, 6, 4, 0, 2], ToNumbers(wholeArrayView));
3081 }
3082}
3083Reverse(TypedArrayReverseHelper);
3084Reverse(ArrayReverseHelper);
3085

Calls 4

ToNumbersFunction · 0.85
WriteDataFunction · 0.70
assertEqualsFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…