Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 5 additions & 25 deletions lib/node_modules/@stdlib/ndarray/flatten-by/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ Flattens an [ndarray][@stdlib/ndarray/ctor] according to a callback function.

```javascript
var array = require( '@stdlib/ndarray/array' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function scale( value ) {
return value * 2.0;
Expand All @@ -52,10 +51,7 @@ var x = array( [ [ [ 1.0, 2.0 ] ], [ [ 3.0, 4.0 ] ], [ [ 5.0, 6.0 ] ] ] );
// returns <ndarray>

var y = flattenBy( x, scale );
// returns <ndarray>

var arr = ndarray2array( y );
// returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
// returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
```

The function accepts the following arguments:
Expand Down Expand Up @@ -84,7 +80,6 @@ By default, the function flattens all dimensions of the input [ndarray][@stdlib/

```javascript
var array = require( '@stdlib/ndarray/array' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function scale( value ) {
return value * 2.0;
Expand All @@ -98,17 +93,13 @@ var opts = {
};

var y = flattenBy( x, opts, scale );
// returns <ndarray>

var arr = ndarray2array( y );
// returns [ [ 2.0, 4.0 ], [ 6.0, 8.0 ], [ 10.0, 12.0 ] ]
// returns <ndarray>[ [ 2.0, 4.0 ], [ 6.0, 8.0 ], [ 10.0, 12.0 ] ]
```

By default, the input [ndarray][@stdlib/ndarray/ctor] is flattened in lexicographic order. To flatten elements in a different order, specify the `order` option.

```javascript
var array = require( '@stdlib/ndarray/array' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function scale( value ) {
return value * 2.0;
Expand All @@ -122,18 +113,14 @@ var opts = {
};

var y = flattenBy( x, opts, scale );
// returns <ndarray>

var arr = ndarray2array( y );
// returns [ 2.0, 6.0, 10.0, 4.0, 8.0, 12.0 ]
// returns <ndarray>[ 2.0, 6.0, 10.0, 4.0, 8.0, 12.0 ]
```

By default, the output ndarray [data type][@stdlib/ndarray/dtypes] is inferred from the input [ndarray][@stdlib/ndarray/ctor]. To return an ndarray with a different [data type][@stdlib/ndarray/dtypes], specify the `dtype` option.

```javascript
var array = require( '@stdlib/ndarray/array' );
var dtype = require( '@stdlib/ndarray/dtype' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function scale( value ) {
return value * 2.0;
Expand All @@ -146,13 +133,10 @@ var opts = {
'dtype': 'float32'
};
var y = flattenBy( x, opts, scale );
// returns <ndarray>
// returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]

var dt = String( dtype( y ) );
// returns 'float32'

var arr = ndarray2array( y );
// returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
```

To set the callback function execution context, provide a `thisArg`.
Expand All @@ -161,7 +145,6 @@ To set the callback function execution context, provide a `thisArg`.

```javascript
var array = require( '@stdlib/ndarray/array' );
var ndarray2array = require( '@stdlib/ndarray/to-array' );

function scale( value ) {
this.count += 1;
Expand All @@ -176,10 +159,7 @@ var ctx = {
};

var y = flattenBy( x, scale, ctx );
// returns <ndarray>

var arr = ndarray2array( y );
// returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
// returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]

var count = ctx.count;
// returns 6
Expand Down
5 changes: 2 additions & 3 deletions lib/node_modules/@stdlib/ndarray/flatten-by/docs/repl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@
--------
> var x = {{alias:@stdlib/ndarray/array}}( [ [ 1.0, 2.0 ], [ 3.0, 4.0 ] ] );
> function f ( v ) { return v * 2.0 };
> var y = {{alias}}( x, f );
> var arr = {{alias:@stdlib/ndarray/to-array}}( y )
[ 2.0, 4.0, 6.0, 8.0 ]
> var y = {{alias}}( x, f )
<ndarray>[ 2.0, 4.0, 6.0, 8.0 ]

See Also
--------
44 changes: 7 additions & 37 deletions lib/node_modules/@stdlib/ndarray/flatten-by/docs/types/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ type Options<U> = BaseOptions & {
* @example
* var Float64Array = require( '@stdlib/array/float64' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function scale( value ) {
* return value * 2.0;
Expand All @@ -133,10 +132,7 @@ type Options<U> = BaseOptions & {
* // returns <ndarray>
*
* var y = flattenBy( x, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/
declare function flattenBy<T extends typedndarray<number> = typedndarray<number>, ThisArg = unknown>( x: T, fcn: Callback<number, T, number, ThisArg>, thisArg?: ThisParameterType<Callback<number, T, number, ThisArg>> ): T;

Expand All @@ -151,7 +147,6 @@ declare function flattenBy<T extends typedndarray<number> = typedndarray<number>
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function identity( value ) {
* return value;
Expand Down Expand Up @@ -181,7 +176,6 @@ declare function flattenBy<T extends ComplexLike = ComplexLike, U extends typedn
* @example
* var BooleanArray = require( '@stdlib/array/bool' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function invert( value ) {
* return !value;
Expand All @@ -196,10 +190,7 @@ declare function flattenBy<T extends ComplexLike = ComplexLike, U extends typedn
* // returns <ndarray>
*
* var y = flattenBy( x, invert );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ false, true, false, true, false, true ]
* // returns <ndarray>[ false, true, false, true, false, true ]
*/
declare function flattenBy<T extends typedndarray<boolean> = typedndarray<boolean>, ThisArg = unknown>( x: T, fcn: Callback<boolean, T, boolean, ThisArg>, thisArg?: ThisParameterType<Callback<boolean, T, boolean, ThisArg>> ): T;

Expand All @@ -213,7 +204,6 @@ declare function flattenBy<T extends typedndarray<boolean> = typedndarray<boolea
*
* @example
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function scale( value ) {
* return value * 2.0;
Expand All @@ -228,10 +218,7 @@ declare function flattenBy<T extends typedndarray<boolean> = typedndarray<boolea
* // returns <ndarray>
*
* var y = flattenBy( x, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/
declare function flattenBy<T = unknown, U extends genericndarray<T> = genericndarray<T>, V = unknown, W extends genericndarray<V> = genericndarray<V>, ThisArg = unknown>( x: U, fcn: Callback<T, U, V, ThisArg>, thisArg?: ThisParameterType<Callback<T, U, V, ThisArg>> ): W;

Expand All @@ -250,7 +237,6 @@ declare function flattenBy<T = unknown, U extends genericndarray<T> = genericnda
* @example
* var Float64Array = require( '@stdlib/array/float64' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function scale( value ) {
* return value * 2.0;
Expand All @@ -269,10 +255,7 @@ declare function flattenBy<T = unknown, U extends genericndarray<T> = genericnda
* };
*
* var y = flattenBy( x, opts, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/
declare function flattenBy<T extends typedndarray<number> = typedndarray<number>, ThisArg = unknown>( x: T, options: BaseOptions, fcn: Callback<number, T, number, ThisArg>, thisArg?: ThisParameterType<Callback<number, T, number, ThisArg>> ): T;

Expand All @@ -291,7 +274,6 @@ declare function flattenBy<T extends typedndarray<number> = typedndarray<number>
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function identity( value ) {
* return value;
Expand Down Expand Up @@ -329,7 +311,6 @@ declare function flattenBy<T extends ComplexLike = ComplexLike, U extends typedn
* @example
* var BooleanArray = require( '@stdlib/array/bool' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function invert( value ) {
* return !value;
Expand All @@ -348,10 +329,7 @@ declare function flattenBy<T extends ComplexLike = ComplexLike, U extends typedn
* };
*
* var y = flattenBy( x, opts, invert );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ false, true, false, true, false, true ]
* // returns <ndarray>[ false, true, false, true, false, true ]
*/
declare function flattenBy<T extends typedndarray<boolean> = typedndarray<boolean>, ThisArg = unknown>( x: T, options: BaseOptions, fcn: Callback<boolean, T, boolean, ThisArg>, thisArg?: ThisParameterType<Callback<boolean, T, boolean, ThisArg>> ): T;

Expand All @@ -369,7 +347,6 @@ declare function flattenBy<T extends typedndarray<boolean> = typedndarray<boolea
*
* @example
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function scale( value ) {
* return value * 2.0;
Expand All @@ -388,10 +365,7 @@ declare function flattenBy<T extends typedndarray<boolean> = typedndarray<boolea
* };
*
* var y = flattenBy( x, opts, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/
declare function flattenBy<T = unknown, U extends genericndarray<T> = genericndarray<T>, V = unknown, W extends genericndarray<V> = genericndarray<V>, ThisArg = unknown>( x: U, options: BaseOptions, fcn: Callback<T, U, V, ThisArg>, thisArg?: ThisParameterType<Callback<T, U, V, ThisArg>> ): W;

Expand All @@ -410,7 +384,6 @@ declare function flattenBy<T = unknown, U extends genericndarray<T> = genericnda
* @example
* var Float64Array = require( '@stdlib/array/float64' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function scale( value ) {
* return value * 2.0;
Expand All @@ -429,10 +402,7 @@ declare function flattenBy<T = unknown, U extends genericndarray<T> = genericnda
* };
*
* var y = flattenBy( x, opts, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/
declare function flattenBy<T = unknown, U extends typedndarray<T> | genericndarray<T> = typedndarray<T>, V = unknown, W extends keyof DataTypeMap<T> = 'generic', ThisArg = unknown>( x: U, options: Options<W>, fcn: Callback<T, U, V, ThisArg>, thisArg?: ThisParameterType<Callback<T, U, V, ThisArg>> ): DataTypeMap<V>[W];

Expand Down
6 changes: 1 addition & 5 deletions lib/node_modules/@stdlib/ndarray/flatten-by/lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
*
* @example
* var array = require( '@stdlib/ndarray/array' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
* var flattenBy = require( '@stdlib/ndarray/flatten-by' );
*
* function scale( value ) {
Expand All @@ -36,10 +35,7 @@
* // returns <ndarray>
*
* var y = flattenBy( x, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/

// MODULES //
Expand Down
6 changes: 1 addition & 5 deletions lib/node_modules/@stdlib/ndarray/flatten-by/lib/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ var COL_MAJOR = 'column-major';
*
* @example
* var array = require( '@stdlib/ndarray/array' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* function scale( value ) {
* return value * 2.0;
Expand All @@ -76,10 +75,7 @@ var COL_MAJOR = 'column-major';
* // returns <ndarray>
*
* var y = flattenBy( x, scale );
* // returns <ndarray>
*
* var arr = ndarray2array( y );
* // returns [ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
* // returns <ndarray>[ 2.0, 4.0, 6.0, 8.0, 10.0, 12.0 ]
*/
function flattenBy( x, options, fcn, thisArg ) {
var hasOpts;
Expand Down