Skip to content

validate-io/probability-array

Repository files navigation

probability-array

NPM version Build Status Coverage Status Dependencies

Validates if a value is an array of non-negative number primitives summing to one.

Installation

$ npm install validate.io-probability-array

For use in the browser, use browserify.

Usage

var isProbabilityArray = require( 'validate.io-probability-array' );

isProbabilityArray( value )

Validates if a value is an array of positive number primitives, excluding NaN, which sum to one.

var probs = [ 0.25, 0.25, 0.3, 0.2 ];

var bool = isProbabilityArray( probs );
// returns true

Note: the method will return false for an empty array.

Examples

var isProbabilityArray = require( 'validate.io-probability-array' );

console.log( isProbabilityArray( [0.4,0.4,0.2] ) );
// returns true

console.log( isProbabilityArray( [1,2,3] ) );
// returns false

console.log( isProbabilityArray( [ new Number( 1 ) ] ) );
// returns false

console.log( isProbabilityArray( [] ) );
// returns false

console.log( isProbabilityArray( [ NaN ] ) );
// returns false

console.log( isProbabilityArray( ['a','b','c'] ) );
// returns false

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 © 2015-2016. The Compute.io Authors.

About

Validates if a value is an array of non-negative elements summing to one.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published