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
32 changes: 32 additions & 0 deletions lib/node_modules/@stdlib/ndarray/base/slice/benchmark/benchmark.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ bench( format( '%s::0d,base', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [], 'row-major' ),
baseEmpty( 'float32', [], 'row-major' ),
baseEmpty( 'float16', [], 'row-major' ),
baseEmpty( 'int32', [], 'row-major' ),
baseEmpty( 'complex128', [], 'row-major' ),
baseEmpty( 'generic', [], 'row-major' )
Expand Down Expand Up @@ -74,6 +75,7 @@ bench( format( '%s::0d,non-base', pkg ), function benchmark( b ) {
values = [
empty( [], { 'dtype': 'float64' } ),
empty( [], { 'dtype': 'float32' } ),
empty( [], { 'dtype': 'float16' } ),
empty( [], { 'dtype': 'int32' } ),
empty( [], { 'dtype': 'complex128' } ),
empty( [], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -107,6 +109,7 @@ bench( format( '%s::1d,base', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2 ], 'row-major' )
Expand Down Expand Up @@ -139,6 +142,7 @@ bench( format( '%s::1d,non-base', pkg ), function benchmark( b ) {
values = [
empty( [ 2 ], { 'dtype': 'float64' } ),
empty( [ 2 ], { 'dtype': 'float32' } ),
empty( [ 2 ], { 'dtype': 'float16' } ),
empty( [ 2 ], { 'dtype': 'int32' } ),
empty( [ 2 ], { 'dtype': 'complex128' } ),
empty( [ 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -172,6 +176,7 @@ bench( format( '%s::1d,base,reduced', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2 ], 'row-major' )
Expand Down Expand Up @@ -204,6 +209,7 @@ bench( format( '%s::1d,non-base,reduced', pkg ), function benchmark( b ) {
values = [
empty( [ 2 ], { 'dtype': 'float64' } ),
empty( [ 2 ], { 'dtype': 'float32' } ),
empty( [ 2 ], { 'dtype': 'float16' } ),
empty( [ 2 ], { 'dtype': 'int32' } ),
empty( [ 2 ], { 'dtype': 'complex128' } ),
empty( [ 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -237,6 +243,7 @@ bench( format( '%s::1d,base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2 ], 'row-major' )
Expand Down Expand Up @@ -269,6 +276,7 @@ bench( format( '%s::1d,non-base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
empty( [ 2 ], { 'dtype': 'float64' } ),
empty( [ 2 ], { 'dtype': 'float32' } ),
empty( [ 2 ], { 'dtype': 'float16' } ),
empty( [ 2 ], { 'dtype': 'int32' } ),
empty( [ 2 ], { 'dtype': 'complex128' } ),
empty( [ 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -302,6 +310,7 @@ bench( format( '%s::2d,base', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -334,6 +343,7 @@ bench( format( '%s::2d,non-base', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -367,6 +377,7 @@ bench( format( '%s::2d,base,reduced', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -399,6 +410,7 @@ bench( format( '%s::2d,non-base,reduced', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -432,6 +444,7 @@ bench( format( '%s::2d,base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -464,6 +477,7 @@ bench( format( '%s::2d,non-base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -497,6 +511,7 @@ bench( format( '%s::3d,base', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -529,6 +544,7 @@ bench( format( '%s::3d,non-base', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -562,6 +578,7 @@ bench( format( '%s::3d,base,reduced', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -594,6 +611,7 @@ bench( format( '%s::3d,non-base,reduced', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -627,6 +645,7 @@ bench( format( '%s::3d,base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -659,6 +678,7 @@ bench( format( '%s::3d,non-base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -692,6 +712,7 @@ bench( format( '%s::4d,base', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -724,6 +745,7 @@ bench( format( '%s::4d,non-base', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -757,6 +779,7 @@ bench( format( '%s::4d,base,reduced', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -789,6 +812,7 @@ bench( format( '%s::4d,non-base,reduced', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -822,6 +846,7 @@ bench( format( '%s::4d,base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -854,6 +879,7 @@ bench( format( '%s::4d,non-base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -887,6 +913,7 @@ bench( format( '%s::5d,base', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -919,6 +946,7 @@ bench( format( '%s::5d,non-base', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -952,6 +980,7 @@ bench( format( '%s::5d,base,reduced', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -984,6 +1013,7 @@ bench( format( '%s::5d,non-base,reduced', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down Expand Up @@ -1017,6 +1047,7 @@ bench( format( '%s::5d,base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
baseEmpty( 'float64', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float32', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'float16', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'int32', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'complex128', [ 2, 2, 2, 2, 2 ], 'row-major' ),
baseEmpty( 'generic', [ 2, 2, 2, 2, 2 ], 'row-major' )
Expand Down Expand Up @@ -1049,6 +1080,7 @@ bench( format( '%s::5d,non-base,out-of-bounds', pkg ), function benchmark( b ) {
values = [
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float64' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float32' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'float16' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'int32' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'complex128' } ),
empty( [ 2, 2, 2, 2, 2 ], { 'dtype': 'generic' } )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

/// <reference types="@stdlib/types"/>

import { typedndarray, genericndarray, float64ndarray, float32ndarray, int32ndarray, int16ndarray, int8ndarray, uint32ndarray, uint16ndarray, uint8ndarray, uint8cndarray, complex128ndarray, complex64ndarray } from '@stdlib/types/ndarray';
import { typedndarray, genericndarray, float64ndarray, float32ndarray, float16ndarray, int32ndarray, int16ndarray, int8ndarray, uint32ndarray, uint16ndarray, uint8ndarray, uint8cndarray, complex128ndarray, complex64ndarray } from '@stdlib/types/ndarray';
import { MultiSlice } from '@stdlib/types/slice';

/**
Expand Down Expand Up @@ -111,6 +111,50 @@ declare function slice( x: float64ndarray, s: MultiSlice, strict: boolean, writa
*/
declare function slice( x: float32ndarray, s: MultiSlice, strict: boolean, writable: boolean ): float32ndarray;

/**
* Returns a view of an input ndarray.
*
* @param x - input array
* @param s - multi-slice object
* @param strict - boolean indicating whether to enforce strict bounds checking
* @param writable - boolean indicating whether a returned array should be writable
* @returns output array
*
* @example
* var Slice = require( '@stdlib/slice/ctor' );
* var MultiSlice = require( '@stdlib/slice/multi' );
* var typedarray = require( '@stdlib/array/typed' );
* var ndarray = require( '@stdlib/ndarray/ctor' );
* var ndarray2array = require( '@stdlib/ndarray/to-array' );
*
* var buffer = typedarray( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ], 'float16' );
* var shape = [ 3, 2 ];
* var strides = [ 2, 1 ];
* var offset = 0;
*
* var x = ndarray( 'float16', buffer, shape, strides, offset, 'row-major' );
* // returns <ndarray>
*
* var sh = x.shape;
* // returns [ 3, 2 ]
*
* var arr = ndarray2array( x );
* // returns [ [ 1.0, 2.0 ], [ 3.0, 4.0 ], [ 5.0, 6.0 ] ]
*
* var s = new MultiSlice( new Slice( null, null, -2 ), new Slice( null, null, -1 ) );
* // returns <MultiSlice>
*
* var y = slice( x, s, false, false );
* // returns <ndarray>
*
* sh = y.shape;
* // returns [ 2, 2 ]
*
* arr = ndarray2array( y );
* // returns [ [ 6.0, 5.0 ], [ 2.0, 1.0 ] ]
*/
declare function slice( x: float16ndarray, s: MultiSlice, strict: boolean, writable: boolean ): float16ndarray;

/**
* Returns a view of an input ndarray.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import slice = require( './index' );

slice( empty( 'float64', sh, order ), s, false, false ); // $ExpectType float64ndarray
slice( empty( 'float32', sh, order ), s, false, false ); // $ExpectType float32ndarray
slice( empty( 'float16', sh, order ), s, false, false ); // $ExpectType float16ndarray
slice( empty( 'complex128', sh, order ), s, false, false ); // $ExpectType complex128ndarray
slice( empty( 'complex64', sh, order ), s, false, false ); // $ExpectType complex64ndarray
slice( empty( 'int32', sh, order ), s, false, false ); // $ExpectType int32ndarray
Expand All @@ -43,6 +44,7 @@ import slice = require( './index' );

slice( empty( 'float64', sh, order ), s, true, true ); // $ExpectType float64ndarray
slice( empty( 'float32', sh, order ), s, true, true ); // $ExpectType float32ndarray
slice( empty( 'float16', sh, order ), s, true, true ); // $ExpectType float16ndarray
slice( empty( 'complex128', sh, order ), s, true, true ); // $ExpectType complex128ndarray
slice( empty( 'complex64', sh, order ), s, true, true ); // $ExpectType complex64ndarray
slice( empty( 'int32', sh, order ), s, true, true ); // $ExpectType int32ndarray
Expand Down
Loading
Loading