/isinf

Computes for each element whether it is infinite.

Primary LanguageJavaScriptMIT LicenseMIT

isinf

NPM version Build Status Coverage Status Dependencies

Computes for each array element whether an element is infinite.

Installation

$ npm install compute-isinf

For use in the browser, use browserify.

Usage

To use the module,

var isinf = require( 'compute-isinf' );

isinf( arr )

Computes for each array element whether an element is infinite. The function returns an array with length equal to that of the input array. Each output array element is either 0 or 1. A value of 1 means that an element is infinite and 0 means that an element is not infinite.

var out = isinf( [ 5, 1/0, 3, 9, -1/0 ] );
// returns [ 0, 1, 0, 0, 1 ]

Examples

var isinf = require( 'compute-isinf' );

// Simulate some data...
var data = new Array( 100 ),
	len = data.length,
	rand;

// Division by 0 returns infinity...
for ( var i = 0; i < len; i++ ) {
	rand = Math.random()*10 - 5;
	if ( rand < -4.5 ) {
		rand = 0;
	}
	data[ i ] = 100 / rand;
}

var out = isinf( data );

// Count the number of infinite values detected...
var sum = 0;
for ( var i = 0; i < len; i++ ) {
	sum += out[ i ];
}

console.log( 'Count: %d', sum );

To run the example code from the top-level application directory,

$ node ./examples/index.js

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

License

MIT license.


Copyright

Copyright © 2014. Athan Reines.