{{alias}}( N, x, strideX, out, strideOut ) Computes the sum of double-precision floating-point strided array elements, ignoring `NaN` values and using pairwise summation. The `N` and `stride` parameters determine which elements 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 a sum equal to `0.0`. Parameters ---------- N: integer Number of indexed elements. x: Float64Array Input array. strideX: integer Index increment for `x`. out: Float64Array Output array. strideOut: integer Index increment for `out`. Returns ------- out: Float64Array Output array whose first element is the sum and whose second element is the number of non-NaN elements. Examples -------- // Standard Usage: > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, NaN, 2.0 ] ); > var out = new {{alias:@stdlib/array/float64}}( 2 ); > {{alias}}( x.length, x, 1, out, 1 ) [ 1.0, 3 ] // Using `N` and `stride` parameters: > x = new {{alias:@stdlib/array/float64}}( [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0, NaN, NaN ] ); > out = new {{alias:@stdlib/array/float64}}( 2 ); > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); > {{alias}}( N, x, 2, out, 1 ) [ 1.0, 3 ] // Using view offsets: > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, 1.0, NaN, NaN ] ); > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); > out = new {{alias:@stdlib/array/float64}}( 2 ); > {{alias}}( N, x1, 2, out, 1 ) [ 1.0, 3 ] {{alias}}.ndarray( N, x, strideX, offsetX, out, strideOut, offsetOut ) Computes the sum of double-precision floating-point strided array elements, ignoring `NaN` values and using pairwise summation 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. x: Float64Array Input array. strideX: integer Index increment for `x`. offsetX: integer Starting index for `x`. out: Float64Array Output array. strideOut: integer Index increment for `out`. offsetOut: integer Starting index for `out`. Returns ------- out: Float64Array Output array whose first element is the sum and whose second element is the number of non-NaN elements. Examples -------- // Standard Usage: > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, NaN, 2.0 ] ); > var out = new {{alias:@stdlib/array/float64}}( 2 ); > {{alias}}.ndarray( x.length, x, 1, 0, out, 1, 0 ) [ 1.0, 3 ] // Using offset parameter: > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, 1.0, NaN, NaN ] ); > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); > out = new {{alias:@stdlib/array/float64}}( 2 ); > {{alias}}.ndarray( N, x, 2, 1, out, 1, 0 ) [ 1.0, 3 ] See Also --------