Package Exports
- dstructs-array
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dstructs-array) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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.