mirror of
https://github.com/Pomax/BezierInfo-2.git
synced 2025-09-26 16:19:03 +02:00
22 lines
436 B
JavaScript
22 lines
436 B
JavaScript
var binomialCoefficients = [[1], [1, 1]];
|
|
|
|
/**
|
|
* ... docs go here ...
|
|
*/
|
|
function binomial(n, k) {
|
|
if (n === 0) return 1;
|
|
var lut = binomialCoefficients;
|
|
while (n >= lut.length) {
|
|
var s = lut.length;
|
|
var nextRow = [1];
|
|
for (var i = 1, prev = s - 1; i < s; i++) {
|
|
nextRow[i] = lut[prev][i - 1] + lut[prev][i];
|
|
}
|
|
nextRow[s] = 1;
|
|
lut.push(nextRow);
|
|
}
|
|
return lut[n][k];
|
|
}
|
|
|
|
export default binomial;
|