var test = require("tape") , 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) { t.equal(bits.prevPow2((1<