File tree 3 files changed +15
-10
lines changed
lib/node_modules/@stdlib/math/base/special/croundf
3 files changed +15
-10
lines changed Original file line number Diff line number Diff line change @@ -91,19 +91,22 @@ static float rand_float( void ) {
91
91
static double benchmark ( void ) {
92
92
double elapsed ;
93
93
double t ;
94
- float re ;
95
- float im ;
94
+ float re [ 100 ] ;
95
+ float im [ 100 ] ;
96
96
int i ;
97
97
98
98
float complex z ;
99
99
float complex y ;
100
100
101
+ for ( i = 0 ; i < 100 ; i ++ ) {
102
+ re [ i ] = ( 1000.0f * rand_float () ) - 500.0f ;
103
+ im [ i ] = ( 1000.0f * rand_float () ) - 500.0f ;
104
+ }
105
+
101
106
t = tic ();
102
107
for ( i = 0 ; i < ITERATIONS ; i ++ ) {
103
- re = ( 1000.0 * rand_float () ) - 500.0 ;
104
- im = ( 1000.0 * rand_float () ) - 500.0 ;
105
- z = re + im * I ;
106
- y = roundf ( crealf (z ) ) + roundf ( cimagf (z ) )* I ;
108
+ z = re [ i % 100 ] + im [ i % 100 ]* I ;
109
+ y = roundf ( crealf ( z ) ) + roundf ( cimagf ( z ) )* I ;
107
110
if ( y != y ) {
108
111
printf ( "should not return NaN\n" );
109
112
break ;
Original file line number Diff line number Diff line change @@ -93,19 +93,22 @@ static float rand_float( void ) {
93
93
*/
94
94
static double benchmark ( void ) {
95
95
double elapsed ;
96
+ float v [ 100 ];
96
97
double t ;
97
98
float re ;
98
99
float im ;
99
- float v ;
100
100
int i ;
101
101
102
102
stdlib_complex64_t x ;
103
103
stdlib_complex64_t y ;
104
104
105
+ for ( i = 0 ; i < 100 ; i ++ ) {
106
+ v [ i ] = ( 1000.0f * rand_float () ) - 500.0f ;
107
+ }
108
+
105
109
t = tic ();
106
110
for ( i = 0 ; i < ITERATIONS ; i ++ ) {
107
- v = ( 1000.0 * rand_float () ) - 500.0 ;
108
- x = stdlib_complex64 ( v , v );
111
+ x = stdlib_complex64 ( v [ i % 100 ], v [ i % 100 ] );
109
112
y = stdlib_base_croundf ( x );
110
113
stdlib_complex64_reim ( y , & re , & im );
111
114
if ( re != re ) {
Original file line number Diff line number Diff line change 20
20
#include "stdlib/math/base/special/roundf.h"
21
21
#include "stdlib/complex/float32/ctor.h"
22
22
#include "stdlib/complex/float32/reim.h"
23
- #include <math.h>
24
23
25
24
/**
26
25
* Rounds each component of a single-precision complex floating-point number to the nearest integer.
You can’t perform that action at this time.
0 commit comments