Skip to content

Commit e964c37

Browse files
bench: refactor to use dynamic memory allocation in blas/ext/base/dnancusumkbn
PR-URL: #8679 Ref: #8643 Co-authored-by: Athan Reines <kgryte@gmail.com> Reviewed-by: Athan Reines <kgryte@gmail.com>
1 parent 2b72de4 commit e964c37

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

lib/node_modules/@stdlib/blas/ext/base/dnancusumkbn/benchmark/c/benchmark.length.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,11 +96,13 @@ static double rand_double( void ) {
9696
*/
9797
static double benchmark1( int iterations, int len ) {
9898
double elapsed;
99-
double x[ len ];
100-
double y[ len ];
99+
double *x;
100+
double *y;
101101
double t;
102102
int i;
103103

104+
x = (double *) malloc( len * sizeof( double ) );
105+
y = (double *) malloc( len * sizeof( double ) );
104106
for ( i = 0; i < len; i++ ) {
105107
if ( rand_double() < 0.2 ) {
106108
x[ i ] = 0.0 / 0.0; // NaN
@@ -122,6 +124,8 @@ static double benchmark1( int iterations, int len ) {
122124
if ( y[ len-1 ] != y[ len-1 ] ) {
123125
printf( "should not return NaN\n" );
124126
}
127+
free( x );
128+
free( y );
125129
return elapsed;
126130
}
127131

@@ -134,11 +138,13 @@ static double benchmark1( int iterations, int len ) {
134138
*/
135139
static double benchmark2( int iterations, int len ) {
136140
double elapsed;
137-
double x[ len ];
138-
double y[ len ];
141+
double *x;
142+
double *y;
139143
double t;
140144
int i;
141145

146+
x = (double *) malloc( len * sizeof( double ) );
147+
y = (double *) malloc( len * sizeof( double ) );
142148
for ( i = 0; i < len; i++ ) {
143149
if ( rand_double() < 0.2 ) {
144150
x[ i ] = 0.0 / 0.0; // NaN
@@ -160,6 +166,8 @@ static double benchmark2( int iterations, int len ) {
160166
if ( y[ len-1 ] != y[ len-1 ] ) {
161167
printf( "should not return NaN\n" );
162168
}
169+
free( x );
170+
free( y );
163171
return elapsed;
164172
}
165173

0 commit comments

Comments
 (0)