Zeros
Creates a zero-filled matrix or array.
Installation
$ npm install compute-zeros
For use in the browser, use browserify.
Usage
var zeros = require( 'compute-zeros' );
zeros( dims[, opts] )
Creates a zero-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 = zeros( 5 );
// returns [ 0, 0, 0, 0, 0 ];
out = zeros( [2,1,2] );
// returns [ [ [0,0] ], [ [0,0] ] ]
The function accepts the following options
:
- dtype: output
typed array
ormatrix
data type. Default:generic
.
By default, the output data structure is a generic array
. To output a typed array
or matrix
, set the dtype
option (see matrix
for a list of acceptable data types).
var out;
out = zeros( 5, {
'dtype': 'float32'
});
// returns Float32Array( [0,0,0,0,0] );
out = zeros( [3,2], {
'dtype': 'int32'
});
/*
[ 0 0
0 0
0 0 ]
*/
Notes:
-
Currently, for more than
2
dimensions, the function outputs a genericarray
and ignores any specifieddtype
.var out = zeros( [2,1,3], { 'dtype': 'float32' }); // returns [ [ [0,0,0] ], [ [0,0,0] ] ]
zeros.compile( dims )
Compiles a function
for creating zero-filled arrays
having specified dimensions.
var fcn, out;
fcn = zeros.compile( [2,1,3] );
out = fcn();
// returns [ [ [0,0,0] ], [ [0,0,0] ] ]
out = fcn();
// returns [ [ [0,0,0] ], [ [0,0,0] ] ]
Notes:
- When repeatedly creating
arrays
having the same shape, creating a customizedzeros
function will provide performance benefits.
Examples
var zeros = require( 'compute-zeros' ),
out;
// Plain arrays...
// 1x10:
out = zeros( 10 );
// 2x1x3:
out = zeros( [2,1,3] );
// 5x5x5:
out = zeros( [5,5,5] );
// 10x5x10x20:
out = zeros( [10,5,10,20] );
// Typed arrays...
out = zeros( 10, {
'dtype': 'float32'
});
// Matrices...
out = zeros( [3,2], {
'dtype': 'int32'
});
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
Copyright
Copyright © 2015. The Compute.io Authors.