@@ -25,7 +25,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 87/87 </ span >
28+ < span class ='fraction '> 95/95 </ span >
2929 </ div >
3030
3131
@@ -46,7 +46,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 87/87 </ span >
49+ < span class ='fraction '> 95/95 </ span >
5050 </ div >
5151
5252
@@ -150,7 +150,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
150150< a name ='L85 '> </ a > < a href ='#L85 '> 85</ a >
151151< a name ='L86 '> </ a > < a href ='#L86 '> 86</ a >
152152< a name ='L87 '> </ a > < a href ='#L87 '> 87</ a >
153- < a name ='L88 '> </ a > < a href ='#L88 '> 88</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
153+ < a name ='L88 '> </ a > < a href ='#L88 '> 88</ a >
154+ < a name ='L89 '> </ a > < a href ='#L89 '> 89</ a >
155+ < a name ='L90 '> </ a > < a href ='#L90 '> 90</ a >
156+ < a name ='L91 '> </ a > < a href ='#L91 '> 91</ a >
157+ < a name ='L92 '> </ a > < a href ='#L92 '> 92</ a >
158+ < a name ='L93 '> </ a > < a href ='#L93 '> 93</ a >
159+ < a name ='L94 '> </ a > < a href ='#L94 '> 94</ a >
160+ < a name ='L95 '> </ a > < a href ='#L95 '> 95</ a >
161+ < a name ='L96 '> </ a > < a href ='#L96 '> 96</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
154162< span class ="cline-any cline-yes "> 1x</ span >
155163< span class ="cline-any cline-yes "> 1x</ span >
156164< span class ="cline-any cline-yes "> 1x</ span >
@@ -215,6 +223,13 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
215223< span class ="cline-any cline-yes "> 1x</ span >
216224< span class ="cline-any cline-yes "> 1x</ span >
217225< span class ="cline-any cline-yes "> 1x</ span >
226+ < span class ="cline-any cline-yes "> 1x</ span >
227+ < span class ="cline-any cline-yes "> 1x</ span >
228+ < span class ="cline-any cline-yes "> 6x</ span >
229+ < span class ="cline-any cline-yes "> 6x</ span >
230+ < span class ="cline-any cline-yes "> 6x</ span >
231+ < span class ="cline-any cline-yes "> 6x</ span >
232+ < span class ="cline-any cline-yes "> 6x</ span >
218233< span class ="cline-any cline-yes "> 6x</ span >
219234< span class ="cline-any cline-yes "> 6x</ span >
220235< span class ="cline-any cline-yes "> 6x</ span >
@@ -232,6 +247,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
232247< span class ="cline-any cline-yes "> 6x</ span >
233248< span class ="cline-any cline-yes "> 6x</ span >
234249< span class ="cline-any cline-yes "> 6x</ span >
250+ < span class ="cline-any cline-yes "> 6x</ span >
235251< span class ="cline-any cline-yes "> 1x</ span >
236252< span class ="cline-any cline-yes "> 1x</ span >
237253< span class ="cline-any cline-yes "> 1x</ span >
@@ -259,6 +275,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
259275
260276// MODULES //
261277
278+ var ndims = require( '@stdlib/ndarray/base/ndims' );
279+ var normalizeIndex = require( '@stdlib/ndarray/base/normalize-index' );
262280var getShape = require( '@stdlib/ndarray/base/shape' );
263281var sliceFrom = require( '@stdlib/ndarray/base/slice-from' );
264282var sliceTo = require( '@stdlib/ndarray/base/slice-to' );
@@ -272,7 +290,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
272290* @param {ndarray} x - input array
273291* @param {integer} dim - dimension along which to perform the operation
274292* @param {boolean} strict - boolean indicating whether to enforce strict bounds checking
275- * @param {boolean} writable - boolean indicating whether a returned array should be writable
293+ * @param {boolean} writable - boolean indicating whether returned arrays should be writable
276294* @returns {Array} a list of ndarrays
277295*
278296* @example
@@ -306,14 +324,20 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
306324 var v0;
307325 var v1;
308326 var sh;
327+ var N;
309328 var s;
310329 var i;
311330
331+ // Retrieve array meta data:
312332 sh = getShape( x );
333+ N = ndims( x );
334+
335+ // Resolve view slice:
313336 s = [];
314- for ( i = 0; i < sh.length ; i++ ) {
337+ for ( i = 0; i < N ; i++ ) {
315338 s[ i ] = null;
316339 }
340+ dim = normalizeIndex( dim, N -1 );
317341 s[ dim ] = sh[ dim ] - 1;
318342 v1 = sliceFrom( x, s, strict, writable );
319343 v0 = sliceTo( x, s, strict, writable );
@@ -331,7 +355,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
331355 < div class ='footer quiet pad2 space-top1 center small '>
332356 Code coverage generated by
333357 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
334- at 2025-09-20T09:38:21.826Z
358+ at 2025-09-20T10:14:29.304Z
335359 </ div >
336360 < script src ="../../../../prettify.js "> </ script >
337361 < script >
0 commit comments