UNPKG

double-double

Version:

Pure double-double precision functions *with strict error bounds*.

34 lines (29 loc) 1.43 kB
import { assert, expect } from 'chai'; import { describe } from 'mocha'; import { getHighestSetBit, getLowestSetBit } from '../../src/index.js'; describe('max set bits', function() { it('should check highest set bit is given correctly', function() { expect(getHighestSetBit(1/65536)).to.eql(52); expect(getHighestSetBit(0)).to.eql(NaN); expect(getHighestSetBit(1.390671161567e-310)).to.eql(44); expect(getHighestSetBit(5e-324)).to.eql(0); expect(getHighestSetBit(1e-323)).to.eql(1); expect(getHighestSetBit(0.1)).to.eql(52); expect(getHighestSetBit(123123)).to.eql(52); expect(getHighestSetBit(0.0322123123)).to.eql(52); expect(getHighestSetBit(1.335044315104321e-308)).to.eql(51); }); it('should check lowest set bit is given correctly', function() { expect(getLowestSetBit(1/65536)).to.eql(52); expect(getLowestSetBit(0)).to.eql(NaN); expect(getLowestSetBit(1.390671161567e-310)).to.eql(1); expect(getLowestSetBit(1.3906711614456e-310)).to.eql(12); expect(getLowestSetBit(2.238980570121657e-308)).to.eql(12); expect(getLowestSetBit(2.2389805701196335e-308)).to.eql(15); expect(getLowestSetBit(0.2515624999996362)).to.eql(15); expect(getLowestSetBit(5e-324)).to.eql(0); expect(getLowestSetBit(1e-323)).to.eql(1); }); });