let _ = require( 'wTools' ); // scalar routine function sum( a, b ) { return Number( a ) + Number( b ); } // manually written vectorized routine function sum_v1( a, b ) { let result = []; for( let i = 0; i < a.length; i++ ) result[ i ] = sum( a[ i ], b[ i ] ); return result; } let o = { routine : sum, select : 2, } // automatically vectorized routine by vectorize() let sum_v2 = _.vectorize( o ); // vectors let a = [ 1, 3, 4, 6, 9 ]; let b = [ 4, 1, 0, 7, 3 ]; //scalar let c = 1; let d = 2; // log results console.log( sum_v1( a, b ) ); console.log( sum_v2( a, b ) ); console.log( sum_v1( c, d ) ); console.log( sum_v2( c, d ) );