let _ = require( 'wTools' );
// scalar routine
function sum( a )
{
return a + 5;
}
// vectorized routine
var o =
{
routine : sum,
vectorizingMapKeys : 1,
vectorizingMapVals : 1,
select : 1,
}
let sumV = _.vectorize( o );
// log examples
console.log( sumV( [ 0, 1, 2, 'a' ] ) );
console.log( sumV( { a : 'a', b : 4, c : 5 } ) );
// scalar routine
function arr()
{
return _.longSlice( arguments );
}
// vectorized routine
var o =
{
routine : arr,
vectorizingMapKeys : 1,
vectorizingMapVals : 0,
select : 2,
}
let changeKeys = _.vectorize( o );
// log examples
console.log( changeKeys( [ 0, 1, 2, 'a' ], [ 1, 2, 3, 4 ] ) );
console.log( changeKeys( [ 1, 2, 3 ], { a : 'a', b : 4 } ) );
// vectorized routine
var o =
{
routine : arr,
vectorizingArray : 1,
vectorizingMapKeys : 0,
vectorizingMapVals : 0,
select : 2,
}
let arrV = _.vectorize( o );
// log examples
console.log( arrV( [ 0, 1, 2, 'a' ], [ 1, 2, 3, 4 ] ) );
console.log( arrV( { a : 5 }, [ 1, 2, 3 ] ) );
console.log( arrV( { a : 5 }, 1 ) );
// vectorized routine
var o =
{
routine : arr,
vectorizingArray : 1,
select : 'a',
}
let selectByKey = _.vectorize( o );
// log examples
console.log( selectByKey( [ 0, 1, 2, 'a' ] ) );
console.log( selectByKey( { a : 2, b : [ 3, 4 ] } ) );
console.log( selectByKey( { a : [ 5, 4, 3 ], b : [ 1, 2 ], c : 0 } ) );
// vectorized routine
var o =
{
routine : arr,
vectorizingArray : 1,
select : [ 'a', 'b' ],
}
let selectByKeys = _.vectorize( o );
// log examples
let result = selectByKeys( { a : [ 5, 4, 3 ], b : [ 'a', 2 ] } );
console.log( result );
for( let i = 0; i < result.length; i++ )
console.log( result[ i ] );