// A utility library for vector (coordinate) operations. exports.mult = function(vec, scal){ for (let i = 0; i < vec.length; i++) vec[i] = scal*vec[i]; return vec; } function elem(orig, vec, op){ let comb = []; for (let i = 0; i < orig.length; i++){ comb.push(op(vec[i],orig[i])); } return comb; } exports.elem = elem; exports.add = function(orig, vec){ return elem(orig, vec, (a,b) => a+b); } exports.sub = function(orig, vec){ return elem(orig, vec, (a,b) => a-b); } exports.dot = function(orig,vec){ return elem(orig, vec, (a,b) => a*b); } exports.tileToChar = function(orig){ return exports.dot(orig, [8,16]); }