2121// MODULES //
2222
2323var bench = require ( '@stdlib/bench' ) ;
24- var uniform = require ( '@stdlib/random/array/uniform' ) ;
25- var bernoulli = require ( '@stdlib/random/array/bernoulli' ) ;
24+ var uniform = require ( '@stdlib/random/base/uniform' ) ;
25+ var bernoulli = require ( '@stdlib/random/base/bernoulli' ) ;
26+ var filledarrayBy = require ( '@stdlib/array/filled-by' ) ;
2627var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
2728var pow = require ( '@stdlib/math/base/special/pow' ) ;
2829var pkg = require ( './../package.json' ) . name ;
2930var nanmskmax = require ( './../lib/ndarray.js' ) ;
3031
3132
32- // VARIABLES //
33-
34- var options = {
35- 'dtype' : 'generic'
36- } ;
37-
38-
3933// FUNCTIONS //
4034
35+ /**
36+ * Returns a random value or `NaN`.
37+ *
38+ * @private
39+ * @returns {number } random number or `NaN`
40+ */
41+ function rand ( ) {
42+ if ( bernoulli ( 0.8 ) < 1 ) {
43+ return NaN ;
44+ }
45+ return uniform ( - 10.0 , 10.0 ) ;
46+ }
47+
4148/**
4249* Creates a benchmark function.
4350*
@@ -49,8 +56,8 @@ function createBenchmark( len ) {
4956 var mask ;
5057 var x ;
5158
52- mask = bernoulli ( len , 0.2 , options ) ;
53- x = uniform ( len , - 10.0 , 10.0 , options ) ;
59+ x = filledarrayBy ( len , 'generic' , rand ) ;
60+ mask = filledarrayBy ( len , 'uint8' , bernoulli . factory ( 0.2 ) ) ;
5461 return benchmark ;
5562
5663 function benchmark ( b ) {
0 commit comments