@@ -58,17 +58,15 @@ The function has the following parameters:
58
58
- ** out** : output [ ` Float64Array ` ] [ @stdlib/array/float64 ] whose first element is the sum and whose second element is the number of non-NaN elements.
59
59
- ** strideOut** : index increment for ` out ` .
60
60
61
- The ` N ` and ` stride ` parameters determine which elements are accessed at runtime. For example, to compute the sum of every other element in ` x ` ,
61
+ The ` N ` and stride parameters determine which elements are accessed at runtime. For example, to compute the sum of every other element in ` x ` ,
62
62
63
63
``` javascript
64
64
var Float64Array = require ( ' @stdlib/array/float64' );
65
- var floor = require ( ' @stdlib/math/base/special/floor' );
66
65
67
66
var x = new Float64Array ( [ 1.0 , 2.0 , NaN , - 7.0 , NaN , 3.0 , 4.0 , 2.0 ] );
68
67
var out = new Float64Array ( 2 );
69
- var N = floor ( x .length / 2 );
70
68
71
- var v = dnannsumkbn2 ( N , x, 2 , out, 1 );
69
+ var v = dnannsumkbn2 ( 4 , x, 2 , out, 1 );
72
70
// returns <Float64Array>[ 5.0, 2 ]
73
71
```
74
72
@@ -78,17 +76,14 @@ Note that indexing is relative to the first index. To introduce an offset, use [
78
76
79
77
``` javascript
80
78
var Float64Array = require ( ' @stdlib/array/float64' );
81
- var floor = require ( ' @stdlib/math/base/special/floor' );
82
79
83
80
var x0 = new Float64Array ( [ 2.0 , 1.0 , NaN , - 2.0 , - 2.0 , 2.0 , 3.0 , 4.0 ] );
84
81
var x1 = new Float64Array ( x0 .buffer , x0 .BYTES_PER_ELEMENT * 1 ); // start at 2nd element
85
82
86
83
var out0 = new Float64Array ( 4 );
87
84
var out1 = new Float64Array ( out0 .buffer , out0 .BYTES_PER_ELEMENT * 2 ); // start at 3rd element
88
85
89
- var N = floor ( x0 .length / 2 );
90
-
91
- var v = dnannsumkbn2 ( N , x1, 2 , out1, 1 );
86
+ var v = dnannsumkbn2 ( 4 , x1, 2 , out1, 1 );
92
87
// returns <Float64Array>[ 5.0, 4 ]
93
88
```
94
89
@@ -115,13 +110,11 @@ While [`typed array`][mdn-typed-array] views mandate a view offset based on the
115
110
116
111
``` javascript
117
112
var Float64Array = require ( ' @stdlib/array/float64' );
118
- var floor = require ( ' @stdlib/math/base/special/floor' );
119
113
120
114
var x = new Float64Array ( [ 2.0 , 1.0 , NaN , - 2.0 , - 2.0 , 2.0 , 3.0 , 4.0 ] );
121
115
var out = new Float64Array ( 4 );
122
- var N = floor ( x .length / 2 );
123
116
124
- var v = dnannsumkbn2 .ndarray ( N , x, 2 , 1 , out, 2 , 1 );
117
+ var v = dnannsumkbn2 .ndarray ( 4 , x, 2 , 1 , out, 2 , 1 );
125
118
// returns <Float64Array>[ 0.0, 5.0, 0.0, 4 ]
126
119
```
127
120
@@ -146,22 +139,20 @@ var v = dnannsumkbn2.ndarray( N, x, 2, 1, out, 2, 1 );
146
139
<!-- eslint no-undef: "error" -->
147
140
148
141
``` javascript
149
- var randu = require ( ' @stdlib/random/base/randu' );
150
- var round = require ( ' @stdlib/math/base/special/round' );
142
+ var bernoulli = require ( ' @stdlib/random/base/bernoulli' );
143
+ var discreteUniform = require ( ' @stdlib/random/base/discrete-uniform' );
144
+ var filledarrayBy = require ( ' @stdlib/array/filled-by' );
151
145
var Float64Array = require ( ' @stdlib/array/float64' );
152
146
var dnannsumkbn2 = require ( ' @stdlib/blas/ext/base/dnannsumkbn2' );
153
147
154
- var x;
155
- var i;
156
-
157
- x = new Float64Array ( 10 );
158
- for ( i = 0 ; i < x .length ; i++ ) {
159
- if ( randu () < 0.2 ) {
160
- x[ i ] = NaN ;
161
- } else {
162
- x[ i ] = round ( randu ()* 100.0 );
148
+ function rand () {
149
+ if ( bernoulli ( 0.8 ) > 0 ) {
150
+ return discreteUniform ( 0 , 100 );
163
151
}
152
+ return NaN ;
164
153
}
154
+
155
+ var x = filledarrayBy ( 10 , ' float64' , rand );
165
156
console .log ( x );
166
157
167
158
var out = new Float64Array ( 2 );
0 commit comments