repl.txt (2282B)
1 2 {{alias}}( N, x, stride ) 3 Computes the median value of a sorted strided array. 4 5 The input strided array must be sorted in either strictly ascending or 6 descending order. 7 8 The `N` and `stride` parameters determine which elements in `x` are accessed 9 at runtime. 10 11 Indexing is relative to the first index. To introduce an offset, use a typed 12 array view. 13 14 If `N <= 0`, the function returns `NaN`. 15 16 Parameters 17 ---------- 18 N: integer 19 Number of indexed elements. 20 21 x: Array<number>|TypedArray 22 Sorted input array. 23 24 stride: integer 25 Index increment. 26 27 Returns 28 ------- 29 out: number 30 Median value. 31 32 Examples 33 -------- 34 // Standard Usage: 35 > var x = [ 1.0, 2.0, 3.0 ]; 36 > {{alias}}( x.length, x, 1 ) 37 2.0 38 39 // Using `N` and `stride` parameters: 40 > x = [ -2.0, 1.0, 1.0, -5.0, 2.0, -1.0 ]; 41 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 42 > {{alias}}( N, x, 2 ) 43 1.0 44 45 // Using view offsets: 46 > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, -2.0, 3.0, 2.0, 5.0, 3.0 ] ); 47 > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); 48 > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); 49 > {{alias}}( N, x1, 2 ) 50 2.0 51 52 {{alias}}.ndarray( N, x, stride, offset ) 53 Computes the median value of a sorted strided array using alternative 54 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 Sorted input array. 67 68 stride: integer 69 Index increment. 70 71 offset: integer 72 Starting index. 73 74 Returns 75 ------- 76 out: number 77 Median value. 78 79 Examples 80 -------- 81 // Standard Usage: 82 > var x = [ 1.0, 2.0, 3.0 ]; 83 > {{alias}}.ndarray( x.length, x, 1, 0 ) 84 2.0 85 86 // Using offset parameter: 87 > var x = [ 1.0, -2.0, 3.0, 2.0, 5.0, 3.0 ]; 88 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 89 > {{alias}}.ndarray( N, x, 2, 1 ) 90 2.0 91 92 See Also 93 -------- 94