-
-
Notifications
You must be signed in to change notification settings - Fork 813
/
Copy pathrepl.txt
135 lines (106 loc) · 4.09 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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
{{alias}}( N, x, strideX, y, strideY, param )
Applies a modified Givens plane rotation.
The `N` and stride parameters determine how values in the strided arrays are
accessed at runtime.
Indexing is relative to the first index. To introduce an offset, use typed
array views.
If `N` is less than or equal to `0`, the vectors are unchanged.
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`.
param: Float64Array
Parameters for the modified Givens transformation.
Returns
-------
y: Float64Array
Second input array.
Examples
--------
// Standard Usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
> var y = new {{alias:@stdlib/array/float64}}( [ 6.0, 7.0, 8.0, 9.0, 10.0 ] );
> var param = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 2.0, -3.0, 0.0 ] );
> {{alias}}( 2, x, 2, y, 1, param );
> x
<Float64Array>[ ~-17.0, 2.0, ~-18.0, 4.0, 5.0 ]
> y
<Float64Array>[ ~8.0, ~13.0, 8.0, 9.0, 10.0 ]
// Advanced Indexing:
> x = new {{alias:@stdlib/array/float64}}( [ 0.6, 0.1, -0.5, 0.8, 0.9 ] );
> y = new {{alias:@stdlib/array/float64}}( [ 0.5, -0.9, 0.3, 0.7, -0.6 ] );
> param = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 2.0, -3.0, 0.0 ] );
> {{alias}}( 2, x, -2, y, 1, param );
> x
<Float64Array>[ ~3.3, 0.1, ~-2.0, 0.8, 0.9 ]
> y
<Float64Array>[ ~-0.5, ~0.3, 0.3, 0.7, -0.6 ]
// Using typed array views:
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
> var y0 = new {{alias:@stdlib/array/float64}}( [ 6.0, 7.0, 8.0, 9.0, 10.0 ] );
> param = new {{alias:@stdlib/array/float64}}( [ 1.0, 0.0, 2.0, 3.0, 0.0 ] );
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
> var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*3 );
> {{alias}}( 2, x1, 1, y1, 1, param );
> x0
<Float64Array>[ 1.0, ~9.0, ~10.0, 4.0, 5.0 ]
> y0
<Float64Array>[ 6.0, 7.0, 8.0, ~-2.0, ~-3.0 ]
{{alias}}.ndarray( N, x, strideX, offsetX, y, strideY, offsetY, param )
Applies a modified Givens plane rotation using alternative indexing
semantics.
While typed array views mandate a view offset based on the underlying
buffer, the offset parameters support indexing semantics based on starting
indices.
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`.
param: Float64Array
Parameters for the modified Givens transformation.
Returns
-------
y: Float64Array
Second input array.
Examples
--------
// Standard Usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0, 5.0 ] );
> var y = new {{alias:@stdlib/array/float64}}( [ 6.0, 7.0, 8.0, 9.0, 10.0 ] );
> param = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 2.0, -3.0, 0.0 ] );
> {{alias}}.ndarray( 2, x, 1, 0, y, 2, 1, param );
> x
<Float64Array>[ ~-20.0, ~-25.0, 3.0, 4.0, 5.0 ]
> y
<Float64Array>[ 6.0, ~9.0, 8.0, ~13.0, 10.0 ]
// Advanced Indexing:
> x = new {{alias:@stdlib/array/float64}}( [ 0.6, 0.1, -0.5, 0.8, 0.9, -0.3, -0.4 ] );
> y = new {{alias:@stdlib/array/float64}}( [ 0.5, -0.9, 0.3, 0.7, -0.6, 0.2, 0.8 ] );
> param = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 2.0, -3.0, 0.0 ] );
> {{alias}}.ndarray( 2, x, -1, 1, y, -2, 2, param );
> x
<Float64Array>[ ~-0.9, ~-0.8, -0.5, 0.8, 0.9, -0.3, -0.4 ]
> y
<Float64Array>[ ~1.7, -0.9, ~0.5, 0.7, -0.6, 0.2, 0.8 ]
See Also
--------