2020
2121/* eslint-disable max-lines */
2222
23+ import dapxsum = require( '@stdlib/blas/ext/base/dapxsum' ) ;
2324import 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' ) ;
2427
2528/**
2629* Interface describing the `wasm` namespace.
2730*/
2831interface 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+
2959 /**
3060 * Adds a scalar constant to each double-precision floating-point strided array element and computes the sum using an improved Kahan–Babuška algorithm.
3161 *
@@ -52,6 +82,59 @@ interface Namespace {
5282 * // returns 16.0
5383 */
5484 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 ;
55138}
56139
57140/**
0 commit comments