From 24aa75407005c898a4171dcc1e97215a261b3b79 Mon Sep 17 00:00:00 2001 From: Mikola Lysenko Date: Wed, 16 Jan 2013 12:42:05 -0600 Subject: [PATCH] accidentally added node_modules --- .gitignore | 1 + node_modules/bit-twiddle/.npmignore | 15 -- node_modules/bit-twiddle/README.md | 95 --------- node_modules/bit-twiddle/package.json | 33 ---- node_modules/bit-twiddle/test/interleave2.js | 13 -- node_modules/bit-twiddle/test/interleave3.js | 16 -- node_modules/bit-twiddle/test/test.js | 122 ------------ node_modules/bit-twiddle/twiddle.js | 194 ------------------- 8 files changed, 1 insertion(+), 488 deletions(-) delete mode 100644 node_modules/bit-twiddle/.npmignore delete mode 100644 node_modules/bit-twiddle/README.md delete mode 100644 node_modules/bit-twiddle/package.json delete mode 100644 node_modules/bit-twiddle/test/interleave2.js delete mode 100644 node_modules/bit-twiddle/test/interleave3.js delete mode 100644 node_modules/bit-twiddle/test/test.js delete mode 100644 node_modules/bit-twiddle/twiddle.js diff --git a/.gitignore b/.gitignore index f356293..b384677 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ logs results npm-debug.log +node_modules/* diff --git a/node_modules/bit-twiddle/.npmignore b/node_modules/bit-twiddle/.npmignore deleted file mode 100644 index 0d1b0b0..0000000 --- a/node_modules/bit-twiddle/.npmignore +++ /dev/null @@ -1,15 +0,0 @@ -lib-cov -*.seed -*.log -*.csv -*.dat -*.out -*.pid -*.gz - -pids -logs -results - -npm-debug.log -node_modules/* \ No newline at end of file diff --git a/node_modules/bit-twiddle/README.md b/node_modules/bit-twiddle/README.md deleted file mode 100644 index f9f4ff6..0000000 --- a/node_modules/bit-twiddle/README.md +++ /dev/null @@ -1,95 +0,0 @@ -bit-twiddle -=========== - -This is a collection of miscellaneous bit twiddling hacks ported to JavaScript, mostly taken from here: - -http://graphics.stanford.edu/~seander/bithacks.html - -Install -======= -Via npm: - - npm install bit-twiddle - -Functions -========= - -`sign(v)` ---------- -Computes the sign of the integer v. Returns: -* -1 if v < 0 -* 0 if v === 0 -* +1 if v > 0 - -`abs(v)` --------- -Returns the absolute value of the integer v - -`min(x,y)` ----------- -Computes the minimum of integers x and y - -`max(x,y)` ----------- -Computes the maximum of integers x and y - -`isPow2(v)` ------------ -Returns `true` if v is a power of 2, otherwise false. - -`log2(v)` ---------- -Returns an integer approximation of the log-base 2 of v - -`log10(v)` ----------- -Returns log base 10 of v. - -`popCount(v)` -------------- -Counts the number of bits set in v - -`countTrailingZeros(v)` ------------------------ -Counts the number of trailing zeros. - -`nextPow2(v)` -------------- -Rounds v to the next power of 2. - -`parity(v)` ------------ -Computes the parity of the bits in v. - -`reverse(v)` ------------- -Reverses the bits of v. - -`interleave2(x,y)` ------------------- -Interleaves a pair of 16 bit integers. Useful for fast quadtree style indexing. (See wiki: http://en.wikipedia.org/wiki/Z-order_curve ) - -`deinterleave2(v, n)` ---------------------- -Deinterleaves the bits of v, returns the nth part. If both x and y are 16 bit, then it is true that: - - deinterleave2(interleave2(x,y), 0) === x - deinterleave2(interleave2(x,y), 1) === y - -`interleave3(x,y,z)` --------------------- - -Interleaves a triple of 10 bit integers. Useful for fast octree indexing. - -`deinterleave3(v, n)` ---------------------- -Same deal as `deinterleave2`, only for triples instead of pairs - -`nextCombination(x)` --------------------- -Returns next combination ordered colexicographically. - -Acknowledgements -================ -Code is ported from Sean Eron Anderson's public domain bit twiddling hacks page. http://graphics.stanford.edu/~seander/bithacks.html -JavaScript implementation (c) 2013 Mikola Lysenko. MIT License diff --git a/node_modules/bit-twiddle/package.json b/node_modules/bit-twiddle/package.json deleted file mode 100644 index 3ac9a27..0000000 --- a/node_modules/bit-twiddle/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "bit-twiddle", - "version": "0.0.1", - "description": "Bit twiddling hacks for JavaScript", - "main": "twiddle.js", - "scripts": { - "test": "tap ./test" - }, - "repository": { - "type": "git", - "url": "git://github.com/mikolalysenko/bit-twiddle.git" - }, - "devDependencies": { - "tap": "~0.3.3" - }, - "keywords": [ - "bit", - "twiddle", - "hacks", - "graphics", - "octree", - "quadtree" - ], - "author": { - "name": "Mikola Lysenko" - }, - "license": "MIT", - "readmeFilename": "README.md", - "gitHead": "f0b4adc66dfb632473c57632e87d3a23f3dd2680", - "readme": "bit-twiddle\n===========\n\nThis is a collection of miscellaneous bit twiddling hacks ported to JavaScript, mostly taken from here:\n\nhttp://graphics.stanford.edu/~seander/bithacks.html\n\nInstall\n=======\nVia npm:\n\n npm install bit-twiddle\n\nFunctions\n=========\n\n`sign(v)`\n---------\nComputes the sign of the integer v. Returns:\n* -1 if v < 0\n* 0 if v === 0\n* +1 if v > 0\n\n`abs(v)`\n--------\nReturns the absolute value of the integer v\n\n`min(x,y)`\n----------\nComputes the minimum of integers x and y\n\n`max(x,y)`\n----------\nComputes the maximum of integers x and y\n\n`isPow2(v)`\n-----------\nReturns `true` if v is a power of 2, otherwise false.\n\n`log2(v)`\n---------\nReturns an integer approximation of the log-base 2 of v\n\n`log10(v)`\n----------\nReturns log base 10 of v.\n\n`popCount(v)`\n-------------\nCounts the number of bits set in v\n\n`countTrailingZeros(v)`\n-----------------------\nCounts the number of trailing zeros.\n\n`nextPow2(v)`\n-------------\nRounds v to the next power of 2.\n\n`parity(v)`\n-----------\nComputes the parity of the bits in v.\n\n`reverse(v)`\n------------\nReverses the bits of v.\n\n`interleave2(x,y)`\n------------------\nInterleaves a pair of 16 bit integers. Useful for fast quadtree style indexing. (See wiki: http://en.wikipedia.org/wiki/Z-order_curve )\n\n`deinterleave2(v, n)`\n---------------------\nDeinterleaves the bits of v, returns the nth part. If both x and y are 16 bit, then it is true that:\n\n deinterleave2(interleave2(x,y), 0) === x\n deinterleave2(interleave2(x,y), 1) === y\n \n`interleave3(x,y,z)`\n--------------------\n\nInterleaves a triple of 10 bit integers. Useful for fast octree indexing.\n\n`deinterleave3(v, n)`\n---------------------\nSame deal as `deinterleave2`, only for triples instead of pairs\n\n`nextCombination(x)`\n--------------------\nReturns next combination ordered colexicographically.\n\nAcknowledgements\n================\nCode is ported from Sean Eron Anderson's public domain bit twiddling hacks page. http://graphics.stanford.edu/~seander/bithacks.html\nJavaScript implementation (c) 2013 Mikola Lysenko. MIT License\n", - "_id": "bit-twiddle@0.0.1", - "_from": "bit-twiddle" -} diff --git a/node_modules/bit-twiddle/test/interleave2.js b/node_modules/bit-twiddle/test/interleave2.js deleted file mode 100644 index c8db6d5..0000000 --- a/node_modules/bit-twiddle/test/interleave2.js +++ /dev/null @@ -1,13 +0,0 @@ -var test = require("tap").test - , bits = require("../twiddle.js"); - -test("interleave2", function(t) { - for(var x=0; x<100; ++x) { - for(var y=0; y<100; ++y) { - var h = bits.interleave2(x, y); - t.equal(bits.deinterleave2(h, 0), x); - t.equal(bits.deinterleave2(h, 1), y); - } - } - t.end(); -}); \ No newline at end of file diff --git a/node_modules/bit-twiddle/test/interleave3.js b/node_modules/bit-twiddle/test/interleave3.js deleted file mode 100644 index 6b9e836..0000000 --- a/node_modules/bit-twiddle/test/interleave3.js +++ /dev/null @@ -1,16 +0,0 @@ -var test = require("tap").test - , bits = require("../twiddle.js"); - -test("interleave3", function(t) { - for(var x=0; x<=25; ++x) { - for(var y=0; y<=25; ++y) { - for(var z=0; z<=25; ++z) { - var h = bits.interleave3(x, y, z); - t.equal(bits.deinterleave3(h, 0), x); - t.equal(bits.deinterleave3(h, 1), y); - t.equal(bits.deinterleave3(h, 2), z); - } - } - } - t.end(); -}); diff --git a/node_modules/bit-twiddle/test/test.js b/node_modules/bit-twiddle/test/test.js deleted file mode 100644 index 7930082..0000000 --- a/node_modules/bit-twiddle/test/test.js +++ /dev/null @@ -1,122 +0,0 @@ -var test = require("tap").test - , bits = require("../twiddle.js"); - -var INT_MAX = bits.INT_MAX - , INT_MIN = bits.INT_MIN; - -test("sign", function(t) { - t.equal(bits.sign(-100), -1) - t.equal(bits.sign(100), 1); - t.equal(bits.sign(0), 0); - t.equal(bits.sign(bits.INT_MAX), 1); - t.equal(bits.sign(bits.INT_MIN), -1); - t.end(); -}); - -test("abs", function(t) { - t.equal(bits.abs(0), 0); - t.equal(bits.abs(1), 1); - t.equal(bits.abs(-1), 1); - t.equal(bits.abs(bits.INT_MAX), bits.INT_MAX); - t.equal(bits.abs(-bits.INT_MAX), bits.INT_MAX); - t.end(); -}); - -test("min", function(t) { - t.equal(bits.min(0,0), 0); - t.equal(bits.min(-1,1), -1); - t.equal(bits.min(INT_MAX, INT_MAX), INT_MAX); - t.equal(bits.min(INT_MIN, INT_MIN), INT_MIN); - t.equal(bits.min(INT_MAX, INT_MIN), INT_MIN); - t.end(); -}); - -test("max", function(t) { - t.equal(bits.max(0,0), 0); - t.equal(bits.max(-1,1), 1); - t.equal(bits.max(INT_MAX, INT_MAX), INT_MAX); - t.equal(bits.max(INT_MIN, INT_MIN), INT_MIN); - t.equal(bits.max(INT_MAX, INT_MIN), INT_MAX); - t.end(); -}); - -test("isPow2", function(t) { - t.ok(!bits.isPow2(0)); - for(var i=0; i<31; ++i) { - t.ok(bits.isPow2((1< 0) { - t.equal(bits.log2((1< 0) { - t.equal(bits.countTrailingZeros((1< 0) - (v < 0); -} - -//Computes absolute value of integer -exports.abs = function(v) { - var mask = v >> (INT_BITS-1); - return (v ^ mask) - mask; -} - -//Computes minimum of integers x and y -exports.min = function(x, y) { - return y ^ ((x ^ y) & -(x < y)); -} - -//Computes maximum of integers x and y -exports.max = function(x, y) { - return x ^ ((x ^ y) & -(x < y)); -} - -//Checks if a number is a power of two -exports.isPow2 = function(v) { - return !(v & (v-1)) && (!!v); -} - -//Computes log base 2 of v -exports.log2 = function(v) { - var r, shift; - r = (v > 0xFFFF) << 4; v >>>= r; - shift = (v > 0xFF ) << 3; v >>>= shift; r |= shift; - shift = (v > 0xF ) << 2; v >>>= shift; r |= shift; - shift = (v > 0x3 ) << 1; v >>>= shift; r |= shift; - return r | (v >> 1); -} - -//Computes log base 10 of v -exports.log10 = function(v) { - return (v >= 1000000000) ? 9 : (v >= 100000000) ? 8 : (v >= 10000000) ? 7 : - (v >= 1000000) ? 6 : (v >= 100000) ? 5 : (v >= 10000) ? 4 : - (v >= 1000) ? 3 : (v >= 100) ? 2 : (v >= 10) ? 1 : 0; -} - -//Counts number of bits -exports.popCount = function(v) { - v = v - ((v >>> 1) & 0x55555555); - v = (v & 0x33333333) + ((v >>> 2) & 0x33333333); - return ((v + (v >>> 4) & 0xF0F0F0F) * 0x1010101) >>> 24; -} - -//Counts number of trailing zeros -function countTrailingZeros(v) { - var c = 32; - v &= -v; - if (v) c--; - if (v & 0x0000FFFF) c -= 16; - if (v & 0x00FF00FF) c -= 8; - if (v & 0x0F0F0F0F) c -= 4; - if (v & 0x33333333) c -= 2; - if (v & 0x55555555) c -= 1; - return c; -} -exports.countTrailingZeros = countTrailingZeros; - -//Rounds to next power of 2 -exports.nextPow2 = function(v) { - v += v === 0; - --v; - v |= v >>> 1; - v |= v >>> 2; - v |= v >>> 4; - v |= v >>> 8; - v |= v >>> 16; - return v + 1; -} - -//Computes parity of word -exports.parity = function(v) { - v ^= v >>> 16; - v ^= v >>> 8; - v ^= v >>> 4; - v &= 0xf; - return (0x6996 >>> v) & 1; -} - -var REVERSE_TABLE = new Array(256); - -(function(tab) { - for(var i=0; i<256; ++i) { - var v = i, r = i, s = 7; - for (v >>>= 1; v; v >>>= 1) { - r <<= 1; - r |= v & 1; - --s; - } - tab[i] = (r << s) & 0xff; - } -})(REVERSE_TABLE); - -//Reverse bits in a 32 bit word -exports.reverse = function(v) { - return (REVERSE_TABLE[ v & 0xff] << 24) | - (REVERSE_TABLE[(v >>> 8) & 0xff] << 16) | - (REVERSE_TABLE[(v >>> 16) & 0xff] << 8) | - REVERSE_TABLE[(v >>> 24) & 0xff]; -} - -//Interleave bits of 2 coordinates with 16 bits. Useful for fast quadtree codes -exports.interleave2 = function(x, y) { - x &= 0xFFFF; - x = (x | (x << 8)) & 0x00FF00FF; - x = (x | (x << 4)) & 0x0F0F0F0F; - x = (x | (x << 2)) & 0x33333333; - x = (x | (x << 1)) & 0x55555555; - - y &= 0xFFFF; - y = (y | (y << 8)) & 0x00FF00FF; - y = (y | (y << 4)) & 0x0F0F0F0F; - y = (y | (y << 2)) & 0x33333333; - y = (y | (y << 1)) & 0x55555555; - - return x | (y << 1); -} - -//Extracts the nth interleaved component -exports.deinterleave2 = function(v, n) { - v = (v >>> n) & 0x55555555; - v = (v | (v >>> 1)) & 0x33333333; - v = (v | (v >>> 2)) & 0x0F0F0F0F; - v = (v | (v >>> 4)) & 0x00FF00FF; - v = (v | (v >>> 16)) & 0x000FFFF; - return (v << 16) >> 16; -} - - -//Interleave bits of 3 coordinates, each with 10 bits. Useful for fast octree codes -exports.interleave3 = function(x, y, z) { - x &= 0x3FF; - x = (x | (x<<16)) & 4278190335; - x = (x | (x<<8)) & 251719695; - x = (x | (x<<4)) & 3272356035; - x = (x | (x<<2)) & 1227133513; - - y &= 0x3FF; - y = (y | (y<<16)) & 4278190335; - y = (y | (y<<8)) & 251719695; - y = (y | (y<<4)) & 3272356035; - y = (y | (y<<2)) & 1227133513; - x |= (y << 1); - - z &= 0x3FF; - z = (z | (z<<16)) & 4278190335; - z = (z | (z<<8)) & 251719695; - z = (z | (z<<4)) & 3272356035; - z = (z | (z<<2)) & 1227133513; - - return x | (z << 2); -} - -//Extracts nth interleaved component of a 3-tuple -exports.deinterleave3 = function(v, n) { - v = (v >>> n) & 1227133513; - v = (v | (v>>>2)) & 3272356035; - v = (v | (v>>>4)) & 251719695; - v = (v | (v>>>8)) & 4278190335; - v = (v | (v>>>16)) & 0x3FF; - return (v<<22)>>22; -} - -//Computes next combination in colexicographic order (this is mistakenly called nextPermutation on the bit twiddling hacks page) -exports.nextCombination = function(v) { - var t = v | (v - 1); - return (t + 1) | (((~t & -~t) - 1) >>> (countTrailingZeros(v) + 1)); -} -