forked from stdlib-js/stdlib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrepl.txt
120 lines (90 loc) · 3.31 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
{{alias}}( N, sum, x, strideX, y, strideY )
Computes the cumulative sum of double-precision floating-point strided array
elements using an improved Kahan–Babuška algorithm.
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 `y` unchanged.
Parameters
----------
N: integer
Number of indexed elements.
sum: number
Initial sum.
x: Float64Array
Input array.
strideX: integer
Index increment for `x`.
y: Float64Array
Output array.
strideY: integer
Index increment for `y`.
Returns
-------
out: Float64Array
Output array.
Examples
--------
// Standard Usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 2.0 ] );
> var y = new {{alias:@stdlib/array/float64}}( x.length );
> {{alias}}( x.length, 0.0, x, 1, y, 1 )
<Float64Array>[ 1.0, -1.0, 1.0 ]
// Using `N` and `stride` parameters:
> x = new {{alias:@stdlib/array/float64}}( [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ] );
> y = new {{alias:@stdlib/array/float64}}( x.length );
> {{alias}}( 3, 0.0, x, 2, y, 2 )
<Float64Array>[ -2.0, 0.0, -1.0, 0.0, 1.0, 0.0 ]
// Using view offsets:
> var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] );
> var y0 = new {{alias:@stdlib/array/float64}}( x0.length );
> 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}}( 3, 0.0, x1, 2, y1, 1 )
<Float64Array>[ -2.0, 0.0, -1.0 ]
> y0
<Float64Array>[ 0.0, 0.0, 0.0, -2.0, 0.0, -1.0 ]
{{alias}}.ndarray( N, sum, x, strideX, offsetX, y, strideY, offsetY )
Computes the cumulative sum of double-precision floating-point strided array
elements using an improved Kahan–Babuška algorithm and alternative indexing
semantics.
While typed array views mandate a view offset based on the underlying
buffer, the `offset` parameter supports indexing semantics based on a
starting index.
Parameters
----------
N: integer
Number of indexed elements.
sum: number
Initial sum.
x: Float64Array
Input array.
strideX: integer
Index increment for `x`.
offsetX: integer
Starting index for `x`.
y: Float64Array
Output array.
strideY: integer
Index increment for `y`.
offsetY: integer
Starting index for `y`.
Returns
-------
out: Float64Array
Output array.
Examples
--------
// Standard Usage:
> var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 2.0 ] );
> var y = new {{alias:@stdlib/array/float64}}( x.length );
> {{alias}}.ndarray( x.length, 0.0, x, 1, 0, y, 1, 0 )
<Float64Array>[ 1.0, -1.0, 1.0 ]
// Advanced indexing:
> x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0 ] );
> y = new {{alias:@stdlib/array/float64}}( x.length );
> {{alias}}.ndarray( 3, 0.0, x, 2, 1, y, -1, y.length-1 )
<Float64Array>[ 0.0, 0.0, 0.0, -1.0, 0.0, -2.0 ]
See Also
--------