-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Expand file tree
/
Copy pathrepl.txt
More file actions
161 lines (120 loc) · 4.51 KB
/
Copy pathrepl.txt
File metadata and controls
161 lines (120 loc) · 4.51 KB
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
{{alias}}( N, x,sx, N1,p,sp, N2,a,sa, out,so )
Calculates the differences between consecutive elements of a double-
precision floating-point strided array.
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 + N1 + N2 <= 1`, the function returns the output array unchanged.
Parameters
----------
N: integer
Number of indexed elements.
x: Float64Array
Input array.
sx: integer
Stride length for `x`.
N1: integer
Number of indexed elements to prepend.
p: Float64Array
Array containing values to prepend after computing differences.
sp: integer
Stride length for `p`.
N2: integer
Number of indexed elements to append.
a: Float64Array
Array containing values to append after computing differences.
sa: integer
Stride length for `a`.
out: Float64Array
Output array.
so: integer
Stride length for `Out`.
Returns
-------
out: Float64Array
Output array.
Examples
--------
// Standard Usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 2.0 ] );
> var p = new {{alias:@stdlib/array/float64}}( [ 0.0 ] );
> var a = new {{alias:@stdlib/array/float64}}( [ 3.0 ] );
> var out = new {{alias:@stdlib/array/float64}}( 4 );
> {{alias}}( x.length, x, 1, 1, p, 1, 1, a, 1, out, 1 )
<Float64Array>[ 0.0, -3.0, 4.0, 3.0 ]
// Using `N` and stride parameters:
> x = new {{alias:@stdlib/array/float64}}( [ 2.0, 4.0, 6.0, 8.0, 10.0 ] );
> p = new {{alias:@stdlib/array/float64}}( [ 1.0 ] );
> a = new {{alias:@stdlib/array/float64}}( [ 11.0 ] );
> var out = new {{alias:@stdlib/array/float64}}( 4 );
> {{alias}}( 3, x, 2, 1, p, 1, 1, a, 1, out, 1 )
<Float64Array>[ 1.0, 4.0, 4.0, 11.0 ]
// Using view offsets:
> var x0 = new {{alias:@stdlib/array/float64}}( [ 2.0, 4.0, 6.0, 8.0, 10.0 ] );
> var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
> p = new {{alias:@stdlib/array/float64}}( [ 1.0 ] );
> a = new {{alias:@stdlib/array/float64}}( [ 11.0 ] );
> var out = new {{alias:@stdlib/array/float64}}( 5 );
> {{alias}}( x1.length, x1, 1, 1, p, 1, 1, a, 1, out, 1 )
<Float64Array>[ 1.0, 2.0, 2.0, 2.0, 11.0 ]
{{alias}}.ndarray( N, x,sx,ox, N1,p,sp,op, N2,a,sa,oa, out,so,oo )
Calculates the differences between consecutive elements of a double-
precision floating-point strided array 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
Input array.
sx: integer
Stride length for `x`.
ox: integer
Starting index for `x`.
N1: integer
Number of indexed elements to prepend.
p: Float64Array
Array containing values to prepend after computing differences.
sp: integer
Stride length for `p`.
op: integer
Starting index for `p`.
N2: integer
Number of indexed elements to append.
a: Float64Array
Array containing values to append after computing differences.
sa: integer
Stride length for `a`.
oa: integer
Starting index for `a`.
out: Float64Array
Output array.
so: integer
Stride length for `Out`.
oo: integer
Starting index for `Out`.
Returns
-------
out: Float64Array
Output array.
Examples
--------
// Standard Usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 2.0 ] );
> var p = new {{alias:@stdlib/array/float64}}( [ 0.0 ] );
> var a = new {{alias:@stdlib/array/float64}}( [ 3.0 ] );
> var out = new {{alias:@stdlib/array/float64}}( 4 );
> {{alias}}.ndarray( 3, x,1,0, 1, p,1,0, 1, a,1,0, out,1,0 )
<Float64Array>[ 0.0, -3.0, 4.0, 3.0 ]
// Advanced indexing:
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 2.0 ] );
> p = new {{alias:@stdlib/array/float64}}( [ 0.0 ] );
> a = new {{alias:@stdlib/array/float64}}( [ 3.0 ] );
> out = new {{alias:@stdlib/array/float64}}( 3 );
> {{alias}}.ndarray( 2, x,1,1, 1, p,1,0, 1, a,1,0, out,1,0 )
<Float64Array>[ 0.0, 4.0, 3.0 ]
See Also
--------