dstructs-array

Arrays.

Usage no npm install needed!

<script type="module">
  import dstructsArray from 'https://cdn.skypack.dev/dstructs-array';
</script>

README

Array

NPM version Build Status Coverage Status Dependencies

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

MIT license.

Copyright

Copyright © 2015. The Compute.io Authors.