-
-
Notifications
You must be signed in to change notification settings - Fork 809
/
Copy pathrepl.txt
115 lines (86 loc) · 3.21 KB
/
repl.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{{alias}}( N, x, strideX, y, strideY )
Computes the dot product of two double-precision floating-point vectors.
The `N` and stride parameters determine which elements in the strided arrays
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 `0`.
Parameters
----------
N: integer
Number of indexed elements.
x: Float64Array
First input array.
strideX: integer
Index increment for `x`.
y: Float64Array
Second input array.
strideY: integer
Index increment for `y`.
Returns
-------
out: number
Dot product.
Examples
--------
// Standard usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] );
> var y = new {{alias:@stdlib/array/float64}}( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] );
> var out = {{alias}}( x.length, x, 1, y, 1 )
-5.0
// Strides:
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
> out = {{alias}}( 3, x, 2, y, -1 )
9.0
// Using view offsets:
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float64}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
> var x1 = new {{alias:@stdlib/array/float64}}( x.buffer, x.BYTES_PER_ELEMENT*1 );
> var y1 = new {{alias:@stdlib/array/float64}}( y.buffer, y.BYTES_PER_ELEMENT*3 );
> out = {{alias}}( 3, x1, -2, y1, 1 )
128.0
{{alias}}.ndarray( N, x, strideX, offsetX, y, strideY, offsetY )
Computes the dot product of two double-precision floating-point vectors
using alternative indexing semantics.
While typed array views mandate a view offset based on the underlying
buffer, the offset parameters support indexing based on a starting index.
Parameters
----------
N: integer
Number of indexed elements.
x: Float64Array
First input array.
strideX: integer
Index increment for `x`.
offsetX: integer
Starting index for `x`.
y: Float64Array
Second input array.
strideY: integer
Index increment for `y`.
offsetY: integer
Starting index for `y`.
Returns
-------
out: number
Dot product.
Examples
--------
// Standard usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 4.0, 2.0, -3.0, 5.0, -1.0 ] );
> var y = new {{alias:@stdlib/array/float64}}( [ 2.0, 6.0, -1.0, -4.0, 8.0 ] );
> var out = {{alias}}.ndarray( x.length, x, 1, 0, y, 1, 0 )
-5.0
// Strides:
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float64}}( [ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0 ] );
> out = {{alias}}.ndarray( 3, x, 2, 0, y, 2, 0 )
9.0
// Using offset indices:
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 ] );
> y = new {{alias:@stdlib/array/float64}}( [ 7.0, 8.0, 9.0, 10.0, 11.0, 12.0 ] );
> out = {{alias}}.ndarray( 3, x, -2, x.length-1, y, 1, 3 )
128.0
See Also
--------