not ok 1 SyntaxError: missing ; before statement
---
stack:
Function("require,module,exports,__dirname,__filename,process,global","\nvar unallocated = []\n , allocated = []\n , totalAllocated = 0;\n\n// TODO see if `new Vec()` is better than `[]` or `new Array(2)`\n// in both memory and speed\nfunction Vec(x,y){this[0] = x; this[1] = y};\n\n\n// Used by sin/cos to fix floating point precision errors\n// slower, but testable\nvar EPS = 1e-12;\nfunction eps(x){ return Math.round(x/EPS) * EPS }\n\nvar vec = module.exports = {\n\n _unallocated: unallocated,\n _allocated: allocated,\n\n make: function(x,y){\n var c = vec.alloc();\n if( typeof x == 'object' ){\n c[0] = x[0] || x.x || x.u || 0;\n c[1] = x[1] || x.y || x.v || 0;\n } else {\n c[0] = x || 0;\n c[1] = y || 0;\n }\n return c;\n },\n\n alloc: function(){\n if( !unallocated.length ){\n var i = totalAllocated\n , u = unallocated.length - i;\n totalAllocated = (totalAllocated || 64) * 2; // double the size (128>256>512 etc)\n allocated.length = totalAllocated;\n console.warn('vec alloc',totalAllocated)\n while(i < totalAllocated){\n var v = [0,0]; //new Array(2); //new Vec(0.0,0.0);\n unallocated[u+i] = v;\n allocated[i] = v;\n i++;\n }\n }\n return unallocated.pop();\n },\n\n free: function(v){\n v && unallocated.push(v);\n return vec;\n },\n\n copy: function(a,b){\n b = b ||\xC2\xA0vec.make()\n b[0] = a[0]\n b[1] = a[1]\n return b;\n },\n\n add: function(a,b,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = a[0] + b[0];\n c[1] = a[1] + b[1];\n return c;\n },\n\n sadd: function(a,s,c){\n c = c || vec.make()\n c[0] = a[0] + s;\n c[1] = a[1] + s;\n return c;\n },\n\n sub: function(a,b,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = a[0] - b[0];\n c[1] = a[1] - b[1];\n return c;\n },\n\n ssub: function(a,s,c){\n c = c || vec.make()\n c[0] = a[0] - s;\n c[1] = a[1] - s;\n return c;\n },\n\n mul: function(a,b,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = a[0] * b[0];\n c[1] = a[1] * b[1];\n return c;\n },\n\n smul: function(a,s,c){\n c = c || vec.make()\n c[0] = a[0] * s;\n c[1] = a[1] * s;\n return c;\n },\n\n div: function(a,b,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = a[0] / b[0];\n c[1] = a[1] / b[1];\n return c;\n },\n\n sdiv: function(a,s,c){\n c = c || vec.make()\n c[0] = a[0] / s;\n c[1] = a[1] / s;\n return c;\n },\n\n min: function(a,b,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = Math.min(a[0],b[0])\n c[1] = Math.min(a[1],b[1])\n return c;\n },\n\n smin: function(a,s,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = Math.min(a[0],s)\n c[1] = Math.min(a[1],s)\n return c;\n },\n\n max: function(a,b,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = Math.max(a[0],b[0])\n c[1] = Math.max(a[1],b[1])\n return c;\n },\n\n smax: function(a,s,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = Math.max(a[0],s)\n c[1] = Math.max(a[1],s)\n return c;\n },\n\n clamp: function(lo,v,hi,c){\n c = c ||\xC2\xA0vec.make()\n vec.min(hi,v,c)\n vec.max(lo,c,c)\n return c;\n },\n\n sclamp: function(lo,a,hi,c){\n c = c ||\xC2\xA0vec.make()\n vec.min(v,hi,c)\n vec.max(c,lo,c)\n return c;\n },\n\n abs: function(a,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = Math.abs(a[0])\n c[1] = Math.abs(a[1])\n return c;\n },\n\n neg: function(a,c){\n c = c ||\xC2\xA0vec.make()\n c[0] = -a[0]\n c[1] = -a[1]\n return c;\n },\n\n // note: dot(perp(a), b) == cross(a, b)\n perp: function(a,c){\n c = c || vec.make()\n var x=a[0], y=a[1];\n c[0] = -y\n c[1] = +x\n return c;\n },\n\n // cross product of two vectors\n cross: function(a,b){\n return a[0]*b[1] - a[1]*b[0];\n },\n\n // dot product of two vectors\n dot: function(a,b){\n return a[0]*b[0] + a[1]*b[1];\n },\n\n len: function(a){\n return Math.sqrt(vec.lenSq(a));\n },\n\n lenSq: function(a){\n return vec.dot(a,a);\n },\n\n dist: function(a,b){\n var d = vec.sub(a,b)\n var l = vec.len(d)\n vec.free(d)\n return l;\n },\n\n distSq: function(a,b){\n var d = vec.sub(a,b)\n var l = vec.lenSq(d)\n vec.free(d)\n return l;\n },\n\n norm: function(a,c){\n c = c || vec.make()\n var l = vec.len(a);\n c[0] = !l ? 0 : a[0] / l;\n c[1] = !l ? 0 : a[1] / l;\n return c;\n },\n\n // to move `a` around `origin`:\n // var b = vec.sub(a,origin)\n // b = vec.rot(b,theta)\n // vec.add(b,origin,a)\n rot: function(a,theta,c){\n c = c || vec.make()\n var cos = Math.cos(theta)\n , sin = Math.sin(theta);\n c[0] = eps(cos * a[0] - sin * a[1]);\n c[1] = eps(sin * a[0] + cos * a[1]);\n return c;\n },\n\n eq: function(a,b){\n return a[0]===b[0] && a[1]===b[1];\n },\n\n lerp: function(a,b,t,c){\n c = c || vec.make()\n c[0] = a[0] + (b[0] - a[0]) * t;\n c[1] = a[1] + (b[1] - a[1]) * t;\n return c;\n },\n\n // m = mat\n transform: function(a,m,c){\n c = c || vec.make()\n var x=a[0], y=a[1];\n c[0] = m[0]*x + m[3]*y + m[2]\n c[1] = m[1]*x + m[4]*y + m[5]\n return c;\n },\n\n reflect: function(v,n,c){\n c = c || vec.make()\n var t = vec.dot(v,n);\n c[0] = v[0] - (2 * t) * n[0];\n c[1] = v[1] - (2 * t) * n[1];\n return c;\n }\n}\n\n//@ sourceURL=/index.js")@:0
anonymous((function (file, cwd) {var resolved = require.resolve(file, cwd || "/");var mod = require.modules[resolved];if (!mod) {throw new Error("Failed to resolve module " + file + ", tried " + resolved);}var cached = require.cache[resolved];var res = cached ? cached.exports : mod();return res;}))@http://git.testling.com/bundle/1355336053729.1df71f84.js:2243
@http://git.testling.com/bundle/1355336053729.1df71f84.js:2243
...