@@ -23,16 +23,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
2323 < div class ='clearfix '>
2424
2525 < div class ='fl pad1y space-right2 '>
26- < span class ="strong "> 96.11 % </ span >
26+ < span class ="strong "> 100 % </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 99/103 </ span >
28+ < span class ='fraction '> 101/101 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
33- < span class ="strong "> 50 % </ span >
33+ < span class ="strong "> 100 % </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 2/4 </ span >
35+ < span class ='fraction '> 6/6 </ span >
3636 </ div >
3737
3838
@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
4444
4545
4646 < div class ='fl pad1y space-right2 '>
47- < span class ="strong "> 96.11 % </ span >
47+ < span class ="strong "> 100 % </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 99/103 </ span >
49+ < span class ='fraction '> 101/101 </ span >
5050 </ div >
5151
5252
@@ -164,9 +164,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
164164< a name ='L99 '> </ a > < a href ='#L99 '> 99</ a >
165165< a name ='L100 '> </ a > < a href ='#L100 '> 100</ a >
166166< a name ='L101 '> </ a > < a href ='#L101 '> 101</ a >
167- < a name ='L102 '> </ a > < a href ='#L102 '> 102</ a >
168- < a name =' L103 ' > </ a > < a href =' #L103 ' > 103 </ a >
169- < a name =' L104 ' > </ a > < a href =' #L104 ' > 104 </ a > </ td > < td class =" line-coverage quiet " > < span class ="cline-any cline-yes "> 1x</ span >
167+ < a name ='L102 '> </ a > < a href ='#L102 '> 102</ a > </ td > < td class =" line-coverage quiet " > < span class =" cline-any cline-yes " > 1x </ span >
168+ < span class =" cline-any cline-yes " > 1x </ span >
169+ < span class ="cline-any cline-yes "> 1x</ span >
170170< span class ="cline-any cline-yes "> 1x</ span >
171171< span class ="cline-any cline-yes "> 1x</ span >
172172< span class ="cline-any cline-yes "> 1x</ span >
@@ -230,40 +230,36 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
230230< span class ="cline-any cline-yes "> 1x</ span >
231231< span class ="cline-any cline-yes "> 1x</ span >
232232< span class ="cline-any cline-yes "> 1x</ span >
233+ < span class ="cline-any cline-yes "> 25x</ span >
234+ < span class ="cline-any cline-yes "> 25x</ span >
235+ < span class ="cline-any cline-yes "> 25x</ span >
236+ < span class ="cline-any cline-yes "> 25x</ span >
237+ < span class ="cline-any cline-yes "> 25x</ span >
238+ < span class ="cline-any cline-yes "> 25x</ span >
239+ < span class ="cline-any cline-yes "> 25x</ span >
240+ < span class ="cline-any cline-yes "> 25x</ span >
241+ < span class ="cline-any cline-yes "> 25x</ span >
242+ < span class ="cline-any cline-yes "> 25x</ span >
243+ < span class ="cline-any cline-yes "> 25x</ span >
233244< span class ="cline-any cline-yes "> 1x</ span >
234245< span class ="cline-any cline-yes "> 1x</ span >
235- < span class ="cline-any cline-yes "> 6x</ span >
236- < span class ="cline-any cline-yes "> 6x</ span >
237- < span class ="cline-any cline-yes "> 6x</ span >
238- < span class ="cline-any cline-yes "> 6x</ span >
239- < span class ="cline-any cline-yes "> 6x</ span >
240- < span class ="cline-any cline-yes "> 6x</ span >
241- < span class ="cline-any cline-yes "> 6x</ span >
242- < span class ="cline-any cline-yes "> 6x</ span >
243- < span class ="cline-any cline-yes "> 6x</ span >
244- < span class ="cline-any cline-yes "> 6x</ span >
245- < span class ="cline-any cline-yes "> 6x</ span >
246- < span class ="cline-any cline-yes "> 6x</ span >
247- < span class ="cline-any cline-yes "> 6x</ span >
248- < span class ="cline-any cline-no "> </ span >
249- < span class ="cline-any cline-no "> </ span >
250- < span class ="cline-any cline-yes "> 6x</ span >
251- < span class ="cline-any cline-yes "> 6x</ span >
252- < span class ="cline-any cline-yes "> 6x</ span >
253- < span class ="cline-any cline-no "> </ span >
254- < span class ="cline-any cline-no "> </ span >
255- < span class ="cline-any cline-yes "> 6x</ span >
256- < span class ="cline-any cline-yes "> 6x</ span >
257- < span class ="cline-any cline-yes "> 6x</ span >
258- < span class ="cline-any cline-yes "> 6x</ span >
259- < span class ="cline-any cline-yes "> 6x</ span >
260- < span class ="cline-any cline-yes "> 6x</ span >
261- < span class ="cline-any cline-yes "> 6x</ span >
262- < span class ="cline-any cline-yes "> 6x</ span >
263- < span class ="cline-any cline-yes "> 6x</ span >
264- < span class ="cline-any cline-yes "> 6x</ span >
265- < span class ="cline-any cline-yes "> 6x</ span >
266- < span class ="cline-any cline-yes "> 6x</ span >
246+ < span class ="cline-any cline-yes "> 24x</ span >
247+ < span class ="cline-any cline-yes "> 24x</ span >
248+ < span class ="cline-any cline-yes "> 25x</ span >
249+ < span class ="cline-any cline-yes "> 8x</ span >
250+ < span class ="cline-any cline-yes "> 8x</ 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 "> 25x</ span >
267263< span class ="cline-any cline-yes "> 1x</ span >
268264< span class ="cline-any cline-yes "> 1x</ span >
269265< span class ="cline-any cline-yes "> 1x</ span >
@@ -292,7 +288,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
292288// MODULES //
293289
294290var normalizeIndex = require( '@stdlib/ndarray/base/normalize-index' );
295- var getShape = require( '@stdlib/ndarray/base/shape ' );
291+ var ndims = require( '@stdlib/ndarray/base/ndims ' );
296292var sliceFrom = require( '@stdlib/ndarray/base/slice-from' );
297293var sliceTo = require( '@stdlib/ndarray/base/slice-to' );
298294var nulls = require( '@stdlib/array/base/nulls' );
@@ -338,32 +334,30 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
338334function shift( x, dim, writable ) {
339335 var v0;
340336 var v1;
341- var sh;
342337 var N;
343338 var s;
344339
345340 // Retrieve array meta data:
346- sh = getShape( x );
347- N = sh.length;
341+ N = ndims( x );
348342
349343 // Check whether we were provided a zero-dimensional array...
350- if ( N === 0 ) < span class =" branch-0 cbranch-no " title =" branch not covered " > { </ span >
351- < span class =" cstat-no " title =" statement not covered " > throw new TypeError( format( 'invalid argument. First argument must be an ndarray having one or more dimensions. Number of dimensions: %d.', N ) );</ span >
352- < span class =" cstat-no " title =" statement not covered " > } </ span >
344+ if ( N === 0 ) {
345+ throw new TypeError( format( 'invalid argument. First argument must be an ndarray having one or more dimensions. Number of dimensions: %d.', N ) );
346+ }
353347 // Normalize the dimension index:
354348 dim = normalizeIndex( dim, N-1 );
355- if ( dim === -1 ) < span class =" branch-0 cbranch-no " title =" branch not covered " > { </ span >
356- < span class =" cstat-no " title =" statement not covered " > throw new RangeError( format( 'invalid argument. Dimension index exceeds the number of dimensions. Number of dimensions: %d. Value: `%d`.', N, dim ) );</ span >
357- < span class =" cstat-no " title =" statement not covered " > } </ span >
349+ if ( dim === -1 ) {
350+ throw new RangeError( format( 'invalid argument. Dimension index exceeds the number of dimensions. Number of dimensions: %d. Value: `%d`.', N, dim ) );
351+ }
358352 // Define a list of slice arguments:
359353 s = nulls( N );
360- s[ dim ] = sh[ dim ] - ( sh[ dim ] - 1 ) ;
354+ s[ dim ] = 1 ;
361355
362356 // Create a truncated view:
363- v0 = sliceFrom( x, s, true , writable );
357+ v0 = sliceFrom( x, s, false , writable );
364358
365359 // Create a view of the first element(s):
366- v1 = sliceTo( x, s, true , writable );
360+ v1 = sliceTo( x, s, false , writable );
367361
368362 return [ v0, v1 ];
369363}
@@ -379,7 +373,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
379373 < div class ='footer quiet pad2 space-top1 center small '>
380374 Code coverage generated by
381375 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
382- at 2025-09-24T17:07:07.454Z
376+ at 2025-09-25T07:32:18.477Z
383377 </ div >
384378 < script src ="../../../../prettify.js "> </ script >
385379 < script >
0 commit comments