time-to-botec/js/node_modules/@stdlib/blas/base/sdsdot/docs/repl.txt
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00

135 lines
4.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{alias}}( N, scalar, x, strideX, y, strideY )
Computes the dot product of two single-precision floating-point vectors with
extended accumulation.
The `N`, `strideX`, and `strideY` parameters determine which elements in `x`
and `y` are accessed at runtime.
Indexing is relative to the first index. To introduce an offset, use a typed
array view.
If `N <= 0` the function returns `scalar`.
Parameters
----------
N: integer
Number of indexed elements.
scalar: number
Scalar constant added to dot product.
x: Float32Array
First input array.
strideX: integer
Index increment for `x`.
y: Float32Array
Second input array.
strideY: integer
Index increment for `y`.
Returns
-------
dot: number
The dot product of `x` and `y`.
Examples
--------
// Standard usage:
> var x = new {{alias:@stdlib/array/float32}}( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] );
> var y = new {{alias:@stdlib/array/float32}}( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] );
> var dot = {{alias}}( x.length, 0.0, x, 1, y, 1 )
-5.0
// Strides:
> x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float32}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
> dot = {{alias}}( N, 0.0, x, 2, y, -1 )
9.0
// Using view offsets:
> x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float32}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
> var x1 = new {{alias:@stdlib/array/float32}}( x.buffer, x.BYTES_PER_ELEMENT*1 );
> var y1 = new {{alias:@stdlib/array/float32}}( y.buffer, y.BYTES_PER_ELEMENT*3 );
> N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
> dot = {{alias}}( N, 0.0, x1, -2, y1, 1 )
128.0
{{alias}}.ndarray( N, scalar, x, strideX, offsetX, y, strideY, offsetY )
Computes the dot product of two single-precision floating-point vectors
using alternative indexing semantics and with extended accumulation.
While typed array views mandate a view offset based on the underlying
buffer, the `offsetX` and `offsetY` parameters support indexing based on a
starting index.
Parameters
----------
N: integer
Number of indexed elements.
scalar: number
Scalar constant added to dot product.
x: Float32Array
First input array.
strideX: integer
Index increment for `x`.
offsetX: integer
Starting index for `x`.
y: Float32Array
Second input array.
strideY: integer
Index increment for `y`.
offsetY: integer
Starting index for `y`.
Returns
-------
dot: number
The dot product of `x` and `y`.
Examples
--------
// Standard usage:
> var x = new {{alias:@stdlib/array/float32}}( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] );
> var y = new {{alias:@stdlib/array/float32}}( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] );
> var dot = {{alias}}.ndarray( x.length, 0.0, x, 1, 0, y, 1, 0 )
-5.0
// Strides:
> x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float32}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
> var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
> dot = {{alias}}.ndarray( N, 0.0, x, 2, 0, y, 2, 0 )
9.0
// Using offset indices:
> x = new {{alias:@stdlib/array/float32}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float32}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
> N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 );
> dot = {{alias}}.ndarray( N, 0.0, x, -2, x.length-1, y, 1, 3 )
128.0
References
----------
- Lawson, Charles L., Richard J. Hanson, Fred T. Krogh, and David Ronald
Kincaid. 1979. "Algorithm 539: Basic Linear Algebra Subprograms for Fortran
Usage [F1]." *ACM Transactions on Mathematical Software* 5 (3). New York,
NY, USA: Association for Computing Machinery: 32425.
doi:10.1145/355841.355848.
See Also
--------