Skip to content

Commit

Permalink
Auto-generated commit
Browse files Browse the repository at this point in the history
  • Loading branch information
stdlib-bot committed Sep 27, 2023
1 parent de88884 commit 34d8acc
Show file tree
Hide file tree
Showing 2 changed files with 225 additions and 10 deletions.
20 changes: 10 additions & 10 deletions examples/1d.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ var E = require( '@stdlib/slice-multi' );
var toArray = require( '@stdlib/ndarray-to-array' );
var FancyArray = require( './../lib' );

var buffer = [ 1, 2, 3, 4, 5, 6 ];
var buffer = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 ];
var shape = [ 6 ];
var strides = [ 1 ];
var offset = 0;
var strides = [ 2 ];
var offset = 2;

var x = new FancyArray( 'generic', buffer, shape, strides, offset, 'row-major' );
// returns <FancyArray>
Expand All @@ -41,12 +41,12 @@ console.log( 'ndims: %d', ndims );
// Retrieve an ndarray element:
var v = x.get( 2 );
console.log( 'x[2] = %d', v );
// => 'x[2] = 3'
// => 'x[2] = 7'

// Set an ndarray element:
x.set( 2, 10 );
x.set( 2, 100 );
console.log( 'x[2] = %d', x.get( 2 ) );
// => 'x[2] = 10'
// => 'x[2] = 100'

// Create an alias for `undefined` for more concise slicing expressions:
var _ = void 0;
Expand All @@ -58,19 +58,19 @@ var s = E( S(0,_,2) );
// Use a multi-slice to create a view on the original ndarray:
var y1 = x[ s ];
console.log( toArray( y1 ) );
// => [ 1, 10, 5 ]
// => [ 3, 100, 11 ]

// Use a slice to create a view on the original ndarray:
var y2 = x[ s.data[0] ];
console.log( toArray( y2 ) );
// => [ 1, 10, 5 ]
// => [ 3, 100, 11 ]

// Use alternative syntax:
var y3 = x[ [ S(0,_,2) ] ];
console.log( toArray( y3 ) );
// => [ 1, 10, 5 ]
// => [ 3, 100, 11 ]

// Use alternative syntax:
var y4 = x[ '::-2' ];
console.log( toArray( y4 ) );
// => [ 6, 4, 2 ]
// => [ 13, 9, 5 ]
215 changes: 215 additions & 0 deletions test/dist/test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
/**
* @license Apache-2.0
*
* Copyright (c) 2023 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

'use strict';

// MODULES //

var tape = require( 'tape' );
var instanceOf = require( '@stdlib/assert-instance-of' );
var Complex64Array = require( '@stdlib/array-complex64' );
var FancyArray = require( './../../dist' );


// TESTS //

tape( 'main export is a function', function test( t ) {
t.ok( true, __filename );
t.strictEqual( typeof FancyArray, 'function', 'main export is a function' );
t.end();
});

tape( 'the function is a constructor', function test( t ) {
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'generic';
buffer = [ 1.0, 2.0, 3.0, 4.0 ];
shape = [ 2, 2 ];
order = 'row-major';
strides = [ 2, 1 ];
offset = 0;

arr = new FancyArray( dtype, buffer, shape, strides, offset, order );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the function is a constructor (complex dtype)', function test( t ) {
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'complex64';
buffer = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
shape = [ 2, 2 ];
order = 'row-major';
strides = [ 2, 1 ];
offset = 0;

arr = new FancyArray( dtype, buffer, shape, strides, offset, order );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the function is a constructor (0d)', function test( t ) {
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'generic';
buffer = [ 1.0 ];
shape = [];
order = 'row-major';
strides = [ 0 ];
offset = 0;

arr = new FancyArray( dtype, buffer, shape, strides, offset, order );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the function is a constructor (0d; complex dtype)', function test( t ) {
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'complex64';
buffer = new Complex64Array( [ 1.0, 1.0 ] );
shape = [];
order = 'row-major';
strides = [ 0 ];
offset = 0;

arr = new FancyArray( dtype, buffer, shape, strides, offset, order );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the function is a constructor (options)', function test( t ) {
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'generic';
buffer = [ 1.0, 2.0, 3.0, 4.0 ];
shape = [ 2, 2 ];
order = 'row-major';
strides = [ 2, 1 ];
offset = 0;

arr = new FancyArray( dtype, buffer, shape, strides, offset, order, {} );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the function is a constructor (0d; options)', function test( t ) {
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'generic';
buffer = [ 1.0 ];
shape = [];
order = 'row-major';
strides = [ 0 ];
offset = 0;

arr = new FancyArray( dtype, buffer, shape, strides, offset, order, {} );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the constructor does not require the `new` keyword', function test( t ) {
var ndarray;
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'generic';
buffer = [ 1.0, 2.0, 3.0, 4.0 ];
shape = [ 2, 2 ];
order = 'row-major';
strides = [ 2, 1 ];
offset = 0;

ndarray = FancyArray;
arr = ndarray( dtype, buffer, shape, strides, offset, order );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

tape( 'the constructor does not require the `new` keyword (options)', function test( t ) {
var ndarray;
var strides;
var buffer;
var offset;
var dtype;
var order;
var shape;
var arr;

dtype = 'generic';
buffer = [ 1.0, 2.0, 3.0, 4.0 ];
shape = [ 2, 2 ];
order = 'row-major';
strides = [ 2, 1 ];
offset = 0;

ndarray = FancyArray;
arr = ndarray( dtype, buffer, shape, strides, offset, order, {} );

t.strictEqual( instanceOf( arr, FancyArray ), true, 'returns an instance' );
t.end();
});

0 comments on commit 34d8acc

Please sign in to comment.