repl.txt (2376B)
1 2 {{alias}}( N, x, stride ) 3 Computes the sum of strided array elements, ignoring `NaN` values and using 4 an improved Kahan–Babuška algorithm. 5 6 The `N` and `stride` parameters determine which elements in `x` are accessed 7 at runtime. 8 9 Indexing is relative to the first index. To introduce an offset, use a typed 10 array view. 11 12 If `N <= 0`, the function returns `0.0`. 13 14 Parameters 15 ---------- 16 N: integer 17 Number of indexed elements. 18 19 x: Array<number>|TypedArray 20 Input array. 21 22 stride: integer 23 Index increment. 24 25 Returns 26 ------- 27 out: number 28 Sum. 29 30 Examples 31 -------- 32 // Standard Usage: 33 > var x = [ 1.0, -2.0, NaN, 2.0 ]; 34 > {{alias}}( x.length, x, 1 ) 35 1.0 36 37 // Using `N` and `stride` parameters: 38 > x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0, NaN, NaN ]; 39 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 40 > var stride = 2; 41 > {{alias}}( N, x, stride ) 42 1.0 43 44 // Using view offsets: 45 > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, NaN, NaN ] ); 46 > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); 47 > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); 48 > stride = 2; 49 > {{alias}}( N, x1, stride ) 50 -1.0 51 52 {{alias}}.ndarray( N, x, stride, offset ) 53 Computes the sum of strided array elements, ignoring `NaN` values and using 54 an improved Kahan–Babuška algorithm and alternative indexing semantics. 55 56 While typed array views mandate a view offset based on the underlying 57 buffer, the `offset` parameter supports indexing semantics based on a 58 starting index. 59 60 Parameters 61 ---------- 62 N: integer 63 Number of indexed elements. 64 65 x: Array<number>|TypedArray 66 Input array. 67 68 stride: integer 69 Index increment. 70 71 offset: integer 72 Starting index. 73 74 Returns 75 ------- 76 out: number 77 Sum. 78 79 Examples 80 -------- 81 // Standard Usage: 82 > var x = [ 1.0, -2.0, NaN, 2.0 ]; 83 > {{alias}}.ndarray( x.length, x, 1, 0 ) 84 1.0 85 86 // Using offset parameter: 87 > var x = [ 1.0, -2.0, 3.0, 2.0, 5.0, -1.0, NaN, NaN ]; 88 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 89 > {{alias}}.ndarray( N, x, 2, 1 ) 90 -1.0 91 92 See Also 93 -------- 94