time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

aug-test.js (875B)


      1 var vows = require('vows');
      2 var assert = require('assert');
      3 var suite = vows.describe('jStat');
      4 
      5 require('../env.js');
      6 
      7 suite.addBatch({
      8   'linearalgebra': {
      9     'topic': function() {
     10       return jStat;
     11     },
     12     'aug function works': function(jStat) {
     13       var A = jStat([[1, 2], [3, 4]]);
     14       var B = [[5], [6]];
     15       assert.deepEqual(jStat.aug(A, B), [[1, 2, 5], [3, 4, 6]]);
     16     },
     17     'aug no mutate inputs': function(jStat) {
     18       var A = [[1, 2], [3, 4]];
     19       var B = [[5, 6], [7, 8]];
     20       var cloneA = cloneMatrix(A);
     21       var cloneB = cloneMatrix(B);
     22       assert.deepEqual(jStat.aug(A, B), [[1, 2, 5, 6], [3, 4, 7, 8]]);
     23       assert.deepEqual(A, cloneA);
     24       assert.deepEqual(B, cloneB);
     25     },
     26   }
     27 });
     28 
     29 function cloneMatrix(m) {
     30   var n = [];
     31   for (var i = 0; i < m.length; i++) {
     32     n.push(m[i].slice());
     33   }
     34   return n;
     35 }
     36 
     37 suite.export(module);