Midhinge
!NPM versionnpm-imagenpm-url !Build Statustravis-imagetravis-url !Coverage Statuscoveralls-imagecoveralls-url !Dependenciesdependencies-imagedependencies-urlComputes the midhinge of a numeric array.
Installation
$ npm install compute-midhinge
For use in the browser, use browserify.
Usage
To use the module,var midhinge = require( 'compute-midhinge' );
midhinge( arr, opts )
Computes the midhinge of a numericarray
.var unsorted = [ 8, 2, 3, 9, 5, 1, 4, 10, 7, 0, 6 ];
var mid = midhinge( unsorted );
// returns 5
If the input
array
is already sorted
in ascending order, set the sorted
options flag to true
.var sorted = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ];
var mid = midhinge( sorted, {'sorted': true} );
// returns 5
Additional options are the same as for the quantile module.
Examples
var data = new Array( 100 );
for ( var i = 0; i < data.length; i++ ) {
data[ i ] = Math.round( Math.random()*100 );
}
console.log( midhinge( data ) );
To run the example code from the top-level application directory,
$ node ./examples/index.js
Notes
If provided an unsorted inputarray
, the function is O( N log(N) )
, where N
is the input array
length. If the input array
is already sorted in ascending order, the function is O(1)
.Tests
Unit
Unit tests use the Mocha test framework with Chai assertions. To run the tests, execute the following command in the top-level application directory:$ make test
All new feature development should have corresponding unit tests to validate correct functionality.
Test Coverage
This repository uses Istanbul as its code coverage tool. To generate a test coverage report, execute the following command in the top-level application directory:$ make test-cov
Istanbul creates a
./reports/coverage
directory. To access an HTML version of the report,$ make view-cov