compute-io / zeros

Creates a zero-filled matrix or array.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Zeros

NPM version Build Status Coverage Status Dependencies

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:

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 generic array and ignores any specified dtype.

    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 customized zeros 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

MIT license.

Copyright

Copyright © 2015. The Compute.io Authors.

About

Creates a zero-filled matrix or array.

License:MIT License


Languages

Language:JavaScript 91.8%Language:Makefile 8.2%