Skip to content
  • Sponsor stdlib-js/stdlib

  • Notifications You must be signed in to change notification settings
  • Fork 848

docs: update examples for blas/base/caxpy #4925

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

Merged
merged 1 commit into from
Jan 28, 2025
Merged
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/caxpy/README.md
Original file line number Diff line number Diff line change
@@ -37,23 +37,13 @@ Scales values from `cx` by `ca` and adds the result to `cy`.
```javascript
var Complex64Array = require( '@stdlib/array/complex64' );
var Complex64 = require( '@stdlib/complex/float32/ctor' );
var realf = require( '@stdlib/complex/float32/real' );
var imagf = require( '@stdlib/complex/float32/imag' );

var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
var ca = new Complex64( 2.0, 2.0 );

caxpy( 3, ca, cx, 1, cy, 1 );

var z = cy.get( 0 );
// returns <Complex64>

var re = realf( z );
// returns -1.0

var im = imagf( z );
// returns 7.0
// cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
```

The function has the following parameters:
@@ -70,23 +60,13 @@ The `N` and stride parameters determine how values from `cx` are scaled by `ca`
```javascript
var Complex64Array = require( '@stdlib/array/complex64' );
var Complex64 = require( '@stdlib/complex/float32/ctor' );
var realf = require( '@stdlib/complex/float32/real' );
var imagf = require( '@stdlib/complex/float32/imag' );

var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
var ca = new Complex64( 2.0, 2.0 );

caxpy( 2, ca, cx, 2, cy, 2 );

var z = cy.get( 0 );
// returns <Complex64>

var re = realf( z );
// returns -1.0

var im = imagf( z );
// returns 7.0
// cy => <Complex64Array>[ -1.0, 7.0, 1.0, 1.0, -1.0, 23.0, 1.0, 1.0 ]
```

Note that indexing is relative to the first index. To introduce an offset, use [`typed array`][mdn-typed-array] views.
@@ -96,8 +76,6 @@ Note that indexing is relative to the first index. To introduce an offset, use [
```javascript
var Complex64Array = require( '@stdlib/array/complex64' );
var Complex64 = require( '@stdlib/complex/float32/ctor' );
var realf = require( '@stdlib/complex/float32/real' );
var imagf = require( '@stdlib/complex/float32/imag' );

// Initial arrays...
var cx0 = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
@@ -112,15 +90,7 @@ var cy1 = new Complex64Array( cy0.buffer, cy0.BYTES_PER_ELEMENT*2 ); // start at

// Scales values of `cx0` by `ca` starting from second index and add the result to `cy0` starting from third index...
caxpy( 2, ca, cx1, 1, cy1, 1 );

var z = cy0.get( 2 );
// returns <Complex64>

var re = realf( z );
// returns -1.0

var im = imagf( z );
// returns 15.0
// cy0 => <Complex64Array>[ 1.0, 1.0, 1.0, 1.0, -1.0, 15.0, -1.0, 23.0 ]
```

#### caxpy.ndarray( N, ca, cx, strideX, offsetX, cy, strideY, offsetY )
@@ -130,23 +100,13 @@ Scales values from `cx` by `ca` and adds the result to `cy` using alternative in
```javascript
var Complex64Array = require( '@stdlib/array/complex64' );
var Complex64 = require( '@stdlib/complex/float32/ctor' );
var realf = require( '@stdlib/complex/float32/real' );
var imagf = require( '@stdlib/complex/float32/imag' );

var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
var ca = new Complex64( 2.0, 2.0 );

caxpy.ndarray( 3, ca, cx, 1, 0, cy, 1, 0 );

var z = cy.get( 0 );
// returns <Complex64>

var re = realf( z );
// returns -1.0

var im = imagf( z );
// returns 7.0
// cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
```

The function has the following additional parameters:
@@ -159,23 +119,13 @@ While [`typed array`][mdn-typed-array] views mandate a view offset based on the
```javascript
var Complex64Array = require( '@stdlib/array/complex64' );
var Complex64 = require( '@stdlib/complex/float32/ctor' );
var realf = require( '@stdlib/complex/float32/real' );
var imagf = require( '@stdlib/complex/float32/imag' );

var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
var ca = new Complex64( 2.0, 2.0 );

caxpy.ndarray( 3, ca, cx, 1, 1, cy, 1, 1 );

var z = cy.get( 3 );
// returns <Complex64>

var re = realf( z );
// returns -1.0

var im = imagf( z );
// returns 31.0
// cy => <Complex64Array>[ 1.0, 1.0, -1.0, 15.0, -1.0, 23.0, -1.0, 31.0 ]
```

</section>
42 changes: 12 additions & 30 deletions lib/node_modules/@stdlib/blas/base/caxpy/docs/repl.txt
Original file line number Diff line number Diff line change
@@ -43,34 +43,24 @@
> var cx = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
> var cy = new {{alias:@stdlib/array/complex64}}( [ 1.0, 1.0, 1.0, 1.0 ] );
> var ca = new {{alias:@stdlib/complex/float32/ctor}}( 2.0, 2.0 );
> {{alias}}( 2, ca, cx, 1, cy, 1 );
> var z = cy.get( 0 );
> var re = {{alias:@stdlib/complex/float32/real}}( z )
-1.0
> var im = {{alias:@stdlib/complex/float32/imag}}( z )
7.0
> {{alias}}( 2, ca, cx, 1, cy, 1 )
<Complex64Array>[ -1.0, 7.0, -1.0, 15.0 ]

// Advanced indexing:
> cx = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> cy = new {{alias:@stdlib/array/complex64}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
> {{alias}}( 2, ca, cx, -2, cy, 1 );
> z = cy.get( 0 );
> re = {{alias:@stdlib/complex/float32/real}}( z )
-1.0
> im = {{alias:@stdlib/complex/float32/imag}}( z )
23.0
> {{alias}}( 2, ca, cx, -2, cy, 1 )
<Complex64Array>[ -1.0, 23.0, -1.0, 7.0, 1.0, 1.0 ]

// Using typed array views:
> var cx0 = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
> var cy0 = new {{alias:@stdlib/array/complex64}}( [ 1.0, 1.0, 1.0, 1.0 ] );
> var cx1 = new {{alias:@stdlib/array/complex64}}( cx0.buffer, cx0.BYTES_PER_ELEMENT*1 );
> var cy1 = new {{alias:@stdlib/array/complex64}}( cy0.buffer, cy0.BYTES_PER_ELEMENT*1 );
> {{alias}}( 1, ca, cx1, 1, cy1, 1 );
> z = cy0.get( 1 );
> re = {{alias:@stdlib/complex/float32/real}}( z )
-1.0
> im = {{alias:@stdlib/complex/float32/imag}}( z )
15.0
> {{alias}}( 1, ca, cx1, 1, cy1, 1 )
<Complex64Array>[ -1.0, 15.0 ]
> cy0
<Complex64Array>[ 1.0, 1.0, -1.0, 15.0 ]


{{alias}}.ndarray( N, ca, cx, strideX, offsetX, cy, strideY, offsetY )
@@ -120,22 +110,14 @@
> var cx = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0 ] );
> var cy = new {{alias:@stdlib/array/complex64}}( [ 1.0, 1.0, 1.0, 1.0 ] );
> var ca = new {{alias:@stdlib/complex/float32/ctor}}( 2.0, 2.0 );
> {{alias}}.ndarray( cx.length, ca, cx, 1, 0, cy, 1, 0 );
> var z = cy.get( 0 );
> var re = {{alias:@stdlib/complex/float32/real}}( z )
-1.0
> var im = {{alias:@stdlib/complex/float32/imag}}( z )
7.0
> {{alias}}.ndarray( cx.length, ca, cx, 1, 0, cy, 1, 0 )
<Complex64Array>[ -1.0, 7.0, -1.0, 15.0 ]

// Advanced indexing:
> cx = new {{alias:@stdlib/array/complex64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> cy = new {{alias:@stdlib/array/complex64}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
> {{alias}}.ndarray( 2, ca, cx, 1, 1, cy, 1, 1 );
> z = cy.get( 2 );
> re = {{alias:@stdlib/complex/float32/real}}( z )
-1.0
> im = {{alias:@stdlib/complex/float32/imag}}( z )
23.0
> {{alias}}.ndarray( 2, ca, cx, 1, 1, cy, 1, 1 )
<Complex64Array>[ 1.0, 1.0, -1.0, 15.0, -1.0, 23.0 ]

See Also
--------
48 changes: 4 additions & 44 deletions lib/node_modules/@stdlib/blas/base/caxpy/docs/types/index.d.ts
Original file line number Diff line number Diff line change
@@ -41,23 +41,13 @@ interface Routine {
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy( cx.length, ca, cx, 1, cy, 1 );
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
*/
( N: number, ca: Complex64, cx: Complex64Array, strideX: number, cy: Complex64Array, strideY: number ): Complex64Array;

@@ -77,23 +67,13 @@ interface Routine {
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy.ndarray( cx.length, ca, cx, 1, 0, cy, 1, 0 );
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
*/
ndarray( N: number, ca: Complex64, cx: Complex64Array, strideX: number, offsetX: number, cy: Complex64Array, strideY: number, offsetY: number ): Complex64Array;
}
@@ -112,44 +92,24 @@ interface Routine {
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy( 2, ca, cx, 2, cy, 2 );
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, 1.0, 1.0, -1.0, 23.0, 1.0, 1.0 ]
*
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy.ndarray( 3, ca, cx, 1, 1, cy, 1, 1 );
*
* var z = cy.get( 3 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 31.0
* // cy => <Complex64Array>[ 1.0, 1.0, -1.0, 15.0, -1.0, 23.0, -1.0, 31.0 ]
*/
declare var caxpy: Routine;

12 changes: 1 addition & 11 deletions lib/node_modules/@stdlib/blas/base/caxpy/lib/caxpy.js
Original file line number Diff line number Diff line change
@@ -40,23 +40,13 @@ var ndarray = require( './ndarray.js' );
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy( 3, ca, cx, 1, cy, 1 );
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
*/
function caxpy( N, ca, cx, strideX, cy, strideY ) {
var ix = stride2offset( N, strideX );
12 changes: 1 addition & 11 deletions lib/node_modules/@stdlib/blas/base/caxpy/lib/caxpy.native.js
Original file line number Diff line number Diff line change
@@ -40,23 +40,13 @@ var addon = require( './../src/addon.node' );
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy( 3, ca, cx, 1, cy, 1 );
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
*/
function caxpy( N, ca, cx, strideX, cy, strideY ) {
var viewCX = reinterpret( cx, 0 );
24 changes: 2 additions & 22 deletions lib/node_modules/@stdlib/blas/base/caxpy/lib/index.js
Original file line number Diff line number Diff line change
@@ -26,46 +26,26 @@
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
* var caxpy = require( '@stdlib/blas/base/caxpy' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy( 3, ca, cx, 1, cy, 1 );
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
*
* @example
* var Complex64Array = require( '@stdlib/array/complex64' );
* var Complex64 = require( '@stdlib/complex/float32/ctor' );
* var realf = require( '@stdlib/complex/float32/real' );
* var imagf = require( '@stdlib/complex/float32/imag' );
* var caxpy = require( '@stdlib/blas/base/caxpy' );
*
* var cx = new Complex64Array( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
* var cy = new Complex64Array( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
* var ca = new Complex64( 2.0, 2.0 );
*
* caxpy.ndarray( 3, ca cx, 1, 0, cy, 1, 0);
*
* var z = cy.get( 0 );
* // returns <Complex64>
*
* var re = realf( z );
* // returns -1.0
*
* var im = imagf( z );
* // returns 7.0
* // cy => <Complex64Array>[ -1.0, 7.0, -1.0, 15.0, -1.0, 23.0 ]
*/

// MODULES //
12 changes: 1 addition & 11 deletions lib/node_modules/@stdlib/blas/base/caxpy/lib/ndarray.js
12 changes: 1 addition & 11 deletions lib/node_modules/@stdlib/blas/base/caxpy/lib/ndarray.native.js