README
Array
Arrays.
Installation
$ npm install dstructs-array
For use in the browser, use browserify.
Usage
var array = require( 'dstructs-array' );
array( x[, dtype] )
Creates a new array
. If x
is numeric
, the function returns a new array
having the specified length.
var arr = array( 4 );
// returns Float64Array( [0,0,0,0] )
If x
is a generic array
or typed array
, the function casts the input array to float64
.
var arr = array( [ 10, 20, 30, 40, 50, 60 ] );
// returns Float64Array( [10,20,30,40,50,60] )
arr = array( new Int8Array( 4 ) );
// returns Float64Array( [0,0,0,0] )
By default, output array
elements are floating-point 64-bit numbers (float64
). To specify a different data type, provide a dtype
.
var arr = array( 4, 'int8' );
// returns Int8Array( [0,0,0,0] )
The following dtypes
are accepted:
int8
uint8
uint8_clamped
int16
uint16
int32
uint32
float32
float64
generic
To cast an input data
array to a different data type, provide a dtype
.
var arr = array( new Float32Array( [1,2,3] ), 'uint32' );
// returns Uint32Array( [1,2,3] )
Raw
For performance, a lower-level interface is provided which forgoes some of the guarantees of the above API, such as input argument validation. While use of the above API is encouraged in REPL environments, use of the lower-level interface may be warranted when arguments are of a known type or when many arrays
must be created.
array.raw( x[, dtype] )
Creates a new array
.
var arr = array.raw( 4, 'int8' );
// returns Int8Array( [0,0,0,0] );
arr = array.raw( new Float32Array( [1,2,3,4] ) );
// returns Float64Array( [1,2,3,4] )
Examples
var array = require( 'dstructs-array' ),
len = 10;
// Default array:
console.log( array( len ) );
// int8 array:
console.log( array( len, 'int8' ) );
// uint8 array:
console.log( array( len, 'uint8' ) );
// uint8_clamped array:
console.log( array( len, 'uint8_clamped' ) );
// int16 array:
console.log( array( len, 'int16' ) );
// uint16 array:
console.log( array( len, 'uint16' ) );
// int32 array:
console.log( array( len, 'int32' ) );
// uint32 array:
console.log( array( len, 'uint32' ) );
// float32 array:
console.log( array( len, 'float32' ) );
// float64 array:
console.log( array( len, 'float64' ) );
// Generic array:
console.log( array( len, 'generic' ) );
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.