diff --git a/lib/node_modules/@stdlib/blas/ext/base/dcusumpw/benchmark/c/benchmark.length.c b/lib/node_modules/@stdlib/blas/ext/base/dcusumpw/benchmark/c/benchmark.length.c index 0c6788a10f6..10617bcf605 100644 --- a/lib/node_modules/@stdlib/blas/ext/base/dcusumpw/benchmark/c/benchmark.length.c +++ b/lib/node_modules/@stdlib/blas/ext/base/dcusumpw/benchmark/c/benchmark.length.c @@ -96,11 +96,14 @@ static double rand_double( void ) { */ static double benchmark1( int iterations, int len ) { double elapsed; - double x[ len ]; - double y[ len ]; + double *x; + double *y; double t; int i; + x = (double *)malloc( len * sizeof(double) ); + y = (double *)malloc( len * sizeof(double) ); + for ( i = 0; i < len; i++ ) { x[ i ] = ( rand_double() * 20000.0 ) - 10000.0; y[ i ] = 0.0; @@ -118,16 +121,28 @@ static double benchmark1( int iterations, int len ) { if ( y[ len-1 ] != y[ len-1 ] ) { printf( "should not return NaN\n" ); } + free(x); + free(y); return elapsed; } +/** +* Runs a benchmark. +* +* @param iterations number of iterations +* @param len array length +* @return elapsed time in seconds +*/ static double benchmark2( int iterations, int len ) { double elapsed; - double x[ len ]; - double y[ len ]; + double *x; + double *y; double t; int i; + x = (double *)malloc( len * sizeof(double) ); + y = (double *)malloc( len * sizeof(double) ); + for ( i = 0; i < len; i++ ) { x[ i ] = ( rand_double() * 20000.0 ) - 10000.0; y[ i ] = 0.0; @@ -145,6 +160,8 @@ static double benchmark2( int iterations, int len ) { if ( y[ len-1 ] != y[ len-1 ] ) { printf( "should not return NaN\n" ); } + free(x); + free(y); return elapsed; }