@@ -96,11 +96,13 @@ static float rand_float( void ) {
9696*/
9797static double benchmark1 ( int iterations , int len ) {
9898 double elapsed ;
99- float x [ len * 2 ] ;
100- float y [ len * 2 ] ;
99+ float * x ;
100+ float * y ;
101101 double t ;
102102 int i ;
103103
104+ x = (float * ) malloc ( len * 2 * sizeof ( float ) );
105+ y = (float * ) malloc ( len * 2 * sizeof ( float ) );
104106 for ( i = 0 ; i < len ; i ++ ) {
105107 x [ i ] = ( rand_float ()* 10000.0f ) - 5000.0f ;
106108 x [ i + 1 ] = ( rand_float ()* 10000.0f ) - 5000.0f ;
@@ -119,6 +121,8 @@ static double benchmark1( int iterations, int len ) {
119121 if ( y [ 0 ] != y [ 0 ] ) {
120122 printf ( "should not return NaN\n" );
121123 }
124+ free ( x );
125+ free ( y );
122126 return elapsed ;
123127}
124128
@@ -131,11 +135,12 @@ static double benchmark1( int iterations, int len ) {
131135*/
132136static double benchmark2 ( int iterations , int len ) {
133137 double elapsed ;
134- float x [ len * 2 ] ;
135- float y [ len * 2 ] ;
138+ float * x ;
139+ float * y ;
136140 double t ;
137141 int i ;
138-
142+ x = (float * ) malloc ( len * 2 * sizeof ( float ) );
143+ y = (float * ) malloc ( len * 2 * sizeof ( float ) );
139144 for ( i = 0 ; i < len ; i ++ ) {
140145 x [ i ] = ( rand_float ()* 10000.0f ) - 5000.0f ;
141146 x [ i + 1 ] = ( rand_float ()* 10000.0f ) - 5000.0f ;
@@ -154,6 +159,8 @@ static double benchmark2( int iterations, int len ) {
154159 if ( y [ 0 ] != y [ 0 ] ) {
155160 printf ( "should not return NaN\n" );
156161 }
162+ free ( x );
163+ free ( y );
157164 return elapsed ;
158165}
159166
0 commit comments