inf
Creates an infinity-filled matrix or array.
Installation
$ npm install compute-inf
For use in the browser, use browserify.
Usage
var inf = ;
inf( dims[, opts] )
Creates an infinity-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 = ;// returns [ +inf, +inf, +inf, +inf, +inf ];out = ;// returns [ [ [+inf,+inf] ], [ [+inf,+inf] ] ]
The function accepts the following options
:
-
dtype: output data type. The following
dtypes
are accepted:float32
float64
generic
(default)
-
sign: specifies whether to fill using positive or negative
infinity
. Default:+1
.
By default, the output data structure is a generic array
. To output a typed array
or matrix
, set the dtype
option.
var out;out =;// returns Float32Array( [+inf,+inf,+inf,+inf,+inf] );out =;/*[ +inf +inf+inf +inf+inf +inf ]*/
To fill using negative infinity
, set the sign
option to -1
.
var out =;// returns [ -inf, -inf, -inf, -inf, -inf ];
Notes:
-
Currently, for more than
2
dimensions, the function outputs a genericarray
and ignores any specifieddtype
.var out =;// returns [ [ [+inf,+inf,+inf] ], [ [+inf,+inf,+inf] ] ] -
Integer
arrays
are not supported. In JavaScript, positive and negativeinfinity
are only represented in floating-point storage formats (IEEE 754).
inf.compile( dims )
Compiles a function
for creating infinity-filled arrays
having specified dimensions.
var fcn out;fcn = inf;out = ;// returns [ [ [+inf,+inf,+inf] ], [ [+inf,+inf,+inf] ] ]out = ;// returns [ [ [+inf,+inf,+inf] ], [ [+inf,+inf,+inf] ] ]
Notes:
- When repeatedly creating
arrays
having the same shape, creating a customizedinf
function will provide performance benefits.
Examples
var inf =out;// Plain arrays...// 1x10:out = ;// 2x1x3:out = ;// 5x5x5:out = ;// 10x5x10x20:out = ;// Typed arrays...out =;// Matrices...out =;
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-2016. The Compute.io Authors.