@qubyte/gamma
Version:
the gamma function (Γ)
26 lines (20 loc) • 633 B
JavaScript
import test from 'tape';
import gamma from '../index.js';
test('integrate', function (t) {
// gamma(z) = integral(0, inf, e^(-t)*t^(z - 1))
var zs = [ 0.84, 1.31, 2.54, 3.01, 5.2, 6.1 ];
for (var i = 0; i < zs.length; i++) {
// integration by rectangles
var res = 0;
var dx = 0.0001;
for (var x = 0.000001; x < 40; x += dx) {
res += Math.exp(-x) * Math.pow(x, zs[i] - 1) * dx;
}
t.equal(
Math.round(res * 10) / 10,
Math.round(gamma(zs[i]) * 10) / 10,
'z = ' + zs[i]
);
}
t.end();
});