2121// MODULES //
2222
2323var bench = require ( '@stdlib/bench' ) ;
24- var randu = require ( '@stdlib/random/base/randu' ) ;
24+ var Float64Array = require ( '@stdlib/array/float64' ) ;
25+ var uniform = require ( '@stdlib/random/base/uniform' ) ;
2526var isnan = require ( '@stdlib/math/base/assert/is-nan' ) ;
2627var EPS = require ( '@stdlib/constants/float64/eps' ) ;
2728var pkg = require ( './../package.json' ) . name ;
@@ -32,17 +33,25 @@ var cdf = require( './../lib' );
3233
3334bench ( pkg , function benchmark ( b ) {
3435 var scale ;
36+ var len ;
3537 var mu ;
3638 var x ;
3739 var y ;
3840 var i ;
3941
42+ len = 100 ;
43+ mu = new Float64Array ( len ) ;
44+ scale = new Float64Array ( len ) ;
45+ x = new Float64Array ( len ) ;
46+ for ( i = 0 ; i < len ; i ++ ) {
47+ x [ i ] = uniform ( - 100.0 , 100.0 ) ;
48+ mu [ i ] = uniform ( - 50.0 , 50.0 ) ;
49+ scale [ i ] = uniform ( EPS , 20.0 ) ;
50+ }
51+
4052 b . tic ( ) ;
4153 for ( i = 0 ; i < b . iterations ; i ++ ) {
42- x = ( randu ( ) * 200.0 ) - 100 ;
43- mu = ( randu ( ) * 100.0 ) - 50.0 ;
44- scale = ( randu ( ) * 20.0 ) + EPS ;
45- y = cdf ( x , mu , scale ) ;
54+ y = cdf ( x [ i % len ] , mu [ i % len ] , scale [ i % len ] ) ;
4655 if ( isnan ( y ) ) {
4756 b . fail ( 'should not return NaN' ) ;
4857 }
@@ -58,19 +67,24 @@ bench( pkg, function benchmark( b ) {
5867bench ( pkg + ':factory' , function benchmark ( b ) {
5968 var mycdf ;
6069 var scale ;
70+ var len ;
6171 var mu ;
6272 var x ;
6373 var y ;
6474 var i ;
6575
6676 mu = 0.0 ;
6777 scale = 1.5 ;
78+ len = 100 ;
79+ x = new Float64Array ( len ) ;
6880 mycdf = cdf . factory ( mu , scale ) ;
81+ for ( i = 0 ; i < len ; i ++ ) {
82+ x [ i ] = uniform ( - 2.0 , 2.0 ) ;
83+ }
6984
7085 b . tic ( ) ;
7186 for ( i = 0 ; i < b . iterations ; i ++ ) {
72- x = ( randu ( ) * 4.0 ) - 2.0 ;
73- y = mycdf ( x ) ;
87+ y = mycdf ( x [ i % len ] ) ;
7488 if ( isnan ( y ) ) {
7589 b . fail ( 'should not return NaN' ) ;
7690 }
0 commit comments