diff --git a/lib/node_modules/@stdlib/strided/base/zmap/benchmark/c/benchmark.length.c b/lib/node_modules/@stdlib/strided/base/zmap/benchmark/c/benchmark.length.c index 7de57c90dbdf..d43f775755ef 100644 --- a/lib/node_modules/@stdlib/strided/base/zmap/benchmark/c/benchmark.length.c +++ b/lib/node_modules/@stdlib/strided/base/zmap/benchmark/c/benchmark.length.c @@ -106,8 +106,8 @@ static double complex identity( const double complex x ) { * @return elapsed time in seconds */ static double benchmark( int iterations, int len ) { - double complex x[ len ]; - double complex y[ len ]; + double complex *x = malloc( len * sizeof(double complex) ); + double complex *y = malloc( len * sizeof(double complex) ); double elapsed; double t; int i; @@ -116,18 +116,22 @@ static double benchmark( int iterations, int len ) { x[ i ] = ( ( rand_double()*200.0 ) - 100.0 ) + ( ( rand_double()*200.0 ) - 100.0 )*I; y[ i ] = 0.0 + 0.0*I; } + t = tic(); for ( i = 0; i < iterations; i++ ) { stdlib_strided_zmap( len, x, 1, y, 1, identity ); - if ( y[ i%len ] != y[ i%len ] ) { + if ( y[ 0 ] != y[ 0 ] ) { printf( "should not return NaN\n" ); break; } } elapsed = tic() - t; - if ( y[ i%len ] != y[ i%len ] ) { + + if ( y[ 0 ] != y[ 0 ] ) { printf( "should not return NaN\n" ); } + free( x ); + free( y ); return elapsed; } @@ -148,8 +152,8 @@ int main( void ) { print_version(); count = 0; for ( i = MIN; i <= MAX; i++ ) { - len = pow( 10, i ); - iter = ITERATIONS / pow( 10, i-1 ); + len = (int)pow( 10, i ); + iter = ITERATIONS / (int)pow( 10, i-1 ); for ( j = 0; j < REPEATS; j++ ) { count += 1; printf( "# c::%s:len=%d\n", NAME, len );