Skip to content

Commit b99ebe4

Browse files
authored
bench: clean-up and resolve lint errors
Signed-off-by: Athan <[email protected]>
1 parent d97e712 commit b99ebe4

File tree

1 file changed

+60
-59
lines changed
  • lib/node_modules/@stdlib/math/base/special/negalucasf/benchmark

1 file changed

+60
-59
lines changed

lib/node_modules/@stdlib/math/base/special/negalucasf/benchmark/benchmark.js

Lines changed: 60 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var pow = require( '@stdlib/math/base/special/pow' );
2727
var absf = require( '@stdlib/math/base/special/absf' );
2828
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2929
var PHI = require( '@stdlib/constants/float32/phi' );
30+
var zeros = require( '@stdlib/array/base/zeros' );
3031
var pkg = require( './../package.json' ).name;
3132
var NEGALUCAS = require( './../lib/negalucas.json' );
3233
var negalucasf = require( './../lib' );
@@ -63,11 +64,6 @@ bench( pkg+'::analytic', function benchmark( b ) {
6364

6465
x = discreteUniform( 100, -34, 0 );
6566

66-
function negalucasf( n ) {
67-
var an = absf( n );
68-
return pow( -1.0, an ) * roundf( pow( PHI, an ) );
69-
}
70-
7167
b.tic();
7268
for ( i = 0; i < b.iterations; i++ ) {
7369
y = negalucasf( x[ i % x.length ] );
@@ -81,6 +77,11 @@ bench( pkg+'::analytic', function benchmark( b ) {
8177
}
8278
b.pass( 'benchmark finished' );
8379
b.end();
80+
81+
function negalucasf( n ) {
82+
var an = absf( n );
83+
return pow( -1.0, an ) * roundf( pow( PHI, an ) );
84+
}
8485
});
8586

8687
bench( pkg+'::table', function benchmark( b ) {
@@ -110,16 +111,6 @@ bench( pkg+'::naive_recursion', function benchmark( b ) {
110111
var y;
111112
var i;
112113

113-
function negalucasf( n ) {
114-
if ( n === 0 ) {
115-
return 2;
116-
}
117-
if ( n === -1 ) {
118-
return -1;
119-
}
120-
return negalucasf( n+2 ) - negalucasf( n+1 );
121-
}
122-
123114
x = discreteUniform( 100, -20, 0 );
124115

125116
b.tic();
@@ -135,6 +126,16 @@ bench( pkg+'::naive_recursion', function benchmark( b ) {
135126
}
136127
b.pass( 'benchmark finished' );
137128
b.end();
129+
130+
function negalucasf( n ) {
131+
if ( n === 0 ) {
132+
return 2;
133+
}
134+
if ( n === -1 ) {
135+
return -1;
136+
}
137+
return negalucasf( n+2 ) - negalucasf( n+1 );
138+
}
138139
});
139140

140141
bench( pkg+'::recursion_memoized', function benchmark( b ) {
@@ -144,11 +145,27 @@ bench( pkg+'::recursion_memoized', function benchmark( b ) {
144145
var y;
145146
var i;
146147

147-
arr = new Array( 35 );
148+
arr = zeroes( 35 );
148149
arr[ 0 ] = 2;
149150
arr[ 1 ] = -1;
150151
N = 1;
151152

153+
x = discreteUniform( 100, -20, 0 );
154+
155+
b.tic();
156+
for ( i = 0; i < b.iterations; i++ ) {
157+
y = negalucasf( x[ i % x.length ] );
158+
if ( isnanf( y ) ) {
159+
b.fail( 'should not return NaN' );
160+
}
161+
}
162+
b.toc();
163+
if ( isnanf( y ) ) {
164+
b.fail( 'should not return NaN' );
165+
}
166+
b.pass( 'benchmark finished' );
167+
b.end();
168+
152169
function negalucasf( n ) {
153170
var an = absf( n );
154171
if ( an <= N ) {
@@ -157,8 +174,14 @@ bench( pkg+'::recursion_memoized', function benchmark( b ) {
157174
arr[ an ] = negalucasf( n+2 ) - negalucasf( n+1 );
158175
return arr[ an ];
159176
}
177+
});
160178

161-
x = discreteUniform( 100, -20, 0 );
179+
bench( pkg+'::naive_iterative', function benchmark( b ) {
180+
var x;
181+
var y;
182+
var i;
183+
184+
x = discreteUniform( 100, -34, 0 );
162185

163186
b.tic();
164187
for ( i = 0; i < b.iterations; i++ ) {
@@ -173,12 +196,6 @@ bench( pkg+'::recursion_memoized', function benchmark( b ) {
173196
}
174197
b.pass( 'benchmark finished' );
175198
b.end();
176-
});
177-
178-
bench( pkg+'::naive_iterative', function benchmark( b ) {
179-
var x;
180-
var y;
181-
var i;
182199

183200
function negalucasf( n ) {
184201
var arr;
@@ -187,14 +204,20 @@ bench( pkg+'::naive_iterative', function benchmark( b ) {
187204

188205
an = absf( n );
189206

190-
arr = new Array( an+1 );
207+
arr = zeros( an+1 );
191208
arr[ 0 ] = 2;
192209
arr[ 1 ] = -1;
193210
for ( i = 2; i <= an; i++ ) {
194211
arr[ i ] = arr[ i-2 ] - arr[ i-1 ];
195212
}
196213
return arr[ an ];
197214
}
215+
});
216+
217+
bench( pkg+'::iterative', function benchmark( b ) {
218+
var x;
219+
var y;
220+
var i;
198221

199222
x = discreteUniform( 100, -34, 0 );
200223

@@ -211,12 +234,6 @@ bench( pkg+'::naive_iterative', function benchmark( b ) {
211234
}
212235
b.pass( 'benchmark finished' );
213236
b.end();
214-
});
215-
216-
bench( pkg+'::iterative', function benchmark( b ) {
217-
var x;
218-
var y;
219-
var i;
220237

221238
function negalucasf( n ) {
222239
var an;
@@ -236,6 +253,19 @@ bench( pkg+'::iterative', function benchmark( b ) {
236253
}
237254
return b;
238255
}
256+
});
257+
258+
bench( pkg+'::iterative_memoized', function benchmark( b ) {
259+
var arr;
260+
var N;
261+
var x;
262+
var y;
263+
var i;
264+
265+
arr = zeros( 35 );
266+
arr[ 0 ] = 2;
267+
arr[ 1 ] = -1;
268+
N = 2;
239269

240270
x = discreteUniform( 100, -34, 0 );
241271

@@ -252,19 +282,6 @@ bench( pkg+'::iterative', function benchmark( b ) {
252282
}
253283
b.pass( 'benchmark finished' );
254284
b.end();
255-
});
256-
257-
bench( pkg+'::iterative_memoized', function benchmark( b ) {
258-
var arr;
259-
var N;
260-
var x;
261-
var y;
262-
var i;
263-
264-
arr = new Array( 35 );
265-
arr[ 0 ] = 2;
266-
arr[ 1 ] = -1;
267-
N = 2;
268285

269286
function negalucasf( n ) {
270287
var an;
@@ -279,20 +296,4 @@ bench( pkg+'::iterative_memoized', function benchmark( b ) {
279296
}
280297
return arr[ an ];
281298
}
282-
283-
x = discreteUniform( 100, -34, 0 );
284-
285-
b.tic();
286-
for ( i = 0; i < b.iterations; i++ ) {
287-
y = negalucasf( x[ i % x.length ] );
288-
if ( isnanf( y ) ) {
289-
b.fail( 'should not return NaN' );
290-
}
291-
}
292-
b.toc();
293-
if ( isnanf( y ) ) {
294-
b.fail( 'should not return NaN' );
295-
}
296-
b.pass( 'benchmark finished' );
297-
b.end();
298299
});

0 commit comments

Comments
 (0)