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 beta ;
36+ var len ;
3537 var mu ;
3638 var x ;
3739 var y ;
3840 var i ;
3941
42+ len = 100 ;
43+ x = new Float64Array ( len ) ;
44+ mu = new Float64Array ( len ) ;
45+ beta = 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+ beta [ i ] = uniform ( EPS , 20.0 ) ;
50+ }
51+
4052 b . tic ( ) ;
4153 for ( i = 0 ; i < b . iterations ; i ++ ) {
42- x = ( randu ( ) * 200.0 ) - 100.0 ;
43- mu = ( randu ( ) * 100.0 ) - 50.0 ;
44- beta = ( randu ( ) * 20.0 ) + EPS ;
45- y = cdf ( x , mu , beta ) ;
54+ y = cdf ( x [ i % len ] , mu [ i % len ] , beta [ i % len ] ) ;
4655 if ( isnan ( y ) ) {
4756 b . fail ( 'should not return NaN' ) ;
4857 }
@@ -58,6 +67,7 @@ bench( pkg, function benchmark( b ) {
5867bench ( pkg + ':factory' , function benchmark ( b ) {
5968 var mycdf ;
6069 var beta ;
70+ var len ;
6171 var mu ;
6272 var x ;
6373 var y ;
@@ -66,11 +76,15 @@ bench( pkg+':factory', function benchmark( b ) {
6676 mu = 10.0 ;
6777 beta = 4.0 ;
6878 mycdf = cdf . factory ( mu , beta ) ;
79+ len = 100 ;
80+ x = new Float64Array ( len ) ;
81+ for ( i = 0 ; i < len ; i ++ ) {
82+ x [ i ] = uniform ( 0.0 , 50.0 ) ;
83+ }
6984
7085 b . tic ( ) ;
7186 for ( i = 0 ; i < b . iterations ; i ++ ) {
72- x = ( randu ( ) * 50.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