Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: update examples for blas/base/wasm/zcopy #5442

Merged
merged 1 commit into from
Feb 25, 2025
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
60 changes: 5 additions & 55 deletions lib/node_modules/@stdlib/blas/base/wasm/zcopy/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,24 +36,14 @@ Copies values from `x` into `y`.

```javascript
var Complex128Array = require( '@stdlib/array/complex128' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

// Define strided arrays...
var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
var y = new Complex128Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );

// Perform operation:
zcopy.main( x.length, x, 1, y, 1 );

var v = y.get( 0 );
// returns <Complex128>

var re = real( v );
// returns 1.0

var im = imag( v );
// returns 2.0
// y => <Complex128Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
```

The function has the following parameters:
Expand All @@ -68,22 +58,12 @@ The `N` and stride parameters determine how values from `x` are copied into `y`.

```javascript
var Complex128Array = require( '@stdlib/array/complex128' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
var y = new Complex128Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );

zcopy.main( 2, x, -2, y, 1 );

var v = y.get( 0 );
// returns <Complex128>

var re = real( v );
// returns 5.0

var im = imag( v );
// returns 6.0
// y => <Complex128Array>[ 5.0, 6.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0 ]
```

Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
Expand All @@ -92,8 +72,6 @@ Note that indexing is relative to the first index. To introduce an offset, use [

```javascript
var Complex128Array = require( '@stdlib/array/complex128' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

// Initial arrays...
var x0 = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
Expand All @@ -105,15 +83,7 @@ var y1 = new Complex128Array( y0.buffer, y0.BYTES_PER_ELEMENT*2 ); // start at 3

// Copy every other value from `x1` into `y1` in reverse order...
zcopy.main( 2, x1, -2, y1, 1 );

var z = y0.get( 2 );
// returns <Complex128>

var re = real( z );
// returns 7.0

var im = imag( z );
// returns 8.0
// y0 => <Complex128Array>[ 0.0, 0.0, 0.0, 0.0, 7.0, 8.0, 3.0, 4.0 ]
```

#### zcopy.ndarray( N, x, strideX, offsetX, y, strideY, offsetY )
Expand All @@ -122,22 +92,12 @@ Copies values from `x` into `y` using alternative indexing semantics.

```javascript
var Complex128Array = require( '@stdlib/array/complex128' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
var y = new Complex128Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );

zcopy.ndarray( x.length, x, 1, 0, y, 1, 0 );

var v = y.get( 0 );
// returns <Complex128>

var re = real( v );
// returns 1.0

var im = imag( v );
// returns 2.0
// y => <Complex128Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
```

The function has the following additional parameters:
Expand All @@ -149,22 +109,12 @@ While [`typed array`][mdn-typed-array] views mandate a view offset based on the

```javascript
var Complex128Array = require( '@stdlib/array/complex128' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );

var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
var y = new Complex128Array( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );

zcopy.ndarray( 2, x, 2, 1, y, -1, y.length-1 );

var z = y.get( y.length-1 );
// returns <Complex128>

var re = real( z );
// returns 3.0

var im = imag( z );
// returns 4.0
// y => <Complex128Array>[ 0.0, 0.0, 0.0, 0.0, 7.0, 8.0, 3.0, 4.0 ]
```

* * *
Expand Down
42 changes: 12 additions & 30 deletions lib/node_modules/@stdlib/blas/base/wasm/zcopy/docs/repl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -38,34 +38,24 @@
// Standard usage:
> var x = new {{alias:@stdlib/array/complex128}}( [ 1.0, 2.0, 3.0, 4.0 ] );
> var y = new {{alias:@stdlib/array/complex128}}( [ 6.0, 7.0, 8.0, 9.0 ] );
> {{alias}}.main( x.length, x, 1, y, 1 );
> var z = y.get( 0 );
> var re = {{alias:@stdlib/complex/float64/real}}( z )
1.0
> var im = {{alias:@stdlib/complex/float64/imag}}( z )
2.0
> {{alias}}.main( x.length, x, 1, y, 1 )
<Complex128Array>[ 1.0, 2.0, 3.0, 4.0 ]

// Advanced indexing:
> x = new {{alias:@stdlib/array/complex128}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
> y = new {{alias:@stdlib/array/complex128}}( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
> {{alias}}.main( 2, x, -2, y, 1 );
> z = y.get( 0 );
> re = {{alias:@stdlib/complex/float64/real}}( z )
5.0
> im = {{alias:@stdlib/complex/float64/imag}}( z )
6.0
> {{alias}}.main( 2, x, -2, y, 1 )
<Complex128Array>[ 5.0, 6.0, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0 ]

// Using typed array views:
> var x0 = new {{alias:@stdlib/array/complex128}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> var y0 = new {{alias:@stdlib/array/complex128}}( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
> var x1 = new {{alias:@stdlib/array/complex128}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
> var y1 = new {{alias:@stdlib/array/complex128}}( y0.buffer, y0.BYTES_PER_ELEMENT*2 );
> {{alias}}.main( 2, x1, -1, y1, 1 );
> z = y0.get( 2 );
> re = {{alias:@stdlib/complex/float64/real}}( z )
5.0
> im = {{alias:@stdlib/complex/float64/imag}}( z )
6.0
> {{alias}}.main( 2, x1, -1, y1, 1 )
<Complex128Array>[ 5.0, 6.0 ]
> y0
<Complex128Array>[ 0.0, 0.0, 0.0, 0.0, 5.0, 6.0 ]


{{alias}}.ndarray( N, x, strideX, offsetX, y, strideY, offsetY )
Expand Down Expand Up @@ -110,22 +100,14 @@
// Standard usage:
> var x = new {{alias:@stdlib/array/complex128}}( [ 1.0, 2.0, 3.0, 4.0 ] );
> var y = new {{alias:@stdlib/array/complex128}}( [ 6.0, 7.0, 8.0, 9.0 ] );
> {{alias}}.ndarray( x.length, x, 1, 0, y, 1, 0 );
> var z = y.get( 0 );
> var re = {{alias:@stdlib/complex/float64/real}}( z )
1.0
> var im = {{alias:@stdlib/complex/float64/imag}}( z )
2.0
> {{alias}}.ndarray( x.length, x, 1, 0, y, 1, 0 )
<Complex128Array>[ 1.0, 2.0, 3.0, 4.0 ]

// Advanced indexing:
> x = new {{alias:@stdlib/array/complex128}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
> y = new {{alias:@stdlib/array/complex128}}( [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] );
> {{alias}}.ndarray( 2, x, 2, 1, y, -1, y.length-1 );
> z = y.get( y.length-1 );
> re = {{alias:@stdlib/complex/float64/real}}( z )
3.0
> im = {{alias:@stdlib/complex/float64/imag}}( z )
4.0
> {{alias}}.ndarray( 2, x, 2, 1, y, -1, y.length-1 )
<Complex128Array>[ 0.0, 0.0, 0.0, 0.0, 7.0, 8.0, 3.0, 4.0 ]


{{alias}}.Module( memory )
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,23 +307,13 @@ interface Routine extends ModuleWrapper {
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
*
* var x = new Complex128Array( [ -1.0, -2.0, -3.0, -4.0, -5.0, -6.0 ] );
* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
*
* // Perform operation:
* zcopy.main( x.length, x, 1, y, 1 );
*
* var v = y.get( 0 );
* // returns <Complex64>
*
* var re = real( v );
* // returns -1.0
*
* var im = imag( v );
* // returns -2.0
* // y => <Complex128Array>[ -1.0, -2.0, -3.0, -4.0, -5.0, -6.0 ]
*/
main( N: number, x: Complex128Array, strideX: number, y: Complex128Array, strideY: number ): Complex128Array;

Expand All @@ -341,23 +331,13 @@ interface Routine extends ModuleWrapper {
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
*
* var x = new Complex128Array( [ -1.0, -2.0, -3.0, -4.0, -5.0, -6.0 ] );
* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
*
* // Perform operation:
* zcopy.ndarray( x.length, x, -1, 2, y, 1, 0 );
*
* var v = y.get( 0 );
* // returns <Complex64>
*
* var re = real( v );
* // returns -5.0
*
* var im = imag( v );
* // returns -6.0
* // y => <Complex128Array>[ -5.0, -6.0, -3.0, -4.0, -1.0, -2.0 ]
*/
ndarray( N: number, x: Complex128Array, strideX: number, offsetX: number, y: Complex128Array, strideY: number, offsetY: number ): Complex128Array;

Expand Down Expand Up @@ -437,23 +417,13 @@ interface Routine extends ModuleWrapper {
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
*
* var x = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var y = new Complex128Array( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
*
* // Perform operation:
* zcopy.main( x.length, x, -1, y, 1 );
*
* var v = y.get( 0 );
* // returns <Complex64>
*
* var re = real( v );
* // returns 5.0
*
* var im = imag( v );
* // returns 6.0
* // y => <Complex128Array>[ 5.0, 6.0, 3.0, 4.0, 1.0, 2.0 ]
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
Expand All @@ -465,15 +435,7 @@ interface Routine extends ModuleWrapper {
*
* // Perform operation:
* zcopy.ndarray( x.length, x, 1, 0, y, -1, 2 );
*
* var v = y.get( 2 );
* // returns <Complex64>
*
* var re = real( v );
* // returns 1.0
*
* var im = imag( v );
* // returns 2.0
* // y => <Complex128Array>[ 5.0, 6.0, 3.0, 4.0, 1.0, 2.0 ]
*/
declare var zcopy: Routine;

Expand Down
24 changes: 2 additions & 22 deletions lib/node_modules/@stdlib/blas/base/wasm/zcopy/lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
* var zcopy = require( '@stdlib/blas/base/wasm/zcopy' );
*
* // Define strided arrays...
Expand All @@ -35,21 +33,11 @@
*
* // Perform operation:
* zcopy.main( x.length, x, 1, y, 1 );
*
* var v = y.get( 0 );
* // returns <Complex128>
*
* var re = real( v );
* // returns 1.0
*
* var im = imag( v );
* // returns 2.0
// y => <Complex128Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var Complex128 = require( '@stdlib/complex/float64/ctor' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
* var zcopy = require( '@stdlib/blas/base/wasm/zcopy' );
*
* // Define strided arrays...
Expand All @@ -58,15 +46,7 @@
*
* // Perform operation:
* zcopy.ndarray( x.length, x, 1, 0, y, 1, 0 );
*
* var v = y.get( 0 );
* // returns <Complex128>
*
* var re = real( v );
* // returns 1.0
*
* var im = imag( v );
* // returns 2.0
// y => <Complex128Array>[ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ]
*
* @example
* var Memory = require( '@stdlib/wasm/memory' );
Expand Down
24 changes: 2 additions & 22 deletions lib/node_modules/@stdlib/blas/base/wasm/zcopy/lib/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,45 +33,25 @@ var Routine = require( './routine.js' );
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
*
* // Define strided arrays...
* var x = new Complex128Array( [ -1.0, -2.0, -3.0, -4.0, -5.0, -6.0 ] );
* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
*
* // Perform operation:
* zcopy.main( x.length, x, 1, y, 1 );
*
* var v = y.get( 0 );
* // returns <Complex128>
*
* var re = real( v );
* // returns -1.0
*
* var im = imag( v );
* // returns -2.0
// y => <Complex128Array>[ -1.0, -2.0, -3.0, -4.0, -5.0, -6.0 ]
*
* @example
* var Complex128Array = require( '@stdlib/array/complex128' );
* var real = require( '@stdlib/complex/float64/real' );
* var imag = require( '@stdlib/complex/float64/imag' );
*
* // Define a strided arrays...
* var x = new Complex128Array( [ -1.0, -2.0, -3.0, -4.0, -5.0, -6.0 ] );
* var y = new Complex128Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
*
* // Perform operation:
* zcopy.ndarray( x.length, x, 1, 0, y, -1, 2 );
*
* var v = y.get( 0 );
* // returns <Complex128>
*
* var re = real( v );
* // returns -5.0
*
* var im = imag( v );
* // returns -6.0
// y => <Complex128Array>[ -5.0, -6.0, -3.0, -4.0, -1.0, -2.0 ]
*/
var zcopy = new Routine();
zcopy.initializeSync(); // eslint-disable-line node/no-sync
Expand Down
Loading