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,19 +33,28 @@ var cdf = require( './../lib' );
3233
3334bench ( pkg , function benchmark ( b ) {
3435 var alpha ;
36+ var len ;
3537 var m ;
3638 var s ;
3739 var x ;
3840 var y ;
3941 var i ;
4042
43+ len = 100 ;
44+ x = new Float64Array ( len ) ;
45+ alpha = new Float64Array ( len ) ;
46+ s = new Float64Array ( len ) ;
47+ m = new Float64Array ( len ) ;
48+ for ( i = 0 ; i < len ; i ++ ) {
49+ x [ i ] = uniform ( - 50.0 , 50.0 ) ;
50+ alpha [ i ] = uniform ( EPS , 20.0 ) ;
51+ m [ i ] = uniform ( - 20.0 , 40.0 ) ;
52+ s [ i ] = uniform ( EPS , 20.0 ) ;
53+ }
54+
4155 b . tic ( ) ;
4256 for ( i = 0 ; i < b . iterations ; i ++ ) {
43- x = ( randu ( ) * 100.0 ) - 50.0 ;
44- alpha = ( randu ( ) * 20.0 ) + EPS ;
45- m = ( randu ( ) * 60.0 ) - 20.0 ;
46- s = ( randu ( ) * 20.0 ) + EPS ;
47- y = cdf ( x , alpha , s , m ) ;
57+ y = cdf ( x [ i % len ] , alpha [ i % len ] , s [ i % len ] , m [ i % len ] ) ;
4858 if ( isnan ( y ) ) {
4959 b . fail ( 'should not return NaN' ) ;
5060 }
@@ -60,6 +70,7 @@ bench( pkg, function benchmark( b ) {
6070bench ( pkg + ':factory' , function benchmark ( b ) {
6171 var mycdf ;
6272 var alpha ;
73+ var len ;
6374 var m ;
6475 var s ;
6576 var x ;
@@ -70,11 +81,15 @@ bench( pkg+':factory', function benchmark( b ) {
7081 s = 3.0 ;
7182 m = 4.0 ;
7283 mycdf = cdf . factory ( alpha , s , m ) ;
84+ len = 100 ;
85+ x = new Float64Array ( len ) ;
86+ for ( i = 0 ; i < len ; i ++ ) {
87+ x [ i ] = uniform ( 0.0 , 50.0 ) ;
88+ }
7389
7490 b . tic ( ) ;
7591 for ( i = 0 ; i < b . iterations ; i ++ ) {
76- x = randu ( ) * 50.0 ;
77- y = mycdf ( x ) ;
92+ y = mycdf ( x [ i % len ] ) ;
7893 if ( isnan ( y ) ) {
7994 b . fail ( 'should not return NaN' ) ;
8095 }
0 commit comments