@@ -25,7 +25,7 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 115/115 </ span >
28+ < span class ='fraction '> 112/112 </ span >
2929 </ div >
3030
3131
@@ -46,7 +46,7 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 115/115 </ span >
49+ < span class ='fraction '> 112/112 </ span >
5050 </ div >
5151
5252
@@ -175,10 +175,7 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
175175< a name ='L110 '> </ a > < a href ='#L110 '> 110</ a >
176176< a name ='L111 '> </ a > < a href ='#L111 '> 111</ a >
177177< a name ='L112 '> </ a > < a href ='#L112 '> 112</ a >
178- < a name ='L113 '> </ a > < a href ='#L113 '> 113</ a >
179- < a name ='L114 '> </ a > < a href ='#L114 '> 114</ a >
180- < a name ='L115 '> </ a > < a href ='#L115 '> 115</ a >
181- < a name ='L116 '> </ a > < a href ='#L116 '> 116</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
178+ < a name ='L113 '> </ a > < a href ='#L113 '> 113</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 3x</ span >
182179< span class ="cline-any cline-yes "> 3x</ span >
183180< span class ="cline-any cline-yes "> 3x</ span >
184181< span class ="cline-any cline-yes "> 3x</ span >
@@ -241,53 +238,50 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
241238< span class ="cline-any cline-yes "> 3x</ span >
242239< span class ="cline-any cline-yes "> 3x</ span >
243240< span class ="cline-any cline-yes "> 3x</ span >
244- < span class ="cline-any cline-yes "> 3x</ span >
245- < span class ="cline-any cline-yes "> 3x</ span >
246- < span class ="cline-any cline-yes "> 3x</ span >
247- < span class ="cline-any cline-yes "> 3x</ span >
248- < span class ="cline-any cline-yes "> 3x</ span >
249- < span class ="cline-any cline-yes "> 3x</ span >
250- < span class ="cline-any cline-yes "> 3x</ span >
251- < span class ="cline-any cline-yes "> 13x</ span >
252- < span class ="cline-any cline-yes "> 13x</ span >
253- < span class ="cline-any cline-yes "> 13x</ span >
254- < span class ="cline-any cline-yes "> 13x</ span >
255- < span class ="cline-any cline-yes "> 13x</ span >
256- < span class ="cline-any cline-yes "> 13x</ span >
257- < span class ="cline-any cline-yes "> 13x</ span >
258- < span class ="cline-any cline-yes "> 13x</ span >
259- < span class ="cline-any cline-yes "> 13x</ span >
260- < span class ="cline-any cline-yes "> 13x</ span >
261- < span class ="cline-any cline-yes "> 13x</ span >
262- < span class ="cline-any cline-yes "> 13x</ span >
263- < span class ="cline-any cline-yes "> 13x</ span >
264- < span class ="cline-any cline-yes "> 13x</ span >
265- < span class ="cline-any cline-yes "> 13x</ span >
266- < span class ="cline-any cline-yes "> 13x</ span >
267- < span class ="cline-any cline-yes "> 13x</ span >
268- < span class ="cline-any cline-yes "> 13x</ span >
269- < span class ="cline-any cline-yes "> 13x</ span >
270- < span class ="cline-any cline-yes "> 13x</ span >
271- < span class ="cline-any cline-yes "> 13x</ span >
272- < span class ="cline-any cline-yes "> 13x</ span >
273- < span class ="cline-any cline-yes "> 13x</ span >
274- < span class ="cline-any cline-yes "> 13x</ span >
275- < span class ="cline-any cline-yes "> 13x</ span >
276- < span class ="cline-any cline-yes "> 13x</ span >
277- < span class ="cline-any cline-yes "> 13x</ span >
278- < span class ="cline-any cline-yes "> 13x</ span >
279- < span class ="cline-any cline-yes "> 13x</ span >
280- < span class ="cline-any cline-yes "> 43x</ span >
281- < span class ="cline-any cline-yes "> 25x</ span >
282- < span class ="cline-any cline-yes "> 43x</ span >
283- < span class ="cline-any cline-yes "> 18x</ span >
284- < span class ="cline-any cline-yes "> 18x</ span >
285- < span class ="cline-any cline-yes "> 43x</ span >
286- < span class ="cline-any cline-yes "> 43x</ span >
287- < span class ="cline-any cline-yes "> 43x</ span >
288- < span class ="cline-any cline-yes "> 43x</ span >
289- < span class ="cline-any cline-yes "> 13x</ span >
290- < span class ="cline-any cline-yes "> 13x</ span >
241+ < span class ="cline-any cline-yes "> 16x</ span >
242+ < span class ="cline-any cline-yes "> 16x</ span >
243+ < span class ="cline-any cline-yes "> 16x</ span >
244+ < span class ="cline-any cline-yes "> 16x</ span >
245+ < span class ="cline-any cline-yes "> 16x</ span >
246+ < span class ="cline-any cline-yes "> 16x</ span >
247+ < span class ="cline-any cline-yes "> 16x</ span >
248+ < span class ="cline-any cline-yes "> 16x</ span >
249+ < span class ="cline-any cline-yes "> 16x</ span >
250+ < span class ="cline-any cline-yes "> 16x</ span >
251+ < span class ="cline-any cline-yes "> 16x</ span >
252+ < span class ="cline-any cline-yes "> 16x</ span >
253+ < span class ="cline-any cline-yes "> 16x</ span >
254+ < span class ="cline-any cline-yes "> 16x</ span >
255+ < span class ="cline-any cline-yes "> 16x</ span >
256+ < span class ="cline-any cline-yes "> 16x</ span >
257+ < span class ="cline-any cline-yes "> 16x</ span >
258+ < span class ="cline-any cline-yes "> 16x</ span >
259+ < span class ="cline-any cline-yes "> 16x</ span >
260+ < span class ="cline-any cline-yes "> 16x</ span >
261+ < span class ="cline-any cline-yes "> 16x</ span >
262+ < span class ="cline-any cline-yes "> 16x</ span >
263+ < span class ="cline-any cline-yes "> 16x</ span >
264+ < span class ="cline-any cline-yes "> 16x</ span >
265+ < span class ="cline-any cline-yes "> 16x</ span >
266+ < span class ="cline-any cline-yes "> 16x</ span >
267+ < span class ="cline-any cline-yes "> 16x</ span >
268+ < span class ="cline-any cline-yes "> 16x</ span >
269+ < span class ="cline-any cline-yes "> 16x</ span >
270+ < span class ="cline-any cline-yes "> 16x</ span >
271+ < span class ="cline-any cline-yes "> 16x</ span >
272+ < span class ="cline-any cline-yes "> 16x</ span >
273+ < span class ="cline-any cline-yes "> 52x</ span >
274+ < span class ="cline-any cline-yes "> 31x</ span >
275+ < span class ="cline-any cline-yes "> 52x</ span >
276+ < span class ="cline-any cline-yes "> 21x</ span >
277+ < span class ="cline-any cline-yes "> 21x</ span >
278+ < span class ="cline-any cline-yes "> 52x</ span >
279+ < span class ="cline-any cline-yes "> 52x</ span >
280+ < span class ="cline-any cline-yes "> 52x</ span >
281+ < span class ="cline-any cline-yes "> 52x</ span >
282+ < span class ="cline-any cline-yes "> 52x</ span >
283+ < span class ="cline-any cline-yes "> 16x</ span >
284+ < span class ="cline-any cline-yes "> 16x</ span >
291285< span class ="cline-any cline-yes "> 3x</ span >
292286< span class ="cline-any cline-yes "> 3x</ span >
293287< span class ="cline-any cline-yes "> 3x</ span >
@@ -313,12 +307,6 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
313307
314308'use strict';
315309
316- // MODULES //
317-
318- var AccessorArray = require( '@stdlib/array/base/accessor' );
319- var zeros = require( '@stdlib/array/base/zeros' );
320-
321-
322310// MAIN //
323311
324312/**
@@ -341,7 +329,12 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
341329* @param {Array<Function>} y.accessors - array element accessors
342330* @param {integer} strideY - stride length for `y`
343331* @param {NonNegativeInteger} offsetY - starting index for `y`
344- * @returns {AccessorArray} output array
332+ * @param {Object} out - output array object
333+ * @param {Collection} out.data - output array data
334+ * @param {Array<Function>} out.accessors - array element accessors
335+ * @param {integer} strideOut - stride length for `out`
336+ * @param {NonNegativeInteger} offsetOut - starting index for `out`
337+ * @returns {Object} output array object
345338*
346339* @example
347340* var toAccessorArray = require( '@stdlib/array/base/to-accessor-array' );
@@ -350,56 +343,54 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
350343* var condition = arraylike2object( toAccessorArray( [ 1, 0, 1 ] ) );
351344* var x = arraylike2object( toAccessorArray( [ 1.0, 2.0, 3.0 ] ) );
352345* var y = arraylike2object( toAccessorArray( [ 4.0, 5.0, 6.0 ] ) );
346+ * var out = arraylike2object( toAccessorArray( [ 0.0, 0.0, 0.0 ] ) );
353347*
354- * var out = gwhere( 3, condition, 1, 0, x, 1, 0, y, 1, 0 );
355- * // returns <AccessorArray>
348+ * gwhere( 3, condition, 1, 0, x, 1, 0, y, 1, 0, out, 1, 0 );
356349*
357- * var v = out.get( 0 );
350+ * var v = out.data. get( 0 );
358351* // returns 1.0
359- *
360- * v = out.get( 1 );
361- * // returns 5.0
362- *
363- * v = out.get( 2 );
364- * // returns 3.0
365352*/
366- function gwhere( N, condition, strideC, offsetC, x, strideX, offsetX, y, strideY, offsetY ) { // eslint-disable-line max-len
353+ function gwhere( N, condition, strideC, offsetC, x, strideX, offsetX, y, strideY, offsetY, out, strideOut, offsetOut ) { // eslint-disable-line max-len, max-params
367354 var cbuf;
368355 var xbuf;
369356 var ybuf;
357+ var obuf;
370358 var cget;
371359 var xget;
372360 var yget;
373- var out ;
361+ var oset ;
374362 var ic;
375363 var ix;
376364 var iy;
365+ var io;
377366 var i;
378-
379- out = new AccessorArray( zeros( N ) );
380367
381368 // Cache references to array data:
382369 cbuf = condition.data;
383370 xbuf = x.data;
384371 ybuf = y.data;
372+ obuf = out.data;
385373
386374 // Cache references to element accessors:
387375 cget = condition.accessors[ 0 ];
388376 xget = x.accessors[ 0 ];
389377 yget = y.accessors[ 0 ];
378+ oset = out.accessors[ 1 ];
390379
391380 ic = offsetC;
392381 ix = offsetX;
393382 iy = offsetY;
383+ io = offsetOut;
394384 for ( i = 0; i < N; i++ ) {
395385 if ( cget( cbuf, ic ) ) {
396- out.set( xget( xbuf, ix ), i );
386+ oset( obuf, io, xget( xbuf, ix ) );
397387 } else {
398- out.set( yget( ybuf, iy ), i );
388+ oset( obuf, io, yget( ybuf, iy ) );
399389 }
400390 ic += strideC;
401391 ix += strideX;
402392 iy += strideY;
393+ io += strideOut;
403394 }
404395 return out;
405396}
@@ -415,7 +406,7 @@ <h1><a href="index.html">All files</a> accessors.js</h1>
415406 < div class ='footer quiet pad2 space-top1 center small '>
416407 Code coverage generated by
417408 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
418- at 2026-04-15T08:08:21.572Z
409+ at 2026-04-16T13:03:36.459Z
419410 </ div >
420411 < script src ="prettify.js "> </ script >
421412 < script >
0 commit comments