repl.txt (4700B)
1 2 {{alias}}( N, x, sx, m, sm, y, sy, fcn ) 3 Applies a unary function accepting and returning double-precision floating- 4 point numbers to each element in a double-precision floating-point strided 5 input array according to a corresponding element in a strided mask array and 6 assigns each result to an element in a double-precision floating-point 7 strided output array. 8 9 The `N` and stride parameters determine which elements in the strided arrays 10 are accessed at runtime. 11 12 Indexing is relative to the first index. To introduce an offset, use typed 13 array views. 14 15 Parameters 16 ---------- 17 N: integer 18 Number of indexed elements. 19 20 x: Float64Array 21 Input array. 22 23 sx: integer 24 Index increment for `x`. 25 26 m: Uint8Array 27 Mask array. 28 29 sm: integer 30 Index increment for `m`. 31 32 y: Float64Array 33 Destination array. 34 35 sy: integer 36 Index increment for `y`. 37 38 fcn: Function 39 Unary function to apply. 40 41 Returns 42 ------- 43 y: Float64Array 44 Input array `y`. 45 46 Examples 47 -------- 48 // Standard usage: 49 > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] ); 50 > var m = new {{alias:@stdlib/array/uint8}}( [ 0, 0, 1, 0 ] ); 51 > var y = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 0.0, 0.0 ] ); 52 > {{alias}}( x.length, x, 1, m, 1, y, 1, {{alias:@stdlib/math/base/special/identity}} ) 53 <Float64Array>[ 1.0, 2.0, 0.0, 4.0 ] 54 55 // Using `N` and `stride` parameters: 56 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 57 > y = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 0.0, 0.0 ] ); 58 > {{alias}}( N, x, 2, m, 2, y, -1, {{alias:@stdlib/math/base/special/identity}} ) 59 <Float64Array>[ 0.0, 1.0, 0.0, 0.0 ] 60 61 // Using view offsets: 62 > var x0 = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] ); 63 > var m0 = new {{alias:@stdlib/array/uint8}}( [ 0, 0, 1, 0 ] ); 64 > var y0 = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 0.0, 0.0 ] ); 65 > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 ); 66 > var m1 = new {{alias:@stdlib/array/uint8}}( m0.buffer, m0.BYTES_PER_ELEMENT*2 ); 67 > var y1 = new {{alias:@stdlib/array/float64}}( y0.buffer, y0.BYTES_PER_ELEMENT*2 ); 68 > N = {{alias:@stdlib/math/base/special/floor}}( x0.length / 2 ); 69 > {{alias}}( N, x1, -2, m1, 1, y1, 1, {{alias:@stdlib/math/base/special/identity}} ) 70 <Float64Array>[ 0.0, 2.0 ] 71 > y0 72 <Float64Array>[ 0.0, 0.0, 0.0, 2.0 ] 73 74 75 {{alias}}.ndarray( N, x, sx, ox, m, sm, om, y, sy, oy, fcn ) 76 Applies a unary function accepting and returning double-precision floating- 77 point numbers to each element in a double-precision floating-point strided 78 input array according to a corresponding element in a strided mask array and 79 assigns each result to an element in a double-precision floating-point 80 strided output array using alternative indexing semantics. 81 82 While typed array views mandate a view offset based on the underlying 83 buffer, the offset parameters support indexing semantics based on starting 84 indices. 85 86 Parameters 87 ---------- 88 N: integer 89 Number of indexed elements. 90 91 x: Float64Array 92 Input array. 93 94 sx: integer 95 Index increment for `x`. 96 97 ox: integer 98 Starting index for `x`. 99 100 m: Uint8Array 101 Mask array. 102 103 sm: integer 104 Index increment for `m`. 105 106 om: integer 107 Starting index for `m`. 108 109 y: Float64Array 110 Destination array. 111 112 sy: integer 113 Index increment for `y`. 114 115 oy: integer 116 Starting index for `y`. 117 118 fcn: Function 119 Unary function to apply. 120 121 Returns 122 ------- 123 y: Float64Array 124 Input array `y`. 125 126 Examples 127 -------- 128 // Standard usage: 129 > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] ); 130 > var m = new {{alias:@stdlib/array/uint8}}( [ 0, 0, 1, 0 ] ); 131 > var y = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 0.0, 0.0 ] ); 132 > {{alias}}.ndarray( x.length, x, 1, 0, m, 1, 0, y, 1, 0, {{alias:@stdlib/math/base/special/identity}} ) 133 <Float64Array>[ 1.0, 2.0, 0.0, 4.0 ] 134 135 // Advanced indexing: 136 > x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0, 3.0, 4.0 ] ); 137 > m = new {{alias:@stdlib/array/uint8}}( [ 0, 0, 1, 0 ] ); 138 > y = new {{alias:@stdlib/array/float64}}( [ 0.0, 0.0, 0.0, 0.0 ] ); 139 > var N = {{alias:@stdlib/math/base/special/floor}}( x.length / 2 ); 140 > {{alias}}.ndarray( N, x, 2, 1, m, 1, 2, y, -1, y.length-1, {{alias:@stdlib/math/base/special/identity}} ) 141 <Float64Array>[ 0.0, 0.0, 4.0, 0.0 ] 142 143 See Also 144 -------- 145