Skip to content

dstructs/matrix-reviver

Repository files navigation

Matrix Reviver

NPM version Build Status Coverage Status Dependencies

Revives a JSON-serialized Matrix.

Installation

$ npm install dstructs-matrix-reviver

Usage

var revive = require( 'dstructs-matrix-reviver' );

revive( key, value )

Revives a JSON-serialized Matrix.

var str = '{"type":"Matrix","dtype":"float32","shape":[2,2],"offset":0,"strides":[2,1],"raw":true,"data":[0,0,0,0]}';

var mat = JSON.parse( str, revive );
/*
    [ 0 0
      0 0 ]
*/

Examples

var matrix = require( 'dstructs-matrix' ),
	revive = require( 'dstructs-matrix-reviver' );

var data = new Int8Array( 10 );
for ( var i = 0; i < data.length; i++ ) {
	data[ i ] = i;
}
var mat1 = matrix( data, [5,2] );
/*
    [ 0 1
      2 3
      4 5
      6 7
      8 9 ]
*/

var mstr = JSON.stringify( mat1 );
// returns '{"type":"Matrix","dtype":"int8","shape":[5,2],"offset":0,"strides":[2,1],"raw":false,"data":[0,1,2,3,4,5,6,7,8,9]}'

var mat2 = JSON.parse( mstr, revive );
/*
    [ 0 1
      2 3
      4 5
      6 7
      8 9 ]
*/

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.