linspace
!NPM versionnpm-imagenpm-url !Build Statustravis-imagetravis-url !Coverage Statuscoveralls-imagecoveralls-url !Dependenciesdependencies-imagedependencies-urlGenerates a linearly spaced numeric array.
Installation
$ npm install compute-linspace
For use in the browser, use browserify.
Usage
To use the module,var linspace = require( 'compute-linspace' );
linspace( start, stop, length )
Generates a linearly spaced numericarray
. If a length
is not provided, the default output array
length is 100
.var arr = linspace( 0, 100, 6 );
// returns [ 0, 20, 40, 60, 80, 100 ]
Notes
The outputarray
is guaranteed to include the start
and end
values. Beware, however, that values between the start
and end
are subject to floating point errors. Hence,var arr = linspace( 0, 1, 3 );
// returns [ 0, ~0.5, 1 ]
where
arr[1]
is only guaranteed to be approximately equal to 0.5
. If you desire more control over element precision, consider using compute-roundn:var roundn = require( 'compute-roundn' );
// Create an array subject to floating point errors:
var arr = linspace( 0, 1, 21 );
// Round each value to the nearest hundredth:
roundn( arr, -2 );
console.log( arr.join( '\n' ) );
This function is inspired by MATLAB's linspace.
Examples
var linspace = require( 'compute-linspace' ),
out;
// Default behavior:
out = linspace( 0, 10 );
console.log( out.join( '\n' ) );
// Specify length:
out = linspace( 0, 10, 10 );
console.log( out.join( '\n' ) );
out = linspace( 0, 10, 11 );
console.log( out.join( '\n' ) );
// Create an array with decremented values:
out = linspace( 10, 0, 11 );
console.log( out.join( '\n' ) );
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