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 ;
@@ -33,16 +34,24 @@ var cdf = require( './../lib' );
3334bench ( pkg , function benchmark ( b ) {
3435 var alpha ;
3536 var beta ;
37+ var len ;
3638 var x ;
3739 var y ;
3840 var i ;
3941
42+ len = 100 ;
43+ x = new Float64Array ( len ) ;
44+ alpha = new Float64Array ( len ) ;
45+ beta = new Float64Array ( len ) ;
46+ for ( i = 0 ; i < len ; i ++ ) {
47+ x [ i ] = uniform ( EPS , 200.0 ) ;
48+ alpha [ i ] = uniform ( EPS , 100.0 ) ;
49+ beta [ i ] = uniform ( EPS , 100.0 ) ;
50+ }
51+
4052 b . tic ( ) ;
4153 for ( i = 0 ; i < b . iterations ; i ++ ) {
42- x = ( randu ( ) * 200.0 ) + EPS ;
43- alpha = ( randu ( ) * 100.0 ) + EPS ;
44- beta = ( randu ( ) * 100.0 ) + EPS ;
45- y = cdf ( x , alpha , beta ) ;
54+ y = cdf ( x [ i % len ] , alpha [ i % len ] , beta [ i % len ] ) ;
4655 if ( isnan ( y ) ) {
4756 b . fail ( 'should not return NaN' ) ;
4857 }
@@ -59,18 +68,23 @@ bench( pkg+':factory', function benchmark( b ) {
5968 var mycdf ;
6069 var alpha ;
6170 var beta ;
71+ var len ;
6272 var x ;
6373 var y ;
6474 var i ;
6575
6676 alpha = 1.5 ;
6777 beta = 2.3 ;
78+ len = 100 ;
6879 mycdf = cdf . factory ( alpha , beta ) ;
80+ x = new Float64Array ( len ) ;
81+ for ( i = 0 ; i < len ; i ++ ) {
82+ x [ i ] = uniform ( 0.0 , 10.0 ) ;
83+ }
6984
7085 b . tic ( ) ;
7186 for ( i = 0 ; i < b . iterations ; i ++ ) {
72- x = ( randu ( ) * 10.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