Files
jitsi-meet/react/features/base/util/math.ts
Andrei Gavrilescu 06491e2406 feat(noise-suppression): Add noise suppression effect. (#11547)
* add denoise effect

* denoise prototype

* improve rnnoise / add comments

* revert some unnecessary changes

* Add noise suppressor worklet

* Send notification on failure

* address code review

* additional comments

* additional comments

* update package-lock

* fix rebase changes

* update rnnoise npm package

* sort lang

* adjust webpack performance hint

* address code review

* address code review

* switch ns files to typescript

* fix null-loader version, lang sort

* fix lint

* missing import

* fix lint / address code review

* use single action for ns state

* move activation to thunk

* increase node heap

* copy noise-suppressor to deploy

* fix ts lint
2022-07-20 15:31:17 +03:00

38 lines
917 B
TypeScript

/**
* Compute the greatest common divisor using Euclid's algorithm.
*
* @param {number} num1 - First number.
* @param {number} num2 - Second number.
* @returns {number}
*/
export function greatestCommonDivisor(num1: number, num2: number) {
let number1: number = num1;
let number2: number = num2;
while (number1 !== number2) {
if (number1 > number2) {
number1 = number1 - number2;
} else {
number2 = number2 - number1;
}
}
return number2;
}
/**
* Calculate least common multiple using gcd.
*
* @param {number} num1 - First number.
* @param {number} num2 - Second number.
* @returns {number}
*/
export function leastCommonMultiple(num1: number, num2: number) {
const number1: number = num1;
const number2: number = num2;
const gcd: number = greatestCommonDivisor(number1, number2);
return (number1 * number2) / gcd;
}