@@ -25,14 +25,14 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
2525 < div class ='fl pad1y space-right2 '>
2626 < span class ="strong "> 100% </ span >
2727 < span class ="quiet "> Statements</ span >
28- < span class ='fraction '> 358/358 </ span >
28+ < span class ='fraction '> 365/365 </ span >
2929 </ div >
3030
3131
3232 < div class ='fl pad1y space-right2 '>
3333 < span class ="strong "> 100% </ span >
3434 < span class ="quiet "> Branches</ span >
35- < span class ='fraction '> 25/25 </ span >
35+ < span class ='fraction '> 27/27 </ span >
3636 </ div >
3737
3838
@@ -46,7 +46,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
4646 < div class ='fl pad1y space-right2 '>
4747 < span class ="strong "> 100% </ span >
4848 < span class ="quiet "> Lines</ span >
49- < span class ='fraction '> 358/358 </ span >
49+ < span class ='fraction '> 365/365 </ span >
5050 </ div >
5151
5252
@@ -421,7 +421,14 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
421421< a name ='L356 '> </ a > < a href ='#L356 '> 356</ a >
422422< a name ='L357 '> </ a > < a href ='#L357 '> 357</ a >
423423< a name ='L358 '> </ a > < a href ='#L358 '> 358</ a >
424- < a name ='L359 '> </ a > < a href ='#L359 '> 359</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
424+ < a name ='L359 '> </ a > < a href ='#L359 '> 359</ a >
425+ < a name ='L360 '> </ a > < a href ='#L360 '> 360</ a >
426+ < a name ='L361 '> </ a > < a href ='#L361 '> 361</ a >
427+ < a name ='L362 '> </ a > < a href ='#L362 '> 362</ a >
428+ < a name ='L363 '> </ a > < a href ='#L363 '> 363</ a >
429+ < a name ='L364 '> </ a > < a href ='#L364 '> 364</ a >
430+ < a name ='L365 '> </ a > < a href ='#L365 '> 365</ a >
431+ < a name ='L366 '> </ a > < a href ='#L366 '> 366</ a > </ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 1x</ span >
425432< span class ="cline-any cline-yes "> 1x</ span >
426433< span class ="cline-any cline-yes "> 1x</ span >
427434< span class ="cline-any cline-yes "> 1x</ span >
@@ -702,39 +709,41 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
702709< span class ="cline-any cline-yes "> 1x</ span >
703710< span class ="cline-any cline-yes "> 1x</ span >
704711< span class ="cline-any cline-yes "> 1x</ span >
705- < span class ="cline-any cline-yes "> 85x</ span >
706- < span class ="cline-any cline-yes "> 85x</ span >
707- < span class ="cline-any cline-yes "> 85x</ span >
708- < span class ="cline-any cline-yes "> 85x</ span >
709- < span class ="cline-any cline-yes "> 85x</ span >
710- < span class ="cline-any cline-yes "> 85x</ span >
711- < span class ="cline-any cline-yes "> 85x</ span >
712- < span class ="cline-any cline-yes "> 85x</ span >
713- < span class ="cline-any cline-yes "> 85x</ span >
714- < span class ="cline-any cline-yes "> 85x</ span >
712+ < span class ="cline-any cline-yes "> 1x</ span >
713+ < span class ="cline-any cline-yes "> 96x</ span >
714+ < span class ="cline-any cline-yes "> 96x</ span >
715+ < span class ="cline-any cline-yes "> 96x</ span >
716+ < span class ="cline-any cline-yes "> 96x</ span >
717+ < span class ="cline-any cline-yes "> 96x</ span >
718+ < span class ="cline-any cline-yes "> 96x</ span >
719+ < span class ="cline-any cline-yes "> 96x</ span >
720+ < span class ="cline-any cline-yes "> 96x</ span >
721+ < span class ="cline-any cline-yes "> 96x</ span >
722+ < span class ="cline-any cline-yes "> 96x</ span >
715723< span class ="cline-any cline-yes "> 20x</ span >
716724< span class ="cline-any cline-yes "> 20x</ span >
717- < span class ="cline-any cline-yes "> 65x</ span >
718- < span class ="cline-any cline-yes "> 65x</ span >
719- < span class ="cline-any cline-yes "> 65x</ span >
720- < span class ="cline-any cline-yes "> 65x</ span >
721- < span class ="cline-any cline-yes "> 65x</ span >
722- < span class ="cline-any cline-yes "> 65x</ span >
723- < span class ="cline-any cline-yes "> 65x</ span >
724- < span class ="cline-any cline-yes "> 65x</ span >
725- < span class ="cline-any cline-yes "> 65x</ span >
726- < span class ="cline-any cline-yes "> 65x</ span >
727- < span class ="cline-any cline-yes "> 85x</ span >
728- < span class ="cline-any cline-yes "> 57x</ span >
725+ < span class ="cline-any cline-yes "> 76x</ span >
726+ < span class ="cline-any cline-yes "> 76x</ span >
727+ < span class ="cline-any cline-yes "> 76x</ span >
728+ < span class ="cline-any cline-yes "> 76x</ span >
729+ < span class ="cline-any cline-yes "> 76x</ span >
730+ < span class ="cline-any cline-yes "> 76x</ span >
731+ < span class ="cline-any cline-yes "> 76x</ span >
732+ < span class ="cline-any cline-yes "> 76x</ span >
733+ < span class ="cline-any cline-yes "> 76x</ span >
734+ < span class ="cline-any cline-yes "> 76x</ span >
735+ < span class ="cline-any cline-yes "> 76x</ span >
736+ < span class ="cline-any cline-yes "> 96x</ span >
737+ < span class ="cline-any cline-yes "> 68x</ span >
729738< span class ="cline-any cline-yes "> 8x</ span >
730739< span class ="cline-any cline-yes "> 8x</ span >
731- < span class ="cline-any cline-yes "> 57x </ span >
740+ < span class ="cline-any cline-yes "> 68x </ span >
732741< span class ="cline-any cline-yes "> 24x</ span >
733742< span class ="cline-any cline-yes "> 10x</ span >
734743< span class ="cline-any cline-yes "> 10x</ span >
735744< span class ="cline-any cline-yes "> 14x</ span >
736745< span class ="cline-any cline-yes "> 14x</ span >
737- < span class ="cline-any cline-yes "> 57x </ span >
746+ < span class ="cline-any cline-yes "> 68x </ span >
738747< span class ="cline-any cline-yes "> 33x</ span >
739748< span class ="cline-any cline-yes "> 8x</ span >
740749< span class ="cline-any cline-yes "> 8x</ span >
@@ -758,22 +767,27 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
758767< span class ="cline-any cline-yes "> 9x</ span >
759768< span class ="cline-any cline-yes "> 9x</ span >
760769< span class ="cline-any cline-yes "> 33x</ span >
761- < span class ="cline-any cline-yes "> 57x</ span >
762- < span class ="cline-any cline-yes "> 38x</ span >
763- < span class ="cline-any cline-yes "> 38x</ span >
764- < span class ="cline-any cline-yes "> 38x</ span >
765- < span class ="cline-any cline-yes "> 38x</ span >
766- < span class ="cline-any cline-yes "> 38x</ span >
767- < span class ="cline-any cline-yes "> 38x</ span >
768- < span class ="cline-any cline-yes "> 38x</ span >
769- < span class ="cline-any cline-yes "> 85x</ span >
770- < span class ="cline-any cline-yes "> 85x</ span >
771- < span class ="cline-any cline-yes "> 85x</ span >
772- < span class ="cline-any cline-yes "> 85x</ span >
773- < span class ="cline-any cline-yes "> 85x</ span >
774- < span class ="cline-any cline-yes "> 85x</ span >
775- < span class ="cline-any cline-yes "> 85x</ span >
776- < span class ="cline-any cline-yes "> 85x</ span >
770+ < span class ="cline-any cline-yes "> 68x</ span >
771+ < span class ="cline-any cline-yes "> 11x</ span >
772+ < span class ="cline-any cline-yes "> 11x</ span >
773+ < span class ="cline-any cline-yes "> 11x</ span >
774+ < span class ="cline-any cline-yes "> 68x</ span >
775+ < span class ="cline-any cline-yes "> 49x</ span >
776+ < span class ="cline-any cline-yes "> 49x</ span >
777+ < span class ="cline-any cline-yes "> 49x</ span >
778+ < span class ="cline-any cline-yes "> 49x</ span >
779+ < span class ="cline-any cline-yes "> 49x</ span >
780+ < span class ="cline-any cline-yes "> 49x</ span >
781+ < span class ="cline-any cline-yes "> 49x</ span >
782+ < span class ="cline-any cline-yes "> 49x</ span >
783+ < span class ="cline-any cline-yes "> 96x</ span >
784+ < span class ="cline-any cline-yes "> 96x</ span >
785+ < span class ="cline-any cline-yes "> 96x</ span >
786+ < span class ="cline-any cline-yes "> 96x</ span >
787+ < span class ="cline-any cline-yes "> 96x</ span >
788+ < span class ="cline-any cline-yes "> 96x</ span >
789+ < span class ="cline-any cline-yes "> 96x</ span >
790+ < span class ="cline-any cline-yes "> 96x</ span >
777791< span class ="cline-any cline-yes "> 1x</ span >
778792< span class ="cline-any cline-yes "> 1x</ span >
779793< span class ="cline-any cline-yes "> 1x</ span >
@@ -835,6 +849,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
835849* @param {Options} [options] - function options
836850* @param {NonNegativeInteger} [options.depth] - maximum number of dimensions to flatten
837851* @param {string} [options.order='row-major'] - order in which input ndarray elements should be flattened
852+ * @param {*} [options.dtype] - output ndarray data type
838853* @throws {TypeError} first argument must be an ndarray-like object
839854* @throws {TypeError} options argument must be an object
840855* @throws {TypeError} must provide valid options
@@ -1077,8 +1092,9 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
10771092
10781093 // Define default options:
10791094 opts = {
1080- 'depth': xsh.length, // by default, flatten to a one-dimensional ndarray
1081- 'order': ROW_MAJOR // by default, flatten in lexicographic order (i.e., trailing dimensions first; e.g., if `x` is a matrix, flatten row-by-row)
1095+ 'depth': xsh.length, // by default, flatten to a one-dimensional ndarray
1096+ 'order': ROW_MAJOR, // by default, flatten in lexicographic order (i.e., trailing dimensions first; e.g., if `x` is a matrix, flatten row-by-row)
1097+ 'dtype': getDType( x )
10821098 };
10831099
10841100 // Resolve function options...
@@ -1116,16 +1132,21 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
11161132 throw new TypeError( format( 'invalid option. `%s` option must be a recognized order. Option: `%s`.', 'order', options.order ) );
11171133 }
11181134 }
1135+ if ( hasOwnProp( options, 'dtype' ) ) {
1136+ // Delegate `dtype` validation to `emptyLike` during output array creation:
1137+ opts.dtype = options.dtype;
1138+ }
11191139 }
11201140 // Create an output ndarray having contiguous memory:
11211141 y = emptyLike( x, {
11221142 'shape': flattenShape( xsh, opts.depth ),
1123- 'order': opts.order
1143+ 'order': opts.order,
1144+ 'dtype': opts.dtype
11241145 });
11251146
11261147 // Create a view on top of output ndarray having the same shape as the input ndarray:
11271148 st = ( xsh.length > 0 ) ? shape2strides( xsh, opts.order ) : [ 0 ];
1128- view = ndarray( getDType( y ) , getData( y ), xsh, st, 0, opts.order );
1149+ view = ndarray( opts.dtype , getData( y ), xsh, st, 0, opts.order );
11291150
11301151 // Copy elements to the output ndarray:
11311152 assign( [ x, view ] );
@@ -1144,7 +1165,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/f
11441165 < div class ='footer quiet pad2 space-top1 center small '>
11451166 Code coverage generated by
11461167 < a href ="https://istanbul.js.org/ " target ="_blank " rel ="noopener noreferrer "> istanbul</ a >
1147- at 2025-09-17T06:08:27.634Z
1168+ at 2025-09-17T10:09:49.377Z
11481169 </ div >
11491170 < script src ="../../../prettify.js "> </ script >
11501171 < script >
0 commit comments