UNPKG

double-double

Version:

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

31 lines (27 loc) 1.1 kB
import { assert } from 'chai'; import { describe } from 'mocha'; import { isBitAligned } from '../../src/index.js'; describe('grid aligned', function() { it('should check grid aligned correctly', function() { assert( isBitAligned(0, 1, 10)); assert( isBitAligned(1, 1, 0)); assert(!isBitAligned(2, 1, 0)); assert( isBitAligned(2, 1, 1)); assert(!isBitAligned(4, 1, 1)); assert( isBitAligned(4, 1, 2)); assert(!isBitAligned(1/65536, 1, -15)); assert( isBitAligned(1/65536, 1, -16)); assert(!isBitAligned(1/65536, 1, -17)); assert(!isBitAligned(1/65535, 1, -16)); assert(!isBitAligned(1/65537, 1, -16)); assert( isBitAligned(65535, 16, 0)); assert(!isBitAligned(65535, 15, 0)); assert(!isBitAligned(65536, 15, 0)); assert(!isBitAligned(65536, 16, 0)); assert( isBitAligned(65536, 17, 0)); assert( isBitAligned(65536, 12, 5)); assert( isBitAligned(65536, 1, 16)); assert(!isBitAligned(65536, 1, 17)); }); });