@@ -96,11 +96,13 @@ static double rand_double( void ) {
9696*/
9797static 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*/
135139static 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