double-double
Version:
Pure double-double precision functions *with strict error bounds*.
51 lines (48 loc) • 966 B
text/typescript
import { expect } from 'chai';
import { describe } from 'mocha';
import { doubleDivDouble } from '../../src/index.js';
describe('divide', function() {
it('should divide two doubles with the result accurately given as a double-double',
function() {
{
let a = 0.1;
let b = 0;
expect(doubleDivDouble(a,b)).to.eql([
NaN,
NaN
]);
}
{
let a = -0.1;
let b = 0;
expect(doubleDivDouble(a,b)).to.eql([
NaN,
NaN
]);
}
{
let a = 0.1;
let b = 0.2;
expect(doubleDivDouble(a,b)).to.eql([
0,
0.5
]);
}
{
let a = 1.12345678901234;
let b = 1.12345678901234;
expect(doubleDivDouble(a,b)).to.eql([
0,
1
]);
}
{
let a = 0.000000000000123412345678901234;
let b = 0.0000000004321412345678901234;
expect(doubleDivDouble(a,b)).to.eql([
-2.3586948459034856e-20,
0.0002855833598066721
]);
}
});
});