diff --git a/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/benchmark.c b/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/benchmark.c index bdf1b168c1f2..2626de420205 100644 --- a/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/benchmark.c @@ -90,20 +90,23 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - double re; - double im; + double re[ 100 ]; + double im[ 100 ]; double t; int i; double complex z; double complex y; + for ( i = 0; i < 100; i++ ) { + re[ i ] = ( 1000.0 * rand_double() ) - 500.0; + im[ i ] = ( 1000.0 * rand_double() ) - 500.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - re = ( 1000.0*rand_double() ) - 500.0; - im = ( 1000.0*rand_double() ) - 500.0; - z = re + im*I; - y = round( creal(z) ) + round( cimag(z) )*I; + z = re[ i % 100 ] + im[ i % 100 ]*I; + y = round( creal( z ) ) + round( cimag( z ) )*I; if ( y != y ) { printf( "should not return NaN\n" ); break; diff --git a/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/native/benchmark.c index 5167e3338c08..1e234ad55353 100644 --- a/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/cround/benchmark/c/native/benchmark.c @@ -93,19 +93,22 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; + double v[ 100 ]; double re; double im; double t; - double v; int i; stdlib_complex128_t x; stdlib_complex128_t y; + for ( i = 0; i < 100; i++ ) { + v[ i ] = ( 1000.0 * rand_double() ) - 500.0; + } + t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - v = ( 1000.0*rand_double() ) - 500.0; - x = stdlib_complex128( v, v ); + x = stdlib_complex128( v[ i % 100 ], v[ i % 100 ] ); y = stdlib_base_cround( x ); stdlib_complex128_reim( y, &re, &im ); if ( re != re ) { diff --git a/lib/node_modules/@stdlib/math/base/special/cround/manifest.json b/lib/node_modules/@stdlib/math/base/special/cround/manifest.json index 00d5fd64f7a0..a07a9d35aa68 100644 --- a/lib/node_modules/@stdlib/math/base/special/cround/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/cround/manifest.json @@ -38,7 +38,8 @@ "dependencies": [ "@stdlib/math/base/napi/unary", "@stdlib/complex/float64/ctor", - "@stdlib/complex/float64/reim" + "@stdlib/complex/float64/reim", + "@stdlib/math/base/special/round" ] }, { @@ -53,7 +54,8 @@ "libpath": [], "dependencies": [ "@stdlib/complex/float64/ctor", - "@stdlib/complex/float64/reim" + "@stdlib/complex/float64/reim", + "@stdlib/math/base/special/round" ] }, { @@ -68,7 +70,8 @@ "libpath": [], "dependencies": [ "@stdlib/complex/float64/ctor", - "@stdlib/complex/float64/reim" + "@stdlib/complex/float64/reim", + "@stdlib/math/base/special/round" ] } ] diff --git a/lib/node_modules/@stdlib/math/base/special/cround/src/main.c b/lib/node_modules/@stdlib/math/base/special/cround/src/main.c index 125eda864ee7..3e8ffb2ee089 100644 --- a/lib/node_modules/@stdlib/math/base/special/cround/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/cround/src/main.c @@ -19,7 +19,7 @@ #include "stdlib/math/base/special/cround.h" #include "stdlib/complex/float64/ctor.h" #include "stdlib/complex/float64/reim.h" -#include +#include "stdlib/math/base/special/round.h" /** * Rounds each component of a double-precision complex floating-point number to the nearest integer. @@ -48,7 +48,7 @@ stdlib_complex128_t stdlib_base_cround( const stdlib_complex128_t z ) { stdlib_complex128_reim( z, &re, &im ); - re = round( re ); // TODO: replace with stdlib function once available - im = round( im ); // TODO: replace with stdlib function once available + re = stdlib_base_round( re ); + im = stdlib_base_round( im ); return stdlib_complex128( re, im ); }