20
20
21
21
/* eslint-disable max-lines */
22
22
23
+ import dapxsum = require( '@stdlib/blas/ext/base/dapxsum' ) ;
23
24
import dapxsumkbn = require( '@stdlib/blas/ext/base/dapxsumkbn' ) ;
25
+ import dapxsumpw = require( '@stdlib/blas/ext/base/dapxsumpw' ) ;
26
+ import dnansumpw = require( '@stdlib/blas/ext/base/dnansumpw' ) ;
24
27
25
28
/**
26
29
* Interface describing the `wasm` namespace.
27
30
*/
28
31
interface Namespace {
32
+ /**
33
+ * Adds a scalar constant to each double-precision floating-point strided array element and computes the sum.
34
+ *
35
+ * @param N - number of indexed elements
36
+ * @param alpha - scalar constant
37
+ * @param x - input array
38
+ * @param strideX - stride length
39
+ * @returns sum
40
+ *
41
+ * @example
42
+ * var Float64Array = require( '@stdlib/array/float64' );
43
+ *
44
+ * var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
45
+ *
46
+ * var v = ns.dapxsum( x.length, 5.0, x, 1 );
47
+ * // returns 16.0
48
+ *
49
+ * @example
50
+ * var Float64Array = require( '@stdlib/array/float64' );
51
+ *
52
+ * var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
53
+ *
54
+ * var v = ns.dapxsum.ndarray( x.length, 5.0, x, 1, 0 );
55
+ * // returns 16.0
56
+ */
57
+ dapxsum : typeof dapxsum ;
58
+
29
59
/**
30
60
* Adds a scalar constant to each double-precision floating-point strided array element and computes the sum using an improved Kahan–Babuška algorithm.
31
61
*
@@ -52,6 +82,59 @@ interface Namespace {
52
82
* // returns 16.0
53
83
*/
54
84
dapxsumkbn : typeof dapxsumkbn ;
85
+
86
+ /**
87
+ * Adds a scalar constant to each double-precision floating-point strided array element and computes the sum using pairwise summation.
88
+ *
89
+ * @param N - number of indexed elements
90
+ * @param alpha - scalar constant
91
+ * @param x - input array
92
+ * @param strideX - stride length
93
+ * @returns sum
94
+ *
95
+ * @example
96
+ * var Float64Array = require( '@stdlib/array/float64' );
97
+ *
98
+ * var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
99
+ *
100
+ * var v = ns.dapxsumpw( x.length, 5.0, x, 1 );
101
+ * // returns 16.0
102
+ *
103
+ * @example
104
+ * var Float64Array = require( '@stdlib/array/float64' );
105
+ *
106
+ * var x = new Float64Array( [ 1.0, -2.0, 2.0 ] );
107
+ *
108
+ * var v = ns.dapxsumpw.ndarray( x.length, 5.0, x, 1, 0 );
109
+ * // returns 16.0
110
+ */
111
+ dapxsumpw : typeof dapxsumpw ;
112
+
113
+ /**
114
+ * Computes the sum of double-precision floating-point strided array elements, ignoring `NaN` values and using pairwise summation.
115
+ *
116
+ * @param N - number of indexed elements
117
+ * @param x - input array
118
+ * @param strideX - stride length
119
+ * @returns sum
120
+ *
121
+ * @example
122
+ * var Float64Array = require( '@stdlib/array/float64' );
123
+ *
124
+ * var x = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
125
+ *
126
+ * var v = ns.dnansumpw( x.length, x, 1 );
127
+ * // returns 1.0
128
+ *
129
+ * @example
130
+ * var Float64Array = require( '@stdlib/array/float64' );
131
+ *
132
+ * var x = new Float64Array( [ 1.0, -2.0, NaN, 2.0 ] );
133
+ *
134
+ * var v = ns.dnansumpw.ndarray( x.length, x, 1, 0 );
135
+ * // returns 1.0
136
+ */
137
+ dnansumpw : typeof dnansumpw ;
55
138
}
56
139
57
140
/**
0 commit comments