Skip to content

Commit 6e0c822

Browse files
committed
spacing and jshint fixes. small perf fix.
1 parent 8e6375d commit 6e0c822

File tree

1 file changed

+32
-35
lines changed

1 file changed

+32
-35
lines changed

src/core.js

Lines changed: 32 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ var slice = Array.prototype.slice,
3030

3131
// global function
3232
function jStat() {
33-
return new jStat.fn.init( slice.call( arguments ));
34-
};
33+
return new jStat.fn.init( arguments );
34+
}
3535

3636
// extend jStat prototype
3737
jStat.fn = jStat.prototype = {
@@ -63,7 +63,7 @@ jStat.fn = jStat.prototype = {
6363

6464
// return clean array
6565
toArray : function() {
66-
return slice.call( this, 0 );
66+
return slice.call( this );
6767
},
6868

6969
// only to be used internally
@@ -76,7 +76,7 @@ jStat.fn.init.prototype = jStat.fn;
7676
// create method for easy extension
7777
jStat.extend = function( obj ) {
7878
var args = slice.call( arguments ),
79-
i = 1, j;
79+
i = 1, j;
8080
if ( args.length === 1 ) {
8181
for ( i in obj ) {
8282
jStat[i] = obj[i];
@@ -98,7 +98,6 @@ jStat.extend = function( obj ) {
9898
var arr = [],
9999
i = 0,
100100
tmpthis;
101-
102101
if ( this.length > 1 ) {
103102
tmpthis = this.transpose();
104103
for ( ; i < tmpthis.length; i++ ) {
@@ -108,7 +107,6 @@ jStat.extend = function( obj ) {
108107
arr = jStat[ passfunc ]( arr );
109108
}
110109
}
111-
112110
return arr.length > 1 ? jStat( arr ) : jStat[ passfunc ]( this[0] );
113111
};
114112
})( funcs[i] );
@@ -156,17 +154,17 @@ jStat.extend( jStat.fn, {
156154

157155
// Returns a specified row as a vector
158156
row: function( index ) {
159-
return jStat( this[index] );
157+
return jStat( this[index] );
160158
},
161159

162160
// Returns the specified column as a vector
163161
col: function( index ) {
164-
var column = [],
162+
var column = [],
165163
i = 0;
166-
for ( ; i < this.length; i++ ) {
164+
for ( ; i < this.length; i++ ) {
167165
column[i] = [ this[i][index] ];
168-
}
169-
return jStat( column );
166+
}
167+
return jStat( column );
170168
},
171169

172170
// Returns the diagonal of the matrix
@@ -192,8 +190,8 @@ jStat.extend( jStat.fn, {
192190
},
193191

194192
// map a function to a matrix or vector
195-
map : function( func, toAlter ) {
196-
return jStat( jStat.map( this, func, toAlter ));
193+
map : function( func ) {
194+
return jStat( jStat.map( this, func ));
197195
},
198196

199197
// destructively alter an object
@@ -242,7 +240,7 @@ jStat.extend({
242240

243241
// generate a rows x cols matrix according to the supplied function
244242
create: function ( rows, cols, func ) {
245-
var i, j, res = [];
243+
var res = [], i, j;
246244
for( i = 0; i < rows; i++ ) {
247245
res[i] = [];
248246
for( j = 0; j < cols; j++ ) {
@@ -275,30 +273,28 @@ jStat.extend({
275273
// generate sequence
276274
seq : function( min, max, length, func ) {
277275
var arr = [],
278-
hival = 1e15,
276+
hival = 1e15, // simple fix for IEEE floating point errors
279277
step = ( max * hival - min * hival ) / (( length - 1 ) * hival ),
280278
current = min,
281279
cnt = 0;
282-
283280
for ( ; current <= max; cnt++, current = ( min * hival + step * hival * cnt ) / hival ) {
284281
arr.push(( func ? func( current ) : current ));
285-
};
286-
282+
}
287283
return arr;
288284
},
289285

290286
// add a vector or scalar to the vector
291287
add : function( arr, arg ) {
292-
return isNaN( arg )
293-
? jStat.map( arr, function( value, row, col ) { return value + arg[row][col]; })
294-
: jStat.map(arr, function ( value ) { return value + arg; });
288+
return isNaN( arg ) ?
289+
jStat.map( arr, function( value, row, col ) { return value + arg[row][col]; })
290+
: jStat.map( arr, function ( value ) { return value + arg; });
295291
},
296292

297293
// TODO: Implement matrix division
298294
// matrix division
299295
divide : function( arr, arg ) {
300-
return isNaN( arg )
301-
? false
296+
return isNaN( arg ) ?
297+
false
302298
: jStat.map(arr, function ( value ) { return value / arg; });
303299
},
304300

@@ -326,8 +322,8 @@ jStat.extend({
326322

327323
// subtract a vector or scalar from the vector
328324
subtract : function( arr, arg ) {
329-
return isNaN( arg )
330-
? jStat.map( arr, function( value, row, col ) { return value - arg[row][col]; })
325+
return isNaN( arg ) ?
326+
jStat.map( arr, function( value, row, col ) { return value - arg[row][col]; })
331327
: jStat.map( arr, function( value ) { return value - arg; });
332328
},
333329

@@ -373,12 +369,12 @@ jStat.extend({
373369
// BUG: Does not work for matrices
374370
// computes the norm of the vector
375371
norm : function( arr ) {
376-
arr = isArray( arr[0] ) ? arr : [ arr ];
372+
arr = isArray( arr[0] ) ? arr : [arr];
377373
if( arr.length > 1 && arr[0].length > 1 ) {
378374
// matrix norm
379375
} else {
380376
// vector norm
381-
return Math.sqrt( jStat.dot( arr, arr ) );
377+
return Math.sqrt( jStat.dot( arr, arr ));
382378
}
383379
},
384380

@@ -408,9 +404,7 @@ jStat.extend({
408404
sum : function( arr ) {
409405
var sum = 0,
410406
i = arr.length;
411-
while( --i >= 0 ) {
412-
sum += arr[i];
413-
}
407+
while( --i >= 0 ) sum += arr[i];
414408
return sum;
415409
},
416410

@@ -469,7 +463,6 @@ jStat.extend({
469463
}
470464
}
471465
}
472-
473466
return ( numMaxCount === 0 ) ? maxNum : false;
474467
},
475468

@@ -501,7 +494,7 @@ jStat.extend({
501494
mean = jStat.mean( arr ),
502495
i = arr.length - 1;
503496
for ( ; i >= 0; i-- ) {
504-
devSum += Math.abs( arr[ i ] - mean );
497+
devSum += Math.abs( arr[i] - mean );
505498
}
506499
return devSum / arr.length;
507500
},
@@ -512,7 +505,7 @@ jStat.extend({
512505
median = jStat.median( arr ),
513506
i = arr.length - 1;
514507
for ( ; i >= 0; i-- ) {
515-
devSum += Math.abs( arr[ i ] - median );
508+
devSum += Math.abs( arr[i] - median );
516509
}
517510
return devSum / arr.length;
518511
},
@@ -521,7 +514,11 @@ jStat.extend({
521514
quartiles : function( arr ) {
522515
var arrlen = arr.length,
523516
_arr = arr.slice().sort( ascNum );
524-
return [ _arr[ Math.round( ( arrlen ) / 4 ) - 1 ], _arr[ Math.round( ( arrlen ) / 2 ) - 1 ], _arr[ Math.round( ( arrlen ) * 3 / 4 ) - 1 ] ];
517+
return [
518+
_arr[ Math.round(( arrlen ) / 4 ) - 1 ],
519+
_arr[ Math.round(( arrlen ) / 2 ) - 1 ],
520+
_arr[ Math.round(( arrlen ) * 3 / 4 ) - 1 ]
521+
];
525522
},
526523

527524
// covariance of two arrays
@@ -532,7 +529,7 @@ jStat.extend({
532529
arr1Len = arr1.length,
533530
i = 0;
534531
for ( ; i < arr1Len; i++ ) {
535-
sq_dev[ i ] = ( arr1[ i ] - u ) * ( arr2[ i ] - v );
532+
sq_dev[i] = ( arr1[i] - u ) * ( arr2[i] - v );
536533
}
537534
return jStat.sum( sq_dev ) / arr1Len;
538535
},

0 commit comments

Comments
 (0)