mpzjs
Version:
Arbitrary-precision integer arithmetic using libgmp
38 lines (30 loc) • 976 B
JavaScript
const MPZ = require('../');
test('addMul', () => {
[-100, -10, -5, -1, 0, 1, 5, 10, 100].forEach(i => {
[-100, -10, -5, -1, 0, 1, 5, 10, 100].forEach(j => {
[-100, -10, -5, -1, 0, 1, 5, 10, 100].forEach(k => {
const value = MPZ();
value.set(i);
MPZ.addMul(value, j, k);
expect(value.toNumber()).toBe(i + j * k);
value.set(i);
MPZ.addMul(value, j.toString(), k.toString());
expect(value.toNumber()).toBe(i + j * k);
value.set(i);
MPZ.addMul(value, MPZ(j), MPZ(k));
expect(value.toNumber()).toBe(i + j * k);
});
});
});
});
test('addMul exceptions', () => {
expect(() => {
MPZ.addMul(1, 2);
}).toThrow();
expect(() => {
MPZ.addMul(MPZ(1), MPZ(2));
}).toThrow();
expect(() => {
MPZ.addMul(MPZ(1));
}).toThrow();
});