compute-nans v1.0.0
NaNs
Creates a NaN-filled matrix or array.
Installation
$ npm install compute-nansFor use in the browser, use browserify.
Usage
var nans = require( 'compute-nans' );nans( dims, opts )
Creates a NaN-filled matrix or array. The dims argument may either be a positive integer specifying a length or an array of positive integers specifying dimensions.
var out;
out = nans( 5 );
// returns [ NaN, NaN, NaN, NaN, NaN ];
out = nans( [2,1,2] );
// returns [ [ [NaN,NaN] ], [ [NaN,NaN] ] ]The function accepts the following options:
dtype: output data type. The following
dtypesare accepted:float32float64generic(default)
By default, the output data structure is a generic array. To output a typed array or matrix, set the dtype option.
var out;
out = nans( 5, {
'dtype': 'float32'
});
// returns Float32Array( [NaN,NaN,NaN,NaN,NaN] );
out = nans( [3,2], {
'dtype': 'float64'
});
/*
[ NaN NaN
NaN NaN
NaN NaN ]
*/Notes:
Currently, for more than
2dimensions, the function outputs a genericarrayand ignores any specifieddtype.var out = nans( [2,1,3], { 'dtype': 'float32' }); // returns [ [ [NaN,NaN,NaN] ], [ [NaN,NaN,NaN] ] ]Integer
arraysare not supported. In JavaScript,NaNvalues are only represented in floating-point storage formats (IEEE 754).
nans.compile( dims )
Compiles a function for creating NaN-filled arrays having specified dimensions.
var fcn, out;
fcn = nans.compile( [2,1,3] );
out = fcn();
// returns [ [ [NaN,NaN,NaN] ], [ [NaN,NaN,NaN] ] ]
out = fcn();
// returns [ [ [NaN,NaN,NaN] ], [ [NaN,NaN,NaN] ] ]Notes:
- When repeatedly creating
arrayshaving the same shape, creating a customizednansfunction will provide performance benefits.
Examples
var nans = require( 'compute-nans' ),
out;
// Plain arrays...
// 1x10:
out = nans( 10 );
// 2x1x3:
out = nans( [2,1,3] );
// 5x5x5:
out = nans( [5,5,5] );
// 10x5x10x20:
out = nans( [10,5,10,20] );
// Typed arrays...
out = nans( 10, {
'dtype': 'float32'
});
// Matrices...
out = nans( [3,2], {
'dtype': 'float64'
});To run the example code from the top-level application directory,
$ node ./examples/index.jsTests
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 testAll 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-covIstanbul creates a ./reports/coverage directory. To access an HTML version of the report,
$ make view-covLicense
Copyright
Copyright © 2015-2016. The Compute.io Authors.
10 years ago