2121// MODULES //
2222
2323var bench = require ( '@stdlib/bench' ) ;
24- var ceil = require ( '@stdlib/math/base/special/ceil' ) ;
25- var randu = require ( '@stdlib/random/base/randu' ) ;
24+ var Float64Array = require ( '@stdlib/array/float64' ) ;
25+ var uniform = require ( '@stdlib/random/base/uniform' ) ;
26+ var discreteUniform = require ( '@stdlib/random/base/discrete-uniform' ) ;
2627var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
2728var pkg = require ( './../package.json' ) . name ;
2829var cdf = require ( './../lib' ) ;
@@ -32,15 +33,21 @@ var cdf = require( './../lib' );
3233
3334bench ( pkg , function benchmark ( b ) {
3435 var lambda ;
36+ var len ;
3537 var x ;
3638 var y ;
3739 var i ;
3840
41+ len = 100 ;
42+ lambda = new Float64Array ( len ) ;
43+ x = new Float64Array ( len ) ;
44+ for ( i = 0 ; i < len ; i ++ ) {
45+ x [ i ] = discreteUniform ( 1 , 100 ) ;
46+ lambda [ i ] = uniform ( 0.0 , 100.0 ) ;
47+ }
3948 b . tic ( ) ;
4049 for ( i = 0 ; i < b . iterations ; i ++ ) {
41- x = ceil ( randu ( ) * 100.0 ) ;
42- lambda = ( randu ( ) * 100.0 ) ;
43- y = cdf ( x , lambda ) ;
50+ y = cdf ( x [ i % len ] , lambda [ i % len ] ) ;
4451 if ( isnan ( y ) ) {
4552 b . fail ( 'should not return NaN' ) ;
4653 }
@@ -56,17 +63,21 @@ bench( pkg, function benchmark( b ) {
5663bench ( pkg + ':factory' , function benchmark ( b ) {
5764 var lambda ;
5865 var mycdf ;
66+ var len ;
5967 var x ;
6068 var y ;
6169 var i ;
6270
6371 lambda = 10.0 ;
6472 mycdf = cdf . factory ( lambda ) ;
65-
73+ len = 100 ;
74+ x = new Float64Array ( len ) ;
75+ for ( i = 0 ; i < len ; i ++ ) {
76+ x [ i ] = discreteUniform ( 1 , 50 ) ;
77+ }
6678 b . tic ( ) ;
6779 for ( i = 0 ; i < b . iterations ; i ++ ) {
68- x = ceil ( randu ( ) * 50.0 ) ;
69- y = mycdf ( x ) ;
80+ y = mycdf ( x [ i % len ] ) ;
7081 if ( isnan ( y ) ) {
7182 b . fail ( 'should not return NaN' ) ;
7283 }
0 commit comments